python - 使用线性回归的时间序列
问题描述
我有一些价格的时间序列数据,我正在尝试对其执行线性回归。但是,我觉得我所做的是不正确的,希望有人能指出我正确的方向。
我的数据如下所示:
date Close
2017-05-10 0.12512
2017-05-11 0.12353
2017-05-12 -0.35235
.
.
.
2019-01-10 0.87890
Close
指每天的收盘价,缩放在(-1, 1)以内。
我尝试使用sklearn.linear_model.LinearRegression
库中的线性回归。当我最初运行它以适应数据时,date
它是一个字符串类型,所以程序提醒我它不能处理字符串数据。所以我只是删除了日期列,只使用Close
训练和测试集中的值。
我的直觉告诉我,这是错误的做法。根据这个答案,NumPy 中有一种叫做 Polyfit 的东西。是否不可能对我拥有的数据使用标准的 Scikit-Learn 线性回归?
解决方案
LinearRegression 不是 TimeSerie 的解决方案
在统计学的背景下,线性回归是通过最大化模型线性基础的误差是正态分布的平均值的可能性来解决的。在最大化过程中,我们假设观测值是独立同分布的,对于时间序列数据显然不是一个合理的假设。
对于 TimeSerie 问题,有很多解决方案取决于您的问题。 http://www.statsoft.com/textbook/time-series-analysis
如果你想预测下一个值,我RNN
基本上建议
推荐阅读
- python - 来自日期时间 json 的 x 轴上的 matplotlib 时间
- javascript - 无法在购物车中显示总价
- powerbi - 两个日期之间市场价值的 PowerBI delta
- intellij-idea - 在代码窗口外单击时,IntelliJ 将“this”添加到本地类变量
- elasticsearch - elasticsearch simple_query_string 字段不同类型
- django - 如何限制表单页面中的外键选择?
- git - Windows 10 不允许您使用名为“aux”的文件夹克隆存储库
- python - 在while循环中将单词中的字符从指定位置替换到末尾
- google-sheets - “getActiveSheet”获取并更改单元格的值。我想从不同的工作表中选择一个单元格,但我不知道它的语法
- ios - 适用于 iOS 的 UPI 意图流