格拉姆矩阵非奇异(将时间序列转成图像——格拉姆角场方法 Matlab实现)
目录
1 方法
2 Matlab代码实现
3 结果
【若觉文章质量良好且有用 ,请别忘了点赞收藏加关注 ,这将是我继续分享的动力 ,万分感谢!】
其他:
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)是结合坐标变换和格拉姆矩阵的相关知识 ,实现将时间序列变换成图像的一种编码方法 。
格拉姆矩阵是两两向量的内积组成 ,可以保存时间序列的时间依赖性 ,却不能有效的区分价值信息和高斯噪声 。因此 ,在进行格拉姆矩阵变换之前 ,时间序列需要进行空间变换 ,普遍的方法是将笛卡尔坐标系转换成极坐标系(半径 、角度) 。
所以对于一个时间序列 ,可以通过以下步骤得到GAF图:
使用最小-最大定标器(Min-Max scaler),将原始时间序列数据缩放到[-1,1]; 将第一步得到的数据进行极坐标系变换 ,得到每一个数据点对应的半径和角度: 利用和角关系和差角关系 ,得到对应的 GASF 图和 GADF 图: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 结果
【若觉文章质量良好且有用,请别忘了点赞收藏加关注 ,这将是我继续分享的动力 ,万分感谢!】
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!