CN102622515B - 一种天气预测方法 - Google Patents
一种天气预测方法 Download PDFInfo
- Publication number
- CN102622515B CN102622515B CN201210039115.2A CN201210039115A CN102622515B CN 102622515 B CN102622515 B CN 102622515B CN 201210039115 A CN201210039115 A CN 201210039115A CN 102622515 B CN102622515 B CN 102622515B
- Authority
- CN
- China
- Prior art keywords
- output
- neuron
- data
- layer
- training
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Abstract
本发明公开了天气预测方法,通过提供气温信息值,将气温信息值归一化,建立训练样本的输入输出矩阵,基于所述输出矩阵,利用神经网络进行天气预测等步骤实现天气预测。使用的改进算法可自动判别原始训练数据模式,并对其进行样本建立和归一化。该方法可适用于多种复杂情境,灵活性高,不需要提供辅助数据完成预测,预测结果可恢复至与原始训练数据相对应的数值范围。
Description
技术领域
本发明主要涉及天气预测、数据挖掘等技术领域。
背景技术
一、数据挖掘技术:
随着存储设备和数据库技术的发展,数据的存储已经不是问题,相反,人们已经开始感到被大量的数据淹没,因此,急需一种科学的方法将海量的数据转化成对人们有实际意义的知识和规律,数据挖掘就是在这个背景下产生的技术。
20世纪80年代末,数据挖掘作为新兴的研究领域悄然出现。数据挖掘的研究目的是在大型数据集中发现那些隐藏的、人们感兴趣的具有特定规律的信息。随着数据挖掘的发展,这种技术被应用在商业管理、政府办公、科学研究和工程开发等众多的领域中。
一般来说,基本的数据挖掘流程如下所示:
⑴定义问题:清晰地定义出业务问题,确定数据挖掘的目的。
⑵数据准备:数据准备包括:选择数据--在大型数据库和数据仓库目标中提取数据挖掘的目标数据集;数据预处理--进行数据再加工,包括检查数据的完整性及数据的一致性、去噪声,填补丢失的域,删除无效数据等。
⑶数据挖掘:根据数据功能的类型和数据的特点选择相应的算法,在净化和转换过的数据集上进行数据挖掘。
⑷结果分析:对数据挖掘的结果进行解释和评价,转换成为能够最终被用户理解的知识。
⑸知识的运用:将分析所得到的知识集成到业务信息系统的组织结构中去。
二、神经网络算法:
近年来,神经网络被广泛运用于时间序列分析和金融预报,这是因为神经网络具有非常强的非线性函数逼近能力,克服了传统处理方法对于数据方面的缺陷,使之在预测领域得到成功的应用。
神经网络是一种类似于大脑神经突触结构并可以进行信息处理的数学模型,它是对人脑的抽象、简化和模拟,反映了人脑的基本特性。
神经网络(图1)同时也是一种运算模型,由大量的节点(也称为神经元)和相互之间的加权连接构成。每个节点代表一种特定的输出函数,称为激励函数(activationfunction)。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称为权重(weight),这相当于神经网络的记忆。网络的输出则根据网络的连接方式、权重值和激励函数的不同而不同。而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。
神经网络主要解决数据挖掘的分类和回归任务,它可以找出输入属性和可预测属性之间平滑连续的非线性关系。
三、BP神经网络
BP(Back Propagation)网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐藏层(hide layer)和输出层(output layer)。
神经网络可以用作分类、聚类、预测等。神经网络需要有一定量的历史数据,通过历史数据的训练,网络可以学习到数据中隐含的知识。在你的问题中,首先要找到某些问题的一些特征,以及对应的评价数据,用这些数据来训练神经网络。虽然BP网络得到了广泛的应用,但自身也存在一些缺陷和不足,主要包括以下几个方面的问题。首先,由于学习速率是固定的,因此网络的收敛速度慢,需要较长的训练时间。对于一些复杂问题,BP算法需要的训练时间可能非常长,这主要是由于学习速率太小造成的,可采用变化的学习速率或自适应的学习速率加以改进。其次,BP算法可以使权值收敛到某个值,但并不保证其为误差平面的全局最小值,这是因为采用梯度下降法可能产生一个局部最小值。对于这个问题,可以采用附加动量法来解决。再次,网络隐含层的层数和单元数的选择尚无理论上的指导,一般是根据经验或者通过反复实验确定。因此,网络往往存在很大的冗余性,在一定程度上也增加了网络学习的负担。最后,网络的学习和记忆具有不稳定性。也就是说,如果增加了学习样本,训练好的网络就需要从头开始训练,对于以前的权值和阈值是没有记忆的。但是可以将预测、分类或聚类做的比较好的权值保存。
回顾各种数据挖掘预测算法的发展,我们可以看到其推广的瓶颈在于不同的算法需要不同的训练数据格式和特殊化的参数设置,而且其预测过程往往需要人为干预和设定,预测时需要提供大量的辅佐数据,预测结果也不够直观,这对于算法的推广和使用均十分不利。
发明内容
为了克服现有技术中的缺陷。本发明提供一种基于BP神经网络的天气预测方法,包括以下步骤:
步骤1、接收原始训练数据矩阵和训练时长参数;
步骤2、初始化数据,包括设定学习速率、期望误差、训练的最大次数、惯性系数、隐含层和输出层各神经元输出初值,根据原始数据动态得到矩阵行列数据p0;
步骤3、获取每列训练数据的最大值maxv(j)与最小值minv(j)后对数据进行归一化处理,使原始数据规范到0到1之间;
步骤4、根据原始训练数据得到训练样本的输入矩阵和输出矩阵;
步骤5、随机初始化权值矩阵wki和wij,wki表示隐藏层到输入层的权值矩阵,wij表示输入层到隐藏层的权值矩阵;
步骤6、计算隐藏层各神经元、输出层各神经元的输出;
步骤7、计算每个输出和隐藏神经元计算输出的误差,反向传播更新网络中的权值;
步骤8、重复步骤6,直到满足终止条件为止,该算法的终止条件为误差小于期望误差或训练次数大于最大设定值。
步骤9、根据训练后得到的权值矩阵和训练时的参数,以最后一条实际数据作为初始输入进行预测,再将预测结果作为下一天的实际数据再次进行预测,直到满足预测天数参数,预测过程同步骤6;
步骤10、将得到的预测结果矩阵进行恢复,即将归一化后的值恢复到实际数值。
一个非限制性的实施方式中,所述将归一化后的值恢复到实际数值的方法为,Res(i,j)=PredictRes(j,i)*(maxv(j)-minv(j))+minv(j),其中,PredictRes(j,i)表示未还原的预测结果,Res(i,j)表示已还原的预测结果。
所述步骤3中,归一使用p(i,j) = (p0(i,j) - minv(j))/(maxv(j) - minv(j));其中p(i,j)为i行j列的归一结果,p0(i,j)为第i行j列的历史数据,minv(j)为第j列的最小值,maxv(j)为第j列的最大值。
一个优选的实施方式中,所述原始训练数据为连续几日的最高温度和最低温度,所述预测时长为7天。
另一个可选的实施方式中,步骤6中,隐藏层输出计算公式为:O=(ea-e-a)/(ea+e-a),输出层的输出计算公式为:O=1/(1+e-a),其中a表示神经元的输入值。
步骤7中,误差计算函数为:
若为输出神经元,则误差Erri=Oi(1-Oi)(Ti-Oi),
Oi是输出神经元i的输出,Ti是该输出神经元的实际值;
若为隐藏神经元,则误差Erri=Oi(1-Oi)∑jErrjwij,
Oi是隐藏神经元i的输出,该神经元有j个到下层的输出,所述Errj是神经元j的误差,wij是这两个神经元之间的权值。
所述调整权值函数为:wij=wij+l*Errj*Oi,l为学习速度。
本发明还提供另一种类似的天气预测方法,包括以下步骤:
步骤1,提供N行2列的气温信息值,所述两列气温信息值分别为最高气温和最低气温的历史值;
步骤2,将所述N行2列的气温信息值归一化为0到1之间的数值;
步骤3,建立训练样本的输入输出矩阵,即,将第1到N-1条数据作为输入矩阵,第2到N条数据作为输出矩阵;
步骤4,基于所述输出矩阵,利用神经网络进行天气预测。
更进一步,步骤4包括:
步骤4-1,对所述神经网络进行训练;
步骤4-2,将训练样本的最后一条记录作为已知条件计算输出,并将输出结果作为已知;然后利用已知数据迭代进行预测,得到从最后一条训练数据开始到预测时长前一单位阶段的预测结果,此时1条实际数据与n-1条预测数据在同一临时结果集中;利用上述临时结果集中的数据和权值矩阵作为已知,计算得到所有的预测结果矩阵;
步骤4-3,得到预测结果矩阵之后,模型进入最后反归一化的阶段,即将归一化后的结果数据恢复成正常的温度值。
更为详细的实施方式中,所述步骤4-1中,利用神经网络进行训练进一步包括以下步骤:
步骤4-1-1,先随机初始化输入层到隐藏层、隐藏层到输出层的权值矩阵;
步骤4-1-2,计算隐藏层各神经元、输出层各神经元的输出,计算每个输出神经元和隐藏神经元输出的误差,所述误差为神经元的输出与实际数据比较所得到的误差,并反向传播更新网络中的权值,当误差小于既定的期望误差或训练次数超、过既定的最大训练次数时完成所述训练步骤,记录权值矩阵。
本发明提供的方法使用相对灵活的训练数据格式,算法可自动进行归一化、样本建立等工作,避免了因数据格式混乱而导致的算法失效等问题;另外,预测不需要提供任何辅佐数据,仅仅根据原始训练数据即可进行多属性的连续预测。且BP神经网络算法本身可适用于多种复杂情境,灵活性高。并且可自动判别原始训练数据模式,并对其进行样本建立和归一化。预测方法使用迭代预测,不需要提供辅助数据完成预测。预测结果可恢复至与原始训练数据相对应的数值范围。
附图说明
图1为神经网络基本算法示意图。
图2为本发明提供的基于BP神经网络的预测装置的功能流程图。
具体实施方式
以下结合具体的实施方式来描述本发明。
在一个非限制性的实施方式中,在天气预报方面,利用本发明的方法,只需提供一段时间内的最高温度、最低温度等数字化的历史数据,就可以预测出未来的最高温度和最低温度等信息,而且在此过程中无需提供其它额外数据辅助,预测结果也能直观体现。
以温度预测举例,提供N行2列的气温信息,列属性分别为最高温度和最低温度。装置接收到此原始数据后开始进行预处理,即将N行2列的原始温度数据归一化为0到1之间的数值;然后自动建立训练样本的输入输出矩阵,即将第1到N-1条数据作为输入矩阵,第2到N条数据作为输出矩阵,至此数据的预处理阶段完成。
此后装置进入算法学习阶段,首先随机初始化输入层到隐藏层、隐藏层到输出层的权值矩阵,然后计算隐藏层各神经元、输出层各神经元的输出,计算每个输出神经元和隐藏神经元输出的误差(与实际数据比较),并反向传播更新网络中的权值,当误差小于既定的期望误差或训练次数超过既定的最大训练次数时完成算法学习阶段的工作,记录权值矩阵进入下一阶段。
装置进入迭代预测阶段,首先,将训练样本的最后一条记录作为已知条件,利用上一步得到的权值矩阵计算输出,并将结果作为已知;然后利用已知数据迭代进行预测,得到从最后一条训练数据开始到预测时长前一单位阶段的预测结果,此时1条实际数据与n-1条预测数据在同一临时结果集中;最后,利用上述临时结果集中的数据和权值矩阵作为已知,计算得到所有的预测结果矩阵。
得到预测结果矩阵之后,装置进入最后反归一化的阶段,即将归一化后的结果数据恢复成正常的温度值。
此装置可以处理的数据需要满足条件:
1)所有属性均可数值化;
2)历史数据具有一定的时序性。
为了更进一步公开本发明的技术方案,以下介绍本发明所提出的方法的理论基础:
定义1:归一化函数为:R(i,j) = (r(i,j) - minv(j))/(maxv(j) - minv(j));
其中R(i,j)为i行j列的归一结果,r(i,j)为第i行j列的历史数据,minv(j)为第j列的最小值,maxv(j)为第j列的最大值。
定义2:算法可根据神经元类型的不同计算神经元的输出值:
如果当前是隐藏神经元,则采用tanh函数:O=(ea-e-a)/(ea+e-a);
如果当前是输出神经元,则采用sigmoid函数:O=1/(1+ea);
其中a是输入值,O是输出值。
定义3:误差计算函数为:
如果当前是输出神经元:Erri=Oi(1-Oi)(Ti-Oi)
(Oi是输出神经元i的输出,Ti是该输出神经元的实际值。)
如果当前是隐藏神经元:Erri=Oi(1-Oi)∑jErrjwij
(Oi是隐藏神经元i的输出,该神经元有j个到下层的输出。Errj是神经元j的误差,wij是这两个神经元之间的权值。)
神经网络算法示意图如图2所示。
定义4:算法的调整权值函数为:wij=wij+l*Errj*Oi(l为学习速度。)
根据上述理论,另一个更为一般性的实施方式中,一种基于改进策略的BP神经网络预测装置构建方法被提出,该装置分为六个层次,分别是数据接收层、数据预处理层、算法初始化层、算法学习层、迭代预测层和数据恢复层。
在一个非限制性的实施方式中,上述各层均使用相应的硬件或软件单元来实现,因此其也被称为数据接收单元、数据预处理单元、初始化单元、学习单元、迭代预测单元和数据恢复单元。
其中数据接收层是算法外界参数的接受层;数据预处理层和算法初始化层用于准备基础数据和参数,以便算法顺利执行;算法学习层对原始数据进行训练和学习,目的是找出权值矩阵;迭代预测层会根据训练数据来推导预测结果;数据恢复层可将归一化的预测结果恢复到原始值。
更为详细的实施方式中,对上述六个层次进行了如下非限制性的描述。
数据接收层:本层的主要功能是接收该预测装置所必需的原始训练数据和预测时长参数。其中原始训练数据要以N*N(列为属性,行与行之间存在时间关系)行列式的原始形式输入到该装置中作为原始训练数据,该数据不需要经过任何特殊处理;预测时长的单位应与原始训练数据采集时的时间单位基本保持一致,如天、小时、分钟等等。
数据预处理层:本层的主要功能是将上层接收到的原始训练数据进行自动的归一化处理,并建立训练样本的输入输出矩阵,整个过程无需人为干预和设定,由装置自动判断和处理。装置会先获得原始训练数据的行数列数,然后通过双重循环来完成归一化工作,之后再次利用双重循环来建立样本的输入输出矩阵。
算法初始化层:本层的主要功能是初始化BP神经网络算法的各项参数,如学习速率、期望误差最小值、惯性系数、最大训练次数、隐藏层和输出层各神经元初值等。
算法学习层:本层的主要功能是利用算法对训练样本进行学习,通过学习的过程不断调整隐藏层和输出层的加权系数,当误差小于最小期望误差或达到最大训练次数时,学习过程结束。本层的最终目的是得到权值矩阵。
迭代预测层:本层的主要功能是根据算法学习的成果和训练样本进行迭代预测,该层的特点是将最后的训练样本作为已知,通过学习到的各层加权系数进行运算得出第一个预测结果,再以此预测结果作为已知并推算出下一个预测结果,以此类推,迭代完成所有预测。
数据恢复层:本层的主要功能是将归一形式的预测结果恢复成与原始训练数据一致的数值范围,使预测结果具有实际意义。
下面论述该装置的实现方案:
BP神经网络是一种按误差逆传播算法训练的多层前馈网络,BP神经网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络装置拓扑结构包括输入层、隐藏层和输出层。
每个神经元有一个或多个输入但只有一个输出,神经网络算法使用加权和(每个输入值乘以与它关联的权值,然后对乘积求和)的方法组合多个输入值,然后根据神经元类型的不同计算神经元的输出值(激活):
若是隐藏神经元,则采用tanh函数:O=(ea-e-a)/(ea+e-a);
若是输出神经元,则采用sigmoid函数:O=1/(1+ea);
其中a是输入值,O是输出值。
图1显示了神经元内部进行组合和输出的计算过程,即首先使用加权和的方法组合输入值1、2和3,然后根据神经元类型的不同选择tanh或sigmoid函数得到输出结果。最后计算每个输出和隐藏神经元计算输出的误差(与实际数据比较),反向传播更新网络中的权值,直到满足算法的终止条件。
其中,误差计算函数为:
若为输出神经元:Erri=Oi(1-Oi)(Ti-Oi)
(Oi是输出神经元i的输出,Ti是该输出神经元的实际值。)
若为隐藏神经元:Erri=Oi(1-Oi)∑jErrjwij
(Oi是隐藏神经元i的输出,该神经元有j个到下层的输出。Errj是神经元j的误差,wij是这两个神经元之间的权值。)
调整权值函数为:wij=wij+l*Errj*Oi
(l为学习速度。)
在改进的BP神经网络算法中,实现步骤如下:
步骤1、接收原始训练数据矩阵和训练时长参数,以天气预测为例,原始数据可为连续几日的最高温度和最低温度,预测时长为7天。
步骤2、初始化数据,包括设定学习速率、期望误差、训练的最大次数、惯性系数、隐含层和输出层各神经元输出初值,根据原始数据动态得到矩阵行列数据p0。
步骤3、获取每列训练数据的最大值maxv(j)与最小值minv(j)后对数据进行归一化处理,使原始数据规范到0到1之间,归一使用p(i,j) = (p0(i,j) - minv(j))/(maxv(j)- minv(j));。其中p(i,j)为i行j列的归一结果,p0(i,j)为第i行j列的历史数据,minv(j)为第j列的最小值,maxv(j)为第j列的最大值。
步骤4、根据原始训练数据得到训练样本的输入矩阵和输出矩阵。
for i=1:count_sumC
for j = 1:count_sumL-1
X(i,j)= p(j,i);
T(i,j) = p(j+1,i);
end
end
其中,count_sumC表示矩阵列的数量,count_sumL表示矩阵行的数量,X为输入样本,T为输出样本,p为归一化后的训练样本。
步骤5、随机初始化权值矩阵wki和wij。其中,wki表示隐藏层到输入层的权值矩阵,wij表示输入层到隐藏层的权值矩阵。
步骤6、计算隐藏层各神经元、输出层各神经元的输出,隐藏层输出计算公式为:O=(ea-e-a)/(ea+e-a),输出层的输出计算公式为:O=1/(1+e-a)。其中a表示神经元的输入值。
步骤7、计算每个输出和隐藏神经元计算输出的误差(与实际数据比较),反向传播更新网络中的权值。
其中,误差计算函数为:
若为输出神经元:Erri=Oi(1-Oi)(Ti-Oi)
(Oi是输出神经元i的输出,Ti是该输出神经元的实际值。)
若为隐藏神经元:Erri=Oi(1-Oi)∑jErrjwij
(Oi是隐藏神经元i的输出,该神经元有j个到下层的输出。Errj是神经元j的误差,wij是这两个神经元之间的权值。)
调整权值函数为:wij=wij+l*Errj*Oi
(l为学习速度。)
步骤8、重复步骤6,直到满足终止条件为止,该算法的终止条件为误差小于期望误差或训练次数大于最大设定值。
步骤9、根据训练后得到的权值矩阵和训练时的参数,以最后一条实际数据作为初始输入进行预测,再将预测结果作为下一天的实际数据再次进行预测,直到满足预测天数参数。预测过程同步骤6。
步骤10、将得到的预测结果矩阵进行恢复,即将归一化后的值恢复到实际数值:Res(i,j)=PredictRes(j,i)*(maxv(j)-minv(j))+minv(j)。其中,PredictRes(j,i)表示未还原的预测结果,Res(i,j)表示已还原的预测结果。
现以温度预测举例,提供N行2列的气温信息,列属性分别为最高温度和最低温度。
装置接收到此原始数据后开始进行预处理工作,即将N行2列的原始温度数据利用公式p(i,j) = (p0(i,j) - minv(j))/(maxv(j) - minv(j))归一化为0到1之间的数值;然后自动建立训练样本的输入输出矩阵,即将第1到N-1条数据作为输入矩阵,第2到N条数据作为输出矩阵,至此数据的预处理阶段完成。
装置进入算法学习阶段,首先随机初始化输入层到隐藏层、隐藏层到输出层的权值矩阵,然后利用公式O=(ea-e-a)/(ea+e-a)计算隐藏层各神经元输出,利用公式O=1/(1+e-a)计算输出层各神经元的输出,之后再计算每个输出神经元和隐藏神经元输出的误差(与实际数据比较),并反向传播更新网络中的权值,当误差小于既定的期望误差或训练次数超过既定的最大训练次数时完成算法学习阶段的工作,记录权值矩阵进入下一阶段。
装置进入迭代预测阶段,首先,将训练样本的最后一条记录作为已知条件,利用上一步得到的权值矩阵用公式O=(ea-e-a)/(ea+e-a)或O=1/(1+e-a)计算输出,并将结果作为已知;然后利用已知数据迭代进行预测,得到从最后一条训练数据开始到预测时长前一单位阶段的预测结果,此时1条实际数据与n-1条预测数据在同一临时结果集中;最后,利用上述临时结果集中的数据和权值矩阵作为已知,计算得到所有的预测结果矩阵。
得到预测结果矩阵之后,装置进入最后反归一化的阶段,即将归一化后的结果数据利用公式Res(i,j)=PredictRes(j,i)*(maxv(j)-minv(j))+minv(j)恢复成正常的温度值。
改进的BP神经网络的算法流程图如图2所示。
本发明技术方案具有以下优势:
BP神经网络算法本身可适用于多种复杂情境,灵活性高。
该装置使用的改进算法可自动判别原始训练数据模式,并对其进行样本建立和归一化。
预测方法使用迭代预测,不需要提供辅助数据完成预测。
预测结果可恢复至与原始训练数据相对应的数值范围。
BP神经网络算法可适用于各种复杂的情况,但其受数据形式的影响较大,且解释结果较为困难,这种基于改进策略的BP神经网络预测装置构建方法可在很大程度上削弱人对数据的控制力,并将其用于多种环境下。
经过恢复的预测结果通过不同的工具和技术可衍生出多种结果形式,如折线图、饼状图、柱状图等,甚至特殊领域的相关图形,如交通流量图、气温变化图等。
Claims (2)
1.一种基于BP神经网络的天气预测方法,包括以下步骤:步骤1、接收原始训练数据矩阵和训练时长参数;步骤2、初始化数据,包括设定学习速率、期望误差、训练的最大次数、惯性系数、隐含层和输出层各神经元输出初值,根据原始数据动态得到矩阵行列数据p0;步骤3、获取每列训练数据的最大值maxv(j)与最小值minv(j)后对数据进行归一化处理,使原始数据规范到0到1之间;步骤4、根据原始训练数据得到训练样本的输入矩阵和输出矩阵;步骤5、随机初始化权值矩阵wki和wij,wki表示隐藏层到输出层的权值矩阵,wij表示输入层到隐藏层的权值矩阵;步骤6、计算隐藏层各神经元、输出层各神经元的输出,隐藏层输出计算公式为:O=(ea-e-a)/(ea+e-a),输出层的输出计算公式为:O=1/(1+e-a),其中a表示神经元的输入值;步骤7、计算每个输出神经元和每个隐藏神经元的计算输出与实际数据比较的误差,反向传播更新网络中的权值;步骤8、重复步骤6,直到满足终止条件为止,该预测方法的终止条件为误差小于期望误差或训练次数大于最大设定值;步骤9、根据训练后得到的权值矩阵和训练时的参数,以最后一条实际数据作为初始输入进行预测,再将预测结果作为下一天的实际数据再次进行预测,直到满足预测天数参数,预测过程同步骤6;步骤10、将得到的预测结果矩阵进行恢复,即将归一化后的值恢复到实际数值;
进入预测方法学习阶段,首先随机初始化输入层到隐藏层、隐藏层到输出层的权值矩阵,然后利用公式O=(ea-e-a)/(ea+e-a)计算隐藏层各神经元输出,利用公式O=1/(1+e-a)计算输出层各神经元的输出,之后再计算每个输出神经元和每个隐藏神经元的计算输出与实际数据比较的误差,并反向传播更新网络中的权值,当误差小于既定的期望误差或训练次数超过既定的最大训练次数时完成预测方法学习阶段的工作,记录权值矩阵进入下一阶段;
进入迭代预测阶段,首先,将训练样本的最后一条记录作为已知条件,利用上一步得到的权值矩阵用公式O=(ea-e-a)/(ea+e-a)或O=1/(1+e-a)计算输出,并将结果作为已知;然后利用已知数据迭代进行预测,得到从最后一条训练数据开始到预测时长前一单位阶段的预测结果,此时1条实际数据与n-1条预测数据在同一临时结果集中;最后,利用上述临时结果集中的数据和权值矩阵作为已知,计算得到所有的预测结果矩阵;
神经元内部进行组合和输出的计算过程,即首先使用加权和的方法组合输入值1、2和3,然后根据神经元类型的不同选择tanh或sigmoid函数得到输出结果,最后计算每个输出神经元和每个隐藏神经元的计算输出与实际数据比较的误差,反向传播更新网络中的权值,直到满足预测方法的终止条件;
所述将归一化后的值恢复到实际数值的方法为,
Res(i,j)=PredictRes(j,i)*(maxv(j)-minv(j))+minv(j),其中,PredictRes(j,i)表示未还原的预测结果,Res(i,j)表示已还原的预测结果;
所述步骤3中,归一使用p(i,j)=(p0(i,j)-minv(j))/(maxv(j)-minv(j));其中p(i,j)为i行j列的归一结果,p0(i,j)为第i行j列的历史数据,minv(j)为第j列的最小值,maxv(j)为第j列的最大值;
所述原始训练数据为连续几日的最高温度和最低温度,所述预测时长为7天;
步骤7中,误差计算函数为:若为输出神经元,则误差Erri=Oi(1-Oi)(Ti-Oi),Oi是输出神经元i的输出,Ti是该输出神经元的实际值;若为隐藏神经元,则误差Erri=Oi(1-Oi)∑jErrjwij,Oi是隐藏神经元i的输出,该神经元i有j个到下层的输出,所述Errj是第i层第j个神经元的误差,wij是第i层第j个神经元到第i+1层第j个神经元之间的权值;调整权值函数为:wij=wij+l*Errj*Oi,l为学习速度。
2.一种天气预测方法,其特征在于,包括以下步骤:步骤1,提供N行两列的气温信息值,所述两列气温信息值分别为最高气温和最低气温的历史值;步骤2,将所述N行两列的气温信息值归一化为0到1之间的数值;步骤3,建立训练样本的输入输出矩阵,即,将第1到N-1条数据作为输入矩阵,第2到N条数据作为输出矩阵;步骤4,基于所述输出矩阵,利用神经网络进行天气预测;步骤4-1,对所述神经网络进行训练;所述步骤4-1中,利用神经网络进行训练进一步包括以下步骤:步骤4-1-1,先随机初始化输入层到隐藏层、隐藏层到输出层的权值矩阵;步骤4-1-2,计算隐藏层各神经元、输出层各神经元的输出,计算每个输出神经元和每个隐藏神经元的计算输出与实际数据比较的误差,并反向传播更新网络中的权值,当误差小于既定的期望误差或训练次数超过既定的最大训练次数时完成训练步骤,记录权值矩阵;隐藏层输出计算公式为:O=(ea-e-a)/(ea+e-a),输出层的输出计算公式为:O=1/(1+e-a),其中a表示神经元的输入值;
神经元内部进行组合和输出的计算过程,即首先使用加权和的方法组合输入值1、2和3,然后根据神经元类型的不同选择tanh或sigmoid函数得到输出结果,最后计算每个输出神经元和每个隐藏神经元的计算输出与实际数据比较的误差,反向传播更新网络中的权值,直到满足预测方法的终止条件;
步骤4-2,将训练样本的最后一条记录作为已知条件计算输出,并将输出结果作为已知;然后利用已知数据迭代进行预测,得到从最后一条训练数据开始到预测时长前一单位阶段的预测结果,此时1条实际数据与n-1条预测数据在同一临时结果集中;利用上述临时结果集中的数据和权值矩阵作为已知,计算得到所有的预测结果矩阵;步骤4-3,得到预测结果矩阵之后,模型进入最后反归一化的阶段,即将归一化后的结果数据恢复成正常的温度值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210039115.2A CN102622515B (zh) | 2012-02-21 | 2012-02-21 | 一种天气预测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210039115.2A CN102622515B (zh) | 2012-02-21 | 2012-02-21 | 一种天气预测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102622515A CN102622515A (zh) | 2012-08-01 |
CN102622515B true CN102622515B (zh) | 2017-03-15 |
Family
ID=46562430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210039115.2A Active CN102622515B (zh) | 2012-02-21 | 2012-02-21 | 一种天气预测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102622515B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105376506A (zh) * | 2014-08-27 | 2016-03-02 | 江南大学 | 图像模式噪声相关性预测器的设计 |
CN104298877B (zh) * | 2014-10-13 | 2016-03-23 | 水利部交通运输部国家能源局南京水利科学研究院 | 一种可降低不确定性的气候变化情景修订方法 |
CN104410658B (zh) * | 2014-10-13 | 2018-04-27 | 北京彩彻区明科技有限公司 | 定点环境状态预报方法和装置 |
CN106096546A (zh) * | 2016-06-08 | 2016-11-09 | 李国东 | 6阶数据特征的雹云预测方法 |
CN106097401A (zh) * | 2016-06-08 | 2016-11-09 | 李国东 | 基于临界点设计的降雹指标分析方法 |
CN106097400A (zh) * | 2016-06-08 | 2016-11-09 | 李国东 | 冰雹预测的数学模型设计方法 |
CN106096545A (zh) * | 2016-06-08 | 2016-11-09 | 李国东 | 基于测度挖掘的雹云识别的方法 |
CN106097399A (zh) * | 2016-06-08 | 2016-11-09 | 李国东 | 基于峰度与角二阶矩的冰雹预测方法 |
CN108364098B (zh) * | 2018-02-08 | 2020-11-20 | 重庆邮电大学 | 一种天气特征对用户签到影响的度量方法 |
CN109034265A (zh) * | 2018-08-16 | 2018-12-18 | 湖北亿咖通科技有限公司 | 雨刮器自启动装置与方法 |
CN110059082A (zh) * | 2019-04-17 | 2019-07-26 | 东南大学 | 一种基于1D-CNN与Bi-LSTM的天气预测方法 |
CN110934061A (zh) * | 2019-12-26 | 2020-03-31 | 裕华生态环境股份有限公司 | 园林灌溉节水系统 |
CN111461925A (zh) * | 2020-04-24 | 2020-07-28 | 广东电网有限责任公司东莞供电局 | 一种配电网故障分析方法、装置、设备及存储介质 |
CN112906871A (zh) * | 2021-03-24 | 2021-06-04 | 临沂大学 | 基于混合多层神经网络模型的温度预测方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3224641B2 (ja) * | 1993-07-27 | 2001-11-05 | 中部電力株式会社 | 最大電力需要予測方法 |
JP5023325B2 (ja) * | 2005-09-01 | 2012-09-12 | 国立大学法人長岡技術科学大学 | リカレントニューラルネットワークを用いた不規則時系列データの学習・予測方法 |
US8862527B2 (en) * | 2005-11-15 | 2014-10-14 | Bernadette Garner | Neural networks and method for training neural networks |
JP5152780B2 (ja) * | 2007-09-06 | 2013-02-27 | 国立大学法人 筑波大学 | 関数近似装置、強化学習システム、関数近似システムおよび関数近似プログラム |
CN101814158A (zh) * | 2009-02-20 | 2010-08-25 | 北京联合大学生物化学工程学院 | 基于人工神经网络的实验数据分析处理方法 |
-
2012
- 2012-02-21 CN CN201210039115.2A patent/CN102622515B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN102622515A (zh) | 2012-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102622515B (zh) | 一种天气预测方法 | |
CN102622418B (zh) | 一种基于bp神经网络的预测装置及设备 | |
CN111324990A (zh) | 基于多层长短期记忆神经网络模型的孔隙度预测方法 | |
CN103226741B (zh) | 城市供水管网爆管预测方法 | |
CN107256393A (zh) | 基于深度学习的一维生理信号的特征提取与状态识别 | |
CN107301864A (zh) | 一种基于Maxout神经元的深度双向LSTM声学模型 | |
CN107506590A (zh) | 一种基于改进深度信念网络的心血管疾病预测模型 | |
CN106529820A (zh) | 一种运营指标的预测方法及系统 | |
CN103324954B (zh) | 一种基于树结构的图像分类方法及其系统 | |
CN109002917A (zh) | 基于lstm神经网络的粮食总产量多维时间序列预测方法 | |
CN103105246A (zh) | 一种基于遗传算法改进的bp神经网络的温室环境预测反馈方法 | |
CN104636801A (zh) | 一种基于优化bp神经网络的预测输电线路可听噪声方法 | |
CN107102727A (zh) | 基于elm神经网络的动态手势学习与识别方法 | |
CN110751318A (zh) | 一种基于ipso-lstm的超短期电力负荷预测方法 | |
CN106919980A (zh) | 一种基于神经节分化的增量式目标识别系统 | |
CN106529818A (zh) | 基于模糊小波神经网络的水质评价预测方法 | |
CN102034133A (zh) | 一种基于量子神经网络的多因素系统的综合评价方法 | |
CN106407690B (zh) | 一种基于自动深度置信网络的门诊量预测方法及系统 | |
CN112766600A (zh) | 一种城市区域人群流量预测方法及系统 | |
CN114548591A (zh) | 一种基于混合深度学习模型和Stacking的时序数据预测方法及系统 | |
CN112163671A (zh) | 一种新能源场景生成方法及系统 | |
CN114330541A (zh) | 道路交通事故风险预测深度学习算法 | |
CN108073978A (zh) | 一种人工智能超深度学习模型的构成方法 | |
Shi | Application of artificial neural network in college-level music teaching quality evaluation | |
Gou et al. | Fuzzy logic and grey clustering analysis hybrid intelligence model applied to candidate-well selection for hydraulic fracturing in hydrocarbon reservoir |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |