2. 高维轨迹数据概述

好了,咱们正式开始聊轨迹数据。你可能会想,轨迹数据不就是一串坐标吗?有什么好讲的?

嗯,如果只是“人在某时刻在哪儿”,那确实简单。但现实中的轨迹,远比你想象的要复杂得多。我个人习惯把轨迹数据分成两类:原始轨迹和特征轨迹。这节课我们主要聚焦后者,也就是经过特征提取后的高维轨迹数据。

2.1 什么叫“高维轨迹”?

先看一个最简单的例子。假设你拿着手机走路,GPS每秒钟记录一个点。那这个点就是 (x, y) 或者 (经度, 纬度)——两维。这是最低维度的轨迹。

但是在实际项目中,我们不会只用经纬度。你会加上时间戳、速度、方向角、加速度、GPS精度……这就是往高维走了。

一个典型的移动轨迹特征向量可能包含:
timestamp, latitude, longitude, altitude, speed, bearing, accuracy, acceleration

这已经是8维了。还没完。你想想看,如果我们对一段轨迹做滑动窗口统计——窗口内的均值、方差、最大值、最小值、极差——那每个窗口就能生成几十上百个特征。

我记得有一次做用户行为分析,一个简单的10秒窗口就提取了64个特征。整条轨迹跑下来,每个轨迹点都变成了一根64维的向量。那才叫真正的“高维”。

2.2 为什么维度会暴涨?

说白了,维度暴涨就三个原因:

  • 传感器种类多:GPS、IMU、摄像头、WiFi指纹、蓝牙信标……每个传感器都贡献好几个维度。
  • 特征工程过细:有人喜欢把能算的统计量都算一遍。均值、方差、偏度、峰度、熵、相关系数……越算越多。
  • 时间序列展开:原始轨迹是变长的,为了对齐,你得做时间规整或滑动窗口。窗口一多,特征数量就成倍增加。
警惕维度灾难:当特征维度远大于样本量时,模型很容易过拟合。我曾经踩过这个坑——一条轨迹只有200个点,却提取了300个特征。结果PCA之前数据已经稀疏得不像样了。

2.3 高维轨迹数据的典型结构

为了让你有个直观印象,我把高维轨迹数据的结构画成一张图。这样你就能看到数据是怎么从原始位置一步步变成高维矩阵的。

高维轨迹数据结构 原始轨迹 (x, y, t) 特征提取 窗口统计+衍生特征 高维特征矩阵 N × D, D>>2 常见高维来源(每条轨迹) GPS + 时间 6-8维 IMU + 姿态 9-12维 滑动窗口统计 30-80维 融合特征 100+维 实际案例: 某共享出行平台采集了3万条打车轨迹,每条轨迹100个采样点。 每个点提取64维特征 → 每条轨迹变成 100 × 64 = 6400维。 不降维根本无法训练。

2.4 维度爆炸的真实案例

给你看个具体的。这是一个来自实际项目的轨迹特征维度清单。我在做城市交通模式识别时用过类似的结构。

特征类别 具体特征 维度数
基础位置 经度、纬度、高度、时间戳 4
运动学 速度、加速度、加加速度、方向角 4
窗口统计 均值、方差、极差、偏度、峰度、中位数、四分位距 7
频域特征 FFT前5个分量的幅度、相位 10
上下文特征 路段类型、限速、周边POI密度、交通状态 8
合计 每个轨迹点 33

看到没?就一个点,33维。如果一条轨迹有120个点,那就是33×120 = 3960维。你觉得这种数据扔进KNN会怎样?

一个小经验:我建议你在做特征工程时,先按“必要性”给每个特征打分。那些“感觉可能有用的”特征,建议先留着,等PCA完了再看贡献度。很多高维特征其实都是噪声。

2.5 高维带来的麻烦不止是计算

说到麻烦,你第一个想到的可能是“计算慢”。没错,维度高了,距离计算、矩阵运算都变慢。但还有几个更隐蔽的问题:

  • 距离失效:高维空间中,欧氏距离几乎都差不多。所有点都离得很远,最近邻和最远邻的距离比值趋近于1。聚类效果会严重下降。
  • 数据稀疏:维度越高,数据越稀疏。你想想看,一维空间你只需要几个点就能填满一个区间;到了100维,你得有天文数字的样本才能填满超立方体。
  • 可视化困难:人眼最多理解3维。超过3维的轨迹你根本画不出来,没法直观发现问题。
我曾经犯过的一个错:刚开始做轨迹聚类时,我把所有能算的特征都加进去了,总共128维。结果聚类结果完全随机。花了三天排查,最后发现是维度灾难导致距离度量失效。从那以后,我遇到高维数据第一反应就是:先降维。

2.6 什么时候需要降维?

不是所有高维轨迹都要降维。我总结了一个判断标准:

  • 特征维度 > 样本量 → 必须降维
  • 特征维度 > 100 → 强烈建议降维
  • 特征维度 > 50 → 建议检查相关性,再决定是否降维
  • 特征维度 < 10 → 通常不需要降维,除非有强相关性
记住核心原则:降维不是为了减少维度而减少,而是为了去掉冗余和噪声,保留真正的结构。

2.7 本章小结

好了,这一节我们聊了高维轨迹数据长什么样,维度是怎么涨上去的,以及高维会带来哪些麻烦。说白了,高维轨迹数据就是“特征工程师太勤劳”的结果——每个点都带了几十个甚至上百个特征。