Jackknife在逻辑回归中

时间:2012-11-14 16:37:18

标签: r glm

我有兴趣应用Jackknife分析来量化逻辑回归估计的系数的不确定性。我使用glm(family ='binomial')因为我的自变量是0-1格式。

我的数据集有76000个obs,我使用了7个独立变量加上一个偏移量。这个想法涉及将数据分成5个随机子集,然后通过从数据集中一次删除一个子集来获得7个估计参数。然后我可以估计参数的不确定性。

我理解程序,但我无法在R中执行此操作。

这是我合适的模型:

glm(f_ocur ~ altitud + UTM_X + UTM_Y + j_sin + j_cos + temp_res + pp +
             offset(log(1/off)), data = mydata, family = 'binomial')

有没有人知道如何才能做到这一点?

1 个答案:

答案 0 :(得分:1)

Jackknifing逻辑回归模型非常低效。但是一个简单的时间密集型方法就是这样:

Formula <- f_ocur~altitud+UTM_X+UTM_Y+j_sin+j_cos+temp_res+pp+offset(log(1/off))
coefs <- sapply(1:nrow(mydata), function(i)
  coef(glm(Formula, data=mydata[-i, ], family='binomial'))
)

这是留一系数系数估算的矩阵。该矩阵的协方差矩阵估计参数估计的协方差矩阵。

使用glm的主力函数glm.fit可以显着改善时间。您可以通过线性化模型进一步推进(使用一步估计,将Newton Raphson算法中的niter限制为仅一次迭代,使用Jackknife SE进行一步估算仍然稳健,无偏见,整个位...)