基于SSA奇异谱分析算法的时间序列趋势线提取matlab仿真

news/2024/11/13 16:49:42/文章来源:https://www.cnblogs.com/softcodes/p/18399256

1.程序功能描述
奇异谱分析(Singular Spectrum Analysis,简称SSA)是一种强大的非线性和非参数时间序列分析方法。该方法基于奇异值分解(SVD)和轨迹矩阵的概念,用于提取时间序列中的趋势、周期性和噪声成分。在本课题中,通过SSA算法,从强干扰序列中提取其趋势线。

2.测试软件版本以及运行结果展示
MATLAB2022a版本运行

 

3.核心程序

clc;
clear;
close all;
warning off;
addpath(genpath(pwd));
rng('default')Lens = 10000;dat  = sin(2*pi*[1:Lens]/2000) + [1:Lens]/2000;
dat  = awgn(dat,-1,'measured');
L    = 2500;%滑动窗口大小
R    = 2.5;%提取的奇异值数
y    = func_ssa(dat,L,R);figure
plot(dat,'b');
hold on
plot(y,'r','LineWidth',2);
legend("原时间序列",'时间序列趋势分量');
11

  

4.本算法原理
奇异谱分析(Singular Spectrum Analysis,简称SSA)是一种强大的非线性和非参数时间序列分析方法。该方法基于奇异值分解(SVD)和轨迹矩阵的概念,用于提取时间序列中的趋势、周期性和噪声成分。

原始信号长度为N,滑动窗口长度为Lp,Kp = N-Lp+1;轨迹矩阵就是按照列做分割,第一列为索引为1~Lp的信号,第二列为2~Lp+1,第三列为3~Lp+2,第Kp列为信号索引为Kp~N。

轨迹矩阵:

 

步骤二:奇异值分解

1) 计算XXT的特征值和特征向量U

2) 计算左奇异向量U和右奇异向量V,

 

求V的时候可以不用除lambda,因为重构信号的时候又乘上lambda。

步骤三:分组

分组的目的就是将目标信号成份和其他信号成份分开,在信号处理领域,通常认为前面r个较大的奇异值反应信号的主要能量。

步骤四:对角重构信号平均化

根据分组结果将对应的奇异向量重构:

 

i为选择的r个奇异向量。

对角平均化分为三部完成,对应于下面表格的三部分。

若:奇异矩阵是rca,Lp*Kp,其中Lp<Kp,重构信号为y,长度为N

SSA方法是一种非常通用的时间序列分析方法,特别适合分析非线性和非平稳时间序列。其主要优势包括:

非参数性:不需要预先设定模型的形式或参数。
适应性:能够自适应地识别时间序列中的多种成分,如趋势、周期性和噪声。
稳健性:对异常值和噪声具有一定的鲁棒性。
可视化:通过奇异值和对应的左右奇异向量,可以直观地了解时间序列的结构和成分。
SSA方法在时间序列分析领域有广泛的应用,如气候变化研究、金融市场分析、生物医学信号处理等。此外,还有一系列基于SSA的扩展方法,如多维SSA、窗口滑动SSA、自适应SSA等,用于处理更复杂的时间序列分析问题。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/792763.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

英伟达硬解码错误汇总

1. 解码器报报CUDA_ERROR_NO_DEVICE驱动问题,确保驱动与CUDA版本兼容。CUDA是区分操作系统的。

优先级队列PriorityQueue(图文并茂)

介绍 优先级队列的作用是能保证每次取出的元素都是队列中权值最小(或最大)的。这里元素大小的评判可以通过元素本身的自然顺序(natural ordering),也可以通过构造时传入的比较器(Comparator)。 Java中PriorityQueue实现了Queue接口,不允许放入null元素;其通过堆实现,具体说…

DVPP问题汇总

