- 积分
- 3601
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-9-8
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
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
评分
-
查看全部评分
|