- 积分
- 2990
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2015-8-4
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 AnneChen 于 2017-9-4 16:48 编辑
最近在研究各种突变检测方法,和大家分享。
如有错误,还请指正。
Pettitt方法是一种与Mann Kendall 法相似的非参数检验方法
%Load data row=13, col=53
cd H:\Data;
load('NewData.mat');
Data(13,53)=0;
for i=1:13
Data(i,:)=zscore(NewData(i,:));
end
clear i;
k(13)=0;
P(13)=0;
Y(13)=0;
Max(13)=0;
Year=1750:5:2010;
for index=1:13
y=Data(index,:);
n=length(y);
s(n)=0;
for i=2:n
r=0;
for j=1:i
r=sign(y(i)-y(j))+r;
end
s(i)=r;
end
Snew=abs(s);
Max(index)=max(Snew); % obtaining the maximum value in each row
[k]=find(Snew==max(Snew)); % return the location of the maximum value (change point)
Y(index)=Year(k(1)); % return the year of the change point
P(index)=2*exp(-6*Max(index)^2/(n^3+n^2)); % if p<=0.05 then this change point is significant
end
|
|