BasicTS icon indicating copy to clipboard operation
BasicTS copied to clipboard

对于实验结果,有几点疑问

Open fireppGo opened this issue 2 years ago • 14 comments

  1. 两个任务的结果都没有具体说明历史步数和预测步数各是多少,或是平均结果?
  2. Long Time- Series Forecasting结果中MAE很大,而论文中MAE,MSE都是小于1的。

fireppGo avatar Sep 12 '23 12:09 fireppGo

时空预测:

  • 历史: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) 等。

zezhishao avatar Sep 14 '23 15:09 zezhishao

时空预测:

  • 历史: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) 等。

想请问一下时空预测的结果是只根据输出的12个未来步长来计算指标吗?为什么效果比原论文里展示的好那么多呢?

huangst21 avatar Oct 10 '23 01:10 huangst21

表里的结果是按照12步上的平均结果来计算的。假如您需要每一个时间片的结果,可以自己跑一下。不着急的话,后续我也会更新这个表格。

至于效果比原始论文里好很多,这点我没太理解。可以给出更详细的说明吗,比如是哪个方法、什么数据集、差距有多大?

zezhishao avatar Oct 10 '23 01:10 zezhishao

表里的结果是按照12步上的平均结果来计算的。假如您需要每一个时间片的结果,可以自己跑一下。不着急的话,后续我也会更新这个表格。

至于效果比原始论文里好很多,这点我没太理解。可以给出更详细的说明吗,比如是哪个方法、什么数据集、差距有多大?

想请教您一下,大部分论文里的结果是否是根据单个时间片计算出来的。比如horizon=12就是只根据第12个时间点的结果计算指标,而不是根据前12时间点计算指标做平均。如果是这样的话您表里的结果比一些原始论文好就不奇怪了。希望您能解答我的疑惑。

huangst21 avatar Oct 10 '23 01:10 huangst21

是的,就是整个全部12个点做平均。 时空预测中,大家确实更喜欢计算单时间片的结果。但大多数时间序列预测任务还都是计算平均值。所以这里就是按照平均值计算了。 另外,要是展示单时间片的结果,会导致这张表变得非常大,论文不太好写。但后续我会在仓库里更新一个包含单时间片误差的结果。 您要是特别想要知道时空预测的详细结果,可以参考这里:https://github.com/zezhishao/BasicTS/blob/abdd2056a37cc86abb01872115f2da3d74e38306/results/results.png

zezhishao avatar Oct 10 '23 08:10 zezhishao

是的,就是整个全部12个点做平均。 时空预测中,大家确实更喜欢计算单时间片的结果。但大多数时间序列预测任务还都是计算平均值。所以这里就是按照平均值计算了。 另外,要是展示单时间片的结果,会导致这张表变得非常大,论文不太好写。但后续我会在仓库里更新一个包含单时间片误差的结果。 您要是特别想要知道时空预测的详细结果,可以参考这里:https://github.com/zezhishao/BasicTS/blob/abdd2056a37cc86abb01872115f2da3d74e38306/results/results.png

感谢您的解答。还想请问一下您这张图里做的是否都是单一流量特征的预测?即METR-LA和PEMS-BAY做的是速度预测,剩下的PMES系列做的是流量预测。

huangst21 avatar Oct 10 '23 09:10 huangst21

对的,都是单一特征。LA、BAY都是流速,PEMS03、04、07、08都是流量。

zezhishao avatar Oct 10 '23 10:10 zezhishao

对的,都是单一特征。LA、BAY都是流速,PEMS03、04、07、08都是流量。

感谢您的耐心回答!

huangst21 avatar Oct 10 '23 11:10 huangst21

时空预测都是12个时间片预测12个时间片,但STEP中可见的时间片应该是288×7×2,其他的模型有使用这种时间步进行预测吗。 @zezhishao

fireppGo avatar Jan 11 '24 07:01 fireppGo

STEP之前的没有,之后的我没关注了。可能有基于STEP去做的。

zezhishao avatar Jan 11 '24 07:01 zezhishao

STEP之前的没有,之后的我没关注了。可能有基于STEP去做的。

那实验对比会不会不太公平,毕竟可见窗口都是不一样的。

fireppGo avatar Jan 11 '24 08:01 fireppGo

你可能误会了,STEP和之前的网络不是对等的关系。 STEP是一个增强框架,它是用来提升之前工作在建模长期信息时的效率和准确率,以及解除对图结构的依赖的。 STEP下游是需要依赖一个STGNN的,例如GWNet或者DCRNN。 论文模型下游用的GWNet,消融实验里面也测试了DCRNN以一定程度上验证通用性。 由于之前没有STEP这样的框架,我就直接和现有的STGNN对比了。

zezhishao avatar Jan 11 '24 08:01 zezhishao

另外,现有的STGNN扩张到同样的时间窗口基本都会OOM或者运行时间特别长(我记得CNN-based方法容易OOM,RNN-based方法容易训练时间特别长),准确率也不一定有提升,甚至会降低。

zezhishao avatar Jan 11 '24 08:01 zezhishao

另外,现有的STGNN扩张到同样的时间窗口基本都会OOM或者运行时间特别长(我记得CNN-based方法容易OOM,RNN-based方法容易训练时间特别长),准确率也不一定有提升,甚至会降低。

谢谢大佬!

fireppGo avatar Jan 11 '24 08:01 fireppGo