BasicTS
BasicTS copied to clipboard
您好,想问一下如何将您的代码改为,在z-score归一化后的数据上,计算MAE、MSE。我没有找到一个合适的没有封装的位置去进行更改,谢谢!
时空预测:
- 历史:12个时间片
- 未来:12个时间片
长序列预测:
- 历史:{96, 192, 336}取最好
- 未来:336
取平均结果。
现有的LTSF工作,大多数都是在z-score归一化后的数据上,计算MAE、MSE。由于归一化后的数据均值为0、方差为1,预测结果MAE和MSE都是小于1的。
我们认为这种setting具备误导性,让人觉得预测误差率很低。为了更直观和清晰地展现评估结果,BasicTS的默认evaluation setting是:在re-normalized数据上,同时计算绝对误差(MAE、MSE、RMSE等) 和 相对误差(MAPE、WAPE) 等。
Originally posted by @zezhishao in https://github.com/zezhishao/BasicTS/issues/71#issuecomment-1719714050
在配置文件中,加一行CFG.RESCALE=False即可。
感谢您的回复,谢谢!
另外,若是想在ett等数据集上按照长序列预测领域的设置来,并且复现他们论文中的结果,您还需要将那些数据集的数据预处理中的参数NORM_EACH_CHANNEL设置成True。
原来如此,我发现似乎更改之后对长期的预测确实成功复现,但短期的却似乎结果不太好,您认为这是什么原因呢,在数据划分,学习率,batch等参数一致的情况下。再次感谢您的解答!
有详细的信息吗?
您可以更新一下BasicTS,并重新生成一下数据。目前针对我根据您的要求更新了BasicTS的数据处理方式。 在最新版本的BasicTS中,您可以将配置文件中的CFG.RE_SCALE=False,从而复现长序列预测相关模型的结果。CFG.RE_SCALE=True(默认就是True),可以用于复现时空预测相关模型(一般是短期预测)的结果。不再需要手动设置NORM_EACH_CHANNEL了,因为这可能在跨两种不同的实验设置的时候造成一定的干扰。
十分感谢 您的耐心解答!
在 2023-11-07 17:49:06,"S22" @.***> 写道:
您可以更新一下BasicTS,并重新生成一下数据。目前针对我根据您的要求更新了BasicTS的数据处理方式。 在最新版本的BasicTS中,您可以将配置文件中的CFG.RE_SCALE=False,从而复现长序列预测相关模型的结果。CFG.RE_SCALE=True(默认就是True),可以用于复现时空预测相关模型的结果。不再需要手动设置NORM_EACH_CHANNEL了,因为这可能会造成一定的干扰。
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>
例如informer模型,短期的情况 例如 预测24步,48步, MAE 和 MSE 偏小
在 2023-11-07 17:46:06,"S22" @.***> 写道:
有更多的信息吗?
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>
还需要更具体一些,你的实验设置、如何对比等。