首页 > 解决方案 > 使用线性回归的时间序列

问题描述

我有一些价格的时间序列数据,我正在尝试对其执行线性回归。但是,我觉得我所做的是不正确的,希望有人能指出我正确的方向。

我的数据如下所示:

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 线性回归?

标签: pythonmachine-learningtime-serieslinear-regression

解决方案


LinearRegression 不是 TimeSerie 的解决方案

在统计学的背景下,线性回归是通过最大化模型线性基础的误差是正态分布的平均值的可能性来解决的。在最大化过程中,我们假设观测值是独立同分布的,对于时间序列数据显然不是一个合理的假设。

对于 TimeSerie 问题,有很多解决方案取决于您的问题。 http://www.statsoft.com/textbook/time-series-analysis

如果你想预测下一个值,我RNN基本上建议


推荐阅读