【《温度预测的BP神经网络模型分析概述》2100字】_第1页
【《温度预测的BP神经网络模型分析概述》2100字】_第2页
【《温度预测的BP神经网络模型分析概述》2100字】_第3页
【《温度预测的BP神经网络模型分析概述》2100字】_第4页
【《温度预测的BP神经网络模型分析概述》2100字】_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

-9-温度预测的BP神经网络模型分析概述(一)BP神经网络的算法结构BP神经网络的全称是误差反向传播(BackPropagation)REF_Ref12444\r\h[16]。从1986年到1988年,心理学家D.E.Rumelhart和L.L.Mcclelland首先系统地研究了神经网络的结构、节点功能和学习算法,然后提出了著名的多层网络误差反向传播学习算法,即BP算法。神经网络是应用最广泛的人工神经网络模型之一REF_Ref12483\r\h[17]。其优点主要包括工作状态稳定、硬件实现容易、结构简单等REF_Ref12535\r\h[18]。其中,最常用的神经网络是三层神经网络,其网络结构如图1所示:图1BP神经网络拓朴图图2中,表示BP神经网络的输入,表示BP神经网络的预测输出,表示BP神经网络隐含层输出,是输入层到隐含层之间的权重,是隐含层到输出层之间的权重。在神经网络学习的过程中,每一层输出计算表达式如下:隐含层的单元输出为:(3.1)输出层的单元输出为:(3.2)网络输出与期望输出之间的输出误差为:(3.3)(3.4)其中,表示隐含层的阈值,表示输出层阈值,为期望输出,为隐含层激励函数,该函数有多种表达形式,通常采用logsig、tansig、purelin等函数形式,也就是:(3.5)(3.6)(3.7)BP神经网络算法流程图如下所示:图2BP神经网络算法流程图权值更新,根据预测误差可以用来计算网络预测权值。其中为学习速率[31]。权值、阈值更新的计算表达式如下所示:(3.8)(3.9)阈值更新,根据预测误差计算节点阈值:(3.10)(3.11)(二)基于BP神经网络的温度建模1.数据处理我们从2345天气网(/wea_history/57687.htm)上爬取湖南省邵阳市2020年1月1日到2020年12月31日的每日最高温度数据和每日最低温度数据,根据公式(2.1),从而就能够计算出每日的日平均温度数据(以下称为日均值温度)。为了观察2011年1月1日到2020年12月31日的具体天数与每日日均值温度的关系,我们利用EXCEL制作散点图如下图所示:图3邵阳市2011年到2020年日均值温度散点图我们可以看到每年日均值温度的变化趋势大体一致,但是在相同具体天数下,日均值温度有差异,并且跨度较大。由于2021年日均值温度受2020年日均值温度影响较大,差异较小,所以我们可以通过观察2020年日均值温度数据,来预测2021年日均值温度的数值范围。我们利用EXCEL制作散点图如下图所示:图4邵阳市2020年日均值温度散点图从2011年到2020年每年最后一天的具体天数(具体天数为1,表示为某年的第一天,即某年的一月一日)并不完全相同,加上收集到的数据有遗漏,所以我们仅选取前350天的日均值温度,得到以下表格(由于篇幅有限,仅展示一部分):表2邵阳市2011年至2020年前350天的日平均温度具体天数11年温度12年温度13年温度14年温度15年温度1-0.576.510.57.52-0.55.531283030.512.5940.52.5-1.511.51351201212.56151.511.56.570.56.526.5881.56.536.56.59-16478.5100.55.555.58110.566.54.510.512167.548.51345757.588.5图52011年到2020年前350天的日平均温度散点图我们将前350天2011年至2019年的日均值温度指标作为训练输入,然后在使用MATLAB中自带的mapminmax()函数将这些数据进行归一化处理。网络训练完成后只需要将前90天的2012年至2020年的日均值温度作为预测输入数据,就可以得到2021年前90天预测的日均值温度。数据集如下(每列是一组输入训练集,行数表示输入层神经元的数量,列数表示训练集组的数量):输入数据集p=[-0.576.510.57.5...-1;-0.55.53128...-1.5;030.512.5913.5...0.5;];输出数据集T=[6.555]。2.BP神经网络结构设计(1)输入输出层的设计该模型将2011年至2019年的前350天日均值温度指标作为训练输入,以2020年的前350天日均值温度指标作为训练输出,因此,输入层的节点数设定为9,输出层的节点数设定为1。(2)隐层设计隐层神经元的数量没有确定的公式,只有一些经验公式。在本文中,我们参考下面的经验公式来选择隐含层的神经元数量:(3.13)上式中,n表示输入层的神经元个数,m表示隐含层的神经元个数,l则表示输出层的神经元个数,a是[1,10]之间的常数。根据上面的公式,可以计算出神经元的数量在5到14之间。在本实验中,隐层神经元的数量为6。(3)激励函数的选取由于网络的输入必须归一化到[-1,1],本文选择S型双曲正切函数tansig作为隐层神经元的激励函数。预测模型选择线性函数purelin作为输出层神经元的激励函数。(4)模型的实现利用MATLAB中的神经网络工具箱进行网络训练。将训练样本数据归一化后输入网络。初始设置隐含层神经元数为6,设置网络参数,网络迭代次数EPOCHS为5000次,预期误差目标为0.0000001,学习率LR为0.01。设置好参数后,对BP神经网络进行训练。网络训练完成后,只需要将2012年至2020年的前90天日均值温度指标输入网络,就可以得到预测的2021年的前90天的日均值温度数据。最后,将2021年前90天日均值温度的预测值与真实值相比较,进而计算平均绝对误差MAE、均方误差MSE以及均方根误差RMSE。3.误差分析隐含层节点数为6时的误差结果如下:平均绝对误差MAE为0.57322,均方误差MSE为26.0754,均方根误差RMSE为5.1064。表32021年邵阳市日均值温度的预测误差预测值1真实值误差19.267745.267712.158884.158813.21435.57.714314.98747.57.487413.53944.59.03948.89471.57.39477.9704-18.97047.85031.56.35038.86263.55.36268.39243.54.89247.62964.53.1296图6BP神经网络预测结果图7均方误差图8相关性分析我们可以看到,BP神经网络模型的均方误

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论