基于大数据分析的气象观测数据质量控制算法研究

2022-06-15 09:06尤嘉铖
电子设计工程 2022年11期
关键词:滤波气象权重

尤嘉铖

(中国民用航空华东地区空中交通管理局,上海 200335)

气象数据在民用领域和军用领域有着举足轻重的地位,是从事一切气象研究的基础。气象数据的质量对气象业务的发展有重要的影响[1-2],同时气象数据的质量对于气象决策类业务以及预报类业务也有至关重要的作用,例如气象预报和气象预测的准确性。目前,我国已建立了多个地面自动气象观测站[3],地面自动气象观测数据起到了重要的作用,这些数据是科研、气象服务工作的一手资料。因此快速、准确地对大量气象数据进行分析处理是有必要的,这也对气象数据的质量控制提出了更高的要求。

气象数据的一个显著特性即混沌性,主要原因是天气变化受各种因素影响较大,数据本身会存在着一定的误差。而数据稳定性通常受环境以及不同观测时间的影响,同时,天气的瞬时变化也会干扰测试数据,因此对气象数据进行质量控制也是一个需要解决的问题。目前常见的气象数据质量控制算法均是根据历史数据的统计分析结果来估算未来的变化趋势及走向。这种质量控制算法的门限值较宽,所以无法检测数据值小的波动,也无法处理当前海量的气象数据。该文在大数据的背景下将BP 神经网络与粒子滤波算法进行结合,以对气象数据进行质量控制[4]。

1 数据质量控制模型

1.1 BP神经网络模型

BP 神经网络[5-6]包含3 层结构,分别为输入层、中间层及输出层,其本质是多层前馈网络。其中输入层作为数据的输入接口,然后输入接口的元胞将数据传送到中间层,中间层一般用来做数据的处理,最后将数据传送到输出层。BP神经网络结构图如图1所示。

图1 BP神经网络结构图

图1 中BP 神经网络输入数据为向量,假设该向量为:

假设中间层中有n个神经元,则中间层的输出为:

若输出层有m个神经元,则输出为:

假定输入层至中间层的权重因子为wij,阈值因子为θj,输出层至中间层的权重因子为wjk,阈值因子为θk,则各个神经元输出应为:

其中,f()为激活函数。激活函数共有两种,分别是单极性激活函数和双极性激活函数,如式(5)、(6)所示:

通常情况下,BP 神经网络的传递分为两个过程:1)数据的正向传播;2)误差的反向传播[7-8]。正向传播即从输入层到中间层再到输出层的过程,反向传播将实际输出结果和神经网络输出结果的值进行误差比较,并反馈至神经网络中,神经网络会不断学习更新权值。BP 神经网络结构简单,且预测准确度较高,因此在工程领域有着广泛的应用。

BP 神经网络的关键是误差学习过程,下面对其误差学习过程进行说明。

BP 神经网络的学习过程通过计算均方差的值进行实际计算,假设共有N个样本数据,与其对应的期望值分别为e(1)、e(2)、e(3)、…、e(N),BP 神经网络中单个神经元的输出值与理论数据的误差平方和为:

则BP 神经网络总的误差平方和为:

网络权重的修正值应当按照梯度下降法去设定,修正值为:

由此可知,最终的BP 神经网络算法流程如图2所示。

图2 BP神经网络算法流程

由以上分析可知,BP 神经网络最适合于计算内部机制较为复杂的模型。由于气象数据具有混沌性的特点,因此使用BP神经网络可以对大量气象数据进行学习。但BP神经网络也有缺点,即在考虑数据相关联因素过多的情况下,系统的运算时间就会迅速变长,所求解出的数据结果的冗余度也会显著升高。

1.2 粒子滤波算法模型

由1.1 节可知,BP 神经网络在考虑数据相关联因素过多的情况下,系统运行速度和计算性能就会变差。因此该节引入粒子滤波算法,其算法可以对BP 神经网络搜索过程中的阶梯步长进行控制,进而减少模型冗余计算,加快运算速度[9-12]。

粒子滤波算法的本质为反复迭代后得到稳定值的过程,因此粒子滤波算法的核心方程为状态方程和量测方程,如式(10)、(11)所示:

式(10)为状态方程,Xk为粒子的下一个状态,fk为状态函数,vk-1为当前状态下的噪声值。式(11)为量测方程,Zk为量测方程下一个时间的量测数据,hk是量测系统的测量函数,nk为下一时刻的噪声值。

粒子滤波算法的运行过程为:

1)系统初始化。模型的下一时刻设定为k,下一时刻的状态为Xk,则Xk应由k-1 时刻的粒子状态去估算。

