本文梳理 SNIPER (Spatio-temporal evolutioNary model for learning Intricate feature interactions to Predict traffic anomalies) 模型的核心架构与设计逻辑。

该模型主要解决交通异常预测(Traffic Anomaly Prediction)中的两大痛点:一是影响因素极其复杂(多源异构数据),二是数据极度不平衡(事故属于稀有事件)。

背景

  • 实验条件是否满足

  • 必要性

1. 任务背景

多传感器技术,产生大量多变量时间序列数据(即多个传感器同时采集的、随时间变化的连续数据,如医疗中的脑电信号、活动识别中的加速度计数据)。随着物联网(IoT)、可穿戴设备、工业物联网(IIoT)的发展,多传感器技术已成为采集物理世界数据的核心手段,广泛应用于三大关键领域,且每个领域都存在强烈的异常检测需求。

机动车碰撞是 15-29 岁人群的首要死因(WHO 统计),全球每年超 5000 万人因碰撞受伤,部分导致残疾。准确预测交通异常能提前预警,降低事故风险,提升道路安全

2. 任务目标

有监督场景(训练数据有标注) 精准识别多传感器时间序列中的异常
提升交通碰撞预测的准确性(AUC-PR、AUC-ROC、F1 分数、准确率)

3.挑战

任务共性挑战

  1. 数据不平衡:异常事件在时空上极度稀疏,数量太少。容易过度拟合正常事件,难以学习异常模式

  2. 静态-动态特征的联合建模:

    静态特征(如POI)为固定的
    动态特征(事件交互)为时变的
    二者依赖关系复杂,需要融合机制

  3. 多视角空间依赖捕捉:

    网格(也就是某个地区)间的影响不仅来自地理邻近,还来自功能相似、碰撞历史关联等,单一空间图无法全面覆盖;(另类的数据融合问题)

  4. 动态演化的过平滑
    动态特征随时间更新时,易因正常事件的累积导致异常与正常事件的特征趋同,降低模型区分度;
    过平滑:

  5. 训练效率与时间依赖的平衡
    动态演化具有强时间依赖,传统批处理会破坏时序关系,而单样本训练效率极低

传统模型不足

  1. 仅关注静态特征(如 POI、历史流量),忽略事件间的动态演化交互;
  2. 未有效处理数据不平衡,难以捕捉稀有异常事件的内在模式;(最难的一点)
  3. 空间依赖建模单一,未考虑多视角(功能相似、碰撞历史、交通状况)的网格交互;
  4. 动态特征演化易出现「过平滑」,导致正常与异常事件的特征差异被掩盖。

模型总览

分为5部分:
1.时空信息编码器:
2.静态嵌入:
3.动态演化嵌入:周围邻居中的特征
4.空间相互影响表示学习
5.特征融合与损失函数

数据集

纽约市和芝加哥的真实时空数据集

构成:
  1. 时空数据:
    城市网格划分:
    按经纬度将地图中排除公园湖泊等无碰撞区域
    时间切片:
    将时间以小时为单位分割
  2. 特征数据:
    1. 静态特征:POI(车库,学校,商业区等),交通设施(公交站,高速,信号灯),天气(降雨,积雪,温度)
    2. 动态数据:交通流量(出租车上下车位置,时间),历史碰撞事件
    3. 标签:每一个“网格-时间切片”的二元标签(1=有碰撞异常,0=无异常)
数据预处理
  1. 归一化:
    用 Max-Min 归一化将所有特征(如 POI 数量、交通流量)映射到 [0,1] 区间,避免因特征量级差异,导致模型偏向量级大的特征

  2. 特征构造:
    计算 差异特征D_t^l
    对每个网格,用当前时刻的静态特征(如当前交通流量)减去 “过去 5 个正常时刻的特征均值”,公式为:
    (Otl为网格l在t时刻的原始特征,n=5为历史正常样本数) (O_t^l为网格 l 在 t 时刻的原始特征,n=5 为历史正常样本数) Otl为网格lt时刻的原始特征,n=5为历史正常样本数)

  3. 数据集划分
    按 “时间顺序” 将数据分为训练集(60%)、验证集(20%)、测试集(20%),而非随机划分 —— 避免未来数据泄露到历史数据中(如用 2016 年 12 月数据训练,预测 2015 年数据,不符合真实场景)

数据集链接:
https://www.nyc.gov/site/tlc/about/tlc-trip-record-data.page

时空信息编码器

将 “位置 / 时间” 转化为可计算向量:
解决 “空间位置” 和 “时间戳” 无法直接输入模型的问题,通过编码保留 “相邻网格的空间关联性” 和 “事件的时间演化性”,为后续特征融合打基础
(1.非线性 2.周期性 3.语义信息)

  1. 网格空间编码器(处理 “空间位置”)
    输入:网格的经纬度坐标(纬度l_lat,经度l_lon);
    编码逻辑:用正弦 / 余弦函数设计二维位置编码,确保 “相邻网格的编码向量具有线性相关性”,公式分两步:
    ![[Pasted image 20260306215906.png]]
    创建了一个几何衰减的频率序列,更好的捕捉微小/宏观变化特征:
    纬度公式中k取小值,可捕捉微小特征,取大值捕捉宏观特征

