嵌套变量的无意义值不得影响您的模型:此类数据分析
的关键要求是,如果原始变量不承认它是有意义的变量,则该nested
变量不得影响模型。explanatory
换句话说,模型必须是忽略嵌套变量的无意义值的形式。这是具有嵌套变量的有效模型的关键要求,因为它确保模型输出不受任意编码选择的影响。
使用嵌套变量建模:此要求是通过创建一个指示变量来实现的,该变量确定您的嵌套变量何时有意义,并将nested
变量放入模型中仅作为与该指标的交互,而不将其作为主要影响。请注意,这是一般规则的一个例外,即不应将术语作为没有主效应术语的交互包含在内。
考虑一般情况下,变量仅在变量位于某些值集中nested
时才有意义。在这种情况下,您将使用这样的模型形式:explanatory
A
response ~ 1 + explanatory + (explanatory %in% A) + (explanatory %in% A):nested + ...
这假设解释变量是连续的;如果它已经是一个因子变量,则该(explanatory %in% A)
术语将是多余的并且可以删除。explanatory
在您的变量是指示变量(值为 1 产生有意义的嵌套变量)的常见情况下,此模型形式简化为:
response ~ 1 + explanatory + explanatory:nested + ...
请注意,在这些模型陈述中,变量没有主效应项。nested
这是设计使然 --- 嵌套变量不应具有主效应项,因为在解释变量没有条件的情况下,它不是有意义的变量。使用这种类型的模型形式,您将获得解释变量效应的估计值和嵌套变量效应的另一个估计值。
在数据中编码嵌套变量:在处理列出回归变量的数据框时,最好对nested
变量的值进行编码,NA
因为它没有有意义地来自解释变量。这告诉读者这里没有有意义的变量。一些分析师用其他值(例如零)对这些变量进行编码,但这通常是不好的做法,因为它可能被误认为是有意义的数量。
在数学上,如果你将任何实数乘以零,你就会得到零。但是,如果您正在编码,则R
必须在这里小心,因为程序乘以0:NA
给出NA
而不是0
. 这意味着您可能需要将这些NA
值重新编码为零以进行模型拟合,或者为模型构建设计矩阵,以便将这些值设置为零。
基础变量是嵌套变量的函数的情况:在涉及嵌套变量的回归分析中偶尔会出现一种情况,即嵌套变量具有足够的详细信息,可以完全确定它产生的初始解释变量 - -- 即原始解释变量是嵌套变量的函数。这方面的一个例子出现在这个问题中,分析师有一个指示变量DrugA
表示是否服用了药物,还有一个嵌套变量DrugA_Conc
表示药物的浓度。在此示例中,后一个变量允许浓度值为零,这相当于未服用药物,因此DrugA
相当于DrugA_Conc != 0
。
在这些类型的情况下,解释变量和嵌套变量之间的交互项在功能上等同于嵌套变量,因此可以(并且通常需要)从模型中完全删除初始解释变量,并简单地使用嵌套变量本身。在这种情况下这是合法的,因为嵌套变量中的值决定了初始解释变量的值。我们在上面已经注意到,NA
当嵌套变量的条件不适用时,编码嵌套变量通常是合适的。如果条件来自作为指示符的解释变量,并且指示符对应于嵌套变量的使用,则事件nested != NA
等价于explanatory
. 在这种情况下,可以重新编码嵌套变量,以便模型中根本不需要初始解释变量。
请注意,在查看这种情况时必须小心。即使在您使用作为指示变量的初始解释变量的情况下,不合并解释变量和嵌套变量也可能有助于解释目的。此外,在解释变量不是指示变量的情况下,它通常会包含嵌套变量中不包含的信息,因此无法删除。
您应该考虑分层或线性混合模型:上述方法可确保您的嵌套变量在它们无意义的情况下不会对回归做出贡献。然而,在标准回归模型中使用 OLS 估计仍然假设模型中的“误差项”是不相关的。在您有嵌套变量的情况下,这可能会产生相关错误,这些错误最好由分层模型或线性混合模型表示。因此,当您在回归中有嵌套变量时,您应该考虑同一嵌套“组”中数据点的结果是否具有相关的结果(以其他回归量为条件)。
目前的答案不会详细介绍分层模型和线性混合模型。它们都是具有大量统计文献的广泛模型类。 Gelman 和 Hill (2007)很好地概述了该主题,从标准线性回归开始,然后进入多级层次建模。它还提供了在R
.