R中glm(y~x, family=poisson(link=identity))和optim()之间标准误差的区别

机器算法验证 r 广义线性模型 优化 标准错误 泊松回归
2022-03-23 21:33:53

我正在执行以下程序 glm(y~x, family=poisson(link=identity))。我无法理解 SE 与 glm(y~x, family=poisson(link=identity)) 和 optim() 的区别。请给我一些建议。

优化()

x<-c(1,2,3,4)
y<-c(2,3,5,4)
f<-function(arg){
  a=arg[1]
  b=arg[2]
  mu=a+b*x
  -sum(y*log(mu)-mu-log(factorial(y)))
}
(reso<-optim(c(1,1),f,hessian=TRUE))
#$par
#[1] 1.2785717 0.8886162
#$hessian
#[1,] 1.239716 2.717462
#[2,] 2.717462 7.343171
sqrt(diag(solve(reso$hessian)))#SE from optim()
#[1] 2.0669196 0.8492641

glm()

resg<-glm(y~x,family=poisson(link=identity))
summary(resg)
#            Estimate Std. Error z value Pr(>|z|)
#(Intercept)   1.2784     1.9766   0.647    0.518
#x             0.8887     0.8141   1.092    0.275
diag(sqrt(vcov(resg)))#SE from glm(poisson, identity)
#(Intercept)           x 
#   1.976575    0.814139
1个回答

在统计似然理论中,减去对数似然函数的二阶导数称为观测信息我们可以这样写

I=¨(y;θ)
其中点表示相对于θ. 观测信息的期望值
I=E(I)
称为Fisher信息期望信息

在保证最大似然估计量一致的相同规律性条件下,观察到的和预期的信息是渐近等价的(根据大数定律)。这意味着当标准误差较小时,观察到的和预期的信息通常会接近,无论是相对还是绝对。

在 glm 理论中,Fisher 信息优于观察到的信息,因为它 (1) 具有更简单的分析形式,(2) 保证是正定的(观察到的信息不是),并且 (3) 与Cramer- Rao 无偏估计量方差的下界

如果 glm 模型具有规范链接,则区别不太重要,因为在这种情况下,当以θ.

如果您使用optim最大化 glm 模型的对数似然,那么如果两种算法都运行到收敛,则返回的最大似然估计glmoptim将是相同的,除了舍入误差。然而,来自的标准误差glm通常与来自的标准误差不同,optim因为

  1. glm返回 Fisher 信息,同时optim计算观察到的信息和

  2. glm对 Fisher 信息使用精确的解析公式,而optim从对数似然的二阶差分数值近似 Hessian。

如果您在示例中使用了日志链接而不是身份链接,那么第 1 项将不再导致任何差异,因为日志链接是规范的并且可以观察到,并且预期的信息将在收敛时变得相同。

术语说明

一些作者使用“observed Fisher information”作为“observed information”的同义词,将“expected Fisher information”作为“Fisher information”的同义词。我认为这个术语可能源自 Efron & Hinkley (1978):

B. 埃夫隆和 DV 欣克利 (1978)。评估最大似然估计器的准确性:观察到的与预期的 Fisher 信息。生物计量学 65(3),457–483。