Dla własnego zrozumienia jestem zainteresowany ręczną replikacją obliczenia standardowych błędów szacowanych współczynników, ponieważ, na przykład, przychodzi z wyjściem lm()
funkcji w R
, ale nie byłem w stanie tego dokładnie określić. Jaka jest używana formuła / implementacja?
114
Odpowiedzi:
Model liniowy jest zapisany jako gdzie y oznacza wektor odpowiedzi, β jest wektorem parametrów stałych efektów, X jest odpowiednią macierzą projektową, której kolumny są wartościami zmiennych objaśniających, a ϵ jest wektorem błędów losowych.
Jest dobrze wiadomo, że oszacowanie podaje się (patrz, na przykład, aby źródło Wikipedia ) β = ( X ' X ) - 1 X. ' y . Stąd Var ( β ) = ( X ' X ) - 1 X 'β
tak, że gdzie σ 2 można otrzymać przez błąd średni kwadratowy (MSE) w tabeli ANOVA.
Przykład z prostą regresją liniową w R.
Gdy istnieje jedna zmienna objaśniająca, model zmniejsza się do
źródło
lm.fit
/summary.lm
jest nieco inna, dla stabilności i wydajności ...Formuły na nie można znaleźć w dowolnym tekście pośrednim dotyczącym statystyki, w szczególności można je znaleźć w Sheather (2009, rozdział 5) , z którego również pobierane jest następujące ćwiczenie (strona 138).
Poniższy kod R oblicza ręcznie oszacowania współczynników i ich standardowe błędy
co daje wynik
Porównaj z danymi wyjściowymi z
lm()
:co daje wynik:
źródło
solve()
funkcją. Byłoby to nieco dłużej bez algebry macierzy. Czy istnieje zwięzły sposób wykonania tej konkretnej linii za pomocą podstawowych operatorów?Część odpowiedzi Ocram jest błędna. Tak właściwie:
A komentarz do pierwszej odpowiedzi pokazuje, że potrzebne jest dalsze wyjaśnienie wariancji współczynnika:
Edytować
Mam nadzieję, że to pomaga.
źródło