# How is the confidence interval for variance component in “lmer” function computed by the command “confint”?

Here is the R code :

library(lme4)
fm1 <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy)
confint(fm1)

Computing profile confidence intervals ...
2.5 %     97.5 %
.sig01       14.3815760  37.715996
.sig02       -0.4815007   0.684986
.sig03        3.8011641   8.753383
.sigma       22.8982669  28.857997
(Intercept) 237.6806955 265.129515
Days          7.3586533  13.575919


I understand how the confidence interval for (Intercept) and coefficient of Days are calculated (though it is not profile confidence intervals ) :

res=summary(fm1)
ans=coefficients(res)
estimate = ans[,1]
se = ans[,2]

ci.int = estimate[1]+qnorm(c(.025,.975))*se[1]
[1] 238.0292 264.7810

ci.day = estimate[2]+qnorm(c(.025,.975))*se[2]
[1]  7.437595 13.496977


But I don't know how are the confidence interval of sig01 , sig02 , sig03 , sigma calculated ?

• For the variance components, those are profile likelihood CIs. An explanation of how such CIs are constructed is given here: stats.stackexchange.com/q/9833/1934 – Wolfgang Jul 25 '15 at 12:52
• I am trying to calculate the confidence interval (whether it is profiled or not) of variance component in that manner that I have calculated for (Intercept) and Days . – user81411 Jul 26 '15 at 5:05
• Those are Wald-type CIs. They usually perform terribly for variance components, so that's why the confint() function doesn't calculate them this way. Profile CIs are obtained via iterative methods - there is no closed-form equation. – Wolfgang Jul 26 '15 at 8:03
• @Wolfgang If I want to calculate the confidence interval of variance component based on asymptotic standard normal distribution (not profile) , how can I calculate them ? – user81411 Jul 26 '15 at 12:47
• @Wolfgang Could you please give me some reference of "Why does wald type CI give poor estimates for variance component?" – user81411 Jul 30 '15 at 12:27