BasicTS
BasicTS copied to clipboard
复现代码中的参数设置问题
作者你好,我是刚刚接触时间序列这个研究方向,对于这个基准工具箱有一些问题,我在没有改参数设置的情况下,跑起来的效果却和感觉与别人论文中的效果有比较大的差异,所以想问问原始参数是按照原始论文进行设置的么,例如DLinear模型使用weather数据集 训练50epoch结果是这样:2023-12-10 15:43:54,752 - easytorch-training - INFO - Evaluate best model on test data for horizon 96, Test MAE: 0.267562, Test RMSE: 0.486204, Test MAPE: 1.876085, Test WAPE: 0.440493, Test MSE: 0.236394 原文中werther数据集96对应的MSE是0.176;MAE是0.237 不知道如何配置来达到论文中的效果,作者大大可以给个示例么 期待你的回复
BasicTS中的Evaluate best model on test data for horizon 96
代表的是在第96个时间片处的损失。而LTSF领域相关工作是预测96个时间片,在这所有的96个时间片上的平均损失。
因此,假如你想要对比预测长度为96时候的结果,你应该先把CFG.DATASET_OUTPUT_LEN
设置为96
,然后查看整个Test Evaluation的结果,即log中长得像这样的行2023-12-10 15:46:42,249 - easytorch-training - INFO - Result <test>: [test_time: 2.93 (s), test_MAE: 3.166884, test_RMSE: 6.541209, test_MAPE: 0.094466, test_WAPE: 0.054826, test_MSE: 42.787418]
。这一行中的就是96个时间片上平均结果。
另外,LTSF的相关研究通常只在归一化后的数值上计算指标。虽然这一设置不太合理,但假如你想要按照这个设置来和他们进行对比,你还需要将CFG.RESCALE
设置成False
。
间
感谢作者大大的回答,那CFG.DATASET_INPUT_LEN需要对应修改么
可以先按照目前仓库中的值复现,差距显著的话就得自己再调整一下了。长序列预测这个领域的输入长度很乱。