【发布时间】:2019-11-13 16:58:37
【问题描述】:
我尝试通过“car”包中的“deltaMethod”函数使用 delta 方法从线性回归中估计转换后的截距 (10^a) 的 SE。但是 deltaMethod 总是为截距的 SE 或其任何变换给出零!例如,对于未转换的截距:
> x <- 1:100; y <- rnorm(100, 4*x, 5)
> m1<-lm(y~x)
> library(car)
> deltaMethod(m1, "Intercept")
Estimate SE 2.5 % 97.5 %
Intercept -1.9561 0.0000 -1.9561 -1.9561
根据“deltaMethod”函数,截距是0.000,但应该是0.9034276:
> (summary(m1))$ coefficients [1,2]
[1] 0.9034276
“msm”包中的“deltamethod”函数给出截距 SE 的正确值:
> library(msm)
> deltamethod (~ x1, coef(m1), vcov(m1))
[1] 0.9034276
但是我在“car”包中的“deltaMethod”函数代码有什么问题? (出于某种原因,我更喜欢使用“car”包而不是“msm”)。谢谢!
【问题讨论】:
-
这对我有用(我从来没有得到 0)。重启 R 后你试过了吗?
-
只是为了让你知道我也遇到了同样的问题。我一直无法找到问题根源的答案。实际上,我最初对评估 1/(Intercept) 的标准误差很感兴趣,但是 deltaMethod 报告了零标准误差,然后我尝试获取 (Intercept) 的标准误差,也得到了零标准误差。因此,我使用 msm 包中的 deltamethod 以及解析解决方案获得了 1/(Intercept) 的标准误差,并且两者都同意并且当然不同于零。让我担心的是另一个 est
标签: r linear-regression intercept