gpt4 book ai didi

r - lmer(来自 R 包 lme4)如何计算对数似然?

转载 作者:行者123 更新时间:2023-12-01 23:31:59 24 4
gpt4 key购买 nike

我正在尝试理解 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)]

哪里

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 适合 Y_{ij} = \beta + B_i + \epsilon_{ij} 形式的模型,其中\epsilon_{ij}B_i是具有方差的独立正态分布 \sigma^2\tau^2分别。 Y_{ij}的联合概率分布和 B_i因此是

\left(\prod_{i,j}f_{\sigma^2}(y_{ij}-\beta-b_i)\right)\left(\prod_i f_{\tau^2}(b_i)\right)

哪里

f_{\sigma^2}(x)=\frac{1}{\sqrt{2\pi\sigma^2}}e^{-\frac{x^2}{2\sigma^2}} .

通过将其与 b_i 积分来获得可能性。 (未观察到)给予

\left(\prod_{i,j}f_{\sigma^2}(y_{ij}-\bar y_i)\right)\left(\prod_i f_{\sigma^2/n_i+\tau^2}(\bar y_i-\beta)\sqrt{2\pi\sigma^2/n_i}\right)

哪里n_i是组 i 的观察数,和\bar y_i是组i观察值的平均值。这有点直观,因为第一项捕获了每个组内的分布,应该有方差 \sigma^2 ,第二个捕获组之间的传播。请注意\sigma^2/n_i+\tau^2\bar y_i 的方差.

但是,默认情况下 (REML=T) lmer 不是最大化可能性,而是最大化“REML 标准”,这是通过将其与 \beta 进行额外积分而获得的。给予

\left(\prod_{i,j}f_{\sigma^2}(y_{ij}-\bar y_i)\right)\left(\prod_i f_{\sigma^2/n_i+\tau^2}(\bar y_i-\hat\beta)\sqrt{2\pi\sigma^2/n_i}\right)\sqrt{\frac{2\pi\sigma^2}{\sum_i\frac{n_i}{1+n_i\theta^2}}}

哪里\hat\beta下面给出。

最大化可能性 (REML=F)

如果\theta=\tau/\sigma固定后,我们可以显式找到 \beta\sigma最大化可能性。事实证明他们是

\hat\beta=\frac{\sum_{i,j}y_{ij}/(1+n_i\theta^2)}{\sum_i n_i/(1+n_i\theta^2)}

\hat\sigma^2=\frac{1}{n}\left(\sum_{i,j}(y_{ij}-\bar y_i)^2+\sum_i\frac{n_i}{1+n_i\theta^2}(\bar y_i-\hat\beta)^2\right)

注意\hat\sigma^2有两个术语表示组内和组间的变化,并且 \hat\beta介于 y_{ij} 的平均值之间和 \bar y_i 的平均值取决于 \theta 的值.

将这些代入似然,我们可以表示对数似然 l\theta而言仅:

-2l=\sum_i\log(1+n_i\theta^2)+n(1+\log(2\pi\hat\sigma^2))

lmer 迭代查找 \theta 的值这最大限度地减少了这种情况。在输出中,-2ll分别显示在“偏差”和“logLik”字段中(如果 REML=F)。

最大化限制似然 (REML=T)

因为 REML 标准不依赖于 \beta ,我们对 \beta 使用相同的估计如上。我们估计\sigma最大化 REML 标准:

\hat\beta=\frac{\sum_{i,j}y_{ij}/(1+n_i\theta^2)}{\sum_i n_i/(1+n_i\theta^2)}

\hat\sigma^2=\frac{1}{n-1}\left(\sum_{i,j}(y_{ij}-\bar y_i)^2+\sum_i\frac{n_i}{1+n_i\theta^2}(\bar y_i-\hat\beta)^2\right)

受限对数似然 l_R由下式给出:

-2l_R=\sum_i\log(1+n_i\theta^2)+(n-1)(1+\log(2\pi\hat\sigma^2))+\log\left(\sum_i\frac{n_i}{1+n_i\theta^2}\right)

在 lmer 的输出中,-2l_Rl_R分别显示在“REMLdev”和“logLik”字段中(如果 REML=T)。

关于r - lmer(来自 R 包 lme4)如何计算对数似然?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20980116/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com