面试题:如何衡量线性回归的性能?

机器算法验证 回归
2022-04-09 03:23:57

我在 glassdoor 上看到了这个关于数据科学家职位的问题,这引起了我的思考。当人们使用性能这个词时,他们通常是指(1)训练数据的性能(2)测试数据的性能(3)两者的组合吗?

如果是 (1),我相信典型的指标是仅与训练数据相关,并没有说明您的模型在看不见的数据上的表现如何。R2R2

我在 ML 课程中学到的另一个指标是简单地比较测试数据与训练数据的 MSE。MSE 本身并没有标准化,因此它在绝对性方面并没有说太多,但是相对而言(在这种情况下测试 MSE 与训练 MSE),我们或许可以做出一些见解。如果我们看到一个相对于训练 MSE 的大测试 MSE,那么我们的模型可能是过拟合的。

还有哪些其他指标可以评估线性回归的“性能”?

1个回答

这个问题相当广泛,尽管我想这是面试问题的意图:)

如何衡量线性回归的性能?

然后你的问题继续讨论训练和测试集,当然这可能是答案的一部分,但是我会支持一点,并建议性能应该真正取决于模型旨在回答的任何问题。如果有人在现实世界的环境中安装了模型并向我寻求建议,我会问的第一件事是:

  • 模型试图回答什么问题?

在任何应用环境中,无论是传统的统计分析、“现代”数据科学还是其他任何应用环境,都至关重要。作为其中的很大一部分,我想知道该模型是否将用于推理或预测。通过推理,几乎总是有一个潜在的因果问题:例如,系安全带是否会导致道路交通事故伤亡人数减少?吸烟会减少 COVID-19 检测呈阳性的人的不良结果吗?在这种情况下,线性回归最重要的方面之一是变量选择。重要的是不要以中介为条件,或过度调整混杂因素,但包含竞争风险是有帮助的。

如果有几个问题,就像数据科学环境中经常出现的情况一样,例如“这些变量中的哪些对于理解结果最重要”——通常(错误的)方法是一些基于 p 值、AIC 的逐步过程, BIC 等这是一个糟糕的想法,因为它完全忽略了因果关系并且基于任意阈值(即使使用 AIC/BIC,这实际上归结为 p 值阈值)。关键是,对于每个感兴趣的变量,通常需要不同的模型,因为例如,一个变量是一个关联的混杂因素,将成为另一个关联的中介,应该在前者中排除并包括在内在后者。任何阅读已发表论文的人都应该清楚这是“表 2 谬误”

一旦我们对这组变量感到满意,我们就会希望查看通常的诊断方法来评估线性假设是否成立。也可以考虑其他假设,例如观察独立性和方差同质性。

然后我们可能想考虑预测。人们通常认为预测和推理是两个独立的东西,事实确实如此,但问题是许多认为他们只对预测感兴趣的人实际上也对推理感兴趣。例如,现在有数据科学家和机器学习从业者团队正忙于尝试将他们的方法应用于 COVID-19 数据集(直到最近我还是其中之一),并且大部分讨论都围绕着预测。然而,在你建立一个模型并发现(出于保密原因我正在编造这个)之后,电子烟强烈预示着 35 岁以下 COVID-19 检测呈阳性的人会有更好的结果,临床医生总是会提出关于将模型输出解释为因果效应的问题——要么是为了促进某种干预,要么是为了解释一个“明显的悖论”。但回归模型的构建并未考虑因果推理。这种事情一直在发生,而且非常疯狂。

如果真的对推理没有兴趣,那么训练、测试、(交叉)验证的“盲目”方法当然可以使用,像 MSE 这样的东西当然是很好的指标。但是,如果涉及一些因果关系,那么考虑我上面描述的问题很重要。