我是否应该交叉验证不会用于进行预测的逻辑回归模型?

机器算法验证 回归 物流 多重回归 交叉验证 模型选择
2022-04-22 00:40:44

如果这个问题没有多大意义并且太长,我们深表歉意。我在大学接受了一些基本的统计培训,但是我的知识上有很多空白,我一直在努力填补,但是在模型选择方面我一直有些混乱,特别是在这个关于如何在一系列逻辑回归模型之间进行选择以及非预测逻辑回归模型是否需要交叉验证的案例。

这些模型基于推断与三年期间针对某一专业从业者的投诉结果最密切相关的变量。

  • 理想情况下,我想选择一个相对简约的模型,该模型最适合该时间段内的数据。
  • 该模型不会用于对未来结果进行预测,而是用于推断该时间段内的决策。

我一直在选择一个考虑 AIC 和 BIC 分数的模型。我读到基于 AIC 分数判断模型最适合使用这些模型进行预测,而 BIC 分数更适合根据用于拟合模型的数据选择“更真实”的模型。我以为我已经基于这种方法开发了一个相对较好的模型,但现在不太确定。

我的主管使用逐步选择运行了另一个模型,因为以前的研究就是这样做的。与我开发的模型相比,生成的模型的 BIC 得分相对较低,AIC 得分相对较高,但在它包含的一些自变量方面却大不相同。我读过逐步选择不是选择模型的好方法,如果可能的话,我不想整体采用这种方法。但是,我现在觉得我需要进一步证明我制作的模型的合理性,并且不完全确定如何做到这一点。

此外,考虑到在比较我的主管开发的逐步模型和我提出的模型时,模型中重要性较小的自变量(基于较高的 p 值)有多么不同,我认为可能有很多BIC 分数相对较低的模型,我不确定如何在它们之间进行选择。

我的主管还为他的模型(Cox-Snell 和 Nagelkerke)制作了一些伪 R 平方度量,我将这些与我制作的模型进行了比较,但对此没有总体结论。他们在分数上都非常相似。我不完全确定比较基于伪 R 平方度量的模型是否是一个好主意,从我读过的内容来看,它似乎不是。

我对交叉验证的工作原理以及它如何通过从训练集中保留测试集来验证预测模型有一些了解。但是,我不完全确定非预测模型是否需要此过程,以及如果我开发的模型不用于预测目的,在它们之间进行选择是否有用。

所以,基本上,我有几个问题:

  • 交叉验证在不用于进行预测的推理模型之间进行选择是否有用?
  • 如果逐步回归产生的模型的 BIC 分数与其他模型相比相对较低,那么尽管存在逐步回归的所有缺点,它是否是一个有用的模型?
  • 使用伪 R 平方分数比较来自同一数据集的模型是个坏主意吗?
  • 在不用于预测的相互竞争的回归模型之间,您会采取什么方法进行选择?

希望这是有道理的。任何帮助将不胜感激。

编辑:详细地说,只有 1000 多个案例和大约 50 个虚拟变量可供选择,其中大多数变量似乎微不足道。每个模型中都会出现两个变量,然后大约 10-15 个其他变量可能有助于改进模型。AIC 最低的模型有 11 个自变量,BIC 最低的模型有 9 个自变量。所有变量都是分类的。

我希望使用更简洁的模型,因为我认为在进行推断而不是预测时,它有助于表示数据生成过程的更稳定表示,并且在尝试向非研究人员解释时,模型不那么臃肿,但我不确定这是否正确。我不确定如何准确地表达该模型在理想情况下的简约程度。我想我以前被教导过分依赖 p 值,不应该过多考虑变量的统计意义。理想情况下,我希望模型中变量的系数在模型之间保持相对稳定,并可能改进模型拟合。

我想我正在逐渐发现所有这一切所涉及的不确定性以及它如何既是一门艺术又是一门科学。

3个回答

您想要识别“与针对某一行业的从业者的投诉结果最密切相关的变量”,而不是预测投诉的未来结果。据推测,这个想法是对可能在未来工作中被操纵以减少不良结果的因素产生假设。选择LASSO模型的交叉验证,结合bootstrapping来衡量所选预测变量集的稳定性,为此类问题提供了一种有用的方法。

LASSO 通常与交叉验证相结合,根据优化交叉验证误差的适当度量来选择模型中维护的预测变量的数量;偏差是逻辑回归测量的一个很好的选择。在实践中,您可能会发现一个类似于逐步选择开发的模型,但是 LASSO 中回归系数的惩罚避免了逐步选择的过度拟合,这让统计学家不寒而栗。

