登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
曼-肯德尔法的计算公式,在不同的参考资料中,略有不同。有些参考资料还描述的有些模糊和错误,请同学们在使用时注意。 在这里,我们用一个实例来说明曼-肯德尔法的具体做法。 应用实例 我们现在用曼-肯德尔(Mann-Kendall)法检测1900-1990年上海年平均气温序列的突变。 计算步骤 在计算时,对于具有n个样本量的时间序列x,我们首先需要构造一个秩序列sk,秩序列sk是第i 时刻的数值大于j 时刻数值的个数的累计数。若想获得魏凤英老师《现代气候统计诊断与预测技术》一书中的曼-肯德尔统计图线图(也就是书中的图5.2),那么我们不能使用这本书中的计算公式。 在这里,sk=sk-1+从i=1到k-1对ri求和,k=3,4,...,n。s2=r1。其中:当xk≥xi时,ri=1,当xk<xi时,ri=0。i=1,2,...,k-1。
然后,在时间序列随机独立的假定下,定义统计量UFk=(sk-E(Sk))/根号下var(Sk),k=2,3,...,n 其中E(Sk),var(Sk)是累计数Sk的均值和方差。在x1,x2,…,xn相互独立,而且有相同连续分布时,E(Sk)=k(k-1)/4,var(sk)=k(k-1)(2k+5)/72,k=2,3,...,n。 当k=1时,sk、E(Sk),var(Sk)均无意义,我们将UF1赋值为0。 所构造的统计量UFk为标准正态分布,它是按时间序列x的顺序x1, x2,…,xn计算出的统计量序列。 给定显著性水平α,根据正态分布的对称性,从正态分布函数表上查出与α/2水平相应的数值,即可确定出临界值uα=u(0.025)=1.96 ,如果|UFk |>uα,则表明序列存在着明显的趋势变化。uα也可由MATLAB的norminv(1-α/2,0,1)计算得到。 除了正序统计量UFk外,我们还需要计算逆序统计量UBk。 首先将时间序列x 逆序排列,也就是xn, xn-1,…, x1,得到一个序列y1,y2,...,yn; 然后计算s2k=s2k-1+从i=1到k-1对ri求和,k=3,4,...,n。k=2时,s22=r1。其中:当yk≥yi时,ri=1,当yk<yi时,ri=0。i=1,2,...,k-1。 然后计算累计数S2k的均值和方差E(S2k),var(S2k)。在y1, y2,…,yn相互独立,而且有相同连续分布时,E(S2k)=k(k-1)/4,var(S2k)=k(k-1)(2k+5)/72,k=2,3,...,n。均值和方差的计算公式跟前面是一样的。 然后,在时间序列随机独立的假定下,定义统计量UBk=-UFk=-(sk-E(Sk))/根号下var(Sk),k=2,3,...,n。
这里得到的UBk表现的是逆序列在逆序时间上的趋势统计量。在与UFk做曼-肯德尔统计曲线图寻找突变点时,UFk和UBk这两条曲线应该具有相同的时间轴,因此,再将统计量UBk按时间序列逆序排列,得到时间正序的UBk2。 最后,将UFk和UBk2这两条曲线,以及临界值u0.05=±1.96这两条直线均绘在同一张图上,得到曼-肯德尔统计曲线图。
|