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
pour glm
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:
> #odds when 0 is replaced by 0.00000001
> 0.00000001/(1-0.00000001)
[1] 1e-08
> log(0.00000001/(1-0.00000001))
[1] -18.42068
> #odds when 1 is replaced by (1-0.00000001):
> (1-0.00000001)/(1-(1-0.00000001))
[1] 1e+08
> log((1-0.00000001)/(1-(1-0.00000001)))
[1] 18.42068
> #odds when 0 is replaced by 0.001
> 0.001/(1-0.001)
[1] 0.001001001
> log(0.001/(1-0.001))
[1] -6.906755
> #odds when 1 is replaced by (1-0.001):
> (1-0.001)/(1-(1-0.001))
[1] 999
> log((1-0.001)/(1-(1-0.001)))
[1] 6.906755
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.