||
在处理气象数据时,会经常遇到数据缺失的情况,针对问题,分三种情况进行处理。
(1)for missing data = 1 hour, average the values from each side of that hour.
(2)for 2 hours <= missing data <= 24 hours, average the values from 24 hours before and after each of the hours in that period.
(3)for missing data > 24 hours, using the arima model (atuoregressive integrated moving average model ). Here look the missing data number of hours before and after the missing period to fill the missing period
关于前两种方法比较简单,对于第三种方法,我纠结了好久,因为我没搞清楚是两组计算结果怎么linearly ingterpolated。 为此我做了如下的实验。原来采用加权平均得到的,其中w1=n-i+1/n+1; w2=i/n+1,其中i表示第几个缺少数据,n表示总共的缺失数据。
实际中发现,当missing data的长度越大时,第三种方法精度会很低。如下图。
这时候需要分两种情况进行处理。(4)如果气象要素具有明显的日周期变化,则向前和向后追寻有效观测值,每次增加的步长为24小时,一旦找到则停止迭代。然后将前后找到的两个值进行平均,得到missing data的值。(5)如果没有周期性变化,则采用前后有效观测时段的值进行平均,ave = sum /n_counts。有效观测时段是指期间没有missing data。
例如,温度数据,采用第4种方法,结果如下图。精度明显提高。
参考文献:
Liston, G.E. and K. Elder, A meteorological distribution system for high-resolution terrestrial modeling (MicroMet). Journal of Hydrometeorology, 2006. 7(2): p. 217-234.
http://www.xiaolingzi.com/?p=937
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-13 16:48
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社