在混合效应模型中
其中是虚拟变量,编码离散(多项式)变量的水平,它有两个以上的水平(这里是四个),我想给截距的解释(全局)总体平均值,即。
现在协变量的编码方式是将截距解释为的参考类别的平均值。
有没有办法做到这一点?
我找到了关于效果编码的一个很好的概述,但这种类型的平均编码不是其中的一部分。
编辑:我只记得如何对只有两个类别的变量\ tilde {然后我们有模型
其中虚拟定义为如果并且它是如果,其中是与。
编辑 2:根据Robert Long 的回复,的每个级别的观察次数相同时,可以使用偏差编码。但是,我正在寻找一种可能具有不等类概率实现偏差编码的代码,证明这种编码不估计全局平均值。我怀疑需要对偏差编码假人进行某种类别加权(就像我对上面的两类案例所做的那样)。
# Code to assess deviation coding for multinomial $xt$
library(MASS)
library(dplyr)
n = 1000
set.seed(13)
xt = rmultinom(n, 1, c(1/3, 1/3, 1/3))
xt = as.factor( apply( t(t(xt) * c(1,2,3)), 2, sum) )
X <- model.matrix(~ xt)
betas <- c(3, 1, 2)
Y <- X %*% betas + rnorm(n)
mean(Y)
lm(Y ~ xt) %>% coef() # default treatment coding
contrasts(xt) <- contr.sum(3) # specify deviation coding
lm(Y ~ xt) %>% coef()
编辑 3:最初的问题是“如果我希望模型截距能够解释全局平均值,使用哪种效果编码(分类编码)?” 标题错误地暗示我的目标可以通过单独的效果编码来实现。Robert Long 的答案适用于平衡类别,然后应该使用偏差编码。