Co zrobić ze zmiennymi współliniowymi

11

Oświadczenie: To jest praca domowa.

Próbuję znaleźć najlepszy model dla cen diamentów, w zależności od kilku zmiennych i wydaje mi się, że mam do tej pory całkiem niezły model. Natknąłem się jednak na dwie zmienne, które są oczywiście współliniowe:

>with(diamonds, cor(data.frame(Table, Depth, Carat.Weight)))
                   Table       Depth Carat.Weight
Table         1.00000000 -0.41035485   0.05237998
Depth        -0.41035485  1.00000000   0.01779489
Carat.Weight  0.05237998  0.01779489   1.00000000

Tabela i głębokość zależą od siebie, ale nadal chcę je uwzględnić w moim modelu predykcyjnym. Zrobiłem kilka badań na temat diamentów i odkryłem, że Tabela i Głębokość to długość w poprzek i odległość od górnej do dolnej końcówki diamentu. Ponieważ te ceny diamentów wydają się być związane z pięknem, a piękno wydaje się być proporcjonalnymi proporcjami, zamierzałem uwzględnić ich stosunek, powiedzmy , aby przewidzieć ceny. Czy to standardowa procedura postępowania ze zmiennymi współliniowymi? Jeśli nie, co to jest?TableDepth

Edycja: Oto wykres głębokości ~ tabela: wprowadź opis zdjęcia tutaj

Mike Flynn
źródło
1
+1 za interesujące pytanie, ale nie, zdecydowanie nie jest to standardowa procedura postępowania ze zmiennymi współliniowymi. Mam nadzieję, że ktoś da ci dobrą odpowiedź, dlaczego nie. W twoim przypadku może to być dobra rzecz ...
Peter Ellis
3
Dziwne w tym wydaje się to, że korelacja -0,4 sugeruje, że diamenty, które są dłuższe u góry, są krótsze od góry do dołu. Wydaje się to sprzeczne z intuicją - czy na pewno jest poprawne?
Peter Ellis
Ogólnie rzecz biorąc, ujawni jedynie zależność liniową, prawda? Co jeśli i byłyby nieliniowo powiązane? Czy w takim przypadku istniałby jakiś analog wspólności, który stanowi problem? A może problem stanowi jedynie zależność liniowa. T a b l e D e p t hcorTableDepth
curious_cat
@PeterEllis Powiedziano mi, że to prawdziwy zestaw danych, tak. Patrząc na wykres głębokości ~ tabeli, może to być spowodowane tym, że wariancja lubi wysokie wartości tabeli.
Mike Flynn

Odpowiedzi:

14

Te zmienne są skorelowane.

Zakres powiązania liniowego wynikający z tej macierzy korelacji nie jest wystarczająco wysoki, aby zmienne mogły zostać uznane za współliniowe.

W takim przypadku z przyjemnością wykorzystam wszystkie trzy zmienne do typowych zastosowań regresji.

Jednym ze sposobów wykrycia wielokoliniowości jest sprawdzenie rozkładu Choleskiego macierzy korelacji - jeśli występuje wielokoliniowość, niektóre elementy ukośne będą bliskie zeru. Oto twoja własna macierz korelacji:

> chol(co)
     [,1]       [,2]       [,3]
[1,]    1 -0.4103548 0.05237998
[2,]    0  0.9119259 0.04308384
[3,]    0  0.0000000 0.99769741

(Przekątna powinna zawsze być dodatnia, chociaż niektóre implementacje mogą być nieco ujemne z efektem skumulowanych błędów obcięcia)

Jak widać, najmniejsza przekątna wynosi 0,91, co wciąż jest daleko od zera.

Dla kontrastu oto niektóre prawie kolinearne dane:

> x<-data.frame(x1=rnorm(20),x2=rnorm(20),x3=rnorm(20))
> x$x4<-with(x,x1+x2+x3+rnorm(20,0,1e-4))
> chol(cor(x))
   x1         x2         x3           x4
x1  1 0.03243977 -0.3920567 3.295264e-01
x2  0 0.99947369  0.4056161 7.617940e-01
x3  0 0.00000000  0.8256919 5.577474e-01
x4  0 0.00000000  0.0000000 7.590116e-05   <------- close to 0.
Glen_b - Przywróć Monikę
źródło
Dzięki, myślę, że po prostu pomyliłem się między „skorelowanym” a „współliniowym”
Mike Flynn
@kingledion Nie używaj komentarzy, aby zachęcić osoby do odpowiedzi na Twoje pytanie.
Glen_b
6

