我正在努力理解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是固定的,我用正确的均值和最小方差计算β的估计值
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)]
哪里
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产生的.在这种情况下如何计算对数似然(对于奖励标记,为什么)?
编辑:改变符号的一致性,删除标准偏差估计的错误公式.
评论中的链接包含答案.下面我在这个简单的例子中给出了公式简化的内容,因为结果有些直观.
lmer适合表格的模型 ,哪里 和 是具有差异的独立法线 和 分别.联合概率分布 和 因此
哪里
.
通过将其与...相结合来获得可能性 (没有观察到)给予
哪里 是来自群组的观察数量 ,和 是来自群体观察的平均值 .这有点直观,因为第一项捕获在每个组内传播,这应该有差异,第二个捕获了群体之间的传播.注意 是方差 .
然而,默认情况下(REML = T)lmer最大化不是可能性而是最大化"REML标准",通过另外整合它来获得 给
哪里 如下.
如果 是固定的,我们可以明确地找到 和 最大化可能性.他们结果是
注意 对于组内和组之间的变化有两个术语,和 介于两者之间 和的意思 取决于的价值 .
将这些代入可能性,我们可以表示对数似然 就......而言 只要:
lmer迭代找到的值 这最小化了这一点.在输出中, 和 分别显示在"deviance"和"logLik"字段中(如果REML = F).
由于REML标准不依赖于 ,我们使用相同的估计 如上.我们估计 最大化REML标准:
限制对数可能性 是(谁)给的
在lmer的输出中, 和 分别显示在"REMLdev"和"logLik"字段中(如果REML = T).