Sen+MK趋势分析

  • 结果
  • 原理
  • 实现
  • 非平稳时间序列突变检测 -- Bernaola Galvan分割算法

​Sen 斜率估计用于计算趋势值,通常与MK非参数检验结合使用。即首先计算Sen趋势值,然后使用MK方法判断趋势显著性。

结果

去看原文

原理

Theil-Sen Median方法又被称为 Sen 斜率估计,是一种稳健的非参数统计的趋势计算方法。该方法计算效率高,对于测量误差和离群数据不敏感,常被用于长时间序列数据的趋势分析中。
β=mean(xj−xij−i),∀j>i\beta=mean(\frac{x_j-x_i}{j-i}),\forall{j>i}β=mean(j−ixj​−xi​​),∀j>i

式中:xjx_jxj​和xix_ixi​为时间序列数据。β大于0表示时间序列呈现上升趋势;β小于0表示时间序列呈现下降趋势。

Mann-Kendall是一种非参数统计检验方法,最初由Mann在1945年提出,后由Kendall和Sneyers进一步完善,其优点是不需要测量值服从正态分布,也不要求趋势是线性的,并且不受缺失值和异常值的影响,在长时间序列数据的趋势显著检验中得到了十分广泛的应用。其统计检验方法如下:

对于时间序列 Xi,i=1,2,...i,...j,...,nX_i,i=1, 2, ...i, ...j, ..., nXi​,i=1,2,...i,...j,...,n。定义标准化检验统计量 Z:



式中:xjx_jxj​和xix_ixi​为时间序列数据,nnn为数据个数;当n≥8n≥8n≥8时,检验统计量SSS近似为正态分布,其均值和方差如下:

在给定显著性水平α下,如果∣Z∣>Z1−α2|Z|>Z_{1-\frac{α}{2}}∣Z∣>Z1−2α​​,表明不存在趋势的假设被拒绝,时间序列数据存在明显的趋势变化。Z1−α2Z_{1-\frac{α}{2}}Z1−2α​​为在置信水平α下,标准正态函数分布表对应的值。当ZZZ的绝对值大于1.65、1.96和2.58时,表示趋势分别通过了信度为90%、95%和99%的显著性检验。

实现

Sen趋势值计算:

