php变异测试工具,科学网—两种突变检测的matlab代码 - 张凌的博文
update: test文件已上传,方便大家理解代码,希望对需要的同志有所帮助!
(1) 累计距平均
data=xlsread('test.xlsx');
data(:,1)=[];
mean_data=mean(data);
diff_streamflow=data(:,1)-mean_data(1);
diff_baseflow=data(:,2)-mean_data(2);
diff_surfq=data(:,3)-mean_data(3);
Sum_streamflow_anomaly=zeros(55,1);
Sum_baseflow_anomaly=zeros(55,1);
Sum_surfq_anomaly=zeros(55,1);
for i=1:55;
Sum_streamflow_anomaly(i)=sum(diff_streamflow(1:i));
Sum_baseflow_anomaly(i)=sum(diff_baseflow(1:i));
Sum_surfq_anomaly(i)=sum(diff_surfq(1:i));
end
years=(1960:2014)';
xlswrite('cumulative_anomaly.xlsx',[years,Sum_streamflow_anomaly,Sum_baseflow_anomaly,Sum_surfq_anomaly])
通过绘图找到分界点即得到break point
(2) Pettitt检测
% This code is used to find the change point in a univariate continuous time series
% using Pettitt Test.
%
%
% The test here assumed is two-tailed test. The hypothesis are as follow:
% H (Null Hypothesis): There is no change point in the series
% H(Alternative Hypothesis): There is a change point in the series
%
% Input: univariate data series
% Output:
% The output of the answer in row wise respectively,
% loc: location of the change point in the series, index value in
% the data set
% K: Pettitt Test Statistic for two tail test
% pvalue: p-value of the test
%
%Reference: Pohlert, Thorsten. "Non-Parametric Trend Tests and Change-Point Detection." (2016).
%
function a=pettitt(data)
[m n]=size(data);
for t=2:1:m
for j=1:1:m
v(t-1,j)=sign(data(t-1,1)-data(j,1));
V(t-1)=sum(v(t-1,:));
end
end
U=cumsum(V);
loc=find(abs(U)==max(abs(U)));
K=max(abs(U));
pvalue=2*exp((-6*K^2)/(m^3+m^2));
a=[loc; K ;pvalue];
return
-------------------------------------
下面是函数的调用:
clc;
data=xlsread('test.xlsx');
y=data(1:end,2);%输入数据
a=pettitt(y);
参考文献:
(1)王随继等, 皇甫川流域降水和人类活动对径流量变化的贡献率分析——累积量斜率变化率比较方法的提出及应用. 地理学报, 2012. 67(3): 第388-397页
(2) Pohlert, Thorsten. "Non-Parametric Trend Tests and Change-Point Detection." (2016).
转载本文请联系原作者获取授权,同时请注明本文来自张凌科学网博客。
链接地址:http://blog.sciencenet.cn/blog-922140-1116580.html
上一篇:ArcGIS Licience过期的解决方法
下一篇:DHSVM模型计算流程
php变异测试工具,科学网—两种突变检测的matlab代码 - 张凌的博文相关推荐
- matlab获取地图边界,科学网—提取百度地图县域的矢量边界 - 张乐乐的博文
(1) 将以下代码存储为txt文件,后缀名改为html 获取地区轮廓线 var map = new BMap.Map("container"); map.centerAndZoom ...
- matlab 趋势分析,科学网—SEN趋势度分析及其MATLAB实现 - 杨建华的博文
SEN趋势度分析及其MATLAB实现 一.博文概述 1.目的 学习理解SEN趋势度分析方法及其应用,并编写简易的SEN趋势度分析函数 2.时间 2016年12月24日 3.关键词 SEN趋势度分析 ...
- 测试显卡性能的两种方法
测试显卡性能的两种方法: 方法一:利用软件包unixbench-5.1.2 用unixbench-5.1.2,需要网上下载相关源码包,并提前需要修改Makefile: GL_LIBS = -lGL - ...
- 介绍linux上两种rootkits检测工具: Rootkit Hunter和Chkrootkit
原贴:http://blog.csdn.net/linkboy2004/archive/2007/03/22/1537890.aspx 介绍linux上两种rootkits检测工具: Rootkit ...
- 两种方式设置SVN提交代码时必须填写日志
两种方式设置SVN提交代码时必须填写日志 咱们在使用SVN的时候,团队中难免有同事提交代码时忘记填写日志而直接提交,这样会导致后期维护极不方便,这并不是我们想看到的.于是下面给出两种方式来解决这个问题 ...
- matlab的灰色关联,五种灰色关联度分析matlab代码
<五种灰色关联度分析matlab代码>由会员分享,可在线阅读,更多相关<五种灰色关联度分析matlab代码(3页珍藏版)>请在人人文库网上搜索. 1.灰色邓关联分析% p12- ...
- matlab中怎么灰色关联度,五种灰色关联度分析matlab代码
五种灰色关联度分析matlab代码 灰色邓氏关联度分析% P12 -- The Study on the Grey Relational Degree and Its Application func ...
- ubuntu安装vasp_科学网—Ubuntu18.04编译VASP.5.4.1两种方法的详细过程 - 木留华的博文...
笔者根据自己的经验总结了VASP在Ubuntu系统的安装方法,分享给大家并方便自己查看. 下面两种编译方法(gfortran及MKL分别编译VASP)均需要VASP源码包及其补丁,这些可以在官网或通过 ...
- vasp测试计算机,科学网—PWSCF 自洽计算、kpoints测试和ecut测试 - 叶小球的博文
关注: 1) 自洽计算的目的是为了check结构建立是否合理,程序能否顺利运行: 2) kpoints测试的重要性: 选择合适的参数,可在保证质量的情况下,节省计算时间 3) ecut 测试的重要 ...
- python中几种读取文件的方法_科学网—python中几类文件的读写 - 郗强的博文
所使用python模块为json.csv等. 一.json文件读写 1.JSON简介:其全名为JavaScript Object Notation是一种轻量级的数据交换格式.Json最广泛的应用是作为 ...
最新文章
- iOS_Development~ 添加 / 隐藏 UITabBar 右上角的小红点
- python logging模块使用_python logging模块使用
- springCloud学习-高可用的分布式配置中心(Spring Cloud Config)
- java native内存_android java内存与native内存
- r语言中矩阵QR分解_从零开始学R语言Day4|向量、矩阵和数组
- 设置Linux下Mysql表名不区分大小写
- Dubbo——Dubbo协议整合Jackson序列化解决方案
- 数组 边界 检查的几种实现方法
- scope参数错误或没有scope权限_SSM 单体框架 - 前端开发:用户和权限模块
- 离开小米后 周受资将加入字节跳动担任CFO
- 想悄悄的做渗透测试?这里的工具足够你用了
- AJAX POST跨域 解决方案 - CORS(转载)
- python中空间的位置怎么放置_如何在空间中对齐一个位置?
- 深职院计算机专业宿舍,深圳职业技术学院宿舍怎么样 住宿条件好不好
- 怎样使用U盘启动盘安装乌班图系统
- 如何使用Git SVN工具 -- TortoiseGit(小乌龟)将本地项目上传至GitEE?【超详细教程】
- 用ps换证件照照片底色
- Linux家目录被误删除恢复
- SAP 系统银行账户管理
- 2018.10.19学习总结
热门文章
- Empty filename passed to function
- 网络安全篇 防火墙的静态路由-04
- 秒杀项目总结及面试常见问题
- 计算机内存条只认了一个,怎么解决Win10插入2个4G内存条却只显示4G?
- 【翻译】Flux安全审计已经结束
- powerdesigner16 license key
- SQL Server 按间隔时间查询记录
- 国中假期 part 1
- sh: warning: setlocale: LC_ALL: cannot change locale (zh_CN.GB18030)
- python 学生成绩统计