1.一种基于EMD和BP神经网络的太阳10.7厘米射电流量中短期预报方法,其特征在于,包括如下步骤:S1:获取F10.7日观测值数据并进行预处理;
S2:对预处理后的F10.7日观测值数据进行归一化处理;
S3:将S2中处理后的数据通过EMD算法提取F10.7日观测值数据的IMF模态分量;
步骤S3中将S2中处理后的数据通过EMD算法提取F10.7日观测值数据的IMF模态分量,具体包括:(1)初始化IMF模态分量ci(t)为X(t),初始化残差项r(t)为X(t):ci(t)=X(t)
r(t)=X(t)
其中X(t)表示F10.7日值数据集,由若干个F10.7日值数据组成,记为X(t)={x1,x2,...,xi,...,xm};xm为第m个F10.7日值数据;
(2)识别出F10.7日观测值数据X(t)中所有的局部极值;采用样条插值法分别获取其上包络s+(t)和下包络s‑(t),计算均值包络m(t):(3)更新IMF模态分量值ci(t)如下:ci(t)=X(t)‑m(t)
(4)判断ci(t)是否符合IMF模态分量判定准则,若不符合,返回到第2步;若满足约束条件,将ci(t)作为第i个IMF模态分量;判定准则表达如下:式中,相对误差σ∈[0.2,0.3];
(5)更新残差项r(t)如下:
r(t)=r(t)‑ci(t)
(6)判断残差项r(t)是否为单调函数,若不为单调函数,i的值加1并返回第2步;若满足单调函数条件,输出k个IMF模态分量和1个残差项,并且满足:式中,k为IMF模态分量数量;
S4:对各个IMF模态分量分别进行训练集和测试集划分;
S5:将各个IMF模态分量训练集和测试集转换为可以被BP神经网络训练的监督学习样本数据;
S6:搭建BP神经网络,使用F10.7训练集训练BP神经网络,并将各个IMF模态分量的训练样本分别单独输入BP神经网络进行训练,得到IMF预报分量;将IMF模态分量的预报分量进行重构,得到最终预报值;预报值和测试集进行误差分析,获取F10.7的预报效果。
2.根据权利要求1所述的基于EMD和BP神经网络的太阳10.7厘米射电流量中短期预报方法,其特征在于,所述步骤S1具体为:通过美国太空标准与创新中心获取射电望远镜观测的F10.7原始数据,并对缺失的数据进行插值操作,得到样本数据;
所述插值操作具体为:
式中,di‑1为第i‑1个F10.7的观测值,di+1为第i+1个F10.7的观测值,ti‑1和ti+1分别表示第i‑1天和第i+1天,di为第i个F10.7的值。
3.根据权利要求2所述的基于EMD和BP神经网络的太阳10.7厘米射电流量中短期预报方法,其特征在于,步骤S2中对预处理后的F10.7日观测值数据进行归一化处理,具体为:式中,Min为样本数据的最小值,Max为样本数据的最大值,xi为归一化后的数据。
4.根据权利要求2所述的基于EMD和BP神经网络的太阳10.7厘米射电流量中短期预报方法,其特征在于,所述步骤S4中对各个IMF模态分量分别进行训练集和测试集划分,具体为:训练集和测试集按7:3比例划分。
5.根据权利要求1所述的基于EMD和BP神经网络的太阳10.7厘米射电流量中短期预报方法,其特征在于,步骤S5中将各个IMF模态分量训练集和测试集转换为可以被BP神经网络训练的监督学习样本数据,具体包括:获取第i个IMF模态分量ci(t):
式中, 表示第i个IMF模态分量中的第m个数据;
运用时间步长为1的滑动窗口方法对IMF模态分量ci(t)重构为监督学习样本集合Ci。
6.根据权利要求5所述的基于EMD和BP神经网络的太阳10.7厘米射电流量中短期预报方法,其特征在于,步骤S6中搭建BP神经网络,具体包括:建立一个三层神经网络结构,分别包含输入层、隐含层和输出层;输入层包含27个神经元;隐含层包含12个神经元;输出层包含有n个神经元,即预测天数;每层神经元与下层神经元全连接,神经元之间不存在同层和跨层连接;
训练样本可表示为:
式中, 表示第i个IMF模态分量中的第j个训练样本; 表示训练样本中输入部分的第j个数据, 表示样本输出部分的第n+26个数据的期望输出值;t表示时间;
2 3
输入层与隐含层神经元间的权值W和隐含层与输出层神经元间的权值W分别为:
2 3
隐含层神经元的偏置B和输出层神经元的偏置B分别为:分别置权值W和偏置B中的各元素一个接近于零的随机初始值;
隐含层和输出层的激活函数为公式(6):
式中,a为神经元输入值。
7.根据权利要求2所述的基于EMD和BP神经网络的太阳10.7厘米射电流量中短期预报方法,其特征在于,步骤S6中使用F10.7训练集训练BP神经网络,并将各个IMF模态分量的训练样本分别单独输入BP神经网络进行训练,得到IMF预报分量,具体包括:数据集Ci为M×(27+n)矩阵, 代表第i个IMF模态分量数据集中的第j组训练样本,记为 其中 表示训练样本的输入部分,记为 表示训练样本的期望输出,记为 其中 表示样本输出部分的第n+26个数据的期望输出值;把 输入BP神经网络进行信息前向传播计算并得到输出;计算输出与期望输出 的误差并反向传播给各个神经元更新权值W和偏置B;完整执行一次信息前向传播计算和误差反向传播即完成了一次训练迭代;BP神经网络在训练过程中会进行多次迭代,直至满足最大迭代次数或误差阈值;保存训练好的神经网络为BPnet;
其中,信息前向传播计算具体为:
对于输入层的神经元,可认为输入值等于输出值:式中,A为神经元输出值;
2
隐含层神经元的输入值Z为:
2 2 1 T 2 T
Z=W×(A) +(B)
式中,T为矩阵的转置操作;
2
隐含层神经元的输出值A为:
2 2
A=f(Z)
3
输出层神经元的输入值Z为:
3 3 2 T 3 T
Z=W×(A) +(B)
输出层神经元的输出值 为:
式中, 代表第i个IMF模态分量中未来第i个数据的预测值, 代表第i个IMF模态分量中未来n天的预测值集合。
8.根据权利要求2所述的基于EMD和BP神经网络的太阳10.7厘米射电流量中短期预报方法,其特征在于,步骤S6中将IMF模态分量的预报分量进行重构,得到最终预报值,具体为:式中, 为第i个IMF模态分量的期望值;k为IMF模态分量数量,为最终预报值集合,Y为F10.7期望值。
9.根据权利要求2所述的基于EMD和BP神经网络的太阳10.7厘米射电流量中短期预报方法,其特征在于,步骤S6中对预报值和测试集进行误差分析,获取F10.7的预报效果,具体计算公式为:式中,MAPE为平均绝对百分比误差,值越小预报准确度越高;RMSE为均方根误差,值越小预报效果越好;ρ为斯皮尔曼相关性系数,值越接近1预报效果越好;n为预测天数。