% @author geo_data_analysis@163.com
% 基于Sen的趋势值
[a,R]=geotiffread('C:\Users\ca\Desktop\sen+mk趋势分析\data\1982_mvc.tif');
info=geotiffinfo('C:\Users\ca\Desktop\sen+mk趋势分析\data\1982_mvc.tif');
[m,n]=size(a);
datasum=zeros(m*n,34)+NaN;
k=1;
for year=1982:2015 filename=['C:\Users\ca\Desktop\sen+mk趋势分析\data\',int2str(year),'_mvc.tif'];data=importdata(filename);data=reshape(data,m*n,1);datasum(:,k)=data;k=k+1;
end
% ...完整源码见原文

MK检验结果:

% @author geo_data_analysis@163.com
% MK趋势显著性检验
[a,R]=geotiffread('C:\Users\ca\Desktop\sen+mk趋势分析\data\1982_mvc.tif');
info=geotiffinfo('C:\Users\ca\Desktop\sen+mk趋势分析\data\1982_mvc.tif');
[m,n]=size(a);
cd=34;
datasum=zeros(m*n,cd)+NaN;
p=1;
for year=1982:2015      filename=['C:\Users\ca\Desktop\sen+mk趋势分析\data\',int2str(year),'_mvc.tif'];data=importdata(filename);data=reshape(data,m*n,1);datasum(:,p)=data;      p=p+1;
end
% ...完整源码见原文

去看原文

非平稳时间序列突变检测 – Bernaola Galvan分割算法

非平稳时间序列突变检测 – Bernaola Galvan分割算法

原文有源码,更多内容,请关注地学分析与算法。

Sen+MK趋势分析相关推荐

  1. Sen+MK趋势分析(基于点数据)

    1 回顾 最早分享过Sen+MK趋势分析,当时是基于栅格逐像元的处理,详细内容见第一篇分享. 很多时候也会遇到如下情况,分析的数据是站点的连续数据,然后想分析站点数据的趋势分析以及显著性检验. 2 样 ...

  2. 经验分享 | SEN+Mk趋势分析(matlab代码分享)

    代码分享 方法介绍:Sen 斜率估计用于计算趋势值,通常与MK非参数检验结合使用.即首先计算Sen趋势值,然后使用MK方法判断趋势显著性 示例:1984-2018NDVI年最大值趋势分析 注意:在对N ...

  3. NDVI时间序列分析之Sen+MK分析全过程梳理

    NDVI时间序列分析之Sen+MK分析全过程梳理 Sen斜率估计用于计算趋势值,通常与MK非参数检验结合使用,即先计算Sen趋势值,然后使用MK方法判断趋势显著性. 原理 Theil-Sen Medi ...

  4. matlab中NDVI趋势分析,【文献阅读笔记】Sen+MK NDVI趋势分析的一些问题

    [文献阅读笔记]Sen+MK NDVI趋势分析的一些问题 引言 Sen+MK一般用于非参数的趋势估计,最开始用于水文学,计算河流流量的时间变化,后来被引入到多个学科中. Theil–Sen Media ...

  5. 基于matlab-arcgis用sen+mk求趋势分析和显著性分析

    clc; clear; % 基于Sen的趋势值 [a,R]=geotiffread('C:\Users\smv16\Desktop\栅格数据\Wet-VPD-xianzhu\Wet-VPD\19801 ...

  6. 线性回归+MK趋势分析对1980-2020全球洪灾受灾情况进行分析

    1.数据 40年的洪灾统计数据,包含八个相关因子: 2.线性回归 直接在excel里生成线性趋势线,用拟合函数作为线性函数: 3.MK趋势分析+泰森斜率MATLAB源码: MATLAB泰森斜率+MK趋 ...

  7. 对青藏高原进行MK趋势分析

    1.参考文献 青藏高原的范围以青藏高原科学数据中心的TPBoundary_new (2021)矢量数据为准. 国家青藏高原科学数据中心https://data.tpdc.ac.cn/zh-hans/d ...

  8. 【趋势分析方法二】MATLAB实现改进M-K趋势分析

    MATLAB实现改进M-K趋势分析 1 Modified Mann-Kendall检验 1.1 原理 1.2 MATLAB实现代码 2 案例 2.1 M-K趋势检验 2.2 MMK趋势检验 2.3 P ...

  9. Sen+MK长时间序列趋势性分析----基于python的代码实现

    sen+mk python实现代码免费共享-----赶紧收藏吧 python开源社区公布了进行sen+mk趋势性检验的官方包,有关该官方包的主要内容详见:https://github.com/Code ...

最新文章

  1. EasyUi – 4.datagrid
  2. 使用nginx后如何在web应用中获取用户ip及原理解释
  3. 图像识别 43个模型
  4. 【HDU - 1542】Atlantis (线段树,扫描线)
  5. python 冒泡排序 时间复杂度
  6. Java-当前对象this
  7. 分解cad图纸的蜂鸟工具_知道这些CAD统计技巧,让你计算事半功倍!
  8. 【kafka】kafka 控制台 消费 ip 却找 域名 报错 Can‘t resolve address UnresolvedAddressException
  9. 实现Kubernetes跨集群服务应用的高可用
  10. datagrid数据导出到excel文件给客户端下载的几种方法(转)
  11. CentOS下搭建docker+.net core
  12. SpringBoot(四):mybatis之通用mapper、分页插件PageHelper
  13. 7628刷breed_我的刷breed机方法 一步一图超详细
  14. windows副本不是正版怎么解决_黑屏、蓝屏、卡顿、死机怎么解决?教你免重装Windows解决问题...
  15. 2020.11.23Junit详解
  16. 天大18年c语言离线作业,2018春 Python语言程序设计(天津大学仁爱学院)-中国大学mooc-题库零氪...
  17. 幼儿园科学室创设特点
  18. Zookeeper主要应用场景
  19. Linux常用命令及快捷键
  20. 小资金超短线如何实现快速翻倍?

热门文章

  1. 中秋节支付宝口令红包解析
  2. [论文阅读]Neural Machine Translation By Jointly Learning to Align and Translate
  3. 在武测学习(一):神经网络入门——《Python深度学习》学习笔记
  4. 等级保护防火墙_安全防护设备
  5. 使用快速权重来关注最近的过去
  6. 零基础如何学习ps?
  7. HTML5+app开发学习之快速入门篇
  8. R5 2600到R5 5600的性能提升
  9. Lu尼玛音乐小课堂(一):一些基本的音乐常识
  10. Particle designer 粒子工具属性介绍及使用