Chcę wykonać wielokrotną regresję liniową, a następnie przewidzieć nowe wartości przy niewielkiej ekstrapolacji. Mam zmienną odpowiedzi w zakresie od -2 do +7 oraz trzy predyktory (zakresy od +10 do +200). Rozkład jest prawie normalny. Ale związek między odpowiedzią a predyktorami nie jest liniowy, widzę krzywe na wykresach. Na przykład jak to: http://cs10418.userapi.com/u17020874/153949434/x_9898cf38.jpg
Chciałbym zastosować transformację, aby osiągnąć liniowość. Próbowałem przekształcić zmienną odpowiedzi, sprawdzając różne funkcje i patrząc na uzyskane wykresy, aby zobaczyć liniową zależność między odpowiedzią a predyktorami. Odkryłem, że istnieje wiele funkcji, które mogą dać mi widoczną zależność liniową. Na przykład funkcje
itd. dają podobne wyniki: http://cs10418.userapi.com/u17020874/153949434/x_06f13dbf.jpg
Po tym, jak zamierzam przekształcić przewidywane wartości (dla jako i tak dalej). Rozkłady są mniej więcej podobne do normalnych. r'=1
Jak mogę wybrać najlepszą transformację dla moich danych? Czy istnieje ilościowy (i niezbyt skomplikowany) sposób oceny liniowości? Aby udowodnić, że wybrana transformacja jest najlepsza lub znaleźć ją automatycznie, jeśli to możliwe.
Czy jedynym sposobem jest wykonanie nieliniowej regresji wielokrotnej?
plot(lm(1/(y+5)~r))
Odpowiedzi:
To trochę sztuka, ale są pewne standardowe, proste rzeczy, których zawsze można próbować.
Pierwszą rzeczą do zrobienia jest ponowne wyrażenie zmiennej zależnej ( ), aby reszty były normalne. Tak naprawdę nie ma to zastosowania w tym przykładzie, w którym punkty wydają się opadać wzdłuż gładkiej krzywej nieliniowej z bardzo małym rozproszeniem. Więc przechodzimy do następnego kroku.y
Następną rzeczą jest ponowne wyrażenie zmiennej niezależnej ( ) w celu linearyzacji zależności. Jest to prosty i łatwy sposób to zrobić. Wybierz trzy reprezentatywne punkty wzdłuż krzywej, najlepiej na obu końcach i na środku. Z pierwszej cyfry odczytałem uporządkowane pary ( r , y ) = ( 10 , 7 ) , ( 90 , 0 ) i ( 180 , - 2 ) . Bez żadnych innych informacji poza tym, że r zawsze wydaje się być pozytywny, dobrym wyborem jest zbadanie transformacji Box-Coxar (r,y) (10,7) (90,0) (180,−2) r dla różnych uprawnień p , zazwyczaj dobrany jako wielokrotność 1 / 2 lub 1 / 3 , a zazwyczaj pomiędzy - 1 i 1 . (Wartość graniczna, gdy p zbliża się do 0, to log ( r ) .) Ta transformacja utworzy przybliżoną zależność liniową, pod warunkiem, że nachylenie między dwoma pierwszymi punktami jest równe nachyleniu między drugą parą.r→(rp−1)/p p 1/2 1/3 −1 1 p 0 log(r)
źródło
r
r
Jeśli twoja zmienna odpowiedzi (a raczej to, co stanie się resztkami zmiennej odpowiedzi) w oryginalnej skali ma rozkład normalny, jak sugerujesz, to przekształcenie jej w celu utworzenia relacji liniowej z innymi zmiennymi będzie oznaczało, że nie jest już normalna zmieni również związek między jego wariancją a wartościami średnimi. Więc z tej części opisu myślę, że lepiej jest użyć regresji nieliniowej niż transformację odpowiedzi. W przeciwnym razie, po liniowej transformacji odpowiedzi, będziesz potrzebować bardziej złożonej struktury błędu (chociaż może to być kwestia osądu i trzeba by to sprawdzić za pomocą metod graficznych).
Alternatywnie, zbadaj transformację zmiennych objaśniających . Oprócz prostych przekształceń masz również opcję dodawania w kategoriach kwadratowych.
Mówiąc bardziej ogólnie, transformacja jest bardziej sztuką niż nauką, jeśli nie istnieje żadna teoria, która sugerowałaby, co należy wykorzystać jako podstawę transformacji.
źródło