Czy istnieje transformacja podobna do Box-Coxa dla zmiennych niezależnych? Czyli transformacja, która optymalizuje zmienną , aby lepiej pasowała do modelu liniowego?y~f(x)
Jeśli tak, to czy jest funkcja do wykonania tego R
?
r
regression
data-transformation
normality-assumption
Tal Galili
źródło
źródło
R
i przez chwilę się nad tym zastanawiam, nie jestem pewien, jak w ogóle można to zrobić. Jakie kryteria zoptymalizowałbyś, aby zapewnić najbardziej „liniową” transformację? jest kuszące, ale jak widać w mojej odpowiedzi tutaj , sama nie może być użyta do sprawdzenia, czy założenie liniowości modelu jest spełnione. Czy miałeś na myśli jakieś kryteria? R 2Odpowiedzi:
John Tukey opowiedział się za swoją „ trzypunktową metodą ” znajdowania ponownego wyrażania zmiennych w celu linearyzacji zależności.
Zilustruję to ćwiczeniem z jego książki Exploratory Data Analysis . Są to dane dotyczące prężności pary rtęci z eksperymentu, w którym temperatura była zmieniana i mierzono prężność pary.
Zależność jest silnie nieliniowa: patrz lewy panel na ilustracji.
Ponieważ jest to ćwiczenie eksploracyjne , oczekujemy, że będzie interaktywne. Analityk jest proszony o rozpoczęcie od zidentyfikowania trzech „typowych” punktów na wykresie : jednego w pobliżu każdego końca i jednego w środku. Zrobiłem to tutaj i oznaczyłem je na czerwono. (Kiedy po raz pierwszy ćwiczyłem to ćwiczenie dawno temu, użyłem innego zestawu punktów, ale osiągnąłem te same wyniki).
W metodzie trzypunktowej szuka się - za pomocą siły lub innej - transformacji Box-Coxa, która zastosowana do jednej ze współrzędnych - y lub x - (a) umieści typowe punkty w przybliżeniu na linia i (b) używa „ładnej” mocy, zwykle wybieranej z „drabiny” mocy, które mogą być zinterpretowane przez analityka.
Z powodów, które staną się widoczne później, rozszerzyłem rodzinę Box-Cox, pozwalając na „przesunięcie”, aby przekształcenia były w formie
Oto szybka i brudna(λ,α) λ α
R
implementacja. Najpierw znajduje optymalne rozwiązanie , a następnie zaokrągla do najbliższej wartości na drabinie i, z zastrzeżeniem tego ograniczenia, optymalizuje (w rozsądnych granicach). Jest to niezwykle szybkie, ponieważ wszystkie obliczenia są oparte tylko na tych trzech typowych punktach z oryginalnego zestawu danych. (Można to zrobić nawet ołówkiem i papierem, co właśnie zrobił Tukey).Po zastosowaniu metody trzypunktowej do wartości ciśnienia (y) w zbiorze danych o oparach rtęci otrzymujemy środkowy panel wykresów.
W tym przypadku(0,0)
parms
okazuje się równy : metoda wybiera przekształcenie logarytmiczne ciśnienia.Doszliśmy do punktu analogicznego do kontekstu pytania: z jakiegokolwiek powodu (zwykle w celu ustabilizowania wariancji resztkowej) ponownie wyrażiliśmy zmienną zależną , ale okazuje się, że związek ze zmienną niezależną jest nieliniowy. Teraz przechodzimy do ponownego wyrażenia zmiennej niezależnej , aby zlinearyzować relację. Odbywa się to w ten sam sposób, po prostu odwracając role xiy:
Stwierdzono, że wartości(−1,253.75) −254 −1 1
parms
zmiennej niezależnej (temperatura) wynoszą : innymi słowy, powinniśmy wyrazić temperaturę jako stopnie Celsjusza powyżej ° C i zastosować jej odwrotność ( moc ). (Z przyczyn technicznych transformacja Box-Coxa dodatkowo dodaje do wyniku.) Wynikową relację pokazano w prawym panelu.źródło
data <- cbind(temperature, pressure)
R
Rzuć okiem na te slajdy „Diagnostyka regresji” autorstwa Johna Foxa (dostępne tutaj , wraz z odnośnikami), które krótko omawiają kwestię transformacji nieliniowości. Obejmuje „regułę wypukłości” Tukeya dotyczącą wybierania transformacji mocy (do której odnosi się zaakceptowana odpowiedź), ale także wspomina rodziny transformacji Box-Cox i Yeo-Johnson. Zobacz rozdział 3.6 slajdów. Bardziej formalne ujęcie tego samego autora znajduje się w J. Fox, Applied Regression Analysis and Generalized Linear Models, Second Edition (Sage, 2008) .
Jeśli chodzi o rzeczywiste pakiety R, które pomagają w tym, absolutnie spójrz na pakiet samochodowy , autorstwa J. Foxa i S. Weisberga. Ten pakiet towarzyszy J. Foxowi i S. Weisbergowi, An R Companion to Applied Regression, wydanie drugie, (Sage, 2011) , kolejny obowiązkowy artykuł. Korzystając z tego pakietu możesz zacząć od
basicPower()
(proste transformacje mocy),bcPower()
(transformacje Box-Cox) iyjPower()
(transformacje Yeo-Johnsona). Istnieje również powerTransform () :Sprawdź obie książki, aby uzyskać więcej szczegółów na temat teorii leżącej u podstaw tych transformacji i na temat podejść obliczeniowych.
źródło
źródło