Comment modéliser une variable cible bornée?

18

J'ai 5 variables et j'essaie de prédire ma variable cible qui doit être comprise entre 0 et 70.

Comment utiliser cette information pour mieux modéliser ma cible?

user333
la source

Réponses:

21

ymax(0,min(70,y^))y^

Cependant, la plage restreinte soulève la possibilité d'une relation non linéaire entre la variable dépendante ( ) et les variables indépendantes ( x_i ). Voici quelques indicateurs supplémentaires:x iyxi

  • Plus grande variation des valeurs résiduelles lorsque y^ est au milieu de sa plage, par rapport à la variation des valeurs résiduelles à chaque extrémité de la plage.

  • Raisons théoriques des relations non linéaires spécifiques.

  • Preuve d'une mauvaise spécification du modèle (obtenue de la manière habituelle).

  • Signification des termes quadratiques ou d'ordre élevé dans le .xi

Considérons une ré-expression non linéaire de dans le cas où l'une de ces conditions est vérifiée.y

Il existe de nombreuses façons de ré-exprimer pour créer des relations plus linéaires avec . Par exemple, toute fonction croissante définie sur l'intervalle peut être "repliée" pour créer une fonction croissante symétrique via . Si devient arbitrairement grand et négatif lorsque son argument se rapproche de , la version repliée de correspondra à dans tous les nombres réels. Des exemples de telles fonctions incluent le logarithme et toute puissance négative. L'utilisation du logarithme équivaut au «lien logit» recommandé par @ user603. Une autre façon est de laisseryxif[0,70]yf(y)f(70y)f0f[0,70]Gêtre le CDF inverse de toute distribution de probabilité et définir . L'utilisation d'une distribution normale donne la transformation "probit".f(y)=G(y/70)

Une façon d'exploiter les familles de transformations est d'expérimenter: essayer une transformation probable, effectuer une régression rapide du transformé contre le , et tester les résidus: ils devraient apparaître comme indépendants des valeurs prédites de (homoscédastique et non corrélée) . Ce sont des signes d'une relation linéaire avec les variables indépendantes. Il aide aussi, si les résidus des arrière transformées valeurs prévues ont tendance à être faible. Cela indique que la transformation a amélioré l'ajustement. Pour résister aux effets des valeurs aberrantes, utilisez des méthodes de régression robustes telles que les moindres carrés itérativement repondérés .x iyxiy

whuber
la source
1
+1 Excellente réponse! Pouvez-vous extrapoler ou expliquer pourquoi "une plus grande variation des valeurs résiduelles lorsque y_qui se situe au milieu de sa plage, par rapport à la variation des valeurs résiduelles à chaque extrémité de la plage" est une indication de non-linéarité?
Andy McKenzie
1
@Andy En théorie, une telle hétéroscédasticité n'a aucun lien direct avec la non-linéarité, mais dans la pratique, on observe souvent qu'une transformation stabilisatrice de variance tend à linéariser les relations. Toute courbe passant continuellement d'un minimum (comme 0) à un maximum (comme 70) aura une pente maximale quelque part au milieu de cette plage, entraînant souvent une plus grande variance résiduelle là aussi. C'est pourquoi nous nous attendrions à ce que les résidus présentent plus de variance au milieu et moins aux extrémités. Si ce n'est pas le cas, nous pouvons espérer des relations linéaires avec la variable non transformée .
whuber
5

Il est important de considérer pourquoi vos valeurs sont limitées dans la plage 0-70. Par exemple, s'il s'agit du nombre de réponses correctes sur un test de 70 questions, alors vous devriez envisager des modèles pour les variables de "nombre de succès", comme la régression binomiale surdispersée. D'autres raisons peuvent vous conduire à d'autres solutions.

Aniko
la source
2

Transformation des données: redimensionnez vos données pour qu'elles se trouvent dans et modélisez-les à l'aide d'un modèle glm avec un lien logit.[0,1]

Modifier: Lorsque vous redimensionnez un vecteur (c'est-à-dire que vous divisez tous les éléments par la plus grande entrée), en règle générale, avant de le faire, filtrez (globes oculaires) les valeurs aberrantes.

MISE À JOUR

En supposant que vous avez accès à R, je porterais la partie modélisation avec une routine glm robuste , voir dans le package .glmrob()robustbase

user603
la source
3
Le serrage des données comme recommandé ici biaisera les pentes dans une régression.
whuber
1
De plus, je ne vois pas la valeur immédiate du serrage basé sur des quantiles d'échantillons, lorsque la véritable plage de données est connue a priori.
cardinal
@Cardinal Le fait est que (par exemple) peut-être 99% des données se trouvent dans [0,1] et les valeurs restantes égales à 70: une contrainte compacte sur la plage n'assure pas l'absence de valeurs aberrantes! Par conséquent, je suis d'accord avec l'esprit des conseils offerts par @ user603, malgré ma préoccupation concernant le biais possible dans l'approche proposée.
whuber
@whuber: Mon inclinaison dans un tel cadre serait d'utiliser un GLM résistant aux valeurs aberrantes plutôt que cette forme de serrage. Ensuite, laissez l'ajustement du modèle s'ajuster via le coefficient "interception" et le coefficient "pente".
cardinal
@Cardinal Oui, c'est une solution valable. J'espère que l'utilisation d'un tel GLM sera toujours accompagnée de procédures de diagnostic pour vérifier la linéarité (approximative) et l'indépendance des résidus.
whuber