SEN趋势度分析及其MATLAB实现

一、博文概述

1.目的

学习理解SEN趋势度分析方法及其应用,并编写简易的SEN趋势度分析函数

2.时间

2016年12月24日

3.关键词

SEN趋势度分析  MATLAB实现

二、博文内容

1.SEN趋势度分析简介

SEN趋势度分析方法是由Sen等人1968年提出的研究长时序变化的方法(Sen,1968),计算公式如下:

$\beta =Median(\frac{x_{j}-x_{i}}{j-i}), j>i, i = 1,2,3,...,N$

其中,Xj和Xi属于待分析趋势的时间序列的元素,依据时间顺序排列。Median为中位数函数。当计算结果β大于0时表示待分析的时间序列呈现上升趋势,当计算结果β小于0时表示待分析的时间序列呈现下降趋势。

2.SEN趋势度分析的MATLAB实现

SEN趋势度分析的MATLAB实现的关键在于理解SEN的计算公式,并在具有一定MATLAB基础的情况下,将其通过MATLAB语言编写出来。

2.1 公式解析

2.2 MATLAB程序实现

基于2.1的分析,可以利用MATLAB语言实现简单版本SEN函数的编写,个人编写的函数如下:

%-------------------------------------------------------------------------%

% 函数目的:对时间序列进行SEN趋势度分析

% 时间:2016年12月24日

% 作者:东方易

% 输入A:待分析的时间序列(列向量或行向量均可)

% 输出Beta: SEN趋势分析结果

% 不足之处:假设待分析的时间序列不存在缺测、异常值等情况

%-------------------------------------------------------------------------%

function Beta = SENFun_Version1(A)

Row = length(A)*(length(A) - 1)/2;

Q = [];

for ii = 1:length(A)-1

Xi = A(ii);

for jj = (ii+1):length(A)

Xj = A(jj);

Q_Temp((jj-ii),1) = (Xj - Xi)./(jj - ii);

end

Q = [Q;Q_Temp];

clear Q_Temp %必须清除Q_Temp,否则行数不对

end

if Row == size(Q,1)

Beta = median(Q); %MATLAB按列求中位数

else

disp('请注意检查,出现错误');

end

end

转载本文请联系原作者获取授权,同时请注明本文来自杨建华科学网博客。

链接地址:http://blog.sciencenet.cn/blog-3277161-1023083.html

上一篇:MATLAB中的geotiffread函数

下一篇:R语言中的rev函数

