J'essaie de produire un modèle pour lequel j'ai une variable de réponse qui est une proportion entre 0 et 1, cela inclut pas mal de 0 et de 1 mais aussi de nombreuses valeurs entre les deux. Je pense à tenter une régression bêta. Le package que j'ai trouvé pour R (betareg) n'autorise que des valeurs comprises entre 0 et 1 mais sans inclure 0 ou 1 eux-mêmes. J'ai lu ailleurs que théoriquement la distribution bêta devrait être capable de gérer des valeurs de 0 ou 1 mais je ne sais pas comment gérer cela dans RI ont vu certaines personnes ajouter 0,001 aux zéros et prendre 0,001 à ceux, mais je ne sûr que c'est une bonne idée?
Alternativement, je pourrais logit transformer la variable de réponse et utiliser la régression linéaire. Dans ce cas, j'ai le même problème avec les 0 et les 1 qui ne peuvent pas être transformés en journal.
la source
Réponses:
Vous pouvez utiliser des modèles de régression bêta gonflés zéro et / ou un qui combinent la distribution bêta avec une distribution dégénérée pour attribuer une certaine probabilité à 0 et 1 respectivement. Pour plus de détails, voir les références suivantes:
Ospina, R. et Ferrari, SLP (2010). Distributions bêta gonflées. Documents statistiques, 51 (1), 111-126. Ospina, R. et Ferrari, SLP (2012). Une classe générale de modèles de régression bêta gonflés à zéro ou un. Statistiques computationnelles et analyse des données, 56 (6), 1609-1623.
Ces modèles sont faciles à implémenter avec le package gamlss pour R.
la source
zoib
package le fait facilement.La documentation du
betareg
package R mentionne quehttp://cran.r-project.org/web/packages/betareg/vignettes/betareg.pdf
Ils donnent la référence Smithson M, Verkuilen J (2006). "Un meilleur presseur de citron? Régression à probabilité maximale avec des variables dépendantes distribuées bêta." Psychological Methods, 11 (1), 54–71.
la source
Ne faites-vous pas une transformation logit pour rendre la variable allant de moins l'infini à plus l'infini? Je ne sais pas si les données ayant 0 et 1 devraient poser problème. Est-ce que cela affiche un message d'erreur? Soit dit en passant, si vous n'avez que des proportions, votre analyse sera toujours fausse. Vous devez utiliser
weight=argument
pourglm
le nombre de cas.Si rien ne fonctionne, vous pouvez utiliser un partage médian ou un quartile ou tout autre point de coupure que vous jugez approprié pour diviser le DV en plusieurs catégories, puis exécuter une régression logistique ordinale à la place. Cela peut fonctionner. Essayez ces choses.
Personnellement, je ne pense pas que l'ajout de 0,001 aux zéros et le retrait de 0,001 de ceux-ci soit une trop mauvaise idée, mais cela a quelques problèmes qui seront discutés plus tard. Pensez-vous, pourquoi n'ajoutez-vous pas et ne soustrayez-vous pas 0.000000001 (ou même plus de décimales)? Cela représentera mieux 0 et 1 !! Il peut vous sembler que cela ne fait pas beaucoup de différence. Mais c'est effectivement le cas.
Voyons ce qui suit:
Donc, vous voyez, vous devez garder les cotes aussi proches que (0/1) et (1/0). Vous vous attendez à la cote du journal allant de moins l'infini à plus l'infini. Donc, pour ajouter ou soustraire, vous devez choisir jusqu'à une décimale vraiment très longue, de sorte que la cote du journal devienne proche de l'infini (ou très grande) !! La mesure que vous jugerez assez grande dépend uniquement de vous.
la source
Consultez ce qui suit, où une transformation ad hoc est mentionnée maartenbuis.nl/presentations/berlin10.pdf sur la diapositive 17. Vous pouvez également modéliser 0 et 1 avec deux régressions logistiques distinctes, puis utiliser la régression bêta pour ceux qui ne sont pas à la frontière.
la source
la source