用于时间序列分析的目标变量

时间:2019-03-12 07:55:18

标签: python machine-learning data-science

我是第一次进行时间序列预测,对如何创建目标变量几乎没有什么困惑。数据如下:

Sample Dataframe

我正在尝试预测2019年第一季度客户A的销售百分比变化。我想得出目标的一种方法是过去3个月的移动平均值和1的变动。经过操纵,看起来:

Rolled Target

但是我感到困惑的是,我应该选择4月的目标的平均1月,2月,3月还是1月的目标的平均2月,3月,4月?

1 个答案:

答案 0 :(得分:1)

时间序列预测基于自相关原理,例如Xn to Xn+100Xn+time_lag to Xn+100+time_lag中的y

您会注意到时间滞后越大,自相关越小,并且模型的预测能力越差:

Autocorrelation

如果创建滚动平均值,则会丢失信息,从而创建模糊目标。我会使用target本身来获得更好的预测。

我的意思是,您使用与targetx_train相同的变量y_train,在它们之间造成了时间差。

然后,您可以使用ARIMA,LSTM神经网络,线性回归,神经网络,时间卷积网络从输入映射到目标。

检查数据的自相关级别:

from pandas.plotting import autocorrelation_plot
autocorrelation_plot(dataframe['target'])