您是否不进行logit转换以使变量范围从负无穷大到正无穷大?我不确定具有0和1的数据是否应该成为问题。是否显示任何错误消息?顺便说一句,如果您只有比例,那么您的分析将永远是错误的。您需要使用weight=argument
到glm
案件的数量。
如果没有任何效果,则可以使用中位数拆分或四分位数拆分或您认为合适的任何切入点将DV拆分为几个类别,然后运行序数逻辑回归。那可能行得通。试试这些。
我个人并不认为将0.001加到零并从中取0.001是一个坏主意,但是它存在一些问题,将在后面讨论。试想一下,为什么不加减0.000000001(甚至更多的小数)?那将更好地表示0和1!在您看来,这并没有太大的区别。但实际上确实如此。
让我们看看以下内容:
> #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
因此,您看到,您需要将赔率保持在(0/1)和(1/0)附近。您期望的对数几率范围从负无穷大到正无穷大。因此,要添加或减去,您需要选择最多真的很长的小数位,以使对数几率接近无穷大(或非常大)!您认为足够大的程度完全取决于您。