Le livre de John Fox Un compagnon R de la régression appliquée est une excellente ressource sur la modélisation de régression appliquée avec R
. Le package car
que j'utilise tout au long de cette réponse est le package d'accompagnement. Le livre a également comme site Web des chapitres supplémentaires.
Transformer la réponse (aka variable dépendante, résultat)
R
lm
boxCox
car
λfamily="yjPower"
boxCox(my.regression.model, family="yjPower", plotit = TRUE)
Cela produit un tracé comme le suivant:
λλ
Pour transformer votre variable dépendante maintenant, utilisez la fonction yjPower
du car
package:
depvar.transformed <- yjPower(my.dependent.variable, lambda)
lambda
λboxCox
Important: Plutôt que de simplement transformer en journal la variable dépendante, vous devriez envisager d'adapter un GLM avec un lien de journal. Voici quelques références qui fournissent des informations supplémentaires: première , deuxième , troisième . Pour ce faire R
, utilisez glm
:
glm.mod <- glm(y~x1+x2, family=gaussian(link="log"))
où y
est votre variable dépendante et x1
, x2
etc. sont vos variables indépendantes.
Transformations des prédicteurs
Les transformations de prédicteurs strictement positifs peuvent être estimées par maximum de vraisemblance après la transformation de la variable dépendante. Pour ce faire, utilisez la fonction boxTidwell
du car
package (pour le papier d'origine voir ici ). Utilisez - le comme ça: boxTidwell(y~x1+x2, other.x=~x3+x4)
. L'important ici est que cette option other.x
indique les termes de la régression qui ne doivent pas être transformés. Ce serait toutes vos variables catégorielles. La fonction produit une sortie de la forme suivante:
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
λincome
le revenun e w= 1 / revenuo l d--------√
Un autre article très intéressant sur le site sur la transformation des variables indépendantes est celui-ci .
Inconvénients des transformations
1 / an√λλ
Modélisation de relations non linéaires
Les polynômes fractionnaires et les splines sont deux méthodes assez flexibles pour ajuster les relations non linéaires . Ces trois articles offrent une très bonne introduction aux deux méthodes: première , deuxième et troisième . Il y a aussi un livre entier sur les polynômes fractionnaires et R
. Le R
packagemfp
implémente des polynômes fractionnaires multivariables. Cette présentation pourrait être informative concernant les polynômes fractionnaires. Pour adapter les splines, vous pouvez utiliser la fonction gam
(modèles additifs généralisés, voir ici pour une excellente introduction avec R
) du packagemgcv
ou les fonctionsns
(splines cubiques naturelles) et bs
(splines B cubiques) du package splines
(voir ici un exemple d'utilisation de ces fonctions). À l'aide de, gam
vous pouvez spécifier les prédicteurs que vous souhaitez ajuster à l'aide de splines à l'aide de la s()
fonction:
my.gam <- gam(y~s(x1) + x2, family=gaussian())
ici, x1
serait ajusté en utilisant une spline et x2
linéairement comme dans une régression linéaire normale. À l'intérieur, gam
vous pouvez spécifier la famille de distribution et la fonction de liaison comme dans glm
. Donc, pour adapter un modèle avec une fonction de liaison de journal, vous pouvez spécifier l'option family=gaussian(link="log")
dans gam
comme dans glm
.
Jetez un oeil à cet article sur le site.