我不明白profile
在lmer中是如何运作的?有时它给出与观测总数完全相同的数值,有时甚至更少或更高于观测总数。另外,个人资料输出中的.zeta
是什么?
(2)再次
pp <- profile(fitted,"theta_",quiet=TRUE)#fitted is a fitted model
为每个随机和固定效果提供值,但
cc <- confint(pp)
仅为方差分量生成置信区间。为什么?
在?profile
文档中,我没有选择quiet
。 quiet
如何运作?
(3)运行命令
是否有任何好处confint(profile(fitted))
而非运行confint(fitted)
。
提前致谢。
答案 0 :(得分:2)
给出一个可重复的例子:
library("lme4")
fm1 <- lmer(Reaction~Days+(Days|Subject),sleepstudy)
有时它[
profile
]给出与观察总数完全相同的值,有时甚至更少或更高于观察总数。
我不确定这意味着什么。
此外,个人资料输出中的
.zeta
是什么?
.zeta
列是与最小偏差差异的带符号平方根。
为which
(profile
)或parm
(confint
)个人资料/指定没有值为所有参数指定CI;指定"theta_"
仅提供随机效果方差 - 协方差和残差方差(如果有)的结果。
## all parameters (random and fixed)
pp0 <- profile(fm1)
levels(pp0$.par)
## [1] "Days" "(Intercept)" ".sig01" ".sig02" ".sig03"
## [6] ".sigma"
# random effects only
pp1 <- profile(fm1,which="theta_")
levels(pp1$.par)
## [1] ".sig01" ".sig02" ".sig03" ".sigma"
同样适用于confint()
:
## all parameters
cc0 <- confint(pp0)
rownames(cc0)
## [1] ".sig01" ".sig02" ".sig03" ".sigma" "(Intercept)"
## [6] "Days"
## random-effects parameters only
cc1 <- confint(pp1)
## [1] ".sig01" ".sig02" ".sig03" ".sigma"
quiet
参数适用于confint()
(不是profile()
)。默认情况下,将confint()
直接应用于适合的模型会发出消息
计算配置文件置信区间...
警告用户正在进行计算密集/缓慢的过程。使用quiet=TRUE
会抑制此消息。
?confint.merMod
中的注意说:
默认方法'“profile”'相当于
confint(profile(object, which=parm), signames=oldNames, ...), level, zeta)
'profile'方法'profile.merMod'几乎完成了所有操作 计算。因此,通常建议存储 个人资料(。)结果,比如'pp',然后使用'confint(pp, level = *)'例如,对于不同的级别。
换句话说,如果您打算对配置文件信息(绘图配置文件或多个alpha级别的计算置信区间)执行任何其他操作,则计算配置文件并存储它更有效而不是重复计算配置文件。如果您想要的只是默认的95%置信区间,那么您也可以使用confint(fitted_model)
。