一种基于神经网络的降水预测方法、装置和计算机设备

文档序号:29239351发布日期:2022-03-12 14:45阅读:204来源:国知局
一种基于神经网络的降水预测方法、装置和计算机设备

1.本发明涉及降水预测领域,特别涉及一种基于logistic回归-径向基神经网络的降水预测方法、装置和计算机设备。


背景技术:

2.对于现今的bp神经网络预测降雨方法逼近精度较低,并且bp神经网络学习速率是固定的,因此网路的收敛速度慢,需要较长的训练时间。bp网络用语函数逼近时,权值的调节采用的是负梯度下降法,这样的调节权值的方法具有局限性。其次卷积云神经网络预测降雨过于复杂需要过多降水预测因素图进行多次处理,不合适小个体进行学习预测。而后ec模式的预报评分准度不够稳定。
3.现有技术中,首先引入logistic判别模型,然后选取气象物理因子进行主成分分析,分三种方案模型进行设计,在对三个方案的结果进行分析后对降水量值预报并将效果进行检验。但是,其不足主要在于强降水大多是由中尺度系统直接造成,而目前考虑的影响因子仅包含大尺度信息;同时,模型建立在数值模式输出场的基础上,不可避免地受到模式偏差的影响,从而影响预测降水的准确率。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种基于神经网络的降水预测方法、装置和计算机设备。
5.本发明实施例提供一种基于神经网络的降水预测方法,包括:
6.获取降水数据集;
7.基于逻辑回归假设函数,构建逻辑回归降水发生模型;并根据逻辑回归降水发生模型,将降水数据集分为无降水日数据和有降水日数据;同时对于无降水日数据,输出预测无降水;
8.基于径向基神经网络,构建径向基神经网络降水量预测模型;并将有降水日数据输入径向基神经网络降水量预测模型中,输出预测降水量。
9.进一步地,所述降水数据集包括:降水影响因子;且所述降水影响因子包括:850hpa径向风、纬向风、位势高度场、相对湿度、比湿。
10.进一步地,所述根据逻辑回归降水发生模型,将降水数据集分为无降水日数据和有降水日数据,其步骤具体包括:
11.将降水数据集转化为0/1属性降水数据,并将0/1属性降水数据分为实验数据和测试数据;其中,0属性降水数据为无降水日数据,1属性降水数据为有降水日数据;
12.利用实验数据训练逻辑回归降水发生模型;
13.将测试数据输入训练好的逻辑回归降水发生模型中,获得无降水日数据和有降水日数据。
14.进一步地,所述将有降水日数据输入径向基神经网络降水量预测模型中,输出预
测降水量,其步骤具体包括:
15.将有降水日数据分为实验数据和测试数据;
16.对实验数据进行训练和参数优化;
17.将训练和参数优化后的实验数据输入径向基神经网络降水量预测模型中,对径向基神经网络降水量预测模型进行训练;并将符合误差判断范围的输出数据作为预测结果,不符合的输出数据重新进行参数优化;
18.将测试数据输入训练好的径向基神经网络降水量预测模型中,输出预测降水量。
19.进一步地,所述逻辑回归假设函数,具体包括:
20.将线性回归的输出记为:
21.z=θ
t
x=θ1x1+θ2x2+...+θnxn22.其中,θ为特征权重向量,x为特征向量;
23.引入sigmoid函数对应公式为:
[0024][0025]
经过sigmoid函数,将任意实数的输入映射到[0,1]区间内,在线性回归z中得到一个预测值,再将该预测值映射到sigmoid函数中,完成由值到概率的转换,因此,逻辑回归的假设函数hθ(x)即为对应y=1的概率值,表示为:
[0026]
p(y|x;θ(x))=(hθ(x)y(1-hθ(x))
1-y
[0027]
其中,当hθ(x)>=0.5时,预测y=1,当hθ(x)<0.5时,预测y=0。
[0028]
进一步地,所述构建逻辑回归降水发生模型,具体包括:
[0029]
将逻辑回归的假设函数概率进行整合,设立代价函数:
[0030]
p(y|x;θ(x))=(hθ(x)y(1-hθ(x))
1-y
[0031]
其中,y等于0或者1;
[0032]
相对于所有样本,m为样本数量,得到相对应的似然函数:
[0033][0034]
最终求解最大似然函数,对上述似然函数对数处理:
[0035][0036]
此时,求得的是最大值,为了转换成梯度下降任务,引入公式:
[0037][0038]
最终,求得代价函数:
[0039][0040]
在梯度下降过程中,使用链式法则对代价函数求偏导得到梯度:
[0041][0042]
其中,j为第j个特征,j(0...n),n为特征个数;
[0043]
梯度下降函数的公式为:
[0044][0045]
其中,α为学习率;
[0046]
向逻辑回归函数输入训练样本集,采用梯度下降算法训练逻辑回归降水预测模型,并采用adagrad优化算法自适应调整学习率进行模型调优,输出有降水标签;其中,adagrad优化算法公式如下:
[0047][0048]
其中,t为计算梯度的轮数,g
t,j
为从第一轮到第t轮梯度的平方和,∈为平滑项,用于避免分母为0,g
t,j
为第t轮第j个特征的梯度。
[0049]
进一步地,所述径向基神经网络,具体包括:
[0050]
径向基神经网络由输入层、输出层和隐含层3层构成;输入层节点获取输入向量后,传递输入向量到隐含层;隐含层节点由径向基函数构成,径向基函数采取高斯函数,隐含层执行非线性变换,将输入空间映射到一个新的空间;输出层为线性函数;隐含层节点和输出层节点以不同的权重完全连接;隐含层节点的激活函数对输入激励产生一个局部应激,输入向量越靠近径向基函数的中心,隐含层节点做出的应激越大;隐含层第j个节点的输出应激为:
[0051][0052]
其中,x为n维的输入向量;cj为第j个函数的中心值,与输入向量x具有相同的维度;σj为基函数第j个中心点宽度的标准化常数;k是隐含层节点数;||x-cj||为向量cj的范数,表示x与cj之间的距离;ri(x)表示第j个基函数对输入向量的应激,在cj处取得唯一最大值,且ri(x)会随着||x-cj||的增大而迅速衰减到零;输入层实现从x到ri(x)的非线性映射,而输出层实现了从ri(x)到yi的线性映射,即:
[0053][0054]
进一步地,所述构建径向基神经网络降水量预测模型,具体包括:
[0055]
对输入径向基神经网络的所有原始数据进行归一化处理:
[0056][0057]
输出时用下式将数据还原:
[0058][0059]
其中,x为输入或输出因子;x
max
、x
min
为因子x的最大值与最小值;为规范后的因子,通过此变化,使数据变换到[-1,1]区间;
[0060]
使用径向基神经网络预测日降水量,就是通过利用前n日的数据去预测第n+1目的降水量,将多月各日降水量看成是一个离散的时间序列y(t),t=1,2,3,...,认为每一时间点的数据值与此前n个时间值有关,即有一函数f使时间序列y(t)满足y(t)=f(y(t-1),y(t-2),...,(t-n)),在以10个月的数据进行反复实验后,所选取的n=4,即以过去的4个值来预测当前值,所以输入层神经元数目设为6;
[0061]
输出层神经元数目则由输出结果确定,如预测以后两天的降水量,输出层神经元数目设计为2;
[0062]
隐含层神经元数目则经过训练得出,在matlabr2016神经网络工具箱中的newrb()函数创建一个径向基神经网络,该函数在创建rbf神经网络时,从0个隐含层神经元开始训练,然后逐渐自动增加隐含层神经元数目,直到达到预定误差要求或者设定的最大隐含层神经元数为止;
[0063]
径向基神经网络需要求解的参数有3个:基函数的中心、方差、隐含层至输出层之间的权重;
[0064]
选取h个训练样本作为聚类中心ci(i=1,2,3...,h);将输入的训练样本集x
p
按最近邻规则分组,按照x
p
与中心为ci之间的欧氏距离将x
p
分配到输入样本的各个聚类集台中;计算各个聚类集合中的训练样本的平均值,即得新的聚类中心ci,如果新的聚类中心不在发生变化,则所得到的ci即为径向基神经网络的最终的基函数中心,否则返回重新求取聚类集合,进行下一轮的中心求解;
[0065]
当基函数为高斯函数时,第i个基函数中心的方差σi为:
[0066][0067]
其中,c
max
为所选取中心之间的最大距离;
[0068]
隐含层至输出层之间的神经元的连接权值用最小二乘法直接计算得到:
[0069][0070]
使用matlabr2016神经网络工具箱中的径向基神经网络函数来训练函数newrb();该函数被用来设计一个近似径向基神经网络,newrb()函数从0个隐含层神经元开始,逐渐自动增加隐含层神经元数目,直到达到预定误差要求或者设定的最大隐含层神经元数目为止,其格式为:
[0071]
【net,tr】=newrb(p,t,goal,spread,mn,df)
[0072]
其中,p为输入样本组成的r*q维矩阵;t为目标样本组成的s*q维矩阵;goal为均方误差,默认为0;spread为径向基函数的分布密度,默认为1;mn为神经元的最大数目,默认为q;df为训练过程的显示频率,默认为25;net为返回值,一个rbf函数,tr为返回值,训练记录。
[0073]
本发明实施例还提供一种基于神经网络的降水预测装置,包括:
[0074]
降水数据获取单元,用于获取降水数据集;
[0075]
降水数据分类单元,用于基于逻辑回归假设函数,构建逻辑回归降水发生模型;并根据逻辑回归降水发生模型,将降水数据集分为无降水日数据和有降水日数据;同时对于无降水日数据,输出预测无降水量;
[0076]
降水量确定单元,用于基于径向基神经网络,构建径向基神经网络降水量预测模型;并将有降水日数据输入径向基神经网络降水量预测模型中,输出预测降水量。
[0077]
本发明实施例还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
[0078]
获取降水数据集;
[0079]
基于逻辑回归假设函数,构建逻辑回归降水发生模型;并根据逻辑回归降水发生模型,将降水数据集分为无降水日数据和有降水日数据;同时对于无降水日数据,输出预测无降水量;
[0080]
基于径向基神经网络,构建径向基神经网络降水量预测模型;并将有降水日数据输入径向基神经网络降水量预测模型中,输出预测降水量。
[0081]
本发明实施例提供的上述基于神经网络的降水预测方法、装置和计算机设备,与现有技术相比,其有益效果如下:
[0082]
本发明将logistic回归和径向基神经网络相结合,logistic回归和rbf神经网络承接判断提高了预测的稳定性和准确性。具体地,通过logistic判别模型方法分等级降水预测后,在获取降水数据集后构建逻辑回归降水预测算法模型,通过逻辑回归降水预测模型筛选预测结果为1的数据集并将数据集代入径向基神经网络模型,并对数据进行网络训练以及参数优化将得到的数据进行误差判断,将符合要求的数据输出,不符合要求的数据则重新进行参数优化,直到输出完全部数据,这样可以有效的避免大暴雨情况的预测不准确,从而提升预测降水的准确率。
附图说明
[0083]
图1为一个实施例中提供的一种基于logistic回归-径向基神经网络的降水预测方法的流程示意图。
具体实施方式
[0084]
为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
[0085]
参见图1,一个实施例中,提供的一种基于神经网络的降水预测方法,该方法包括:
[0086]
步骤一、获取降水数据和其影响因子并进行预处理以获取数据样本集,影响因子
包括:850hpa径向风、纬向风、位势高度场、相对湿度、比湿。需要说明的是,降水数据和其影响因子的相关数据可以在美国国家环境预报中心及国家气象科学数据中心等有关部门下载。
[0087]
步骤二、将降水数据集化为0-1属性数据,然后将数据分为实验数据和测试数据,利用实验数据训练逻辑回归降水发生模型,将测试数据输入训练好的逻辑回归降水发生模型,将降水数据进行分类。
[0088]
步骤三、根据逻辑回归降水发生模型结果,对于预测结果为0的数集(无降水日),输出预测结果为无降水:对于预测结果为1的数集(有降水日数),输入径向基(rbf)神经网络降水量预测模型预测降水量。
[0089]
步骤四、将逻辑回归降水预测模型预测结果为1的数据集分为实验数据和测试数据,对实验数据集进行网络设计训练和参数优化。径向基函数需要训练的参数:基函数中心以及方差,可用k-均值算法求取:而隐层到输出层则需要训练权值这一参数,这也可以通过公式求取。
[0090]
步骤五、对网络输出结果进行误差判断并测试网络,将符合误差判断范围的数据输出作为预测结果,不符合的数据则返回步骤五、直至满足允许误差。
[0091]
步骤六、将测试数据输入训练好的rbf神经网络降水量预测模型,预测降水量。
[0092]
步骤七、根据rbf神经网络降水量预测模型结果输出有降水日的降水量。
[0093]
本发明运用logistic回归-径向基神经网路的降水预测,具体地,rbf网络可以任意精度逼近任意的非线性函数,且具有全局逼近能力,从根本上解决了bp网络的局部最优问题,而且拓扑结构紧凑,结构参数可实现分离学习,收敛速度快;rbf神经网络可以根据具体问题确定相应的网络拓扑结构,具有自学习、自组织、自适应功能,它对非线性连续函数具有一致逼近性,学习速度快,可以进行大范围的数据融合,可以并行高速地处理数据;相对于bp神经网络的局限性,rbf神经网络扩大了降水预测。logistic判别模型的降水预报比ec模式预报有更高的晴雨、小雨、暴雨ts评分以及更稳定的预报结果。
[0094]
上述逻辑回归降水发生模型的构建,具体包括:
[0095]
1)设立假设函数
[0096]
将线性回归的输出记为:
[0097]
z=θ
t
x=θ1x1+θ2x2+...+θmxn
[0098]
其中,θ为特征权重向量,x为特征向量。
[0099]
由于线性回归的输出结果是实数域中连续的,因此引入sigmoid函数对应公式为:
[0100][0101]
当自变量取值为任意实数时,值域为[0,1],经过sigmoid函数,将任意的输入映射到[0,1]区间内,从而在线性回归z中得到一个预测值,再将该值映射到sigmoid函数中,从而完成由值到概率的转换,因此,逻辑回归的假设函数为:
[0102]
p(y|x;θ(x))=(hθ(x)y(1-hθ(x))
1-y
[0103]
逻辑回归的假设函数hθ(x)即为对应y=1的概率值,可以表示为:
[0104]
p(y|x;θ(x))=(hθ(x)y(1-hθ(x))
1-y
[0105]
2)设置判断规则
[0106]
一般情况下,判定当hθ(x)>=0.5时,预测y=1,当hθ(x)<0.5时,预测y=0。
[0107]
3)根据所述假设函数设立代价函数
[0108]
在计算代价函数过程中,将上述假设函数概率进行整合,以得出:
[0109]
p(y|x;θ(x))=(hθ(x)y(1-hθ(x))
1-y
[0110]
其中,y等于0或者1。
[0111]
4)对所述代价函数求偏导、以得到梯度,并构建梯度下降函数
[0112]
由于每个样本最后得出的概率值都是独立的,因此,相对于所有样本来说,可以得到相对应的似然函数:
[0113][0114]
其中,m为样本数量
[0115]
最终求解最大似然函数,即所有样本数据最终求得的越来越好,为了便于计算,对上述似然函数对数:
[0116][0117]
此时,求得的是最大值,为了转换成梯度下降任务,引入公式:
[0118][0119]
最终,求得代价函数:
[0120][0121]
在梯度下降过程中,使用链式法则对代价函数求偏导得到梯度:
[0122][0123]
其中,j为第j个特征,j(0...n),n为特征个数。
[0124]
梯度下降函数的公式为:
[0125][0126]
其中,α为学习率。
[0127]
5)判断规则为设定阈值为0.5,若假设函数值的值小于0.5,则预测为无降水日;反之,则有降水日。在本实施例中,当逻辑回归降水预测模型构建后,向其内输入训练样本集,
以进行模型训练,从而输出有降水标签。模型训练具体包括:向所述算法模型内输入所述训练样本集;自适应调整学习率,并进行模型调优。为了保证模型的训练效果,当使用梯度下降算法训练模型时,采用adagrad优化算法对其进行模型调优,根据训练的程度自适应的调整学习率,越接近最小值时学习率越小,防止学习率过大导致代价函数无法逼近最小值或学习率过小导致模型训练收敛过慢。adagrad优化算法公式如下:
[0128][0129]
其中,t为计算梯度的轮数,g
t,j
为从第一轮到第t轮梯度的平方和,∈为平滑项,用于避免分母为0,g
t,j
为第t轮第j个特征的梯度。
[0130]
上述径向基rbf神经网络预测降水量模型的构建,具体包括:
[0131]
1)rbf神经网络由输入层、输出层和隐含层3层构成。输入层节点获取输入向量后,传递输入向量到隐含层。隐含层节点由径向基函数构成,径向基函数可采取多中形式(通常为高斯函数)。隐含层执行非线性变换,将输入空间映射到一个新的空间。输出层为简单的线性函数。隐含层节点和输出层节点以不同的权重完全连接。隐含层节点的激活函数对输入激励产生一个局部应激,输入向量越靠近基函数的中心,隐含层节点做出的应激越大。隐含层第j个节点的输出应激为:
[0132][0133]
其中,x为n维的输入向量;cj为第j个函数的中心值,与输入向量x具有相同的维度;σj为基函数第j个中心点宽度的标准化常数;k是隐含层节点数;||x-cj||为向量cj的范数,表示x与cj之间的距离;ri(x)表示第j个基函数对输入向量的应激,在cj处取得唯一最大值,且ri(x)会随着||x-cj||的增大而迅速衰减到零;输入层实现从x到ri(x)的非线性映射,而输出层实现了从ri(x)到yi的线性映射,即:
[0134][0135]
2)数据预处理:
[0136]
直接以原始数据对网络进行训练会引起神经元饱和,所以在利用神经网络进行建模预测前需要对输入rbf网络模型的所有原始数据进行预加工处理,以达到消除原始数据形式不同的目的。一般的做法是对原始数据进行归一化预处理。归一化处理方法:
[0137][0138]
输出时用以下数据将数据还原:
[0139][0140]
其中,x为输入或输出因子;x
max
、x
min
为因子x的最大值与最小值;为规范后的因子,通过此变化,使数据变换到[-1,1]区间。
[0141]
3)输入、输出和隐含层神经元数目
[0142]
使用rbf神经网络模型预测日降水量,就是通过利用前n目的数据去预测第n+1目的降水量,将多月每日降水量看成是一个离散的时间序列y(t),t=1,2,3,...。认为每一时间点的数据值与此前n个时间值有关,即有一函数f使时间序列y(t)满足y(t)=f(y(t-1),y(t-2),...,(t-n))。在以10个月的数据进行反复实验后,所选取的n=4,即以过去的4个值来预测当前值,所以输入层神经元数目设为6。
[0143]
输出层神经元数目则由输出结果确定,如预测以后两天的降水量,输出层神经元数目设计为2。
[0144]
隐含层神经元数目则经过训练得出,可在matlabr2016神经网络工具箱中的newrb()函数创建一个rbf神经网络,该函数在创建rbf神经网络时,从0个隐含层神经元开始训练,然后逐渐自动增加隐含层神经元数目,直到达到预定误差要求或者设定的最大隐含层神经元数为止。
[0145]
4)rbf神经网络学习算法
[0146]
rbf神经网络需要求解的参数有3个:基函数中心、方差、隐含层至输出层之间的权重。
[0147]
a)使用k-均值聚类方法求取基函数的中心:
[0148]
先选取h个训练样本作为聚类中心ci(i=1,2,3....h);然后将输入的训练样本集x
p
按最近邻规则分组,按照x
p
与中心为ci之间的欧氏距离
·
将x
p
分配到输入样本的各个聚类集合中;之后,计算各个聚类集合中的训练样本的平均值,即新的聚类中心ci,如果新的聚类中心不在发生变化,则所得到的ci即为rbf神经网络的最终的基函数中心,否则返回第二步重新求取聚类集合,进行下一轮的中心求解。
[0149]
b)求解方差,当基函数为高斯函数时,方差为:
[0150][0151]
其中,c
max
为所选取中心之间的最大距离;σi为第i个基函数中心的方差。
[0152]
c)隐含层至输出层之间的神经元的连接权值可以用最小二乘法直接计算得到:
[0153][0154]
5)下面使用matlabr2016神经网络工具箱中的rbf神经网络函数来训练函数newrb();该函数可以用来设计一个近似径向基神经网络,newrb()函数可以从0个隐含层神经元开始,逐渐自动增加隐含层神经元数目,直到达到预定误差要求或者设定的最大隐含层神经元数目为止。其格式为:
[0155]
【net,tr】=newrb(p,t,goal,spread,mn,df)
[0156]
其中,p为输入样本组成的r*q维矩阵;t为目标样本组成的s*q维矩阵;goal为均方误差,默认为0;spread为径向基函数的分布密度,默认为1;mn为神经元的最大数目,默认为q;df为训练过程的显示频率,默认为25;net为返回值,一个rbf函数,tr为返回值,训练记录。
[0157]
6)误差判断
[0158]
在计算中,为了评价预测效果,用了以下几个统计指标值。
only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
[0176]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。还有,以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1