1. aclrtSetDevice 使用不当导致内存泄露问题 对于Atlas 推理系列产品(Ascend 310P处理器),调用本接口会隐式创建默认Context,在标准形态下,该默认Context中包含2个Stream,1个默认Stream和1个执行内部同步的Stream。 参考网页:API参考-aclrtSetDevice此接口需与aclrtRes…

第十二讲 为什么表数据删掉一半,表文件大小不变?

第十二讲: 为什么表数据删掉一半,表文件大小不变? 简概:问题:表删掉了一半的数据,表文件的大小还是没变? ​ 经常会有同学来问我,我的数据库占用空间太大,我把一个最大的表删掉了一半的数据,怎么表文件的大小还是没变? InnoDB 的表回收 ​ 那么今天,我就和你聊聊数据…

动手学习深度学习

动手学习深度学习 特点:数学原理推理+代码实现 CH1 引言 引言: 学习到一种数学的直觉 ​​ 机器学习路线: ​​ 常见结构: ​​ ‍ 为什么要有机器学习: 机器学习是为了让机器学习到人类学不到的知识,人类学习的能力是有限的,只能通过简单的几种形式如语言,视频等来进行…

章10——面向对象编程(高级部分)——抽象类

介绍更多意义在于其设计意义。供子类参考的一个模板。 注意细节final、private、static与重写矛盾,不可与abstract共用! 补充说明 static方法可以被继承,不可以被重写,若父子方法名相同,则会隐藏derive类派生类方法,调用base类基类方法。静态方法时编译时绑定的,而方法重…

语义分块:改进 AI 信息检索

RAG 系统及其挑战 检索增强生成的流行是有充分理由的。它允许 AI 系统通过结合信息检索和语言生成来回答问题。标准的 RAG 管道通过摄取数据、检索相关信息并使用它来生成响应来实现这一点。 然而,随着数据变得越来越复杂,查询也越来越复杂,传统的 RAG 系统可能会 面临限制。…

DP优化——wqs二分

在看 wqs 二分前建议先去看另一篇博客——斜率优化,对凸包等知识点有所了解。 介绍 wqs 二分最初由王钦石在他的 2012 年国家集训队论文中提出,也叫"带权二分",或者"dp凸优化",而从 IOI 2016 的 Aliens 题目开始,这种方法开始逐步在竞赛圈中有了一定的…

一次Java性能调优实践【代码+JVM 性能提升70%】

这是我第一次对系统进行调优,涉及代码和JVM层面的调优。如果你能看到最后的话,或许会对你日常的开发有帮助,可以避免像我一样,犯一些低级别的错误。本次调优的代码是埋点系统中的报表分析功能,小公司,开发结束后,没有Code Review环节,所以下面某些问题,也许在Code Rev…

orangepi5plus上搭建ubuntu22.04环境

本文是参考orangepi5plus官方手册进行ubuntu22.04环境搭建:Orange Pi - Orangepi(官方手册下载官网)进去之后,选择ubuntu的官方镜像,点击下载出现百度网盘的下载内容,在众多版本里面我下载了下面的文件夹(ubuntu22.04) 该文件夹里面包含的后缀是.img就是ubuntu22.04的镜…

【Azure Policy】分享Policy实现对Azure Activity Log导出到Log A workspace中

问题描述 使用Azure Policy服务,对公司内部全部的订阅下的Activity Log,都需要配置导出到Log A Workspace中。以下Policy规则可以实现此目的。Policy内容说明 在Policy Rule部分中,选择资源的类型为 "Microsoft.Resources/subscriptions", 效果使用 DeployIfNotE…

C#/.NET/.NET Core优质学习资料,干货收藏!

前言 今天大姚给大家分享一些C#/.NET/.NET Core优质学习资料,希望可以帮助到有需要的小伙伴。 什么是 .NET? .NET 是一个免费的、跨平台的、开源开发人员平台,用于构建许多不同类型的应用程序。 使用 .NET,可以使用多种语言、编辑器和库来构建 Web、移动、桌面、游戏和 IoT…