在训练和测试拆分之前或之后对时间序列应用差分?

数据挖掘 Python 时间序列 python-3.x
2021-10-11 21:01:45

我试图通过使我的因变量(股票价格)非平稳来改进我的 RNN 模型。我的目标是通过对数变换消除趋势,然后执行移动平均差分来消除噪声,从而使序列保持平稳。

我有一个最初记录系列的函数,以惩罚较大的值,然后对这些值执行滚动均值差分。

def moving_avg_differencing(col, n_roll=30, drop=False):
    log_values = np.log(col)
    moving_avg = log_values.rolling(n_roll).mean()
    ma_diff = log_values - moving_avg

我的难题是,如果我在我的 train-val-test 拆分之前执行此差分,我将通知我的验证和测试集的平均值在它们各自的值之前。

如果我在我的 train-val-test 拆分执行差分,并单独处理转换,我将NaN在我的验证和测试集之前有 30 个值。这看起来很乱。

有没有更好的差异化方法?

0个回答
没有发现任何回复~