0


将时间序列转成图像——格拉姆角场方法 Matlab实现

【若觉文章质量良好且有用,请别忘了点赞收藏加关注,这将是我继续分享的动力,万分感谢!】

其他:

1.时间序列转二维图像方法及其应用研究综述_vm-1215的博客-CSDN博客

2.将时间序列转成图像——马尔可夫转移场方法 Matlab实现_vm-1215的博客-CSDN博客

3.将时间序列转成图像——图形差分场方法 Matlab实现_vm-1215的博客-CSDN博客

4.将时间序列转成图像——递归图方法 Matlab实现_vm-1215的博客-CSDN博客

5.将时间序列转成图像——相对位置矩阵方法 Matlab实现_vm-1215的博客-CSDN博客

1 方法

格拉姆角场(Gramian Angular Field, GAF)是结合坐标变换和格拉姆矩阵的相关知识,实现将时间序列变换成图像的一种编码方法。

格拉姆矩阵是两两向量的内积组成,可以保存时间序列的时间依赖性,却不能有效的区分价值信息和高斯噪声。因此,在进行格拉姆矩阵变换之前,时间序列需要进行空间变换,普遍的方法是将笛卡尔坐标系转换成极坐标系(半径、角度)。

所以对于一个时间序列X=(x_t,t=1,2,...,N),可以通过以下步骤得到GAF图:

  1. 使用最小-最大定标器(Min-Max scaler),将原始时间序列数据缩放到[-1,1]; \tilde{x}_{-1}^{i}=\frac{\left(x_{i}-\max (X)+\left(x_{i}-\min (X)\right)\right.}{\max (X)-\min (X)}\text { or } \quad \tilde{x}_{0}^{i}=\frac{x_{i}-\min (X)}{\max (X)-\min (X)}
  2. 将第一步得到的数据进行极坐标系变换,得到每一个数据点对应的半径和角度: \left\{\begin{array}{c} \phi=\arccos \left(\tilde{x}_{i}\right),-1 \leq \tilde{x}_{i} \leq 1, \tilde{x}_{i} \in \tilde{X} \\ r=\frac{t_{i}}{N}, t_{i} \in \mathbb{N} \end{array}\right.
  3. 利用和角关系和差角关系,得到对应的 GASF 图和 GADF 图: \begin{aligned} G A S F &=\left[\cos \left(\phi_{i}+\phi_{j}\right)\right] \\ &=\tilde{X}^{\prime} \cdot \tilde{X}-\sqrt{I-\tilde{X}^{2}}^{\prime} \cdot \sqrt{I-\tilde{X}^{2}} \\ G A D F &=\left[\sin \left(\phi_{i}-\phi_{j}\right)\right] \\ &=\sqrt{I-\tilde{X}^{2}}^{\prime} \cdot \tilde{X}-\tilde{X}^{\prime} \cdot \sqrt{I-\tilde{X}^{2}} \end{aligned}

2 Matlab代码实现

clc
clear

%% 生成数据
speed = xlsread('3_1_link1_1_5_30min.csv');

X = speed';
X = (X - min(X)) / (max(X) - min(X));
m = length(X);

%% 数据处理
% 将数据归一化[1,-1]
X = ((X - max(X)) + (X - min(X)))/(max(X) + min(X));

% 求极坐标
fai = acos(X);

% 生成
GASF = X' * X - sqrt(1 - X.^2)' * sqrt(1 - X.^2);
GADF = sqrt(1-X.^2)' * X + X' * sqrt(1 - X.^2);

%% 显示图(热力图)
% 
im_1 = figure(1);
imagesc(GASF)
title('GASF')
% saveas(im_1, 'GASF_2.bmp');
% 
im_2 = figure(2);
imagesc(GADF)
title('GADF');
% saveas(im_2, 'GADF_2.bmp');

3 结果

【若觉文章质量良好且有用,请别忘了点赞收藏加关注,这将是我继续分享的动力,万分感谢!】


本文转载自: https://blog.csdn.net/weixin_41406486/article/details/127815471
版权归原作者 vm-1215 所有, 如有侵权,请联系我们删除。

“将时间序列转成图像——格拉姆角场方法 Matlab实现”的评论:

还没有评论