Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
fireppGo opened this issue Sep 12, 2023 · 14 comments
Closed

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

fireppGo opened this issue Sep 12, 2023 · 14 comments

Comments

@fireppGo
Copy link

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

时空预测:

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

@huangst21
Copy link

时空预测:

  • 历史: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个未来步长来计算指标吗?为什么效果比原论文里展示的好那么多呢?

@zezhishao
Copy link
Collaborator

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

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

@huangst21
Copy link

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

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

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

@zezhishao
Copy link
Collaborator

zezhishao commented Oct 10, 2023

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

@huangst21
Copy link

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

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

@zezhishao
Copy link
Collaborator

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

@huangst21
Copy link

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

感谢您的耐心回答!

@fireppGo
Copy link
Author

fireppGo commented Jan 11, 2024

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

@zezhishao
Copy link
Collaborator

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

@fireppGo
Copy link
Author

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

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

@zezhishao
Copy link
Collaborator

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

@zezhishao
Copy link
Collaborator

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

@fireppGo
Copy link
Author

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

谢谢大佬!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants