我正在尝试理解函数lmer。我已经找到了有关如何使用该命令的大量信息,但几乎没有关于它实际在做什么的信息(除了一些神秘的评论在这里:http://www.bioconductor.org/help/course-materials/2008/PHSIntro/lme4Intro-handout-6.pdf)。我正在尝试运用以下简单的示例:
library(data.table)
library(lme4)
options(digits=15)
n<-1000
m<-100
data<-data.table(id=sample(1:m,n,replace=T),key="id")
b<-rnorm(m)
data$y<-rand[data$id]+rnorm(n)*0.1
fitted<-lmer(b~(1|id),data=data,verbose=T)
fitted
我理解 lmer 拟合的模型形式为 Y_{ij} = beta + B_i + epsilon_{ij},其中 epsilon_{ij} 和 B_i 是独立正态分布,方差分别为 sigma^2 和 tau^2。如果 theta = tau/sigma 是固定的,我计算出了正确均值和最小方差的 beta 估计值。
c = sum_{i,j} alpha_i y_{ij}
在哪里
alpha_i = lambda/(1 + theta^2 n_i)
lambda = 1/[\sum_i n_i/(1+theta^2 n_i)]
n_i = number of observations from group i
我还计算了关于sigma^2的以下无偏估计:
s^2 = \sum_{i,j} alpha_i (y_{ij} - c)^2 / (1 + theta^2 - lambda)
这些估计结果与lmer的产生的结果相符。但是,我无法确定在这种情况下对数似然函数如何定义。我计算出的概率密度为
pd(Y_{ij}=y_{ij}) = \prod_{i,j}[f_sigma(y_{ij}-ybar_i)]
* prod_i[f_{sqrt(sigma^2/n_i+tau^2)}(ybar_i-beta) sigma sqrt(2 pi/n_i)]
where
ybar_i = \sum_j y_{ij}/n_i (the mean of observations in group i)
f_sigma(x) = 1/(sqrt{2 pi}sigma) exp(-x^2/(2 sigma)) (normal density with sd sigma)
但是,上述的日志并不是lmer生成的。在这种情况下,对数似然值是如何计算的(如果能解释为什么,将获得额外加分)?
编辑:为了保持一致性,更改了符号,并划掉了错误的标准偏差估计公式。