网站大量收购闲置独家精品文档,联系QQ:2885784924

16非平稳时间序列突变检测的启发式分割算法(BG算法)MATLAB源代码.docx

16非平稳时间序列突变检测的启发式分割算法(BG算法)MATLAB源代码.docx

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
欢迎访问GreenSim团队主页→ HYPERLINK /greensim /greensim 邮箱: HYPERLINK greensim@163.com greensim@163.com 第 PAGE \* MERGEFORMAT 4页 非平稳时间序列突变检测的启发式分割算法(BG算法)MATLAB源代码 本源码的算法主要参考了下面参考文献:封国林,龚志强,董文杰等.基于启发式分割算法的气候突变检测研究[J].物理学报,2005,54(11):5494-5499。 function [FLAG,AllT,AllTmax,AllPTmax]=BGA(X,P0,L0) %% 非平稳时间序列突变检测的启发式分割算法 %% 输入参数列表 % X 待检测的数据,列向量存储 % P0 显著性水平门限值,低于此值的不再分割 % L0 最小分割尺度,子段长度小于此值的不再分割 %% 输出参数列表 % FLAG 分割点标记,列向量存储,长度与X相同 % AllT 与分割点对应的全部t检验序列,其首位数字为起点坐标 % AllTmax 与分割点对应的全部t检验序列的最大值 % AllPTmax 与分割点对应的全部t检验序列对应的统计显著性 %% 第一步:变量初始化 N=length(X); FLAG=zeros(N,1); FLAG(1)=0.1; FLAG(N)=0.1; AllT=cell(0,0); AllTmax=cell(0,0); AllPTmax=cell(0,0); %% 第二步:产生第一个突变点,并对序列进行分割 [T,Tmax,p,PTmax]=Tseries(X); T=[1;T]; if PTmaxP0 flag=FLAG; flag(1)=0; flag(N)=0; pos3=flag(pos2); return end %记录输出数据 FLAG(p)=1; AllT=[AllT;T]; AllTmax=[AllTmax;Tmax]; AllPTmax=[AllPTmax;PTmax]; %以下为两个控制计数器 counter=2;%下一个突变点的序号 TC=0;%临时计数器 %% while 1%设置死循环 %% 第三步:对每个段进行突变检测,能分割则分割,直到不能分割为止 pos=find(FLAG0); M=length(pos)-1;%当前子段数目 for m=1:M s=pos(m); t=pos(m+1); L=length(SubX); if L=L0 [T,Tmax,p,PTmax]=Tseries(SubX); T=[s;T]; if PTmax=P0 TC=TC+1; FLAG(s+p-1)=counter; AllT=[AllT;T]; AllPTmax=[AllPTmax;PTmax]; counter=counter+1; end end end %% 第四步:返回输出数据 if TC==0 flag=FLAG; flag(1)=0; flag(N)=0; pos3=flag(pos2); FLAG=[pos2,pos3]; return end %% TC=0; %% end function [T,Tmax,p,PTmax]=Tseries(x) %% 计算t检验统计序列的子函数 %% 参数列表 % x 时间序列,N×1列向量 % T t检验序列,N×1列向量 % Tmax t检验序列的最大值 % p t检验序列最大值对应的下标 % PTmax Tmax对应的统计显著性 %% 参数初始化 N=length(x); T=zeros(N,1); %% 以下是主循环,用于创建t检验序列 for i=3:(N-2)%最左边以及最右边的两个点没有对应的t检验值(或者说,其值初始化为0) x1=x(1:i);%序列左边部分 N1=length(x1);%左边序列的长度 x2=x(i:

您可能关注的文档

文档评论(0)

ktj823 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档