首页 > 解决方案 > Sk-learn 和 Statsmodels 中 OLS 实现的区别

问题描述

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

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

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

感谢您抽出时间来阅读。

标签: pythonscikit-learnlinear-regressionstatsmodels

解决方案


推荐阅读