Stabilność beta w regresji liniowej z wysoką wielokolinearnością?
Powiedzmy, że w regresji liniowej zmienne i mają wysoką wielokoliniowość (korelacja wynosi około 0,9).x 2
Jesteśmy zaniepokojony stabilności współczynnika więc musimy traktować multi-kolinearność.
Rozwiązaniem podręcznika byłoby po prostu wyrzucenie jednej ze zmiennych.
Ale nie chcemy stracić przydatnych informacji, po prostu wyrzucając zmienne.
Jakieś sugestie?
Odpowiedzi:
Możesz wypróbować podejście regresji grzbietu w przypadku, gdy macierz korelacji jest bliska liczbie pojedynczej (tzn. Zmienne mają wysokie korelacje). Zapewni to wiarygodne oszacowanie .β
Jedyne pytanie brzmi: jak wybrać parametr regularyzacji . Nie jest to prosty problem, ale sugeruję wypróbowanie różnych wartości.λ
Mam nadzieję że to pomoże!
źródło
lm.ridge
procedury w pakiecie MASS. Jeśli przekażesz mu zakres wartości dla , np. Wywołanie podobne , otrzymasz z powrotem uogólnione statystyki walidacji krzyżowej i możesz wykreślić je względem : aby wybrać minimum. λfoo <- lm.ridge(y~x1+x2,lambda=seq(0,10,by=0.1))
foo
plot(foo$GCV~foo$lambda)
Jest jedna metoda ad hoc, której użyłem wcześniej. Nie jestem pewien, czy ta procedura ma nazwę, ale ma sens intuicyjnie.
Załóżmy, że Twoim celem jest dopasowanie modelu
Edycja: OP poprosił o wyjaśnienie, dlaczego reszty nie mają definitywnie przykładowej korelacji zera z predyktorem, gdy pominiesz przechwytywanie, tak jak robią to, gdy przechwycenie jest uwzględnione. To zbyt długo, aby móc dodawać komentarze, więc dokonałem edycji tutaj. To wyprowadzenie nie jest szczególnie pouczające (niestety nie mogłem wymyślić rozsądnego intuicyjnego argumentu), ale pokazuje, czego wymagało OP :
Najpierw mamy
ale
źródło
Podobają mi się obie dotychczasowe odpowiedzi. Pozwól mi dodać kilka rzeczy.
Inną opcją jest możliwość łączenia zmiennych. Odbywa się to poprzez standaryzację obu (tj. Przekształcenie ich w z-score), uśrednienie ich, a następnie dopasowanie modelu do zmiennej złożonej. To byłoby dobre podejście, jeśli uważasz, że są to dwie różne miary tego samego konstruktu bazowego. W takim przypadku masz dwa pomiary, które są zanieczyszczone błędem. Najbardziej prawdopodobna prawdziwa wartość zmiennej, którą naprawdę masztroska jest między nimi, dlatego uśrednienie ich daje dokładniejsze oszacowanie. Standaryzujesz je najpierw, aby umieścić je w tej samej skali, aby problemy nominalne nie zanieczyszczały wyniku (np. Nie chciałbyś uśredniać kilku pomiarów temperatury, jeśli niektóre to Fahrenheita, a niektóre Celsjusza). Oczywiście, jeśli są już w tej samej skali (np. Kilka bardzo skorelowanych sondaży opinii publicznej), możesz pominąć ten krok. Jeśli uważasz, że jedna ze zmiennych może być dokładniejsza niż druga, możesz zrobić średnią ważoną (być może wykorzystując odwrotność błędów pomiaru).
Zgadzam się, że regresja grzbietu jest prawdopodobnie lepsza, ponieważ pozwala na użycie zmiennych, które pierwotnie zamierzałeś, i może dać bety, które są bardzo zbliżone do ich prawdziwych wartości (chociaż będą tendencyjne - zobacz tutaj lub tutaj, aby uzyskać więcej informacji ). Niemniej jednak uważam, że ma również dwa potencjalne wady: jest bardziej skomplikowany (wymaga większego zaawansowania statystycznego), a moim zdaniem model wynikowy jest trudniejszy do interpretacji.
Rozumiem, że być może najlepszym rozwiązaniem byłoby dopasowanie modelu równania strukturalnego. To dlatego, że pozwoliłoby ci sformułować dokładny zestaw relacji, które uważasz za działające, w tym zmienne ukryte. Jednak nie znam SEM wystarczająco dobrze, aby cokolwiek na ten temat powiedzieć, oprócz wspominania o możliwości. (Podejrzewam również, że byłoby to przesadą w sytuacji, którą opisujesz za pomocą tylko dwóch zmiennych towarzyszących).
źródło