D表示维度,k表示采集频率
设计意图:

  1. 模型能识别 “固定规律的差值 = 时空专属”。 利用sin,cos
  2. 模型能通过 “相似度阈值” 快速识别相邻,适配 GCN / 注意力机制.
    解决了1.非线性 2.周期性

总结

1. 核心机制:动态演化记忆 (Evolutionary Learning)

这是 SNIPER 模型的“灵魂”,旨在解决稀有事件被海量正常数据淹没(Over-smoothing)的问题。

  • Update (更新) —— 记住事故:
    • 触发条件:当网格内发生事故时。
    • 操作:将当前的静态特征XsX^sXs,包含事故现场的天气、POI等具体信息)融合进动态嵌入中。
    • 目的:捕捉稀有事故的特定模式,形成“事故指纹”。
  • Decay (衰减) —— 遗忘风险:
    • 触发条件:当网格内无事故发生时。
    • 操作不引入新的静态特征,仅通过指数衰减函数随时间推移降低风险权重。
    • 目的:防止模型在处理海量正常数据时,特征变得趋同(即避免“过平滑”),保护对稀有事故的记忆。

2. 空间架构:多图卷积网络 (Multi-GCN)

模型认为区域间的关联不仅仅是地理上的“邻居”,因此构建了三个维度的“朋友圈”:

图结构名称 关联依据 作用逻辑
功能相似图 (GFG_FGF) POI 分布 (如学校、商场) 捕捉功能属性相似区域的共性风险
事故关联图 (GAG_AGA) 历史事故记录 (原因、伤亡) 捕捉“同病相怜”的风险传播模式
路况设施图 (GTG_TGT) 交通设施 (高速、公交站) 捕捉道路基础设施对流量的影响
  • 动态注意力机制:模型通过 SP block(空间注意力模块)动态计算不同邻居的权重,决定在特定时刻(如早高峰学校区)哪个“圈子”的信息最重要。

3. 特征工程:时空编码与偏差计算

3.1 空间编码 (Spatial Encoding)
  • 网格化:将城市划分为 i×ji \times ji×j 网格。
  • 正弦/余弦编码:利用经纬度的正弦/余弦函数生成向量,而非简单编号。
    • 优势:捕捉相对距离的线性变换特性,具备平移不变性(无论在地图何处,相同的地理距离对应相同的编码变化规律)。
3.2 时间编码 (Temporal Encoding)
  • 相对时间:计算当前时间 ttt 与初始时间 t1t_1t1 的差值,而非使用绝对时间戳。
    • 优势:更好地捕捉事件间的动态内在模式(如“事故后一小时”比“周三九点”更具预测价值)。
3.3 流量偏差特征 (Grid Difference)
  • 公式Dtl=Otl−1n∑i=1nO(ti,nor)lD_{tl} = O_{tl} - \frac{1}{n}\sum_{i=1}^{n} O_{(t_i, nor)l}Dtl=Otln1i=1nO(ti,nor)l
  • 逻辑:当前流量减去过去 nnn正常时刻的平均流量。
  • 价值:过滤掉长期拥堵(如施工)等背景噪声,专注于捕捉突发的异常变化。

4. 损失函数:对抗“懒惰”模型

由于事故数据极少,模型容易通过“永远预测无事故”来获得高准确率。为此,SNIPER 设计了双重损失函数:

  • 改进的焦距损失 (LFL_FLF)
    • 降低易分类样本(大量正常数据)的权重,强制模型关注难分类的稀有事故样本。
  • 动态损失 (LDL_DLD)
    • 核心逻辑:仅在发生事故(Update)时生效。
    • 惩罚机制:如果发生事故时,动态特征的变化量太小(即模型反应迟钝,特征没变),则施加惩罚。
    • 目的:防止特征过平滑,确保事故特征在数学空间中能“脱颖而出”。

5. 最终预测流程

  1. 特征融合:将静态嵌入 (XsX^sXs) 和动态嵌入 (XdX^dXd) 拼接。
  2. 时序建模:通过 FC-LSTM 层聚合时空依赖,捕捉非线性关系。
  3. 输出:经过 Sigmoid 激活,输出下一时刻发生事故的概率 (Y^t+1\hat{Y}_{t+1}Y^t+1)。

  • 关于 Update 与 Decay 的设计:Decay 阶段之所以不包含静态特征,是为了避免海量的正常数据不断修改模型的记忆,导致所有特征变得一样(过平滑)。只有在发生事故时(Update),才允许注入新的特征信息,从而保护了稀有事件的特征。
  • 关于位置编码:利用三角函数处理经纬度,不仅解决了数值大小的问题,更重要的是让模型理解了“相对位置”的概念,这在处理城市边界或大范围区域时非常关键。
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