滑动t检验在matlab上的实现
原理与计算公式
matlab代码
需要滑动t检验的matlab代码请根据文章最后面的信息联系我。
案例
以某地区1988-2018年年降水量为例进行突变检测,子序列长度step设为5,则t检验自由度为v=5*2-2=8,查表(https://wenku.baidu.com/view/a2f90a2758fb770bf78a55bf.html)得在0.01水平下t临界值ttest为3.335。运行代码结果如下:
结果显示:在子序列长度为5的情况下,检测时间为1992年到2012年,其中2001为突变年份。
注意:想增加头尾的检测年份数量可减少子序列长度,但子序列长度过小会降低检测效果,一般子序列长度至少取5,可以手动增加子序列长度看哪种检测更符合实际情况。
结束语
承接模型、算法代码实现(支持python、matlab、excel vba),比如REOF,有意请联系QQ947943645 ,非诚勿扰!