Co to jest macierz Hat i dźwignie w klasycznej regresji wielokrotnej? Jakie są ich role? I po co ich używać?
Proszę je wyjaśnić lub podać zadowalające odniesienia do książek / artykułów, aby je zrozumieć.
Komentarze
- Na tej stronie jest wiele postów wspominających o dźwigni. Możesz zacząć od przejrzenia niektórych z nich: stats.stackexchange.com/search?q=le Average+
Odpowiedź
Macierz kapelusza, $ \ bf H $ , to macierz projekcji, która wyraża wartości obserwacje w zmiennej niezależnej, $ \ bf y $ , pod względem liniowych kombinacji wektorów kolumnowych macierzy modelu, $ \ bf X $ , który zawiera obserwacje dla każdej z wielu zmiennych, dla których regresujesz.
Oczywiście $ \ bf y $ zwykle nie będzie znajdować się w przestrzeni kolumn $ \ bf X $ i będzie różnica między tą projekcją, $ \ bf \ hat Y $ , a rzeczywiste wartości $ \ bf Y $ . Ta różnica to różnica lub $ \ bf \ varepsilon = YX \ beta $ :
Szacowane współczynniki, $ \ bf \ hat \ beta_i $ są geometrycznie rozumiane jako liniowa kombinacja wektorów kolumnowych (obserwacje na zmiennych $ \ bf x_i $ ) niezbędnych do utworzenia rzutowanego wektora $ \ bf \ hat Y $ . Mamy to $ \ bf H \, Y = \ hat Y $ ; stąd mnemonik " H kładzie czapkę na y. "
Macierz kapelusza jest obliczana jako : $ \ bf H = X (X ^ TX) ^ {- 1} X ^ T $ .
A szacunkowa $ \ bf \ hat \ beta_i $ współczynniki zostaną naturalnie obliczone jako $ \ bf (X ^ TX) ^ {- 1} X ^ T $ .
Każdy punkt zbioru danych próbuje przyciągnąć do siebie zwykłą linię najmniejszych kwadratów (OLS). Jednak punkty położone dalej na krańcach wartości regresora będą miały większy wpływ. Oto przykład skrajnie asymptotycznego punktu (na czerwono), który naprawdę odciąga linię regresji od tego, co byłoby bardziej logicznym dopasowaniem:
Więc gdzie jest związek między tymi dwoma pojęciami: wynik dźwigni określonego wiersza czy obserwacja w zbiorze danych zostanie znaleziona w odpowiednim wpisie na przekątnej macierzy kapeluszowej. Tak więc dla obserwacji $ i $ wynik dźwigni będzie znajdował się w $ \ bf H_ {ii} $ . Ten wpis w macierzy hat będzie miał bezpośredni wpływ na sposób, w jaki wpis $ y_i $ spowoduje $ \ hat y_i $ (wysoka dźwignia $ i \ text {-th} $ obserwacja $ y_i $ w określaniu własnej wartości prognozy $ \ hat y_i $ ):
Ponieważ macierz kapelusz jest macierzą projekcji, jej wartości własne to 0 $ i 1 $ . Wynika z tego, że ślad (suma elementów przekątnych – w tym przypadku suma 1 $ „s) będzie rangą przestrzeni kolumnowej, podczas gdy” będzie tyle zer, ile wynosi wymiar pustej przestrzeni. W związku z tym wartości na przekątnej macierzy kapelusza będą mniejsze niż jeden (ślad = suma wartości własnych), a wpis zostanie uznany za posiadający dużą dźwignię, jeśli $ > 2 \ sum_ {i = 1} ^ {n} h_ {ii} / n $ , gdzie $ n $ to liczba wierszy.
Dźwignia punktu danych wartości odstającej w macierzy modelu można również obliczyć ręcznie jako jeden minus stosunek wartości odstającej dla wartości odstającej, gdy rzeczywista wartość odstająca jest uwzględniona w modelu OLS w stosunku do reszta dla tego samego punktu, gdy dopasowana krzywa jest obliczana bez uwzględniania wiersza odpowiadającego wartości odstającej: $$ Leverage = 1- \ frac {\ text {resztkowy OLS z wartością odstającą}} {\ text {rezydualny OLS bez wartości odstającej}} $$ W R funkcja hatvalues()
zwraca te wartości dla każdego punktu.
Używając pierwszego punktu danych w zbiór danych {mtcars}
w R:
fit = lm(mpg ~ wt, mtcars) # OLS including all points X = model.matrix(fit) # X model matrix hat_matrix = X%*%(solve(t(X)%*%X)%*%t(X)) # Hat matrix diag(hat_matrix)[1] # First diagonal point in Hat matrix fitwithout1 = lm(mpg ~ wt, mtcars[-1,]) # OLS excluding first data point. new = data.frame(wt=mtcars[1,"wt"]) # Predicting y hat in this OLS w/o first point. y_hat_without = predict(fitwithout1, newdata=new) # ... here it is. residuals(fit)[1] # The residual when OLS includes data point. lev = 1 - (residuals(fit)[1]/(mtcars[1,"mpg"] - y_hat_without)) # Leverage all.equal(diag(hat_matrix)[1],lev) #TRUE