zezhishao / STEP

Code for our SIGKDD'22 paper Pre-training-Enhanced Spatial-Temporal Graph Neural Network For Multivariate Time Series Forecasting.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

关于re-scale data的问题

wubo2180 opened this issue · comments

您好,

非常感谢您的工作。我在base_tsf_runner.py文件中发现val_iters以及train_iters函数中都有一个re-scale data的操作。即
prediction_rescaled = SCALER_REGISTRY.get(self.scaler["func"])(forward_return[0], **self.scaler["args"]) real_value_rescaled = SCALER_REGISTRY.get(self.scaler["func"])(forward_return[1], **self.scaler["args"])
请问这两行代码功能是什么,为什么不能直接用forward计算出来的pred计算loss和metric.

祝好!

commented

您好,时间序列的预处理过程中存在一个归一化过程,例如标准归一化等。归一化之后的结果方便神经网络进行读取和训练。
然而,在计算Loss和评测指标(MAE、MAPE、RMSE等)时,需要将其重新归一化到其原有的数值范围内,这样得到的指标才有实际意义。
例如,Traffic Flow数据通常取值在0~数百,而Traffic Speed通常取值在0到70。归一化之后再计算评测指标是更加合理的操作。

谢谢!