格拉姆角场(Gramian Angular Field, GAF)详解
格拉姆角场(Gramian Angular Field, GAF)是一种于2015年被提出的时间序列可视化与特征编码技术。其核心思想是将一维时间序列转换为二维图像,并在此过程中保留原始序列的时间依赖关系与数值特征。目前,GAF已在故障诊断、生物电信号分析、射频信号识别等多个领域得到广泛应用。
GAF的实质是借助极坐标变换与格拉姆矩阵的结构,将一维序列中的“时间–数值”映射为图像中的像素关联信息。生成的图像矩阵的行列索引直接对应时间顺序,使其能够兼容主流图像识别模型(如CNN),从而挖掘出时间序列中的深层特征。
一、GAF 的核心设计逻辑
传统的一维时间序列包含两类基本信息:数值大小(如振幅)和时间顺序(如信号随时间的变化趋势)。折线图等常规方法虽能展示趋势,却难以显式表达不同时刻之间的数值关联。GAF 通过以下三步逻辑实现信息的结构化编码:
- 数值归一化:将原始序列缩放至[-1, 1]区间,消除量纲与异常值影响,为极坐标变换提供基础;
- 极坐标转换:将时间索引映射为半径,数值大小映射为角度,建立 时间-数值 在极坐标系统中的对应关系;
- 格拉姆矩阵构建:基于极坐标角度,通过三角运算(如余弦和/差)构造 Gram 矩阵,将数值之间的时序关系转化为图像像素值。
二、GAF 的实现步骤(标准流程)
以任意 1 维时间序列 X=[x1,x2,...,xN]X = [x_1, x_2, ..., x_N]X=[x1,x2,...,xN](N 为序列长度)为例。
步骤 1:数据归一化(Normalization)
将原始序列归一化至区间 [-1, 1] :
x~i=2(xi−min(X))max(X)−min(X)−1\Large \tilde{x}_i = \frac{2(x_i - min(X))}{max(X) - min(X)} - 1x~i=max(X)−min(X)2(xi−min(X))−1
其中:
- min(X)min(X)min(X)、max(X)max(X)max(X)分别为原始序列的最小值和最大值;
- x~i∈[−1,1]\tilde{x}_i \in [-1, 1]x~i∈[−1,1],归一化后不仅消除了量纲影响,还确保后续角度计算时 arccos(x~i)arccos(\tilde{x}_i)arccos(x~i) 有实数解。
步骤 2:极坐标编码(Polar Coordinate Encoding)
将归一化后的序列 X~=[x~1,x~2,...,x~N]\tilde{X} = [\tilde{x}_1, \tilde{x}_2, ..., \tilde{x}_N]X~=[x~1,x~2,...,x~N]映射到极坐标系:
- 半径(表示时间索引):
ri=iN,i=1,2,3...,N\large r_i = \frac{i}{N}, \quad i=1,2,3...,Nri=Ni,i=1,2,3...,N
时间越晚,半径越大,靠近单位圆边缘。
每个角度