当在线性回归中强制截距为 0 是可以接受/可取的

机器算法验证 回归 模型 截距
2022-01-26 11:52:58

我有一个回归模型来估计一个过程的完成时间,基于各种因素。我对这些过程进行了 200 次试验,其中测量的 9 个因素差异很大。当我对 9 个因素(以及所有 2 个和 3 个因素的交互作用)进行线性回归时,没有明确的截距,我得到调整后的 R为 0.915,如果我将截距强制为 0,我得到调整后的 R的 0.953。22

我将截距强制为 0 的目的是确保在非常短的时间内(< 1 秒)完成的试验不会导致预测结果为 < 0。将截距设置为 0 对此没有帮助。

所以我的问题是三方面的。1) 什么时候可以接受/建议强制拦截?2) 改进后的 R实际上是否意味着模型更适合(拟合与测量的图看起来更好)?3)有没有办法确保拟合值都> 0?2

4个回答

不适合截距是不寻常的,而且通常是不可取的——只有在你知道它是 0 的情况下才应该这样做,但我认为(而且你不能比较的适合和不适合截距的事实)很好,而且已经真正涵盖(如果在 0 截距的情况下可能有点夸大了);我想关注您的主要问题,即您需要拟合函数是积极的,尽管我在部分答案中确实返回了 0-intercept 问题。R2

获得永远积极的契合的最好方法是适应永远积极的东西。部分取决于您需要适合的功能。

如果您的线性模型主要是为了方便(而不是来自可能源自物理模型的已知函数关系),那么您可以改为使用对数时间;然后保证拟合模型在中为正。作为替代方案,您可能会使用速度而不是时间 - 但是使用线性拟合时,您可能会遇到小速度(长时间)的问题。t

如果您知道您的响应在预测变量中是线性的,则可以尝试拟合约束回归,但是对于多元回归,您需要的确切形式将取决于您的特定 x(没有一个线性约束适用于所有),所以这有点临时。xs

您还可以查看 GLM,这些 GLM 可用于拟合具有非负拟合值的模型,并且(如果需要)甚至可以具有E(Y)=Xβ

例如,可以拟合带有身份链接的伽马 GLM。您不应该以任何 x 的负拟合值结束(但如果您在确实不适合的地方强制使用身份链接,则在某些情况下您可能会遇到收敛问题)。

这是一个示例:carsR 中的数据集,它记录了速度和停车距离(响应)。

在此处输入图像描述

有人可能会说“哦,但是速度 0 的距离保证为 0,所以我们应该省略截距”,但这种推理的问题是模型在几个方面被错误指定,并且这个论点只有在模型没有指定错误 - 在这种情况下,截距为 0 的线性模型根本不适合,而截距的线性模型实际上是一个半体面的近似值,即使它实际上并不“正确”。

问题是,如果你拟合一个普通的线性回归,拟合截距是相当负的,这会导致拟合值为负。

蓝线是 OLS 拟合;数据集中最小 x 值的拟合值为负。红线是带有身份链接的伽马 GLM——虽然有一个负截距,但它只有正拟合值。此模型的方差与均值成正比,因此,如果您发现随着预期时间的增长您的数据更加分散,那么它可能特别适合。

因此,这是一种可能值得一试的替代方法。这几乎就像在 R 中拟合回归一样容易。

如果您不需要恒等链接,您可以考虑其他链接功能,如对数链接和反向链接,它们与已经讨论过的转换相关,但不需要实际的转换。


由于人们通常要求它,这是我的情节的代码:

plot(dist~speed,data=cars,xlim=c(0,30),ylim=c(-5,120))
abline(h=0,v=0,col=8)
abline(glm(dist~speed,data=cars,family=Gamma(link=identity)),col=2,lty=2)
abline(lm(dist~speed,data=cars),col=4,lty=2)

(椭圆是后来手动添加的,尽管在 R 中也很容易做到)

对标题中问题的简短回答:(几乎)从不。在线性回归模型 中,如果你设置,那么你说你知道给定的期望值为零。你几乎永远不知道这一点。

y=α+βx+ϵ
α=0yx=0

R2变高,不是因为模型更好,而是因为使用的定义是另​​外一个!是估计模型与某些标准模型的比较表达式,表示为平方和与标准模型的平方和相比的减少。在具有截距的模型中,比较平方和在均值附近。没有截距,它大约为零!最后一个通常要高得多,因此更容易大幅减少平方和。R2R2

结论:不要将拦截排除在模型之外(除非你真的,真的知道你在做什么)。

编辑(来自下面的评论):评论中的其他地方提到了一个例外(但这似乎只是一个例外,常数向量 1 在设计矩阵的列空间中。否则,例如物理关系其中没有常数。但即便如此,如果模型只是近似的(速度不是真正恒定的),即使无法解释,最好保留一个常数。对于非线性模型,这变得更加成问题.Xs=vt

1) 抑制截距是不可接受的,除非在非常罕见的 DiD 模型类型中,结果和预测变量实际上是计算组之间的差异(这不是你的情况)。

2)。哎呀,它没有。这意味着您可能具有较高程度的内部有效性(例如模型拟合数据),但可能具有较低程度的外部有效性(例如,模型在拟合在类似条件下获得的实验数据方面会很差)。这通常是一件坏事。

3)抑制截距不一定会这样做,但我假设预测变量是连续值的。在许多情况下,使用逆变换来分析流程完成时间,例如x=1/t在哪里t是完成一个过程所花费的时间。逆变换数据的平均值的倒数称为调和平均值,表示任务的平均完成时间。

HM=1E(x)=1E(1/t)

您还可以使用参数指数或伽马或威布尔事件时间模型,这些模型是专门为预测完成时间而构建的模型类型。这些将给出与逆变换结果非常相似的结果。

1) 强迫0如果您知道它是 0,则建议使用截距。任何您知道的先验知识,都应该在模型中使用。

一个例子是用于宇宙膨胀的哈勃模型(用于Statistical Sleuth):

Galaxy Speed=k(Distance from Earth)

这个模型相当粗糙,但使用 0 截距作为大爆炸理论的结果:在时间0所有的事情都在一个地方。

另一方面,您所描述的模型可能需要一个截距项。

2)你可能会或可能不会变得更好Radj2,或者您可以接受截距检验为 0 的零假设,但这两者都不是删除截距项的理由。

3)为了确保答案的积极性,您有时可以转换响应变量。Log 或 sqrt 可能会根据您的数据起作用,当然您需要检查残差。