首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nlme fit : vcov与汇总

nlme fit : vcov与汇总
EN

Stack Overflow用户
提问于 2014-05-07 17:02:48
回答 1查看 820关注 0票数 6

我已经安装了一个模型使用nlme()package nlme

现在,我希望模拟一些预测间隔,考虑到参数的不确定性。

为此,我需要提取固定效果的方差矩阵。

据我所知,有两种方法:

代码语言:javascript
复制
vcov(fit)

代码语言:javascript
复制
summary(fit)$varFix

这两个给出了相同的矩阵。

但是,如果我检查

代码语言:javascript
复制
diag(vcov(fit))^.5

这与summary(fit)中报告的Std错误不一样。

我以为这两个人是一样的我错了吗?

编辑:下面是一个代码示例

代码语言:javascript
复制
require(nlme)

f=expression(exp(-a*t))
a=c(.5,1.5)
pts=seq(0,4,by=.1)

sim1=function(t) eval(f,list(a=a[1],t))+rnorm(1)*.1
y1=sapply(pts,sim1)

sim2=function(t) eval(f,list(a=a[2],t))+rnorm(1)*.1
y2=sapply(pts,sim2)

y=c(y1,y2)
t=c(pts,pts)
batch=factor(rep(1:2,82))
d=data.frame(t,y,batch)

nlmeFit=nlme(y~exp(-a*t),
  fixed=a~1,
  random=a~1|batch,
  start=c(a=1),
  data=d
  )

vcov(nlmeFit)
summary(nlmeFit)$varFix
vcov(nlmeFit)^.5
summary(nlmeFit)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-08 20:25:21

这是由于一个偏倚修正项,它被记录在?summary.lme中。

adjustSigma:一个可选的逻辑值。如果‘TRUE’和用于获取‘object’的估计方法是最大似然的,则残差标准误差乘以sqrt(nobs/(nobs - npar)),将其转换为类似REML的估计。此参数仅用于将单个合适的对象传递给函数时使用。默认值为“TRUE”。

如果您查看nlme:::summary.lme内部(这也是生成nlme对象摘要的方法,因为它有类c("nlme", "lme")),您可以看到:

代码语言:javascript
复制
...
stdFixed <- sqrt(diag(as.matrix(object$varFix)))
...
if (adjustSigma && object$method == "ML") 
    stdFixed <- stdFixed * sqrt(object$dims$N/(object$dims$N - 
        length(stdFixed)))

也就是说,标准误差是由sqrt(n/(n-p))缩放的,其中n是观察的数量,p是固定的参数数。让我们看看这个:

代码语言:javascript
复制
 library(nlme)
 fm1 <- nlme(height ~ SSasymp(age, Asym, R0, lrc),
             data = Loblolly,
             fixed = Asym + R0 + lrc ~ 1,
             random = Asym ~ 1,
             start = c(Asym = 103, R0 = -8.5, lrc = -3.3))
 summary(fm1)$tTable[,"Std.Error"]
 ##       Asym         R0        lrc 
 ## 2.46169512 0.31795045 0.03427017 

 nrow(Loblolly) ## 84
 sqrt(diag(vcov(fm1)))*sqrt(84/(84-3))
 ##      Asym         R0        lrc 
 ## 2.46169512 0.31795045 0.03427017

我不得不承认,我在代码中找到了答案,然后回头看了看,文档中清楚地说明了这一点.

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23523956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档