### **LSTM+GAT训练过程说明(RWP网络节点移动预测)** #### **1. 数据构造** **输入数据**: - **节点轨迹数据**: - 每个节点在1000个时间单位内的二维坐标 $(x, y)$,形状为 $[N, 1000, 2]$($N$个节点,1000个时间步,2维特征)。 - **动态邻接矩阵序列**: - 每个时间步的节点连接关系(基于距离阈值或其他规则生成),得到1000个邻接矩阵 $[A_1, A_2, \dots, A_{1000}]$,每个 $A_t$ 的形状为 $[2, \text{num\_edges}_t]$(稀疏表示)。 **滑动窗口处理**: - **窗口大小**:12(用前12个时间步预测第13个时间步)。 - **滑动步长**:1(每次滑动1个时间步,生成更多训练样本)。 - **生成样本数量**: - 总时间步1000,窗口大小12 → 可生成 $1000 - 12 = 988$ 个样本。 **样本格式**: - **输入序列** $X^{(i)}$:形状 $[N, 12, 2]$($N$个节点,12个时间步,2维坐标)。 - **目标输出** $Y^{(i)}$:形状 $[N, 2]$(第13个时间步所有节点的坐标)。 - **动态邻接矩阵**:每个样本对应12个邻接矩阵 $[A^{(i)}_1, A^{(i)}_2, \dots, A^{(i)}_{12}]$(每个 $A^{(i)}_t$ 形状 $[2, \text{num\_edges}_t]$)。 --- #### **2. 训练过程** **模型结构**: 1. **LSTM层**: - 输入:$[N, 12, 2]$($N$个节点的12步历史轨迹)。 - 输出:每个节点的时序特征 $[N, 12, H]$($H$为LSTM隐藏层维度)。 - **关键点**:LSTM独立处理每个节点的时序,节点间无交互。 2. **GAT层**: - 输入:取LSTM最后一个时间步的输出 $[N, H]$(即每个节点的最终时序特征)。 - 动态图输入:使用第12个时间步的邻接矩阵 $A^{(i)}_{12}$(形状 $[2, \text{num\_edges}]$)。 - 输出:通过图注意力聚合邻居信息,得到空间增强的特征 $[N, H']$($H'$为GAT输出维度)。 3. **预测层**: - 全连接层将 $[N, H']$ 映射到 $[N, 2]$,预测下一时刻的坐标。 **训练步骤**: 1. **前向传播**: - 输入 $[N, 12, 2]$ → LSTM → $[N, 12, H]$ → 取最后时间步 $[N, H]$ → GAT → $[N, H']$ → 预测 $[N, 2]$。 2. **损失计算**: - 均方误差(MSE)损失:比较预测坐标 $[N, 2]$ 和真实坐标 $[N, 2]$。 3. **反向传播**: - 梯度从预测层回传到GAT和LSTM,更新所有参数。 --- #### **3. 数据维度变化总结** | **步骤** | **数据形状** | **说明** | | --------------------- | -------------- | -------------------------------------- | | 原始输入 | $[N, 1000, 2]$ | $N$个节点,1000个时间步的$(x,y)$坐标。 | | 滑动窗口样本 | $[N, 12, 2]$ | 每个样本包含12个历史时间步。 | | LSTM输入 | $[N, 12, 2]$ | 输入LSTM的节点独立时序数据。 | | LSTM输出 | $[N, 12, H]$ | $H$为LSTM隐藏层维度。 | | GAT输入(最后时间步) | $[N, H]$ | 提取每个节点的最终时序特征。 | | GAT输出 | $[N, H']$ | $H'$为GAT输出维度,含邻居聚合信息。 | | 预测输出 | $[N, 2]$ | 下一时刻的$(x,y)$坐标预测。 | --- #### **4. 关键注意事项** 1. **动态图的处理**: - 每个滑动窗口样本需匹配对应时间步的邻接矩阵(如第 $i$ 到 $i+11$ 步的 $[A^{(i)}_1, \dots, A^{(i)}_{12}]$),但GAT仅使用最后一步 $A^{(i)}_{12}$。 - 若图结构变化缓慢,可简化为所有窗口共享 $A^{(i)}_{12}$。 2. **数据划分**: - 按时间划分训练/验证集(如前800个窗口训练,后188个验证),避免未来信息泄露。 3. **模型改进方向**: - **多步预测**:输出 $[N, K, 2]$(预测未来$K$步),需调整损失函数。 - **时空耦合**:改用ST-LSTM或先GAT后LSTM,更早引入交互。 --- ### **总结** - **数据流**:滑动窗口切割时序 → LSTM独立编码节点轨迹 → GAT聚合空间信息 → 预测坐标。 - **节点交互时机**:仅在GAT阶段通过注意力机制融合邻居信息,LSTM阶段节点独立。 - **适用性**:适合RWP等移动模型预测,兼顾时序动态和空间依赖。