R - 二元响应模型中的分离问题 - glm,brglm,logistf

时间:2013-02-27 17:20:05

标签: r binary glm logistf

我遇到了一些数据问题,需要一些帮助。 我试图用存在/不存在变量作为响应变量和几个解释变量(时间,位置,存在/不存在数据,丰度数据)来运行glm分析。

首先我尝试使用glm()函数,但是我有两个关于glm.fit()的警告: 1:glm.fit:算法没有收敛 2:glm.fit:拟合概率数值为0或1 经过一番调查后,我发现问题很可能是完全分离,因此决定使用brglm和/或logistf。

  • logistf:分析无法运行 运行logistf()时,我收到一条错误消息: chol.default(x)中的错误: 领先的未成年人39不是肯定的 我在Heinze和Ploner的理论和技术论文中查看了Internet上的logistf包手册,找不到该函数的使用位置,以及是否可以通过某些设置修复错误。

  • brglm:分析运行 但是我收到一条警告信息说: 在fit.proc(x = X,y = Y,权重=权重,start = start,etastart#= etastart,: 达到了迭代限制 就像之前我无法找到运行包时使用此功能的地点和原因,以及是否可以通过调整某些设置来修复它。

以更一般的方式,我想知道这些软件包的根本区别是什么。

我希望这足够有意义,如果这是我不了解的统计证据,我很抱歉。

这是我第一次提出问题,所以如果它不应该是这样我道歉,请您毫不犹豫地让我知道。

感谢您的帮助

Xochitl C。


这是我的表格的摘录(我必须截断长度中的行,因为表太宽:20列)和我运行的不同公式:

head ()

Year Quarter Subarea Latitude Longitude    Presence.S CPUE.S Presence.H CPUE.H Presence.NP 

1 2000       1    31F1    51.25       1.5          0      0          0     0        0   
2 2000       1    31F2    51.25       2.5          0      0          0     0        0  
3 2000       1    32F1    51.75       1.5          0      0          0     0        0   
4 2000       1    32F2    51.75       2.5          0      0          0     0        0   
5 2000       1    32F3    51.75       3.5          0      0          0     0        0   
6 2000       1    33F1    52.25       1.5          0      0          0     0        0   

tail ()

Year Quarter Subarea Latitude Longitude Presence.S  CPUE.S Presence.H  CPUE.H 

4435 2012       3    50F3    60.75       3.5    1  103.000   1       110.000            
4436 2012       3    51E8    61.25      -1.5    1 1311.600   1       12.000   
4437 2012       3    51E9    61.25      -0.5    1   34.336   1       46.671               
4438 2012       3    51F0    61.25       0.5    1  430.500   1       148.000              
4439 2012       3    51F1    61.25       1.5    1  115.000   1       85.000              
4440 2012       3    51F2    61.25       2.5    1   72.500   1       5.500                 

logistf_binomPres <- logistf (Presence.S ~ (Presence.BW + Presence.W + Presence.C + Presence.NP +Presence.P + Presence.H +CPUE.BW + CPUE.H + CPUE.P + CPUE.NP + CPUE.W + CPUE.C + Year + Quarter + Latitude + Longitude)^2, data = CPUE_table)

Brglm_binomPres <- brglm (Presence.S ~ (Presence.BW + Presence.W + Presence.C + Presence.NP +Presence.P + Presence.H +CPUE.BW + CPUE.H + CPUE.P + CPUE.NP + CPUE.W + CPUE.C + Year + Quarter + Latitude + Longitude)^2, family = binomial, data = CPUE_table)

1 个答案:

答案 0 :(得分:1)

对于它的价值,我也遇到了“领先的小调我不是肯定的”错误。

这是因为我的第i个变量对于所有观察都是相同的。 删除此变量解决了这个问题。

希望这有帮助