matlab 趋势分析,科学网—SEN趋势度分析及其MATLAB实现 - 杨建华的博文相关推荐

  1. matlab+whisker,科学网—如何绘制箱线图(Box- Whisker Chart) - 陆绮的博文

    如何绘制箱线图(Box-&-Whisker Chart) 厚颜无耻的人肉翻译机小水獭又活奔乱跳滴跳出来了,本獭看到一篇文章上使用了箱线图(box-&-Whisker Chart)来表示 ...

  2. 粒子群matlab工具箱,科学网—PSO粒子群优化算法Matlab工具箱 - 白途思的博文

    PSO做实数优化有自身特性优势.而且全局寻优性能比较好. 只是该工具箱中的Trelea, Clerc两种类型的PSO我不了解,正在找这方面的资料看看. Robust Particle Swarm to ...

  3. 蹦极模型matlab仿真,科学网—蹦极的数学建模及其龙格-库塔法求解方法 - 赵也非的博文...

    论文: 蹦极的数学建模及其龙格-库塔法求解方法 在"华东师范大学首届研究生数学建模竞赛"中,获得二等奖. 发表日期: 2007年5月 摘要: 本文通过参照题中给出的数据,对蹦极者在 ...

  4. 非线性动力学 matlab,科学网—非线性脉冲耦合动力学以及Matlab 源程序 - 王又法的博文...

    在这篇文章中,我们给出了非线性脉冲和孤子耦合的理论,它包含了2阶3阶色散,模间色散,损耗增益,色散不匹配,高阶非线性等等.文章主要说明了几个非线性耦合的基本问题: 非线性脉冲耦合行为主要依赖于参量Lc ...

  5. matlab获取地图边界,科学网—提取百度地图县域的矢量边界 - 张乐乐的博文

    (1) 将以下代码存储为txt文件,后缀名改为html 获取地区轮廓线 var map = new BMap.Map("container"); map.centerAndZoom ...

  6. matlab 相位校正,科学网—全相位比值校正法 - 王兆华的博文

    加hann窗全相位比值校正法和加hann窗fft比值校正法校正方法类同,只须将二个振幅比改为振幅开方比即可.这里加hann窗是关键,过去测试时,直接调用Matlab中的hann(N)窗,频率和振幅校正 ...

  7. 单纯性搜索算法 matlab函数,科学网—一种有效的最优化方法——Nelder-Mead单纯形直接搜索算法 - 王福昌的博文...

    虽然MATLAB本身自带了fminsearch()函数,可以求解目标函数无梯度的最优化问题,但是感觉下面的程序在很多时候更好用,特别是自变量有边界和非线性约束的时候. 这里是John D'Errico ...

  8. java 调用matlab rank_科学网—Matlab: X is rank deficient - 李旭的博文

    Summary 开贴讨论Rank deficient matrix线性回归之过程.示例数据包含在附件中,x is a matrix whose columns represent random var ...

  9. 修改matlab fig,科学网—fig图片修改技巧 - 张坤的博文

    利用Matlab输图片时最好保存一份fig格式的文件,以备后续投稿时修改图片以满足期刊要求 1.打开Matlab-->打开需要的图片: 2.点击'Edit'-->'Figure prope ...

最新文章

  1. jquery图片播放切换插件
  2. CVPR2020最新15篇论文开源代码!!!
  3. FPGA 之 VGA的IP核编写
  4. 为什么3年的Java高级程序员薪水仅仅8k-10k,而一个Linux底层C语言程序员两年经验就敢要1...
  5. 传智学员信息登记表html代码_IT兄弟连 HTML5教程 HTML5文字版面和编辑标签 使用HTML表格...
  6. 2篇CIKM详解阿里妈妈搜索广告CTR模型如何低碳瘦身
  7. mysql 3.5安装_MYSQL学习笔记-06-搭建数据库
  8. NEWS - InstallShield 2015 正式发布
  9. oracle杀死进程时权限不足_在oracle中创建函数时权限不足
  10. 只需五步学会Maven 3.6.1OR 3.6.3及其他版本的下载安装与配置【图文详解】
  11. 算法(八):图解KNN算法
  12. linux内存脚本下载,linux tmpfs及消耗内存脚本
  13. Realsense D455 修改分辨率和FPS
  14. 09 Softmax回归+损失函数
  15. centos-5.5安装vmvare tools
  16. 解决网站iframe挂马方法
  17. 内存颗粒位宽和容量_内存颗粒的位数是指什么?
  18. excel countifs 计算包含了空白单元格,结果错误,不对,特别大。
  19. 【AI学习笔记】退出 Anaconda 虚拟环境时 遇到的两种报错。
  20. AI读书笔记:《智能简史(谁会替代人类成为主导物种)》

热门文章

  1. VSCode最新版本下载安装详细教程(win10)
  2. 20145312《信息安全系统设计基础》实验四 驱动程序设计
  3. 【通信系统仿真系列】基于延迟相乘鉴相的2QPSK调相通信系统仿真
  4. GCP认证考试之Storage专题
  5. 1. Java之父是谁?java哪年推出的?
  6. MyCat分片规则(全局表,ER分片表,多对多关联,主键分片VS非主键分片),MyCat常用的分片规则(15中分片规则),自定义MyCat分片规则,其它术语
  7. 【程序设计】日期和时间
  8. 怎么在pc端浏览器调试移动端页面
  9. 成功解决 git设置http代理 https代理 取消代理
  10. SW2021软件安装教程