¿No haces una transformación logit para hacer que la variable varíe de menos infinito a más infinito? No estoy seguro si los datos que tienen 0 y 1 deberían ser un problema. ¿Eso muestra algún mensaje de error? Por cierto, si solo tiene proporciones, su análisis siempre saldrá mal. Es necesario utilizar weight=argument
para glm
el número de casos.
Si nada funciona, puede usar una división mediana o una división de cuartil o cualquier punto de corte que considere apropiado para dividir el DV en varias categorías y luego ejecutar una regresión logística ordinal. Eso puede funcionar. Prueba estas cosas.
Personalmente, no creo que agregar 0.001 a los ceros y quitar 0.001 sea una mala idea, pero tiene algunos problemas que se discutirán más adelante. Solo piense, ¿por qué no suma y resta 0.000000001 (o incluso más de los decimales)? ¡Eso representará mejor 0 y 1! Puede parecerle que no hace mucha diferencia. Pero en realidad lo hace.
Veamos lo siguiente:
> #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
Entonces, como ve, necesita mantener las probabilidades tan cerca como (0/1) y (1/0). Espera que las probabilidades de registro oscilen entre menos infinito y más infinito. Por lo tanto, para sumar o restar, ¡debes elegir hasta un decimal muy largo, de modo que las probabilidades de registro sean cercanas al infinito (o muy grandes)! El grado que considerará lo suficientemente grande depende únicamente de usted.