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

您好,想问一下如何将您的代码改为,在z-score归一化后的数据上,计算MAE、MSE。我没有找到一个合适的没有封装的位置去进行更改,谢谢! #79

Closed
Eurowea opened this issue Oct 23, 2023 · 9 comments

Comments

@Eurowea
Copy link

Eurowea commented Oct 23, 2023

          时空预测:
  • 历史: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 #71 (comment)

@zezhishao
Copy link
Collaborator

在配置文件中,加一行CFG.RESCALE=False即可。

@Eurowea
Copy link
Author

Eurowea commented Oct 26, 2023

感谢您的回复,谢谢!

@zezhishao
Copy link
Collaborator

另外,若是想在ett等数据集上按照长序列预测领域的设置来,并且复现他们论文中的结果,您还需要将那些数据集的数据预处理中的参数NORM_EACH_CHANNEL设置成True。

@Eurowea
Copy link
Author

Eurowea commented Nov 7, 2023

原来如此,我发现似乎更改之后对长期的预测确实成功复现,但短期的却似乎结果不太好,您认为这是什么原因呢,在数据划分,学习率,batch等参数一致的情况下。再次感谢您的解答!

@zezhishao
Copy link
Collaborator

zezhishao commented Nov 7, 2023

有详细的信息吗?

@zezhishao
Copy link
Collaborator

zezhishao commented Nov 7, 2023

您可以更新一下BasicTS,并重新生成一下数据。目前针对我根据您的要求更新了BasicTS的数据处理方式。
在最新版本的BasicTS中,您可以将配置文件中的CFG.RE_SCALE=False,从而复现长序列预测相关模型的结果。CFG.RE_SCALE=True(默认就是True),可以用于复现时空预测相关模型(一般是短期预测)的结果。不再需要手动设置NORM_EACH_CHANNEL了,因为这可能在跨两种不同的实验设置的时候造成一定的干扰。

@Eurowea
Copy link
Author

Eurowea commented Nov 7, 2023 via email

@Eurowea
Copy link
Author

Eurowea commented Nov 7, 2023 via email

@zezhishao
Copy link
Collaborator

还需要更具体一些,你的实验设置、如何对比等。

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

2 participants