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逻辑数组
的0和1回答意味着没有明显趋势的第一列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函数。