基于BP神经网络的集合卡尔曼滤波算法在资料同化中的应用分析
2021-01-18李君妍
李君妍
(湖北第二师范学院计算机学院,湖北 武汉 430205)
1 引言
数值天气预报中的资料同化技术是利用多种观测资料准确表述大气当前状态,获取模式准确初值的有效途径,在功能上实现按某种算法通过计算机程序将不规则分布的观测资料,结合天气动力学和观测资料特征而得到某预定规则网格点上最可能的值,即表示尽可能准确的大气状态的分析场,提供数值天气预报模式的初值条件[1]。资料同化技术中的集合卡尔曼滤波(EnKF)克服了不能在强非线性系统中应用的缺陷,解决了卡尔曼滤波方法在计算预报误差协方差时对计算资源需求量过大的问题,不要求像四维变分同化方法发展切线性和伴随模式,可显示提供集合预报的初始扰动,在各种天气尺度中有较好的可利用性和有效性,与假定背景场误差协方差固定不变的资料同化方法相比,集合卡尔曼滤波有较明显的优势[2]。然而集合卡尔曼滤波也有不足。如果集合成员数过少,集合的平均什不能代表真实的物理状态,会造成分析结果与观测数据的偏离;有限的集合成员数只是真实大气状态的粗略近似,集合成员数远小于模式状态变量的自由度导致在求解增益矩阵时出现矩阵退化问题(即不满秩问题)而无法求逆,无法得到合理的增益矩阵。集合数有限与不满秩问题无法避免,带来同化精度下降。因此,如何提高集合卡尔曼滤波同化精度意义重大。
2 应用现状分析
集合卡尔曼滤波资料同化是利用蒙托卡罗方法设计预报状态的一组集合,该集合的样本协方差作为背景误差协方差的近似,通过模式向前积分,每个样本分别更新分析变量,对变量的最佳估计即为各更新分析变量的样本平均。1994年Geir Evensen开始把集合卡尔曼滤波应用到海洋同化领域;1998年Houtekamer和Mitchell首先把集合卡尔曼滤波引入大气资料同化系统,提出用两组集合做集合卡尔曼滤波,即用一组的集合预报后的预报误差统计作为另一组的背景误差协方差,以减少集合卡尔曼滤波中由于背景场的值和误差统计的相关性而造成的滤波发散问题[3]。另一方面,集合卡尔曼滤波会影响同化精度,如集合数有限、同化过程中不向真实大气状态收敛、分析场动力学不协调等。陈一帆等针对河网非线性动态系统的实时校正问题,设置初始集合时采用Box Muller方法生成一组服从正态分布的随机集合,提高了水情仿真与预报的计算精度。唐晓等为了解决滤波发散问题,分别采用放大集合离散度和扰动模式误差源两种方法,放大集合离散度能避免滤波发散,但没提高臭氧预报水平,反而导致预报误差增加;而扰动模式误差源不仅解决了滤波发散问题,也使同化导致的臭氧预报均方根误差下降比例得到提高。
BP网络具有结构简单、工作状态稳定、易于硬件实现等优点,在众多神经网络模型中,BP网络的应用最为广泛,尤其在模式识别、最优预测等方面。目前已有学者将神经网络与卡尔曼滤波结合以提高精度。Shuang Zhao等提出了一种基于BP神经网络的扩展卡尔曼滤波算法应用于电流传感器在线校准;韩亚坤、文鸿雁等在高速公路变形检测中提出基于神经网络的自适应卡尔曼滤波算法,模型精度明显提高。许多研究结果都表明通过神经网络修正卡尔曼滤波的分析值能在提高精度上成效明显。因此,将神经网络与集合卡尔曼滤波相结合以提高同化精度,是一个值得研究的方向。
3 研究内容分析
考虑环境的动态变化对系统模型造成的随机干扰,改进思路为:从补偿角度出发,通过实时执行神经网络输出估计误差来修正集合卡尔曼滤波的结果,即校正滤波分析值,从而提高同化精度。
1)BP神经网络的构建 首先,用一个含单层隐含层的BP神经网络,粗略估计隐含节点的初值,逐渐增加节点数量,多次反复训练,通过训练时间和均方误差确定隐含层经元的个数。2)神经网络的预处理由于集合卡尔曼滤波分析和预报过程中的数据形式与神经网络处理不同,训练神经网络前需对集合卡尔曼滤波处理后的数据进行预 处理。
4 实施过程分析
为了完成以上研究工作,可采取如下技术路线。
1)基于BP神经网络的集合卡尔曼滤波算法设计与构建。结合BP神经网络的集合卡尔曼滤波算法框架设计如下:
图1 算法框架图
利用一定精度的样本离线训练神经网络,网络的输入为能直接影响估计误差的参数,输出为卡尔曼滤波输出结果和真实值间的误差。这样,神经网络通过学习卡尔曼滤波结果的精确性,可近似确定卡尔曼滤波结果与真实值间的误差。
在训练过程中可提高神经网络的性能,如:采用均值为0,标准差为1/的高斯随机分布(n为神经元输入权重的个数)初始化权重。通过使用交叉熵代价函数以及规范化等方法解决学习速度等问题。
2)同化数值实验。利用参考文献[3],用MM5作为数值实验的模式,包含4个预报方程、3个动量方程、热力学方程以及水汽方程;10个预报量:3维风场(u,v,w)、扰动气压(p')和温度(T)以及水汽混合比(q)、云水混合比(qc)雨水混合比(qr)、云冰混合比(qi)和霰(qg);观测资料为地面探空资料,模式区域分为61×61个格距为60km的水平格点,内层格距为20km,对内层区域(108.4~122.5°E,27.3~38.7°N)进行分析垂直方向分为11层,最高层为100hPa。
为了验证算法的正确性,对比基于BP神经网络同化、基于集合卡尔曼滤波同化和基于BP神经网络的集合卡尔曼滤波同化算法的同化能力。其过程是:采用经验方法产生一组集合,每12h同化一次探空资料中的3个量。假设观测资料的误差是独立互不相关且为高斯分布,均值为0,方差分别为:为2.0m/s;为1.0K。假设预报模式是理想模式,即不考虑模式误差,用12h的短期集合预报作为此次试验的背景场并估计背景误差协方差。
5 结论
由于集合卡尔曼滤波同化存在不满秩的问题,导致矩阵求逆困难而使结果精度降低,因此引入神经网络方法,通过使用BP神经网络来估计误差,对集合卡尔曼滤波的分析值进行校正,使其得到精度较高的同化结果,可填补了BP神经网络在集合卡尔曼滤波资料同化研究中的空白。