Quelle est la façon la plus appropriée de transformer des proportions lorsqu'elles sont une variable indépendante?


12

Je pensais avoir compris ce problème, mais maintenant je ne suis pas aussi sûr et je voudrais vérifier avec les autres avant de continuer.

J'ai deux variables, Xet Y. Yest un rapport, et il n'est pas limité par 0 et 1 et est généralement distribué normalement. Xest une proportion, délimitée par 0 et 1 (elle va de 0,0 à 0,6). Lorsque je lance une régression linéaire de Y ~ Xet je le découvre Xet ils Ysont significativement liés linéairement. Jusqu'ici tout va bien.

Mais j'étudie plus loin et je commence à penser que peut - être Xet Yla relation « peut - être plus curvilignes que linéaire. Pour moi, il ressemble à la relation Xet Ypeut - être plus proche de Y ~ log(X), Y ~ sqrt(X)ou Y ~ X + X^2, ou quelque chose comme ça. J'ai des raisons empiriques de supposer que la relation pourrait être curviligne, mais pas de raisons de supposer qu'une relation non linéaire pourrait être meilleure qu'une autre.

J'ai quelques questions connexes d'ici. Tout d'abord, ma Xvariable prend quatre valeurs: 0, 0,2, 0,4 et 0,6. Lorsque je transforme en journal ou en racine carrée ces données, l'espacement entre ces valeurs se déforme de sorte que les valeurs 0 sont beaucoup plus éloignées de toutes les autres. Faute d'une meilleure façon de demander, est-ce ce que je veux? Je suppose que non, car j'obtiens des résultats très différents selon le niveau de distorsion que j'accepte. Si ce n'est pas ce que je veux, comment dois-je l'éviter?

Deuxièmement, pour transformer ces données en journal, je dois ajouter un certain montant à chaque Xvaleur car vous ne pouvez pas prendre le journal de 0. Lorsque j'ajoute une très petite quantité, disons 0,001, j'obtiens une distorsion très importante. Lorsque j'ajoute une plus grande quantité, disons 1, j'obtiens très peu de distorsion. Y a-t-il un montant «correct» à ajouter à une Xvariable? Ou est-il inapproprié d'ajouter quoi que ce soit à une Xvariable au lieu de choisir une transformation alternative (par exemple cube-racine) ou un modèle (par exemple régression logistique)?

Le peu que j'ai pu découvrir sur cette question me donne l'impression de devoir faire preuve de prudence. Pour les autres utilisateurs de R, ce code créerait des données avec une sorte de structure similaire à la mienne.

X = rep(c(0, 0.2,0.4,0.6), each = 20)
Y1 = runif(20, 6, 10)
Y2 = runif(20, 6, 9.5)
Y3 = runif(20, 6, 9)
Y4 = runif(20, 6, 8.5)
Y = c(Y4, Y3, Y2, Y1)
plot(Y~X)

Vous dites que Y est une proportion, mais dans vos données, il se situe entre 6 et 10?

Oui, j'ai corrigé cela ci-dessus - c'est un rapport, pas une proportion.
Bajcz

Réponses:


13

La question principale sur la transformation des proportions (j'utiliserai comme symbole, de manière similaire mais pas identique à votre notation) permet quelques commentaires généraux.x

Dans ce qui suit, je suppose que le principal motif de transformation des proportions qui sont des covariables (prédicteurs, variables indépendantes) est d'améliorer l'approximation de la linéarité de la relation, ou, en mode exploratoire, d'avoir une idée plus claire graphiquement de la forme ou de l'existence même de toute relation. Comme d'habitude, la question de savoir si une covariable est (par exemple) approximativement normalement distribuée n'est pas cruciale en soi. (Les proportions sont un parent pas trop éloigné des variables indicatrices avec des valeurs qui ne peuvent jamais être distribuées normalement, et les proportions sont également nécessairement bornées.)0,1

Si les proportions peuvent atteindre des zéros exacts ou exacts, il est essentiel qu'une définition soit définie pour ces limites, ce qui exclut clairement , car log 0 est indéterminé. Au-delà, une forme particulière nécessite idéalement une justification substantielle (scientifique, pratique), mais à défaut d'une simple analyse, le log ( x + c ) est très sensible à la valeur de c , comme vous le suggérez. logxlog0log(x+c)c

10c=10klog10(x+10k)x=0k

k=0,c=1x=00x=10.301k=3,c=0.001x=03x=10

k=6,9,0x=10

c0

log(x+c)logxcxxlogxxx0

x=0x=1

xpx=0,10

xp(1x)pp=1/2p=1/3

logit x=logxlog(1x)p0x=0,1p0

01

  • 0.010.02x0.01

  • 0.980.99x0.011x

  • 0.500.51x0.01

01

x=0,1

log(x+0.001)

Les deux principaux points que je souhaite souligner sont les suivants:

  1. log(x+c)x

  2. Pour vos données d'exemple, aucune transformation que j'ai essayée ne semble aider.

En même temps, d'autres possibilités sont loin d'être épuisées. (Notamment, je n'ai pas essayé la racine carrée ou la racine cubique, et je souligne que dans de nombreux autres problèmes, ils pourraient être des candidats évidents et sérieux.)

01

entrez la description de l'image ici

R2=3.7=0.994

entrez la description de l'image ici

y610

EDIT: Les données originales ont pu être tracées ici parce que le PO a brièvement affiché les données, mais les a ensuite supprimées.

D'autres fils ici utilisant des pouvoirs pliés incluent

Transformer les données de proportion: lorsque la racine carrée de l'arcsin ne suffit pas

Régression: nuage de points avec un faible R au carré et des valeurs de p élevées

Tracer un ensemble de données très asymétrique


Excellente réponse et très approfondie. Je pense que je devrais dire que mon Yest un rapport plutôt qu'une proportion, ce qui est probablement une différence assez substantielle, donc il était bon de votre part de le souligner.
Bajcz

Les proportions sont limitées comme je les définis. Merci pour la clarification, ce qui ne fait aucune différence dans mon analyse (c'est pourquoi je l'ai étiqueté comme un petit détail).
Nick Cox

2
Autre commentaire: En principe, vous pouvez vérifier la courbure, etc. en utilisant des splines ou des lissoirs, mais avec seulement 4 niveaux distincts de prédicteur, ce n'est pas facile. Je considérerais la régression quantile pour vos données.
Nick Cox

x2x310x=0,1
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.