Mam 6 zmiennych ( ), których używam do przewidywania . Podczas przeprowadzania analizy danych najpierw wypróbowałem wielokrotną regresję liniową. Z tego tylko dwie zmienne były znaczące. Kiedy jednak przeprowadziłem regresję liniową, porównując każdą zmienną indywidualnie z wartością , wszystkie oprócz jednej były znaczące ( wszędzie od mniej niż 0,01 do mniej niż 0,001). Sugerowano, że było to spowodowane wielokoliniowością. lat i p
Moje wstępne badania na ten temat sugerują sprawdzenie wielokoliniowości za pomocą VIF . Pobrałem odpowiedni pakiet z R i otrzymałem wynikowe pliki VIF: 3,35, 3,59, 2,64, 2,24 i 5,56. Według różnych źródeł online, powinieneś martwić się o wielokoliniowość swoich VIF na 4 lub 5.
Jestem teraz zaskoczony, co to oznacza dla moich danych. Czy mam lub nie mam problemu z wielokoliniowością? Jeśli tak, to jak mam postępować? (Nie mogę zebrać więcej danych, a zmienne są częściami modelu, które nie są w oczywisty sposób powiązane) Jeśli nie mam tego problemu, to co powinienem wziąć z moich danych, szczególnie fakt, że zmienne te są bardzo znaczące indywidualnie, ale nieistotne w połączeniu.
Edycja: Zadano kilka pytań dotyczących zestawu danych, dlatego chciałbym rozwinąć ...
W tym konkretnym przypadku chcemy zrozumieć, w jaki sposób określone sygnały społeczne (gest, spojrzenie itp.) Wpływają na prawdopodobieństwo, że ktoś wygeneruje jakiś inny sygnał. Chcielibyśmy, aby nasz model zawierał wszystkie znaczące atrybuty, więc niekomfortowo usuwam niektóre, które wydają się zbędne.
W tej chwili nie ma żadnych hipotez. Problem raczej nie jest badany, a my chcemy lepiej zrozumieć, jakie atrybuty są ważne. O ile mi wiadomo, atrybuty te powinny być względnie niezależne od siebie (nie można po prostu powiedzieć, że wzrok i gesty są takie same lub stanowią podzbiór innego). Byłoby miło móc raportować wartości p dla wszystkiego, ponieważ chcielibyśmy, aby inni badacze zrozumieli, na co patrzyliśmy.
Edycja 2: Ponieważ pojawiło się gdzieś poniżej, moje wynosi 24.
źródło
Odpowiedzi:
Aby zrozumieć, co może się wydarzyć, pouczające jest generowanie (i analizowanie) danych, które zachowują się w opisany sposób.
Dla uproszczenia zapomnijmy o szóstej zmiennej niezależnej. Pytanie opisuje zatem regresje jednej zmiennej zależnej względem pięciu zmiennych niezależnych x 1 , x 2 , x 3 , x 4 , x 5 , w którychy x1, x2), x3), x4, x5
Każda regresja zwykła jest znacząca na poziomach od 0,01 do mniej niż 0,001 .y∼ xja 0,01 0,001
Regresja wielokrotna daje znaczące współczynniki tylko dla x 1 i x 2 .y∼ x1+ ⋯ + x5 x1 x2)
Wszystkie czynniki inflacji wariancji (VIFs) są niskie, co wskazuje na dobrą klimatyzację w macierzy planu (czyli brak Kolinearność wśród ).xja
Zróbmy to następująco:
Wygeneruj normalnie rozłożonych wartości dla x 1 i x 2 . (Wybramy n później.)n x1 x2) n
Niech gdzie ε jest niezależnym błędem normalnym średniej 0 . Potrzebne są pewne próby i błędy, aby znaleźć odpowiednie standardowe odchylenie dla ε ; 1 / 100 działa dobrze (i jest dość dramatyczna: y jest bardzo dobrze koreluje z x 1 i x 2 , mimo że jest tylko umiarkowanie skorelowane z x 1 i x 2 indywidualnie).y= x1+ x2)+ ε ε 0 ε 1 / 100 y x1 x2) x1 x2)
Niech = x 1 / 5 + δ , J = 3 , 4 , 5 , gdzie δ jest niezależny normalny błąd standardowy. To sprawia, że x 3 , x 4 , x 5 tylko nieznacznie zależy od x 1 . Jednak dzięki ścisłej korelacji między x 1 i y indukuje to niewielką korelację między y a tymi x j .xjot x1/ 5+δ j = 3 , 4 , 5 δ x3), x4, x5 x1 x1 y y xjot
Oto rub: jeśli zrobimy wystarczająco duże, te niewielkie korelacje spowodują znaczące współczynniki, nawet jeśli y jest prawie całkowicie „wyjaśnione” tylko przez dwie pierwsze zmienne.n y
Stwierdziłem, że działa dobrze przy odtwarzaniu zgłaszanych wartości p. Oto macierz rozrzutu wszystkich sześciu zmiennych:n = 500
Sprawdzając prawą kolumnę (lub dolny wiersz), możesz zobaczyć, że ma dobrą (dodatnią) korelację z x 1 i x 2, ale mało widoczną korelację z innymi zmiennymi. Sprawdzając resztę tej macierzy, możesz zobaczyć, że zmienne niezależne x 1 , … , x 5 wydają się wzajemnie nieskorelowane (losowe δy x1 x2) x1, … , X5 δ maskować drobne zależności, o których wiemy, że istnieją). Nie ma żadnych wyjątkowych danych - nic strasznie odległego lub o dużej dźwigni. Nawiasem mówiąc, histogramy pokazują, że wszystkie sześć zmiennych jest w przybliżeniu normalnie rozmieszczonych: te dane są tak zwyczajne i „zwykłe waniliowe”, jak tylko można by chcieć.
W regresji względem x 1 i x 2 wartości p wynoszą zasadniczo 0. W poszczególnych regresjach y względem x 3 , a następnie y wobec x 4 , i y wobec x 5 , wartości p wynoszą 0,0024, 0,0083 i odpowiednio 0,00064: to znaczy, że są „bardzo znaczące”. Ale w pełnej regresji wielokrotnej odpowiednie wartości p zwiększają się odpowiednio do 0,46, 0,36 i 0,52: wcale nieistotne. Powodem tego jest to, że po regresji y względem x 1 i xy x1 x2) y x3) y x4 y x5 y x1 , tylko rzeczy pozostawione „wyjaśnić” to niewielka ilość błędów w reszt, które zbliży ε , a błąd ten jest prawie całkowicie niezwiązane z pozostałą x ja . („Prawie” jest poprawne: istnieje naprawdę niewielki związek wynikający z faktu, że reszty zostały obliczone częściowo z wartości x 1 i x 2, a x i , i = 3 , 4 , 5 , mają pewne słabe związek z x 1 i x 2. Ten pozostały związek jest jednak praktycznie niewykrywalny, jak widzieliśmy).x2) ε xja x1 x2) xja i = 3 , 4 , 5 x1 x2)
Liczba warunkowa macierzy projektowej wynosi tylko 2,17: jest to bardzo niska wartość, która nie wskazuje na żadną wysoką wielokoliniowość. (Idealny brak kolinearności znalazłby odzwierciedlenie w warunkowym numerze 1, ale w praktyce widać to tylko w przypadku sztucznych danych i zaprojektowanych eksperymentów. Liczby warunkowe w zakresie 1-6 (lub nawet więcej, przy większej liczbie zmiennych) są nieistotne.) To kończy symulację: udało się odtworzyć każdy aspekt problemu.
Ważne spostrzeżenia, jakie oferuje ta analiza
Wartości p nie mówią nam nic bezpośrednio o kolinearności. Zależą one silnie od ilości danych.
Zależności między wartościami p w regresjach wielokrotnych i wartościami p w regresjach pokrewnych (obejmujących podzbiory zmiennej niezależnej) są złożone i zwykle nieprzewidywalne.
W konsekwencji, jak twierdzili inni, wartości p nie powinny być twoim jedynym przewodnikiem (lub nawet głównym przewodnikiem) przy wyborze modelu.
Edytować
Nie jest konieczne, aby było tak duże, jak 500 , aby pojawiły się te zjawiska.n 500 Zainspirowany dodatkowymi informacjami zawartymi w pytaniu, poniżej jest zestaw danych skonstruowany w podobny sposób przy (w tym przypadku x j = 0,4 x 1 + 0,4 x 2 + δ dla j = 3 , 4 , 5 ). To tworzy korelacje od 0,38 do 0,73 między x 1 - 2 a x 3 - 5n = 24 xjot= 0,4 x1+ 0,4 x2)+ δ j = 3 , 4 , 5 x1 - 2 x3 - 5 . Liczba warunków macierzy projektowej wynosi 9,05: trochę wysoka, ale nie straszna. (Niektóre podstawowe zasady mówią, że liczby stanów tak wysokie jak 10 są w porządku.) Wartości p poszczególnych regresji względem wynoszą 0,002, 0,015 i 0,008: od znaczących do bardzo znaczących. W ten sposób zaangażowana jest pewna wielokoliniowość, ale nie jest ona tak duża, że można by to zmienić. Podstawowy wgląd pozostaje taki samx3), x4, x5 : znaczenie i wielokoliniowość to różne rzeczy; istnieją tylko łagodne ograniczenia matematyczne; i możliwe jest włączenie lub wyłączenie nawet jednej zmiennej, która ma głęboki wpływ na wszystkie wartości p, nawet bez poważnej wielokoliniowości.
źródło
To nie jest ani sytuacja ani. I jestem sceptyczny wobec wytycznych „4 lub 5”. Dla każdego z twoich predyktorów błąd standardowy współczynnika jest między 2,2 a 5,6 razy większy niż byłby, gdyby predyktor nie był skorelowany z innymi. Część danego predyktora, której nie można wyjaśnić innymi, wynosi od 1 / 2,2 do 1 / 5,6, czyli od 18% do 45%. W sumie wydaje się to dość znaczną kolinearnością.
Cofnijmy się jednak na chwilę. Czy naprawdę próbujesz przewidzieć * Y *, a nie próbujesz to wyjaśnić ? Jeśli to pierwsze, to nie sądzę, żebyś musiał dbać, czy poziom istotności danej zmiennej zmienia się, gdy inne są obecne w modelu. Twoja praca jest naprawdę o wiele łatwiejsza niż byłoby, gdyby potrzebne były prawdziwe wyjaśnienia.
Jeśli Twoim celem jest wyjaśnienie, musisz rozważyć sposób, w jaki te zmienne są ze sobą powiązane - coś, co wymaga więcej niż informacji statystycznych. Wyraźnie pokrywają się one w sposób odnoszą się one do Y , a to kolinearność będzie to trudne do ustalenia, na przykład, ich kolejność rangi znaczenie przy rozliczaniu Y . W tej sytuacji nie ma jednej wyraźnej ścieżki do naśladowania.
W każdym razie mam nadzieję, że rozważasz metody walidacji krzyżowej.
źródło
Masz wielokoliniowość. Twoja wstępna analiza to wykazała. Jeśli chodzi o problem, to kolejne pytanie, które wydaje się mieć wiele odpowiedzi w twoim przypadku.
Może jeśli lepiej zrozumiesz podstawowy problem, bardziej oczywiste będzie, co robić? ...
Dzięki wielokoliniowości współczynniki regresji dotyczą unikalnego (znacznie bliższego do unikalnego) wkładu każdej zmiennej do modelu. Jeśli niektóre są ze sobą skorelowane, to unikalny wkład każdego z nich jest mniejszy. Prawdopodobnie częściowo dlatego, że żadne z nich nie jest znaczące, kiedy wszystkie są razem, ale gdy są używane osobno, mogą być.
Pierwszą rzeczą, którą prawdopodobnie musisz zrobić, to zastanowić się, co oznacza wzajemna korelacja między zmiennymi. Na przykład, czy masz kilka zmiennych, które reprezentują to samo? Czy zdarzyło ci się mierzyć swoje predyktory w złej skali i uzyskać przypadkowe korelacje? Nie próbuj naprawiać regresji, spróbuj zrozumieć swoje zmienne.
Rozważ X1 i X2 z bardzo silną korelacją między nimi, powiedzmy r = 0,90. Jeśli umieścisz X1 w modelu, który jest znaczącym predyktorem, inny model z samym X2 prawdopodobnie będzie również znaczący, ponieważ są one prawie tym samym. Jeśli umieścisz je w modelu razem, przynajmniej jeden z nich musi cierpieć, ponieważ regresja wielokrotna rozwiąże ich unikalny wkład. Oba mogą być nieistotne. Ale nie o to chodzi, chodzi o to, dlaczego tak bardzo się pokrywają i czy w ogóle mówią coś innego i czy ich potrzebujesz, czy nie? Być może jeden wyraża pomysł bardziej sensownie i bardziej związany ze zmienną odpowiedzi niż drugi. Może dojdziesz do wniosku, że są to te same rzeczy przy różnych poziomach zmienności.
Ponadto, gdy patrzymy na wszelkiego rodzaju modele, ale zwłaszcza z predyktorami wzajemnie skorelowanymi, wartości p są okropnym sposobem stwierdzenia, czy nowy predyktor ma znaczący wkład (jeśli to właśnie próbujesz zrobić ... nie wiesz, co próbuję to zrobić, ponieważ brzmi to tak, jakbyś tylko próbował uczynić regresję albo A) prostą, albo B) wyszedł tak, jak chcesz ... z których żaden nie jest możliwy). Prawdopodobnie najlepiej jest spojrzeć na AIC, aby pomóc ci określić, które predyktory powinieneś zachować, a które nic nie wnoszą.
źródło
Osobiście do analizy kolinearności użyłbym indeksów warunków i tabeli wyjaśnień wariancji.
Nie użyłbym także wartości p jako kryterium do budowania modelu, a porównując modele z 6 IV z modelami z 1, przyjrzałbym się zmianom wielkości efektu parametru dla zmiennej, która jest obydwoma.
Ale z pewnością możesz uzyskać wyniki, o których wspominasz, bez kolinearności. Kolinearność dotyczy tylko zmiennych X i ich relacji. Ale dwie zmienne mogą silnie odnosić się do Y, ale nie są ze sobą silnie powiązane.
źródło
Jeśli chodzi o wielokoliniowość, wspomina się o różnych progach, zwykle zbiegających się wokół VIF o wartości 10 odpowiadającej podstawowej wartości R Square wynoszącej 0,90 między badaną zmienną a innymi zmiennymi niezależnymi. VIF twoich zmiennych wydają się przejezdne i technicznie możesz je zachować w modelu.
Jednak użyłbym metody regresji krokowej, aby zobaczyć, która jest najlepsza kombinacja zmiennych i o ile więcej wyjaśnień (przyrostowy kwadrat R) można uzyskać, dodając zmienne. Arbitralnym testem porównawczym powinna być Skorygowana wartość R Square, która dostosowuje wartość R Square w dół poprzez karanie modelu za dodawanie zmiennych.
Twoje zmienne są nieco ze sobą skorelowane. Jest to nieuniknione, to tylko kwestia stopnia. Biorąc pod uwagę wspomniane VIF, intuicyjnie podejrzewam, że większość bitów informacji / wyjaśnień uzyskasz z najlepszej kombinacji 2 zmiennych. I to, że dodawanie zmiennych może dodawać tylko krańcową wartość przyrostową.
Patrząc na kombinację zmiennych wybranych w procesie regresji krokowej, przyjrzałbym się również tym, które zmienne są wybrane i czy ich znaki współczynników regresji są zgodne z ich korelacją zy. Jeśli nie są, może to wynikać z uzasadnionej interakcji między zmiennymi. Ale może to być również wynikiem nadmiernego dopasowania modelu i tego, że współczynniki regresji są fałszywe. Odzwierciedlają dopasowanie matematyczne, ale są pozbawione znaczenia pod względem przyczynowości.
Innym sposobem wyboru zmiennych jest decydowanie z logicznego punktu widzenia, które są głównymi 2 lub 3 zmiennymi, które powinny znajdować się w modelu. Zaczynasz od nich, a następnie sprawdzasz, o ile więcej informacji dostajesz, dodając zmienną. Sprawdź skorygowany kwadrat R, spójność współczynnika regresji w stosunku do pierwotnej regresji i oczywiście przetestuj wszystkie modele z okresem wstrzymania. Już wkrótce okaże się, jaki jest twój najlepszy model.
źródło
fortune(224)
: nie ma tu trolla, po prostu chcę podkreślić, że niekoniecznie musisz ufać temu, co oprogramowanie automagicznie daje (lub oferuje) jako opcję.Jeśli twoje zmienne objaśniające są danymi zliczającymi i założenie, że są one normalnie rozłożone, nie jest bezzasadne, możesz je przekształcić w standardowe zmienne normalne za pomocą
scale
polecenia R. Może to zmniejszyć kolinearność. Ale to prawdopodobnie nie rozwiąże całego problemu.Przydatna partia poleceń R do analizy i radzenia sobie z kolinearnością znajduje się na blogu Floriana Jaegera , w tym:
Ta
z.
funkcja przekształca wektor w standardową zmienną normalną. Żer.
funkcja zwraca znormalizowany pozostałości dla regresji jeden predyktorem przeciw drugiemu. Możesz użyć tego, aby skutecznie podzielić odchylenie modelu na różne transze , aby tylko niektóre zmienne miały dostęp do najbardziej uprzywilejowanej transzy, a następnie następna transza zostanie zaoferowana zmiennym zmienionym. (Przepraszamy za terminologię samodziałową). Więc jeśli model formularzaY ~ A + B
cierpi na wielokoliniowość, możesz uruchomić dowolną z nich
Y ~ A + r.(B)
Y ~ r.(A) + B
tak, że tylko reszty zmiennej „transza młodsza” (po regresji względem zmiennej „transza uprzywilejowana”) są dopasowywane do modelu. W ten sposób jesteś chroniony przed wielokoliniowością, ale masz bardziej skomplikowany zestaw parametrów do zgłoszenia.
źródło