mann_kendall文档

mann_kendall执行一个标准的简单的Mann-Kendall测试来确定存在的一个重要趋势。(需要统计工具箱)

回到气候数据工具的内容

内容

语法

h = mann_kendall (y) h = mann_kendall (y,α)h = mann_kendall(…,“暗”,暗)(h p) = mann_kendall (…)

描述

h = mann_kendall (y)执行一个标准的简单的Mann-Kendall测试时间序列y来决定的一个重要趋势。如果h真正的这种趋势存在;如果h,你可以拒绝假说的一种趋势。这个函数假设y同样是采样。

h = mann_kendall (y,α)指定了α显著性水平范围在0到1。默认的α为0.05,对应于5%的显著性水平。

h = mann_kendall(…,“暗”,暗)计算指定的维度以及趋势。默认情况下,如果y是一个一维数组,沿着第一nonsingleton维度计算趋势y;如果y是一个二维矩阵,趋势是calcaulated的行(维度1)y;如果y是一个三维矩阵,这一趋势计算维度3。

(h p) = mann_kendall (…)还返回假定值的趋势。

示例1:一维数组

考虑这两个数组,一个趋势,一个没有:

x = (1:1000)”;y0 = randn(大小(x)) + 1000;%随机数据的趋势日元= randn(大小(x)) + 1000 + x / 500;%随机数据趋势的1/500情节(x, y0,“b”);持有情节(x, y₁,“r”);

帮助显示趋势,使用polyplot将情节的一级多项式趋势线y0日元

polyplot (x, y0, 1“b”,“线宽”2)polyplot (x, y₁, 1,“r”,“线宽”,2)

为了验证趋势的大小y0日元,可以使用趋势功能:

趋势(y0)
ans = 7.8691 e-05

…正如所料,这一趋势y0是零。现在检查日元:

趋势(日元)
ans = 0.0020

…和正如所料,这一趋势日元是我们故意实施的1/500。大小这两个趋势可能看起来像小数字是接近于零,而不是完全为零。所以这两种趋势显著吗?使用mann_kendall为了找到答案,开始y0:

mann_kendall (y0)
ans =逻辑0

(逻辑零)证明了一点:y0时间序列包含噪声。现在检查日元,,还记得,我们实施了1/500的趋势:

mann_kendall(日元)
ans =逻辑1

逻辑1或真正的回答证实,尽管日元包含噪声很小的大小及其趋势,这一趋势仍在默认的显著性水平α= 5%。是5%的意义不够严格吗?收紧它0.1%是这样的:

mann_kendall(0.001日元)
ans =逻辑1

这证实了这一趋势日元存在0.1%的意义。

示例2:多个时间序列

如果你有多个时间序列在一个二维矩阵,mann_kendall函数都可以操作。例如,我们将做一个数据集D使用两个一维数组从示例1:时间序列

D = (y0 y1);

默认情况下,如果输入mann_kendall是一个二维矩阵,该函数将行,所以测试的意义的趋势y0日元这是简单的:

mann_kendall (D)
ans = 1×2 0 1逻辑数组

01回答意味着没有明显趋势的第一列D,但在第二列是一个重大趋势D

如果每个时间序列在它自己的行,而不是在自己的专栏中,指定操作的维度:

Dt = D ';% ' D时间穿过列Dt。mann_kendall (Dt,“暗”,2)
ans = 2×1逻辑数组0 1

也可以指定显著性水平α。让我们真的放松我们的标准,将其设置为99.999%:

mann_kendall (Dt, 0.99999,“暗”,2)
ans = 2×1逻辑数组1 1

哇,如果我们放松标准,甚至y0噪声包含什么似乎是一个重要的趋势!

示例3:3 d数据

海洋表面温度大大改变了过去几十年?要回答这个问题,负载60 x55x802 pacific_sst数据集,其中包含一个网格的每月802海洋表面温度从1950年到2016年:

负载pacific_sst

的采样率每年12次(月度数据),使用趋势海温趋势度函数来计算,每年和使用imagescn地图。设置colormap与cmocean:

%计算对海温的趋势:tr =趋势(sst、12);%画出趋势:图imagescn(经度、纬度、tr) cb = colorbar;ylabel (cb、“风场的趋势(\ circC /年)”)cmocean (“平衡”,“主”)

上面的地图显示,在大多数地方,大海似乎变暖。但这一趋势重要吗?使用mann_kendall函数来找到答案,和情节的重要地区使用点画功能:

重要= mann_kendall (sst);%(可能需要一秒)持有点画(经度、纬度、意义)

上面的地图显示,对海温的趋势是重要的大多数地方,α= 5%的水平。请尝试用更严格的标准。

好奇什么季节可能会影响计算?试着用deseason消除季节性周期的sst数据集和计算的趋势和意义。

引用

曼,h . b .(1945),非参数检验对趋势,费雪,245 - 259。

肯德尔·m·g .(1975),等级相关方法,格里芬,伦敦。

作者信息

这个函数的一部分气候数据为Matlab工具箱。的功能和支持文档是乍得a·格林写的金宝app改编Mann_KendallSimone Fatichi函数。