0 abstract & introduction
- 之前的补全方法并不能很好地捕获/利用 不同sensor之间的非线性时间/空间依赖关系
- 高效的时间序列补全方法,不仅应该考虑过去(或者未来)的数值,还应该同时考虑空间上邻近的点的测量值(这里的空间不一定是地理空间、还可能是embedding的隐空间)
- ——>这篇文章提出了GRIN,利用GNN中的message passing 来学习时空表征,以帮助进行时间序列补全
1 preliminary
1.1 图序列
- 某一时刻的一张图是
- 表示点属性矩阵,其中第i行是第i个点在t时刻的d维属性
- 表示邻接矩阵
- 注意这一张图在不同时刻的拓扑关系不会变,也就是Nt=N,Wt=W
- 吧不同时刻的图拼成一个序列,就是一个图序列
1.2 多元时间序列补全(MTSI)
- 二元掩码矩阵
- 如果为0,则表示t时刻i点的j属性没有值,反之则表示有值
- MTSI(multivariate time series imputation)的目标是:
- 给定一个图序列,我们定义丢失数据重构误差:
- 是重构值,是ground-truth
- 表示的补
- l是逐元素的误差函数
- <>表示内积
- 右边的分母表示一共有多少个missing value,分子表示这些missing value对应的位置,imputation和ground-truth的区别
- 给定一个图序列,我们定义丢失数据重构误差:
2 模型部分
2.1 模型整体
损失函数是每个阶段的重构误差+最终阶段的重构误差
2.2 时空encoder
输入上一时刻的隐藏表征,当前时刻的图,输出当前时刻的隐藏表征Ht
2.2.1 MPNN
MPNN由k层message passing network组成
2.3 个人理解
把encoder和decoder放在GRU那张图里面,我觉得可以这么理解:
imputation就是decoder,每一次时空encoder,我们输出Ht,它是用来补全Xt+1的(有值的还是Xt+1的内容,无值的就是Ht)
得到Xt+1之后,我们在用它和Ht,喂入时空encoder,得到t+2的Ht,即
但这样的话,还有一个问题是:X0时刻,有缺失值,怎么办》
2.4 时间复杂度
论文中说是O(E),个人觉得是O(TEK)?
3 实验
3.1 补全效果