爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 38067|回复: 51

[源程序] 非线性和非平稳时间序列突变检测的新方法—BG分割算法

[复制链接]

新浪微博达人勋

发表于 2013-7-7 13:40:46 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 hillside 于 2013-7-7 14:00 编辑

       以下内容摘自期刊论文《基于启发式分割算法的水文变异分析研究_陈广才》 (2008,中山大学学报(自然科学版))

         气候变化和人类活动会导致区域水文要素发生变异并出现新的特征,认识这一特征有助于掌握水文演变规律。水文变异通常可以采用统计检验的方法加以识别和判断,如滑动T检验法、滑动F检验法、游程检验、秩和检验等,这些方法多基于线性和平稳检验假定。但由于水文过程的非线性现象比较普遍,水文序列多呈现出非线性;同时由于气候变化和剧烈人类活动影响,水文序列统计特性往往随时间发生变化,序列呈现非平稳性。传统统计检验方法在检验这一类非线性非平稳水文序列时往往发生偏差(如可能检验到许多虚假变异点等)。
        2001年Bernaola-Galv‚n在分析人类心率非平稳数据中的尺度不变性时,提出了启发式分割算法(又称BG算法),用于处理非线性非平稳序列的均值变异点。该方法基于滑动t检验的思想,并对其作了相应的改变,不仅能有效地检测得到原信号中存在的均值变异点,而且大大增强了其处理非线性、非平稳信号的能力。2004年Fukuda通过具有不同统计特性的理想样本,进一步分析和验
证了该方法。与传统的分析方法相比,启发式分割算法能将非平稳序列分割为多个具有不同均值的平稳子序列(均值段),各子序列表征了不同的物理背景,分解得到的各均值段的尺度具有可变性,不受方法本身的限制,解决了以往的检测方法基于平稳和线性过程的问题;由于分割时采用多次迭代的一分为二的算法,大大减少了计算量,实用性较好;白噪声和尖峰噪声对该方法的影响较小。
        启发式分割算法目前已经在医学、气象等领域有成功的应用,但尚未应用于水文变异诊断。本文将简要介绍启发式分割算法,通过构建理想样本探讨其在水文变异检验中应用的可行性,并与传统检验方法检验性能进行对比,最后结合受剧烈人类活动影响的珠江三角洲河网三水站1900-2004年年最大洪峰流量序列资料检验其实际应用效果。
附1:matlab版(摘录)
function [FLAG,AllT,AllTmax,AllPTmax]=BGA(X,P0,L0)
%% 非平稳时间序列突变检测的启发式分割算法——BG算法
% GreenSim团队原创作品,转载请注明
% Email:greensim@163.com
% GreenSim团队主页:http://blog.sina.com.cn/greensim
% 欢迎访问GreenSim——算法仿真团队→http://blog.sina.com.cn/greensim
%% 输入参数列表
% 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);
%% 第二步:产生第一个突变点,并对序列进行分割
......

附2:fortran版(摘录)
        program segment
*************************************************************
*len为待分析数据长度,p0为分割的最小几率(信度检验),l0为最小的分割长度(可以根据需要做相应的改变)
*m0为边界处调节值,sd0为边界处的标准偏差,不同长度的序列m0值可以作适当的调整,一般可以选在5-10之间
*tg中为待分析的数据
*文件91中为待分析数据,只要改变len,91即可运行程序
*************************************************************
        real,PARAMETER::len=800,l0=30,m0=5,sdo=0.1,p0=0.95  
      real Ib,im,l,l1,l2,pc1,pc2
        real add, gama,dertai,i,j
        real p(0:len),iii,ii1(len),p1(len),p2(len),ii(len),tg(len)   

      open(91,file='test.txt')   
!91中为理想时间序列,在处理实际资料时候只要改变这个文件的内容就可
        open(95,file='结果.txt') !95中为突变检测结果      
        do k=1,len      
        read(91,*)i,tg(k)    !读数据
        write(*,*)k,tg(k)
      enddo
        close(91)  
        ......


注:BGA.m来自一商业开发性网站,可能并不完整,可自行测试。《Scale Invariance in the Nonstationarity of Human Heart Rate》是BG算法的奠基之作。说明:本人并不熟悉具体用法,只是介绍。
气象家园相关帖子:
[源代码] BG——一种突变检测方法



BG源程序(fortran,来自网络,带实例,本人未曾试过).rar

8.36 KB, 下载次数: 87, 下载积分: 金钱 -5

基于启发式分割算法检测华北和全球气候变化的特征_龚志强.caj

76.74 KB, 下载次数: 28, 下载积分: 金钱 -5

基于启发式分割算法的气候突变检测研究_封国林.caj

96.25 KB, 下载次数: 22, 下载积分: 金钱 -5

Scale Invariance in the Nonstationarity of Human Heart Rate.pdf

297.78 KB, 下载次数: 34, 下载积分: 金钱 -5

基于启发式分割算法的水文变异分析研究_陈广才.caj

241.96 KB, 下载次数: 24, 下载积分: 金钱 -5

BGA.m

3.26 KB, 下载次数: 126, 下载积分: 金钱 -5

评分

参与人数 2金钱 +25 贡献 +7 收起 理由
银行总行长 + 15 + 5
Aires + 10 + 2

查看全部评分

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-7-7 20:51:41 | 显示全部楼层
谢谢分享。。。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-7-7 20:59:29 | 显示全部楼层
谢谢分享,呵呵呵!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-7-12 15:06:54 | 显示全部楼层
BGA.m 可以用吗?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-7-13 21:02:33 | 显示全部楼层
好东西
非常感谢{:eb502:}
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-7-17 22:01:50 | 显示全部楼层
谢谢 收藏 找时间研究下
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-8-2 09:18:46 | 显示全部楼层
matlab 程序中提示错误
Output argument "p" (and maybe others) not assigned during call to
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-5-14 04:34:06 | 显示全部楼层
{:5_213:}{:5_213:}
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2014-5-14 09:42:58 | 显示全部楼层
honview 发表于 2013-8-2 09:18
matlab 程序中提示错误
Output argument "p" (and maybe others) not assigned during call to

根据介绍,matlab版属于商业性质,可能没有全部提供,需要有兴趣的网友们自行分析语句或补充。
fortran我估计是能用的,尽管我也没有用过。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-5-18 21:45:15 | 显示全部楼层
学习一下,bg突变检验
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表