Sk-learn和Statsmodels中OLS的实现之间的差异

时间:2019-04-15 05:12:57

标签: python scikit-learn linear-regression statsmodels

我目前正在对时间序列数据集进行线性回归。但是,根据我使用的是哪个python模块,我会得到完全不同的结果。 首先,我使用了Sklearn,我的模型的R ^ 2得分约为0.65。之后,我尝试使用statsmodels.api来获取回归的摘要,因为Sklearn不提供回归摘要,因此我得到的R-2得分完全不同,为0.96。

此后,我使用了statsmodels.formula.api的线性模型,并得到了另一个不同的结果,这次,更接近我的第一个结果。 (R ^ 2 of 0.65)

我想知道为什么会这样。在我看来,这似乎是一个错误,但是我很确定我对所有回归使用相同的数据(在必要时将数据帧转换为np.arrays)。是否会因为模块实现方式的不同而发生如此大的差异?

感谢您抽出宝贵的时间阅读本文章。

0 个答案:

没有答案