我想使用lme4,nlme,贝叶斯回归包或任何可用的模型拟合混合模型。
Asreml-R编码约定中的混合模型
在进行具体说明之前,对于不熟悉ASREML代码的用户,我们可能希望了解有关asreml-R约定的详细信息。
y = Xτ + Zu + e ........................(1) ;
通常的混合模型,其中y表示观测值的n×1向量,其中τ是固定效应的p×1向量,X是全列秩的n×p设计矩阵,将观测值与固定效应的适当组合相关联,u是随机效应的q×1向量,Z是将观察结果与适当的随机效应组合相关的n×q设计矩阵,e是残差的n×1向量,模型(1)被称为线性混合模型或线性混合效应模型。假设
其中矩阵G和R分别是参数γ和φ的函数。
参数θ是方差参数,我们将其称为比例参数。
在具有多个残差方差的混合效应模型中,例如在分析具有多个截面或变量的数据时,参数θ固定为1。在具有单个残差方差的混合效应模型中,θ等于残差方差(σ2)。在这种情况下,R必须是相关矩阵。有关模型的更多详细信息,请参见Asreml手册(链接)。
误差的方差结构:R结构和随机效应的方差结构:可以指定G结构。
asreml()中的方差建模重要的是要了解通过直接乘积形成方差结构的过程。通常的最小二乘假设(以及asreml()中的默认值)是这些都是独立且均匀分布的(IID)。但是,如果数据来自以r行×c列的矩形阵列布置的现场实验,例如,我们可以将残差e安排为矩阵,并可能认为它们在行和列内是自相关的。向量以场顺序排列,也就是说,通过对列内的残差行(块内的曲线)进行排序,则残差的方差可能为
分别是行模型(阶r,自相关参数½r)和列模型(阶c,自相关参数½c)的相关矩阵。更具体地,在田间试验分析中,有时会针对常见误差假定二维可分离的自回归空间结构(AR1 x AR1)。
示例数据:
nin89来自asreml-R库,该库在矩形字段的复制/块中生长了不同的变量。为了控制行或列方向上的其他可变性,每个图都被称为行和列变量(行列设计)。因此此行列的设计具有阻塞性。产量是测量变量。
示例模型
我需要等同于asreml-R代码的内容:
简单的模型语法如下所示:
rcb.asr <- asreml(yield ∼ Variety, random = ∼ Replicate, data = nin89)
.....model 0
线性模型在固定(必需),随机(可选)和rcov(误差分量)参数中指定为公式对象。默认值是简单误差项,不需要像模型0中那样正式为误差项指定。
这里的变化是固定的,随机是重复的(块)。除了随机和固定项,我们还可以指定误差项。在该模型0中为默认值。通过rcov参数在公式对象中指定模型的残差或误差分量,请参见以下模型1:4。
以下模型1更复杂,其中同时指定了G(随机)和R(错误)结构。
模型1:
data(nin89)
# Model 1: RCB analysis with G and R structure
rcb.asr <- asreml(yield ~ Variety, random = ~ idv(Replicate),
rcov = ~ idv(units), data = nin89)
此模型等效于上述模型0,并介绍了G和R方差模型的使用。在这里,选项random和rcov指定随机和rcov公式,以明确指定G和R结构。其中idv()是asreml()中的特殊模型函数,用于标识方差模型。表达式idv(units)将e的方差矩阵显式设置为缩放的恒等式。
#模型2:在一个方向上具有相关性的二维空间模型
sp.asr <- asreml(yield ~ Variety, rcov = ~ Column:ar1(Row), data = nin89)
nin89的实验单位由列和行索引。因此,在这种情况下,我们期望在两个方向上随机变化-行和列方向。其中ar1()是一个特殊函数,用于指定Row的一阶自回归方差模型。该调用为错误指定了二维空间结构,但仅在行方向上具有空间相关性.Column的方差模型为恒等式(id()),但无需正式指定,因为这是默认设置。
#模型3:二维空间模型,双向误差结构
sp.asr <- asreml(yield ~ Variety, rcov = ~ ar1(Column):ar1(Row),
data = nin89)
sp.asr <- asreml(yield ~ Variety, random = ~ units,
rcov = ~ ar1(Column):ar1(Row), data = nin89)
与上述模型2类似,但是相关性是两个方向-自回归一个方向。
我不确定使用开源R包可以实现多少这些模型。即使解决这些模型中的任何一个都会有很大的帮助。即使+50的强壮性可以刺激开发这样的软件包,也会有很大的帮助!
请参阅MAYSaseen提供了每个模型的输出和数据(作为答案)以进行比较。
编辑:以下是我在混合模型讨论论坛上收到的建议: “您可能会看到David Clifford的回归和spaceCovariance包。前者允许拟合(Gaussian)混合模型,您可以在其中灵活地指定协方差矩阵的结构(例如,我已将其用于血统书数据。)spatialCovariance包使用回归提供比AR1xAR1更为精细的模型,但可能适用。您可能需要与作者联系,以将其应用于您的确切问题。”
corStruct
的nlme
(用于各向异性相关)...如果您可以简要地陈述(用词或方程式)与这些ASREML语句相对应的统计模型,这将有所帮助,因为我们并不熟悉ASREML语法...
MCMCglmm
,而且我很确定(除了在spatialCovariance
所提到的,这我不熟悉)得到它在R来的唯一途径是通过定义新corStruct
的S -这是可能的,但不是小事。
lme4
。您能否(a)告诉我们您为什么需要这样做,lme4
而不是asreml-R
(b)考虑在r-sig-mixed-models
具有更多相关专业知识的地方发帖?