BUAABIGSCity / PDFormer

[AAAI2023] A PyTorch implementation of PDFormer: Propagation Delay-aware Dynamic Long-range Transformer for Traffic Flow Prediction.
MIT License
209 stars 35 forks source link

关于DTW计算的问题 #21

Closed maxuhuii closed 1 year ago

maxuhuii commented 1 year ago

您好,在你们的代码pdformer_dataset.py 中_get_dtw函数使用了完整数据集来计算DTW矩阵,这是否会造成test_set和eval_set的数据泄露问题?

NickHan-cs commented 1 year ago

DTW矩阵的作用是利用流量信息计算地理实体之间的相似性,用全数据集和训练集算出来的结果没太大区别,所以对性能的影响不大。如果要改的话,可以将类似 https://github.com/BUAABIGSCity/PDFormer/blob/f8c8f6ad007a04fad3baee958b89504711852ce9/libcity/data/dataset/pdformer_dataset.py#L36 处的 df.shape[0] 改成 int(df.shape[0] * self.train_rate) ,就可以只用训练集计算DTW矩阵。

aptx1231 commented 1 year ago

在DTW基础上选取topk的相似节点作为语义邻居,所以全数据和训练集区别不是很大~