在同一个数据集上运行两个线性模型是否可以接受?

机器算法验证 r 回归 多重比较 推理 安乔娃
2022-03-12 00:25:07

对于具有多个组(先验定义的自然组)的线性回归,是否可以在同一数据集上运行两个不同的模型来回答以下两个问题?

  1. 每个组是否具有非零斜率和非零截距以及组内回归的每个参数是什么?

  2. 无论组成员身份如何,是否存在非零趋势和非零截距以及跨组回归的参数是什么?

在 R 中,第一个模型是lm(y ~ group + x:group - 1),因此估计的系数可以直接解释为每组的截距和斜率。第二个模型是lm(y ~ x + 1)

另一种方法是lm(y ~ x + group + x:group + 1),这会导致一个复杂的系数汇总表,其中组内的斜率和截距必须根据某些参考的斜率和截距的差异来计算。此外,您必须重新排序组并再次运行模型,以获得最后一个组差异的 p 值(有时)。

使用两个单独的模型是否会对推理或此标准实践产生负面影响?

将其置于上下文中,将 x 视为药物剂量,将组视为不同的种族。了解医生对特定种族的剂量-反应关系,或药物对哪个种族有效可能很有趣,但有时了解整个(人类)人群的剂量-反应关系也可能很有趣无论公共卫生官员的种族如何。这只是一个示例,说明人们可能对组内回归和跨组回归分别感兴趣。剂量反应关系是否应该是线性的并不重要。

1个回答

首先让我说,我认为您的第一个问题和第一个 R 模型彼此不兼容。-1在 R 中,当我们使用或编写公式时+0,我们正在抑制截距。因此,lm(y ~ group + x:group - 1) 阻止您判断截距是否与 0 显着不同。同样,在您的以下两个模型中,th+1是多余的,截距在 R 中自动估计。我建议您使用参考单元编码(也称为“虚拟编码”)来代表您的组。也就是说,与G组,创建G-1新变量,选择一组作为默认值,并为每个新变量中该组的单位分配 0。然后每个新变量用于表示其他组之一的成员资格;属于给定组的单位在相应变量中用 1 表示,在其他地方用 0 表示。当你的系数被返回时,如果截距是“显着的”,那么你的默认组有一个非零截距。不幸的是,其他组的标准显着性检验不会告诉您它们是否不同于 0,而是告诉您它们是否不同于默认组。要确定它们是否不同于 0,请将它们的系数添加到截距上,然后将总和除以它们的标准误差以获得它们的 t 值。斜率的情况也类似:即测试X将告诉您默认组的斜率是否与 0 显着不同,交互项会告诉您这些组的斜率是否与默认组不同。其他组对 0 的斜率的测试可以像截距一样构建。更好的办法是只拟合一个没有任何组指示变量或交互项的“受限”模型,并用 对照完整模型测试该模型anova(),这将告诉您您的组是否有任何有意义的差异。

说了这么多,你的主要问题是做这一切是否可以接受这里的根本问题是多重比较的问题这是一个长期存在的棘手问题,众说纷纭。(你可以通过仔细阅读用这个关键字标记的问题来找到关于 CV 的更多信息。)虽然关于这个主题的意见肯定会有所不同,但我认为没有人会责怪你对同一数据集进行许多分析,前提是分析是正交的. 通常,正交对比是在弄清楚如何比较一组G但是,这里不是这样的你的问题很不寻常(而且,我认为,很有趣)。据我所知,如果您只是想将数据集划分为G分离子集并在每个应该可以的情况下运行一个简单的回归模型。更有趣的问题是“崩溃”分析是否可以被认为与单个分析的集合正交?我不这么认为,因为您应该能够使用组分析的线性组合重新创建折叠分析。

一个稍微不同的问题是这样做是否真的有意义。图像显示您进行了初步分析并发现这些组以一种具有实质性意义的方式彼此不同;将这些不同的群体组合成一个混乱的整体有什么意义?例如,假设组的截距不同(不知何故),那么,至少某些组的截距为 0。如果只有一个这样的组,那么如果该组有nG=0在相关人群中。或者,假设恰好有 2 个组具有非零截距,一个正一个负,那么只有当n这些组中的 与截距散度的大小成反比。我可以在这里继续(还有更多的可能性),但关键是您要问关于组大小如何与参数值的差异相关的问题。 坦率地说,这些对我来说都是奇怪的问题。

我建议您遵循我上面概述的协议。即,对您的组进行虚拟编码。然后拟合包含所有虚拟变量和交互项的完整模型。拟合没有这些项的简化模型,并执行嵌套模型测试。如果组确实以某种方式存在差异,请跟进(希望)先验(理论上驱动的)正交对比,以更好地了解的不同之处。(还有情节——总是,总是情节。)