您不进行 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)。您期望从负无穷到正无穷的对数赔率。所以,要加减,你需要选择一个非常长的小数位,这样对数赔率就会接近无穷大(或非常大)!!您认为足够大的程度完全取决于您。