如果候选预测变量是相关的,则由任何选择方案维护的预测变量可能高度依赖于手头的特定样本。因此,如果您可以从基础总体中获取更多样本,了解您选择的一组预测变量的稳定性也很重要。自举是从总体中获取更多样本的下一个最佳方法。从手头的数据中进行替换的引导抽样是从总体中抽取更多样本的合理近似值。

因此,您可以在数据集中的多个引导样本上重复整个 LASSO 模型构建过程,并使用其固有的交叉验证来选择预测变量。然后您可以看到单个预测变量被保留或省略的频率。这将使您了解哪些预测变量可能值得未来最关注。该过程相当简单,可以通过简单的脚本实现自动化。

6.6.2 节中的统计学习简介通过使用交叉验证来优化 LASSO;该示例适用于线性回归,但逻辑回归的方法相同,偏差最小化。具有稀疏性的统计学习说明了如何通过自举来评估 LASSO 选择的预测变量的稳定性及其 6.2 节中的系数值。

正如我在评论中指出的那样,使用数据选择预测变量的模型中的传统推理(p 值、置信区间等)问题很困难。稀疏统计学习的第 20 章讨论了这些问题。由于您似乎主要对使用当前数据来指导未来的工作感兴趣,但是,这对您来说可能不是一个大问题。

你的问题是,恕我直言,有点离题。在统计学书籍中,推理和预测通常会有所区别(例如,在 Harrell 2001 Regression Modeling Strategies 中,或在 Shmueli 2010 的论文 To explain or to predict?)中。在您的情况下,我认为您实际上对使用数据形成假设感兴趣,即探索性数据分析。为此,您不需要(交叉)验证。

在某种程度上,探索性数据分析对您的分析施加的限制最少。对于预测,您需要确保验证独立数据。对于推理,您需要非常小心,不要重复使用数据并成为数据窥探的牺牲品。然而,对于探索,您需要确保您不解释您的发现的重要性(如果您完全使用过您的数据)!

例如,获取您的数据,将它们扔给一些机器学习工具,例如 randomForest,从而确定最重要的预测变量,绘制数据,完成。但是您不能使用相同的数据首先识别模型结构(例如通过模型选择),然后使用相同的数据对其进行参数化并解释其估计值的重要性。那将是数据窥探,并且您的重要性将被破坏(例如,请参见变量选择和模型选择)。

无论您是使用基尼杂质,还是部分 R2 或标准化模型系数(我个人最喜欢的)作为“重要性”,都是次要问题。但对我来说,进行模型选择或模型比较似乎没什么意义,因为您对模型不感兴趣,而是对变量的重要性感兴趣。我想拟合完整的模型并解释它很好。为此,我将使用 randomForest 而不是 GLM,因为它具有内置的所有花里胡哨(阅读:非线性和交互)。

该模型不会用于对未来结果进行预测,而是用于推断该时间段内的决策。

有很多希望,我没有弄错,我理解,你的目标是做出因果推理这意味着你想说“这样那样的决定导致了不同的结果概率”。如果我错了,请纠正我。

可能构建统计推理模型的最佳方法是了解它在给定领域中是如何完成的并与之相关。这意味着要进行强有力的文献综述。如果不可能,通常会关注其他领域,这些领域在理论上很接近,在计量经济学上也相似。

我从未见过交叉验证的推理模型,因此我认为它没有帮助。在论文和计量经济学书籍中似乎都没有讨论过这样的事情。它认为,如果你想要不同的东西——找到结果的最佳预测因子,它会有所帮助。

信息标准和 R似乎只是构建推理模型的提示。2

构建此类模型的一种可能且经常被建议的方法是从文章中列出行列式变量,然后运行模型,显示一些迭代(它们可能是从一般到特定的迭代)以某种方式解决数据挖掘问题。

然而,如果模型要推断因果关系,认为相关性是因果关系的公平证据,那么关键问题是内生性和遗漏变量偏差。很难在一篇文章中推断所有变量的因果关系,因此大多数显示现象一般决定因素的文章都坚持相关性。因果关系的推断通常只针对一个变量(与单个现象相关的一组变量)。

在构建统计推断模型时,有一些因果背景仍然很重要。我建议从这里开始,但是在寻找更强大的背景时,我会建议大多数无害的计量经济学因果关系书籍(都可以免费找到 pdf 格式)。