我正在尝试使用重复测量在数据集上开发混合效果模型。
Met
是根据提交给3次治疗的24个样本(Treat
)的一系列随机选择日测量的,其中c
,uc
和ga
)。
由于天气条件的差异(Met
),Date
的级别会发生变化。因此,日期成为模型的第二个随机效应(以及采样的项目(ID
))。
我的主要兴趣是查看Treat
是否会在Met
天内产生重大影响。
一些示例数据:
# create example data frame
ID <- factor(rep(c("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x"), 6))
Treat <- factor(rep(c(rep("c",8), rep("uc",8), rep("ga",8)), 6))
Date <- factor(rep(c(rep("10/06/2007",24), rep("19/06/2007",24), rep("12/07/2007",24), rep("21/07/2007",24), rep("11/08/2007",24), rep("12/08/2007",24)), 1))
Met <- as.numeric(c(rnorm(8,5,2), rnorm(8,7,2), rnorm(8,9,2),
rnorm(8,15,2), rnorm(8,17,2), rnorm(8,19,2),
rnorm(8,9,2), rnorm(8,11,2), rnorm(8,13,2),
rnorm(8,8,2), rnorm(8,10,2), rnorm(8,12,2),
rnorm(8,2,2), rnorm(8,4,2), rnorm(8,6,2),
rnorm(8,3,2), rnorm(8,5,2), rnorm(8,7,2)))
ww <- gl(1,1,144)
lys.data <- data.frame(ID, Treat, Date, Met, ww)
head(lys.data)
# set contrasts of data frame
lys.data$Treat <- factor(lys.data$Treat, levels=c("c", "uc", "ga"))
然后分析:
library(nlme)
lme.001 <- lme(Met ~ Treat, data = lys.data,
random=list(ww=pdBlocked(list(pdIdent(~Date-1),
pdIdent(~ID-1)))))
summary(lme.001)
从结果我得到它似乎我没有做我认为我正在做的事情,因为自由度似乎不正确(方式太高)。分母自由度的数量随着实验的重复次数(日期)的增加而增加是否正确?
谁能帮助我或指出正确的方向? 我错误的表示我代表数据的嵌套方式? (我假设没有)。
答案 0 :(得分:2)
lme
用于计算分母自由度的规则在p。 Pinheiro和Bates(2000)的第91页 - 这个页面恰好可用on Google Books。 (该链接也可在GLMM faq page上找到。)
更新:由于Google图书上似乎不再提供有用的表单,因此这里是关键段落的文字:
这些固定效应术语的条件测试需要分母自由度。在条件$ F $ -tests的情况下,分子自由度也是必需的,由术语本身决定。分母自由度由估计该项的分组级别确定。如果一个术语的值可以在分组因子的给定级别内发生变化,则该术语相对于因子称为 inner 。如果一个术语的值在分组因子的级别内没有变化,则该术语是外部到分组因子。如果一个术语在$ i-1 $ st分组因子的内部并且在$ i $ th分组因子之外,则称该术语估计为$ i $。例如,
Machine
模型中的术语fm2Machine
在Machine %in% Worker
之外,而在Worker
之外,因此估计在第2级(Machine %in% Worker
)。如果一个术语在模型中所有$ Q $分组因子的内部,则估计在组内错误的级别,我们将其表示为$ Q + 1 $ st级别。截距是与模型矩阵$ X_i $中所有1的列对应的参数,当存在时,与所有其他参数的处理方式不同。作为参数,它被认为是在0级估计,因为它在所有分组因子之外。但是,它的分母自由度的计算方式就好像估计为$ Q + 1 $。这是因为拦截是一个参数,即使$ X_i $中的相应列没有随着级别变化,也会汇集来自某个级别的所有观察的信息。
让$ m_i $表示$ i $级别的组总数(当固定效果模型包含截距时,$ m_0 = 1 $,否则为0,$ m_ {Q + 1} = N $)和$ p_i $表示对应于$ i $级别估计的条款的自由度之和,$ i $ th级别分母自由度定义为
$$ denDF_i = m_i - (m_ {i-1} + p_i),i = 1,\ dots,Q $$
该定义与平衡,多级ANOVA设计中经典自由度的分解相吻合,并为更一般的混合效应模型提供了合理的近似。
我还没有详细检查过你的例子,但我强烈怀疑问题是你有一个随机区块设计而不是严格的嵌套设计,所以你的自由度比你想象的要高。通常,残差/分母df是(块数-1)*(每块1的数量),而不是(正如您所期望的那样)嵌套设计的典型(块数-1):请参阅{例如{3}}。
另一方面,如果设计足够复杂,lme
错误的可能性 - 在这种情况下,您可能需要自己解决,或< / em>可能不存在简单的解决方案。再次,请参阅here获取建议。