是否必须对数据进行子集化以验证模型?

机器算法验证 r 参考 咕噜咕噜 验证 glmmtmb
2022-03-18 09:59:27

在验证我的模型时,我很难与我的主管保持一致。我分析了残差(根据拟合值观察),并以此为论据来讨论我的模型获得的结果,但是我的主管坚持认为验证模型的唯一方法是制作我的数据的随机子集,用其中的 70% 生成模型,然后将模型应用于剩余的 30%。

问题是,我的响应变量是零膨胀的(其中 85%,更准确地说),我不想创建一个子集,因为它已经很难收敛到一个结果。

所以,我的问题是:验证模型的可能(和科学上可接受的)方法是什么?子集数据是唯一的方法吗?如果可能,请在文章/书籍中引用您的问题,以便我在提出替代方案时可以将其用作论据。

4个回答

数据拆分通常是一种非常非竞争性的内部验证方式。这是因为严重的波动性——不同的“最终”模型和重新拆分时的不同“验证”,以及因为估计的均方误差(例如平均绝对预测误差和R2) 高于良好的重采样过程,例如引导程序。我在我的回归建模策略一书和课程笔记中详细介绍了这一点。重采样还有一个主要优势:暴露特征选择的波动性。

首先,我建议对只有 一个的陈述保持警惕通常是件好事做某事的方法。将获得的样本拆分为“训练”和“测试”数据集是许多机器学习/数据科学应用程序中的常用方法。通常,这些建模方法对有关基础数据生成过程的假设检验不太感兴趣,也就是说,它们往往有些不理论。事实上,大多数这类训练/测试拆分只是想看看模型在预测性能方面是否过拟合。当然,也可以使用训练/测试方法来查看给定模型是否根据哪些参数“显着”进行复制,或者查看参数估计值是否在两种情况下都在预期范围内。

从理论上讲,验证模型或使模型无效是科学应该做的事情。独立研究人员,分别检查、生成和测试假设,这些假设支持或反驳关于为什么或在什么情况下会发生可观察现象的理论的论点 - 简而言之就是科学事业(或至少在一个过长的句子中)。因此,为了回答您的问题,对我来说,即使是训练/测试拆分也不是“验证”模型。这需要多年研究同一组现象的独立研究人员收集的证据的重要性。不过,我承认这可能在语义上有所不同,即我认为模型验证的含义与术语验证在应用设置中的含义...

根据您的数据和建模方法,从统计的角度来看,将样本分成训练集和测试集可能并不总是合适的。例如,小样本可能特别难以应用这种方法。此外,某些分布可能具有某些特性,即使使用相对较大的样本也难以对其进行建模。您的零膨胀案例可能符合后一种描述。如果目标是获得关于一组关系或被认为可以解释某些现象的潜在过程的“真相”的近似值,那么通过故意采用动力不足的方法来测试给定的假设,您将不会得到很好的服务。因此,也许第一步是执行功效分析,看看您是否甚至可能在子集数据中复制感兴趣的发现。

另一种选择是指定几个模型,看看它们是否“更好”地解释了观察到的数据。这里的目标是在一组合理的替代方案中确定最佳模型。这是一个相对的,而不是绝对的,关于你的模型的论点。本质上,您承认可能有其他模型可以用来解释您的数据,但是您的模型是经过测试的一组替代方案中最好的(至少您希望如此)。集合中的所有模型,包括您的假设模型,都应具有理论基础;否则你冒着建立一堆统计稻草人的风险。

还有贝叶斯因子,您可以在其中计算模型提供的证据权重,给定您的数据,用于与替代方案相关的特定假设。

这远不是一个详尽的选项列表,但我希望它有所帮助。我现在要离开肥皂盒了。请记住,每个已发表的关于人类行为的研究中的每个模型都是不正确的。几乎总是存在相关的遗漏变量、未建模的交互作用、不完全抽样的总体,以及只是简单的旧抽样错误,混淆了潜在的真相。

我认为这里的答案存在分歧,因为首先这个问题有些不清楚:“验证”是什么意思?

通常执行 70/30 拆分(或交叉验证)以评估模型或整个分析链(可能包括模型选择)的预测性能。如果您要根据预测性能比较不同的建模选项,则此类验证尤其重要。

如果您不想选择模型,并且对预测性能也不感兴趣,但您对推理(回归估计/ p 值)感兴趣,并且想要验证您的模型/错误假设,这完全是另一种情况的 GLMM 是足够的。在这种情况下,可以对保留数据进行预测并将预测结果与观察到的数据进行比较,但迄今为止更常见的程序是进行残差分析。如果您需要向您的主管证明这一点:这基本上是每本统计教科书在线性回归之后立即教导的内容。

请参阅此处,了解如何使用 DHARMa 包(免责声明:我是维护者)对 GLMM 进行残差分析(包括使用 glmmTMB 进行零通胀,我更喜欢 glmmadmb)。

简短的回答是肯定的,您需要评估模型在训练中未使用的数据上的性能。

现代模型构建技术非常擅长任意拟合数据,并且可以轻松地在噪声中找到信号。因此,模型在训练数据上的表现几乎总是有偏差的。

值得您花时间探索交叉验证的主题(即使您没有调整超参数),以更好地了解我们为什么保留数据、数据何时起作用、涉及哪些假设等。我最喜欢的论文之一是:

k折交叉验证方差的无偏估计量