Extension de la régression logistique pour des résultats compris entre 0 et 1


9

J'ai un problème de régression où les résultats ne sont pas strictement 0, 1 mais plutôt dans la plage de tous les nombres réels de 0 à 1 inclus .Y=[0,0.12,0.31,...,1]

Ce problème a déjà été discuté dans ce fil , bien que ma question soit légèrement différente.

Je ne peux pas utiliser la régression linéaire pour les mêmes raisons que la régression logistique est normalement utilisée. Dans la régression linéaire A) des valeurs IV très élevées fausseront le résultat prévu à 1 et B) le résultat de la régression linéaire n'est pas limité aux limites 0,1.

En regardant cette fonction de coût logistique de mon manuel Je suppose que l'équation est conçue pour calculer un coût supérieur à 0 uniquement lorsque et n'ont pas la même valeur 0 ou 1.

Cost=ylog(h(x))(1y)log(1h(x))
yx

Serait-il possible d'utiliser la régression logistique en modifiant la fonction de coût pour mesurer toutes les erreurs d'hypothèse?

Réponses:


9

Vous avez plusieurs options. Deux d'entre eux pourraient être:

  1. Si vous transformez votre via la transformation logistique vous pouvez essayer d'ajuster une régression linéaire via les moindres carrés ordinaires à cette variable de réponse transformée.Ylog(y1y)
  2. Alternativement, vous pouvez ajuster la variable d'origine dans un modèle linéaire généralisé avec la transformation logistique comme variable de lien et avec une relation entre la variance de et avoir la même signification que s'il s'agissait d'une variable binomiale, ajustée par les moindres carrés itératifs repondérés. C'est essentiellement la même chose que «l'utilisation de la régression logistique».Y

Lequel utiliser dépendrait de la structure d'erreur, et la seule façon de décider est de les ajuster tous les deux et de voir lequel a une structure résiduelle qui correspond le mieux aux hypothèses du modèle. Je soupçonne qu'il n'y aurait pas grand-chose à choisir entre eux. Certes, l'une ou l'autre de ces options serait une grande amélioration par rapport à la régression linéaire droite avec le non transformé , pour les raisons que vous dites.Y


2
(+1) Option 2: En règle générale, vous estimez ensuite la sur-dispersion et utilisez-la pour calculer les erreurs types - un modèle "quasi-binomial" dans lequel la relation entre la variance et la moyenne de Y est proportionnelle plutôt que la même que celle de une variable binomiale.
Scortchi - Réintégrer Monica

@Scortchi: Est-ce ce que fait la glm()fonction dans R lorsqu'elle est alimentée avec une réponse continue et family=quasibinomial? C'est-à-dire qu'il va estimer les coefficients avec family=binomialpuis, dans une étape supplémentaire, calculer les erreurs types en tenant compte de la sur-dispersion? Si oui, est-ce la même chose que le calcul des "erreurs standard robustes"? J'ai quelques données appropriées et j'ai essayé les deux familles avec glm; J'obtiens des coefficients identiques mais des erreurs standard différentes. Merci.
amoeba

1
@amoeba: Oui c'est ça. Mais les "erreurs types robustes" signifient généralement l'utilisation d'un estimateur sandwich ou similaire.
Scortchi - Réintégrer Monica

9

Lorsque Y est borné, la régression bêta a souvent un sens; voir l'article "Un meilleur presse-citron"

Cela permet des effets de plancher et de plafond; il permet également de modéliser la variance ainsi que la moyenne.


0

Puisque y n'est pas strictement nul ou un (comme vous l'avez dit), le coût doit toujours être supérieur à zéro. Donc, je ne pense pas que vous ayez besoin de la modification du modèle.


0

Je propose deux modèles alternatifs:

Si vos résultats (variables y) sont ordonnés, essayez un modèle Probit ordonné.

Si vos résultats (variables y) ne sont pas classés, essayez un modèle Logit multinomial.

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.