2)粒子采样过程。由式(10)状态方程对系统中粒子的下一时刻状态进行预测,采样的粒子为:

3)粒子权重计算过程。对粒子的预测值和粒子的实际值误差进行估算,然后计算权重,权重值为:

误差值越小,证明数据越准确。因此该粒子在系统中所占据的权重就越大,将实际的权重值进行归一化可得:

4)粒子重采样过程。对权重进行排序,舍弃掉权重小的粒子,重复过程2)。

5)系统结果输出。使用状态方程对过程4)中得到的粒子权重进行估计,估计值见式(15)所示,最终输出的值为误差值较小的粒子。

1.3 结合粒子滤波算法的BP神经网络模型

最终的求解模型将粒子滤波和BP 神经网络模型相结合,将当前状态下神经网络的权重作为粒子滤波当前系统的状态值Xk,同时结合噪声值vk,由状态方程即可计算下一个时刻的状态Xk+1。将此状态权值和输入层的数据值作为激活函数f()的变量值,最终将会求得神经网络的输出值。粒子滤波神经网络模型流程图如图3 所示。

图3 算法模型流程图

2 实验分析

2.1 气象数据选取

该文气象数据选择某自动气象站点某月的气象数据,这些数据在实验前均经过测试验证,气象数据共有2 000 条,其中训练集数据为1 200 条,测试验证集数据为800 条。表1 为该次气象数据选取及环境配置的情况。

表1 数据环境配置

2.2 气象数据预处理

对气象数据进行质量控制前需要计算气象数据各个要素之间的关联度,分析关联度之后进行筛选,关联性较强的数据作为神经网络模型的输入[13-16]。首先对数据进行无量纲化处理,然后计算关联度,如式(16)、(17)所示:

其中,k为数据集合中数据的序号,ri为序列关联度,关联度值越趋近于1 表明要素关联性越强。最终计算得到的关联度如表2 所示,然后将这些因素作为神经网络的权重值。

表2 气象数据关联度

2.3 实验测试与结果分析

气象自动观测站站点的气象数据有多种错误,例如数据漏测、数据突变错误、数据一致性错误等。因此该文模型将对上述几种典型错误进行质量控制实验。

首先对模型的有效性进行实验测试。该文以温度数据为例进行测试,验证模型的预估值与实际值之间的曲线,然后计算方差值。同时进行对比实验,对比算法为传统统计学算法、卡尔曼滤波算法以及该文算法。实验结果如图4 所示。

图4 模型有效性实验结果

计算得到的数据误差值,如表3 所示。

表3 模型有效性实验数据误差值统计

由曲线可以看出,文中设计的模型产生的预测曲线和实际观测值曲线接近,验证了该文算法的准确性。同时,与其他算法相比,文中算法的误差平均值最低,证明了该文算法可以对数据质量进行控制。

在数据质量控制实验中,该文选择数据跳变错误进行验证,首先将正常连续的数据插入误差值,然后再将数据输入到对比实验模型中。最终的实验结果如图5 所示,拟合误差统计结果,如表4 所示。

图5 数据质量控制实验结果

表4 数据质量控制实验误差统计

由图5 可以直观地看出,该文提出的算法模型对数据异常处的数据拟合最为接近。因此文中算法模型可对数据跳变进行监测,同时也可以进行数据的拟合,并对气象数据进行良好的质量控制。

从数据测试结果来看,使用传统统计学算法、卡尔曼滤波算法以及该文算法的拟合数据误差为0.072 2 ℃、0.400 0 ℃、0.364 0 ℃,这说明文中模型相比其他两个传统模型对于气象数据的质量控制效果更优。

3 结束语

传统的气象数据质量控制方法无法对当前大量的气象数据进行分析以及质量控制,该文使用粒子滤波算法对传统BP 神经网络模型进行优化,大幅提升了BP 神经网络模型的性能。实验分析表明,文中算法在数据质量控制过程中的误差值均较小,可以有效地对气象数据进行质量控制。在未来的研究中,将进一步优化该模型的计算能力,以期在较短的时间内完成海量的数据处理,提高分析结果的实时性。

猜你喜欢
滤波气象权重
气象树
权重望寡:如何化解低地位领导的补偿性辱虐管理行为?*
《内蒙古气象》征稿简则
权重常思“浮名轻”
基于EKF滤波的UWB无人机室内定位研究
为党督政勤履职 代民行权重担当
权重涨个股跌 持有白马蓝筹
大国气象
美丽的气象奇观
一种GMPHD滤波改进算法及仿真研究