在数值模拟实验,为了获得某个变量趋势不变时,看看它的贡献。比如,降水的增加或减少,会影响河道里水的流量。那么,我想知道,降水的变化到底对径流的贡献是多少呢? 这时候,就可以把降水的趋势去掉,再去算下流量,这样就可以比较保留降水趋势,和去掉趋势后的流量,得到降水趋势对水的流量的影响。
如下图所示,有一个月降水序列,需要对他去趋势。
方法:
1.首先由月降水,获得年降水序列,如图中的标注的2。对应的年际曲线如4所示。
2.对多年趋势(图中数字2)去趋势。其实就是一个等差数列,每个值减去趋势*序号即可。具体,获得序列2的趋势或斜率,然后对每个年数据=原始值-斜率*编号。如图中多年趋势是8.9978mm/a,如果2005年去趋势后的降水值=513.02-8.9978*(2005-2000)=468.03mm.结果如图中的数字3对应的序列。对应的去趋势后的年序列,如图中标注4的黄色线。
3.计算去趋势后与原始数据的比值,如图中的数字5所示。
4.然后,把这个比例系数应用到对应的年份上,如图中数字6所示。比如,2019年的比例系数是0.74,那么对应的月值上,每个月都乘以这个系数0.74就可以了。
这样,就到了去趋势后的月降水序列,如图中7中的黄色线所示。
------------------------------------------------------------------------------------
题外话,有同学会问,那为什么不直接对月序列做去趋势处理,而是先对年处理,然后把系数推演给月呢?原因是如果直接对去趋势,会导致最后数据别畸形矫正,偏差特别大(因为是等差数列,所以后面一部分矫正值会很大 )。为了展示直接对月值去趋势效果,下面展示如下:
可以看到,都后期的数据有的月份降水已经变成了负值了,这显然是不对的。所以,直接对月数据趋势是不合理的。