在进行多步预测时,针对不同数据的哪种优化指标?

问题描述 投票:0回答:1

我在Keras写了一个LSTM用于单变量时间序列预测。我正在使用大小为48的输入窗口和大小为12的输出窗口,即我一次预测12个步骤。这通常适用于诸如RMSE的优化度量。

对于非平稳时间序列,我在将数据馈送到LSTM之前对数据进行差分。然后在预测之后,我得出预测的反差。

差分时,RMSE不适合作为优化度量,因为早期预测步骤比后续步骤更重要。当我们在创建12步预测后进行反差时,早期(差异)预测步骤将影响后续步骤的反差。

所以我认为我需要的是一个优化指标,它可以使早期预测步骤更加重要,最好是指数级。

这样的度量标准是否已经存在或者我应该自己编写吗?我忽略了什么吗?

python keras time-series lstm forecasting
1个回答
0
投票

刚写了我自己的优化指标,它似乎运行良好,肯定比RMSE好。

仍然好奇这里最好的做法是什么。我对预测比较陌生。

from tensorflow.keras import backend as K

def weighted_rmse(y_true, y_pred):
    weights = K.arange(start=y_pred.get_shape()[1], stop=0, step=-1, dtype='float32')
    y_true_w = y_true * weights
    y_pred_w = y_pred * weights
    return K.sqrt(K.mean(K.square(y_true_w - y_pred_w), axis=-1))
© www.soinside.com 2019 - 2024. All rights reserved.