Pomyślałem, że ten schemat cięcia diamentów może wniknąć w pytanie. Nie można dodać obrazu do komentarza, dlatego jest odpowiedzią ...

wprowadź opis zdjęcia tutaj

PS. @ Komentarz PeterEllisa: Fakt, że „diamenty dłuższe u góry są krótsze od góry do dołu” może mieć sens w ten sposób: Załóżmy, że wszystkie nieoszlifowane diamenty są z grubsza prostokątne (powiedzmy). Teraz kuter musi wybrać swoje cięcie z tym prostokątem ograniczającym. To wprowadza kompromis. Jeśli zarówno szerokość, jak i długość wzrosną, wybierasz większe diamenty. Możliwe, ale rzadsze i droższe. Ma sens?

ciekawy kot
źródło
2

Należy unikać stosowania współczynników w regresji liniowej. Zasadniczo mówisz, że gdyby regresja liniowa została wykonana na tych dwóch zmiennych, byłyby one skorelowane liniowo bez przechwytywania; oczywiście tak nie jest. Zobacz: http://cscu.cornell.edu/news/statnews/stnews03.pdf

Mierzą również zmienną ukrytą - wielkość (objętość lub obszar) diamentu. Czy rozważałeś konwersję danych na miarę powierzchni / objętości zamiast uwzględniać obie zmienne?

Powinieneś opublikować wykres rezydualny tej głębokości i dane tabeli. Twoja korelacja między nimi może być i tak nieprawidłowa.

TLJ
źródło
1

Na podstawie korelacji trudno jest stwierdzić, czy tabela i szerokość są rzeczywiście skorelowane. Współczynnik zbliżony do + 1 / -1 powiedziałby, że są one współliniowe. Zależy to również od wielkości próbki. Jeśli masz więcej danych, użyj go do potwierdzenia.

Standardowa procedura postępowania ze zmiennymi współliniowymi polega na wyeliminowaniu jednej z nich ... ponieważ wiedząc, że jedna determinowałaby drugą.

Podspacian
źródło
1
Nie jestem pewien, czy zgadzam się z tym. Korelacja wynosi r = -. 41, co, jak sądzę, jest rozsądną wielkością dla korelacji. Biorąc pod uwagę prawdopodobne N (na podstawie rzutu oka na wykres), oczekiwałbym, że r będzie wysoce „znaczący”. To, czy Tabela i Głębokość są wystarczająco skorelowane, aby można je było nazwać „kolinearnym”, będzie kwestią definicji (chociaż nie nazwałbym tego również problematyczną kolinearnością). Wreszcie, byłbym ostrożny po prostu eliminując jedną ze zmiennych, chyba że r byłyby bardzo bliskie | 1 | (np. ~ .99) - Nie wiem, czy o to ci chodzi.
gung - Przywróć Monikę
1

Co sprawia, że ​​uważasz, że tabela i głębokość powodują kolinearność w twoim modelu? Na podstawie samej macierzy korelacji trudno powiedzieć, że te dwie zmienne spowodują problemy z kolinearnością. Co mówi wspólny test F na temat wkładu obu zmiennych do twojego modelu? Jak wspominał ciekawy kot, Pearson może nie być najlepszą miarą korelacji, gdy relacja nie jest liniowa (być może miarą rangi?). VIF i tolerancja mogą pomóc określić ilościowo stopień kolinearności, jaki możesz mieć.

Myślę, że twoje podejście do używania ich stosunku jest właściwe (choć nie jako rozwiązanie kolinearności). Kiedy widzę postać, od razu pomyślałem o wspólnej metodzie w badaniach zdrowotnych, która ma stosunek talii do bioder. Chociaż w tym przypadku jest bardziej zbliżony do BMI (waga / wzrost ^ 2). Jeśli współczynnik ten jest łatwy do interpretacji i intuicyjny dla odbiorców, nie widzę powodu, aby go nie używać. Jednak być może będziesz w stanie użyć obu zmiennych w swoim modelu, chyba że istnieją wyraźne dowody kolinearności.

Thomas Speidel
źródło