特定训练/测试拆分的线性回归系数“爆炸”

Posted

技术标签:

【中文标题】特定训练/测试拆分的线性回归系数“爆炸”【英文标题】:Linear Regression coefficients 'explode' for a particular train/test split 【发布时间】:2021-01-09 14:13:28 【问题描述】:

我正在使用“House Sales in King County”数据集,比较线性回归、Ridge 和 Lasso 的系数。

我首先进行训练/测试拆分,然后对数据进行标准化,然后训练三个模型并比较系数。对于大多数训练/测试分裂随机种子,三个模型的系数在同一尺度,我可以比较它们。但是对于一些随机种子,一些线性回归的系数会“爆炸”,从 10^4-10^5 左右的值跳到 10^18 左右。

这仅发生在线性回归模型中的少数系数上,岭和套索的系数不受影响。

我不确定为什么会发生这种情况,有什么提示或指示吗?

【问题讨论】:

【参考方案1】:

愚蠢的我,“爆炸”是由于多重共线性。我有以下变量:

sqft_living:生活空间的平方英尺 sqft_above:生活空间的平方英尺,不包括地下室 sqft_below:地下室的平方英尺

显然 sqft_living = sqft_above + sqft_below。多重共线性导致这三个变量的系数非常不稳定。这就是添加正则化有帮助的原因。

关于多重共线性危险的伟大警示故事!

【讨论】:

以上是关于特定训练/测试拆分的线性回归系数“爆炸”的主要内容,如果未能解决你的问题,请参考以下文章

SKLearn 线性回归,但在开始之前设置某些系数

多项式线性回归,我哪里错了?

线性模型系数解读中的那些坑,以套索回归(LASSO)和岭回归(Ridege)为例

线性回归和梯度下降

Spark MLlib 源码学习---线性回归模型(LinearRegression)

Spark MLlib 源码学习---线性回归模型(LinearRegression)