python - 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)。如此大的差异会因为模块实现的不同而发生吗?
感谢您抽出时间来阅读。
解决方案
推荐阅读
- php - PHP - 数组搜索不返回任何内容
- angularjs - 加载子控制器时调用父控制器
- javascript - Selectize.js:使用默认值填充
- javascript - 如何从 Firebase 快照返回数组
- nginx - nginx centos 7服务器多个网站
- c++ - 如何在 C++ 中使用自动换行符实现日志记录宏
- kotlin - Kotlin 语言是如何用 Kotlin 编写的?
- php - PHP 在 0x03 End of Text 后停止在二进制字符串循环中工作
- amazon-web-services - AWS Lambda@Edge 的缓存选项
- javascript - jQuery UI,响应式调整最后一个 div