【问题标题】:Target variable for time series analysis时间序列分析的目标变量
【发布时间】:2019-08-02 15:13:28
【问题描述】:

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

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

但是我很困惑,我应该将 1 月、2 月、3 月的平均值作为 4 月的目标,还是将 2 月、3 月、4 月的平均值作为 1 月的目标?

【问题讨论】:

    标签: python machine-learning data-science


    【解决方案1】:

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

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

    如果你创建一个滚动平均值,你会丢失信息,创建一个模糊的目标。我会使用target 本身来进行更好的预测。

    我的意思是你使用相同的变量targetx_trainy_train,在它们之间造成了时间滞后。

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

    检查数据的自相关程度:

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

    【讨论】:

    • 所以如果我理解正确,你的意思是 target 可以是同一个变量向下移动一个?所以目标(t)=变量(t-1)?
    • 例如array.shape=(100,),time lag=2,input=array[0:98],target=array[2:100]
    猜你喜欢
    • 1970-01-01
    • 2018-03-07
    • 2011-12-26
    • 2020-06-03
    • 1970-01-01
    • 2013-10-20
    • 2014-07-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多