Comment choisir la meilleure transformation pour atteindre la linéarité?

10

Je veux faire une régression linéaire multiple puis prédire de nouvelles valeurs avec peu d'extrapolation. J'ai ma variable de réponse dans la plage de -2 à +7 et trois prédicteurs (les plages d'environ +10 à +200). La distribution est presque normale. Mais la relation entre la réponse et les prédicteurs n'est pas linéaire, je vois des courbes sur les graphiques. Par exemple, comme ceci: http://cs10418.userapi.com/u17020874/153949434/x_9898cf38.jpg

Je voudrais appliquer une transformation pour atteindre la linéarité. J'ai essayé de transformer la variable de réponse en vérifiant différentes fonctions et en regardant les graphiques résultants pour voir une relation linéaire entre la réponse et les prédicteurs. Et j'ai trouvé qu'il existe de nombreuses fonctions qui peuvent me donner une relation linéaire visible. Par exemple, les fonctions

t1=log(y+2.5)

t2=1log(y+5)

t3=1y+5

t4=1(y+10)3

etc. donnent les mêmes résultats: http://cs10418.userapi.com/u17020874/153949434/x_06f13dbf.jpgt5=1(y+3)13

Après je vais retransformer les valeurs prédites (pour commey=1t=1(y+10)3et ainsi de suite). Les distributions sont plus ou moins similaires à la normale.y=1t1310

Comment choisir la meilleure transformation pour mes données? Existe-t-il une manière quantitative (et pas très compliquée) d'évaluer la linéarité? Pour prouver que la transformation sélectionnée est la meilleure ou pour la trouver automatiquement si possible.

Ou la seule façon est de faire la régression multiple non linéaire?

Nadya
la source
J'ai essayé d'améliorer la mise en forme de vos formules, mais j'ai peut-être introduit des erreurs - veuillez vérifier.
Peter Ellis
Je ne te crois pas. Il n'est pas mathématiquement possible que à t 5 aient simultanément une relation linéaire avec une sixième variable sur la plage 0 200 . Je pense que vous avez peut-être fait une erreur dans le calcul de ces transformations de y . t1t50200y
whuber
2
Vous avez raison. C'est assez étonnant qu'un si large éventail de ré-expressions de y resterait dans une relation linéaire avec r. Merci de partager ça. Si vous indiquerez les résidus, vous constaterez que regards sur la meilleure, et r n'a pas besoin d'réexpression: . 1/(y+5)rplot(lm(1/(y+5)~r))
whuber

Réponses:

14

C'est un peu un art, mais il y a des choses simples et standard que l'on peut toujours essayer.

La première chose à faire est de ré-exprimer la variable dépendante ( ) pour rendre les résidus normaux. Ce n'est pas vraiment applicable dans cet exemple, où les points semblent tomber le long d'une courbe non linéaire lisse avec très peu de dispersion. Nous passons donc à l'étape suivante.y

La prochaine étape consiste à ré-exprimer la variable indépendante ( ) pour linéariser la relation. Il existe un moyen simple et facile de le faire. Choisissez trois points représentatifs le long de la courbe, de préférence aux deux extrémités et au milieu. À partir du premier chiffre, j'ai lu les paires ordonnées ( r , y ) = ( 10 , 7 ) , ( 90 , 0 ) et ( 180 , - 2 ) . Sans aucune autre information que celle r semble toujours être positive, un bon choix est d'explorer les transformations de Box-Coxr(r,y)(10,7)(90,0)(180,2)r pour différentes puissances p , généralement choisi pour êtremultiple de 1 / deux ou 1 / 3 et typiquement comprise entre - 1 et 1 . (La valeur limite lorsque p s'approche de 0 est log ( r ) .) Cette transformation créera une relation linéaire approximative à condition que la pente entre les deux premiers points soit égale à la pente entre la deuxième paire.r(rp1)/pp1/21/311p0log(r)

(07)/(9010)0.088(20)/(18090)0.022p=1/2(07)/(901/211/2101/211/2)16.632.4p07.36.6y=α+βlog(r)y pour les rendre approximativement symétriques, et itérer.

y

whuber
la source
Merci pour les conseils de la transformation Box-Cox. Est-il judicieux de vérifier le R au carré de lm (1 / (y + 5) ~ r) et le lm des autres fonctions, puis de comparer ces R au carré?
nadya
rR2rR2
Merci beaucoup pour la réponse! Je ne vais pas transformer mes variables indépendantes
nadya
y
@Erich Chaque morceau de ce livre est profondément enrichissant: après tout, si vous pouvez faire quelque chose avec un crayon et du papier, vous pouvez programmer un ordinateur pour le faire :-). Avec une seule variable, il est souvent agréable de la transformer pour la symétrie (de sa distribution empirique); Tukey appelle cela un "petit accord". Un moyen simple d'identifier une telle transformation est décrit dans la section 3E, «Regarder rapidement». Il illustre ce qui peut être appris d'un coup d'œil à un résumé à N lettres (Tukey suggère un résumé à 7 ou 9 lettres). L'acquisition de cette compétence est plus précieuse que d'avoir un programme informatique faire les calculs pour vous.
whuber
1

Si votre variable de réponse (ou plutôt, ce qui deviendra les résidus de votre variable de réponse) sur l'échelle d'origine a une distribution normale comme vous l'impliquez, alors la transformer pour créer une relation linéaire avec les autres variables signifie qu'elle n'est plus normale et il modifiera également la relation entre sa variance et les valeurs moyennes. Donc, d'après cette partie de votre description, je pense qu'il vaut mieux utiliser une régression non linéaire que de transformer la réponse. Sinon, après une transformation linéaire de la réponse, vous aurez besoin d'une structure d'erreur plus complexe (bien que cela puisse être une question de jugement et que vous devrez vérifier, en utilisant des méthodes graphiques).

Vous pouvez également étudier la transformation des variables explicatives . En plus des transformations droites, vous avez également la possibilité d'ajouter en termes quadratiques.

Plus généralement, la transformation est plus un art qu'une science, s'il n'y a pas de théorie existante pour suggérer ce que vous devriez utiliser comme base de la transformation.

Peter Ellis
la source