Książka Johna Foxa T towarzysząca regresji stosowanej jest doskonałym źródłem informacji na temat modelowania regresji stosowanej R. Pakiet, carktórego używam w tej odpowiedzi, jest pakietem towarzyszącym. Książka ma również stronę internetową z dodatkowymi rozdziałami.
Przekształcanie odpowiedzi (inaczej zmienna zależna, wynik)
RlmboxCoxcarλfamily="yjPower"
boxCox(my.regression.model, family="yjPower", plotit = TRUE)
To tworzy wykres podobny do następującego:

λλ
Aby teraz przekształcić zmienną zależną, użyj funkcji yjPowerz carpakietu:
depvar.transformed <- yjPower(my.dependent.variable, lambda)
lambdaλboxCox
Ważne: Zamiast transformować logarytmicznie zmienną zależną, powinieneś rozważyć dopasowanie GLM do log-link. Oto kilka odniesień, które dostarczają dalszych informacji: po pierwsze , po drugie , po trzecie . Aby to zrobić R, użyj glm:
glm.mod <- glm(y~x1+x2, family=gaussian(link="log"))
gdzie yjest zmienna zależna i x1, x2itd. są twoi niezależnymi zmiennymi.
Transformacje predyktorów
Transformacje ściśle dodatnich predyktorów można oszacować na podstawie maksymalnego prawdopodobieństwa po transformacji zmiennej zależnej. Aby to zrobić, użyj funkcji boxTidwellz carpaczki (oryginalny papier znajduje się tutaj ). Używaj go tak: boxTidwell(y~x1+x2, other.x=~x3+x4). Ważną rzeczą jest to, że ta opcja other.xwskazuje warunki regresji, których nie należy przekształcać. To byłyby wszystkie twoje zmienne kategorialne. Funkcja generuje dane wyjściowe o następującej formie:
boxTidwell(prestige ~ income + education, other.x=~ type + poly(women, 2), data=Prestige)
Score Statistic p-value MLE of lambda
income -4.482406 0.0000074 -0.3476283
education 0.216991 0.8282154 1.2538274
incomeλincomedochódn e w= 1 / dochódo l d--------√
Kolejnym bardzo interesującym postem na stronie o transformacji zmiennych niezależnych jest ten .
Wady transformacji
1 / y√λλ
Modelowanie relacji nieliniowych
Dwie dość elastyczne metody dopasowania relacji nieliniowych to ułamkowe wielomiany i splajny . Te trzy artykuły stanowią bardzo dobre wprowadzenie do obu metod: pierwszej , drugiej i trzeciej . Jest też cała książka o ułamkach wielomianów i R. Do R opakowaniamfp narzędzia wielozmienną wielomianów ułamkowe. Ta prezentacja może być pouczająca na temat wielomianów ułamkowych. Aby dopasować splajny, możesz użyć funkcji gam(uogólnione modele addytywne, zobacz tutaj doskonałe wprowadzenie z R) z pakietumgcv lub funkcjins(naturalne splajny sześcienne) i bs(sześcienne splajny B) z pakietu splines(zobacz tutaj przykład użycia tych funkcji). Za gampomocą tej s()funkcji możesz określić, które predyktory chcesz dopasować za pomocą splajnów, używając funkcji:
my.gam <- gam(y~s(x1) + x2, family=gaussian())
tutaj x1byłby dopasowany przy użyciu splajnu i x2liniowo, jak w normalnej regresji liniowej. Wewnątrz gammożesz określić rodzinę dystrybucji i funkcję łącza jak w glm. Aby więc dopasować model z funkcją log-link, możesz określić opcję family=gaussian(link="log")in gamas glm.
Obejrzyj ten post ze strony.