1.一种基于BP神经网络的太阳10.7厘米射电流量预报方法,其特征在于,包括如下步骤:
S1:获取F10.7日观测值数据并进行预处理;
S2:将步骤S1中预处理后的数据转化为可以被BP神经网络训练的监督学习样本数据,最后对监督学习样本数据进行训练集和测试集划分;
S3:根据监督学习样本数据建立BP神经网络;
S4:使用F10.7训练集训练BP神经网络;
S5:使用F10.7测试集的输入部分对训练好的BP神经网络进行预报,得到预报值,将预报值和测试集的输出部分进行误差分析,获取BP神经网络的预报准确度;
S6:将相应的F10.7历史数据输入训练好的BP神经网络获取预测数据。
2.根据权利要求1所述的基于BP神经网络的太阳10.7厘米射电流量预报方法,其特征在于,所述步骤S1具体为:通过美国太空标准与创新中心获取射电望远镜观测的F10.7日观测值数据作为样本数据,并对获取的F10.7日观测值数据进行归一化处理。
3.根据权利要求2所述的基于BP神经网络的太阳10.7厘米射电流量预报方法,其特征在于,所述F10.7日观测值数据归一化处理具体为采用如下公式进行:式中,Min为样本数据的最小值,Max为样本数据的最大值,di为第i个原始数据,xi为第i个原始数据归一化处理后的数据。
4.根据权利要求2所述的基于BP神经网络的太阳10.7厘米射电流量预报方法,其特征在于,所述步骤S2具体包括:在归一化处理后的F10.7日观测值数据中获取包含有m个F10.7日值时间序列数据集合D如下:
D={x1,x2,...,xi,...,xm}式中,xi为第i个原始数据归一化处理后的F10.7日观测值数据,m为归一化处理后的F10.7数据集中的元素数量;
一次归一化处理只针对一个F10.7日观测值数据,对所有F10.7日观测值数据进行归一化处理后得到的D即为归一化后的数据集合;
运用时间步长为1的滑动窗口方法对时间序列重构为监督学习样本S;按照训练集和测试集为7:3的比例对监督学习样本数据进行划分。
5.根据权利要求2所述的基于BP神经网络的太阳10.7厘米射电流量预报方法,其特征在于,所述步骤S3具体为:建立一个三层神经网络结构,分别包含输入层、隐含层和输出层;输入层包含27个神经元,隐含层包含12个神经元,输出层包含有n个神经元;每层神经元与下层神经元全连接,神经元之间不存在同层和跨层连接;
监督学习样本数据可表示为:Si={x1,x2,...,xi,...,x27+n}式中,Si表示第i个监督学习样本数据;xi为第i个原始数据归一化后的F10.7日观测值数据;n为预测天数,每一个F10.7日观测值数据对应某一天的F10.7日观测值数据;
为了更好的区分监督学习样本数据的输入和输出部分,上述监督学习样本数据Si也可采用如下公式表示:
Si={x1,x2,...,x27,y28,y29,...,y27+n}式中,x为监督学习样本数据的输入部分数据,y为监督学习样本数据的输出部分数据,n为预测天数;
2 3
输入层与隐含层神经元间的权值W和隐含层与输出层神经元间的权值W分别为:
2 3
隐含层神经元的偏置B和输出层神经元的偏置B分别为:分别置权值W和偏置B中的各元素一个接近于零的随机初始值;
隐含层和输出层的激活函数为公式(6):式中,a为神经元输入值。
6.根据权利要求2所述的基于BP神经网络的太阳10.7厘米射电流量预报方法,其特征在于,所述步骤S4具体包括:数据集X为i×(27+n)矩阵,Si代表数据集X的第i组训练样本(X,Y);其中X表示第i组训练样本的输入部分,记为X={x1,x2,...,x27};Y表示第i组训练样本的期望输出,记为Y={y28,y29,...,yi,...,y27+n},其中yi表示未来第i天的F10.7期望输出;把X作为训练样本进行信息前向传播计算并得到输出;计算输出与期望输出Y的误差并反向传播给各个神经元更新权值W和偏置B;完整执行一次信息前向传播计算和误差反向传播即完成了一次训练迭代;BP神经网络在训练过程中会进行多次迭代,直至满足最大迭代次数或误差阈值;保存训练好的神经网络为Pnet,即预测模型Pnet。
7.根据权利要求6所述的基于BP神经网络的太阳10.7厘米射电流量预报方法,其特征在于,所述信息前向传播计算具体为:对于输入层的神经元,可认为输入等于输出:1
A=X (7)
式中,A为神经元输出值;X为神经元输入值;
隐含层神经元的输入值为:
2 2 1 T 2 T
Z=W×(A) +(B) (8)式中,T为矩阵的转置操作;
隐含层神经元的输出为:
2 2
A=f(Z) (9)
输出层神经元的输入为:
3 3 2 T 3 T
z=W×(A) +(B) (10)输出层神经元的输出为:
式中,代表未来第i天的F10.7预测值, 代表未来第n天的F10.7预测值,代表未来n天的F10.7预测值集合。
8.根据权利要求6所述的基于BP神经网络的太阳10.7厘米射电流量预报方法,其特征在于,所述误差反向传播具体为:3
首先,计算输出层的δ:
3
式中,δ表示对输出层神经元的输入求偏导的结果,Y为训练样本的期望输出集合,符号3
⊙为哈达玛积运算,f′(z)为输出层神经元的输出求偏导的结果;
2
然后,计算隐含层的δ:
2 3 T 2 2
δ=((W)δ)⊙f′(z) (13)
2 3
式中,δ表示对隐含层神经元的输入求偏导的结果,f′(z)为隐含层神经元的输出求偏导的结果;
分别求输出层和隐含层中F10.7训练数据的代价函数对权重的偏导数:分别求输出层和隐含层中F10.7训练数据的代价函数对偏置的偏导数:用批量梯度下降算法更新输出层和隐含层的参数:‑4
其中N为训练样本数,学习率μ设置为0.01,训练次数为1000次,训练目标误差为1e 。
9.根据权利要求2所述的基于BP神经网络的太阳10.7厘米射电流量预报方法,其特征在于,所述步骤S5中获得BP神经网络的预报准确度具体为:或:
式中,MAPE为平均绝对百分比误差,值越小预报准确度越高;RMSE为均方根误差,值越小预报效果越好;R为相关性系数,值越接近1预报效果越好;n为预测天数。
10.根据权利要求2所述的基于BP神经网络的太阳10.7厘米射电流量预报方法,其特征在于,所述步骤S6具体为:获取过去27日的F10.7的观测值{x1,x2,...,x27}并输入到预测模型Pnet,生成未来n天的F10.7预测值{y28,y29,...,y27+n},如下式:{y28,y29,...,y27+n}=Pnet({x1,x2,...,x27}) (25)。