我试图通过使我的因变量(股票价格)非平稳来改进我的 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 个值。这看起来很乱。
有没有更好的差异化方法?