首页 基于神经网络的时用水量预测模型

基于神经网络的时用水量预测模型

举报
开通vip

基于神经网络的时用水量预测模型 毕业论文 题 目 基于神经网络的时用水量预测模型 专 业 给水排水工程专业 班 级 03(2)班 学生姓名 周建强 指导教师 陈磊 0607学年 基于神经网络的时用水量预测模型 姓 名:周建强 班 级:给排水03(2)班 指导...

基于神经网络的时用水量预测模型
毕业论文 题 目 基于神经网络的时用水量预测模型 专 业 给水排水 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 专业 班 级 03(2)班 学生姓名 周建强 指导教师 陈磊 0607学年 基于神经网络的时用水量预测模型 姓 名:周建强 班 级:给排水03(2)班 指导教师:陈磊 摘要 长期以来,精确预测时用水量是实现供水系统优化调度的关键,因此一直是城市供水部门比较关注的问题。但是由于时用水量影响因素较多,时用水量预测结果很难与实际用水量较好地吻合。本文根据时用水量序列的周期性、趋势性的特点,采用具有较强非线性映射能力和较好容错性特点的人工神经网络(ANN)法建立了时用水量预测模型。实例分析结果 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 明,该模型具有的较高预测精度,预测绝对相对误差的平均值仅为4.6%。与传统时用水量预测方法相比,该预测模型具有更好的预测精度。 关键词 神经网络 时用水量 时间序列 WATER CONSUMPTION FORECAST MODEL BASED ON BP NEURAL NETWORK Name:Zhou Jianqiang Major subject: Water supply and drainage engineering Advisers:Chen Lei ABSTRACT Hourly water consumption forecast is a key step to realize optimal dispatch of water pipe network,so water works pay much attention to it. There are a lot of factors that influence the hourly water consumption, so it is difficult for the water consumption forecasting to fit the actual result well. According to the periodicity and trend of water demand series, an hourly water demand forecast model based on artificial neural network with the ability of high nonlinear mapping and good fault tolerance was developed. Case study shows that the model has high forecast performance, and the average of absolutely relative error is only 4.6%. Compared with traditional hourly water forecast methods, the forecast model based on artificial neural network has better prediction accuracy. Key words artificial neural network; hourly water consumption; time series 目 录 摘要 Ⅰ ABSTRACT Ⅱ 第一章 绪论 1 1.1 研究背景 1 1.2 国内外时用水量预测方面的研究现状 2 1.3 存在的主要问题和不足 7 1.4 本文的主要工作 7 1.5 本章小结 8 第二章 神经网络介绍及其发展 9 2.1 神经网络介绍 9 2.1.1 神经网络的发展 9 2.1.2 神经网络的应用及研究方向 11 2.1.3 人工神经网络的特性 11 122.2神经网络基本理论 122.2.1 神经元及其特性 152.3 BP网络基本理论 152.3.1 BP神经网络基本原理 152.3.2 BP神经网络的数学模型 172.3.3 BP网络的训练过程 2.4 本章小结 19 第三章 建立BP神经网络模型并预测 20 203.1 利用MATLAB建模 203.1.1 MATLAB简介 203.1.2管网时用水量变化规律 213.1.3 建立BP网络模型 233.2 实例分析 263.3 本章小结 27第四章 结论与展望 274.1 研究结论 274.2 研究展望 28致 谢 参 考 文 献 29 第一章 绪论 1.1 研究背景 随着我国城市化进程的进一步加快、城市范围的扩大、城市人口的增加、工业产值的提高以及人民生活水平的不断改善,城市供水系统的范围及规模在逐年快速扩大,供水复杂性在逐年提高,与给水系统运行调度直接相关的供水泵站、泵站内部的工作水泵及管网内部的控制阀门等设施也相应地逐年在增加。与此相对应,城市供水系统的调度选择 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 及调度复杂性在逐年增加,传统的城市供水系统经验调度方法面临着挑战。这主要体现在:①城市供水管线及其控制设施逐年增加变化,经验调度方法的适用性受到了限制;②目前的调度目标从原有的满足系统供水水量、水压的要求的最小费用目标逐步发展为满足系统水量、水压、水质及供水系统可靠性等各个方面综合要求的最小费用目标问题,调度的复杂性明显增加,传统的经验调度方法己经很难满足供水系统综合调度要求。 以前,我国大部分供水调度系统采用人工方式进行指挥。通常情况下,在管网中的加压站、水压控制点设专人二十四小时值班,调度中心通过电话与其联系以获取实时的管网压力数据,根据测压点的压力情况来调度各水厂的水量。然而,测压点的压力只能一定程度反映管网的状态,因此仅根据测压点的压力进行调度很可能造成部分地区压力太高导致漏水甚至爆管的严重后果,而有些地区压力不足,难以满足用户的需要。为此,只有实现科学的供水管网优化调度,才能保证供水系统运行的安全性、可靠性和经济性。 关于大规模城市供水系统的调度问题,从上世纪七十年代开始,国内外就有大批的专家学者开始相关的研究,特别是近十年来,随着现代系统工程理论、控制理论及计算机技术的发展,国内的城市供水系统的优化调度研究正逐步向实用方向发展,取得了较为可喜的成绩。 一般来说,由于配水系统的运行是以一天(24小时)为周期,其运行方案须至少提前24小时就制定好。因此要实现供水系统的优化调度,首先需要解决的是管网内短期用水量的准确预测问题。如果时用水量预测值比实际用水量少较多,则优化调度的结果不能满足所有用户的用水需要;反之,则会浪费大量能量,产生漏水甚至爆管等严重后果。短期用水量精确预测不仅为城市给水系统在线实时模拟、给水系统优化调度提供指导决策的水量数据,而且对于保障城市供水,节约能源和合理利用水资源也具有重大的意义。但是,由于短期用水量预测受到很多不确定因素的影响,因此到目前为止,还没有一种传统方法能保证在任何情况下都能获得满意的预测结果。 1.2 国内外时用水量预测方面的研究现状 短期用水量预测主要分为日用水量预测和时用水量预测,而日用水量预测主要用于为时用水量预测服务。服务于供水系统调度运行的短期用水量预测研究起步于七十年代,Moss[1](1978)、Gray[2](1978)、Maidment and Panzer[3](1984)、Maidment[4](1985)、Sterling and Bagrelia[5](1985)、Viswanathan[6](1985)、Quevedo j[7](1987)、Hartley and Powell[8](1991)、吕谋[9](1997)、周建华[10](2003)等对日用水量预测进行了研究,从现有的文献来看,最早关于调度时用水量预测研究的文献见于Paul W.and Xu C.C[11](1992),此后Leonid[12](1993)、Homwongs[13](1994)、Nahm E.S[14](1998)、吕谋[15](1998)、Narate L.[16](1999)、Tachibana y.[17](1999)、Zhou s.l[18](2000、2002)、陶建科[19](2001)、信昆仑[20](2003)等从不同角度,采用不同方法对调度时用水量预测问题进行了研究。 目前的时用水量预测方法总体上可以分为两大类:1、两阶段预测方法;2、直接分析预测。 1、时用水量两阶段预测方法 两阶段预测是首先对调度日的日用水量进行预测,在得到用水量预测值的基础上,再进行用水量的日内分配模式的识别或预测。 1)、日用水量预测方法 就日用水量预测而言,其预测建模方法的研究相对而言较时用水量预测要早,预测方法有时间序列方法,也有以相关分析为基础的解释性方法。这里介绍的日用水量预测方法有些是为时用水量预测准备的,有些则是单独意义上的日用水量预测。本文将现有的日用水量预测研究方法综述如下: Moss(1978)、Gray(1978)等采用时间序列分析方法对日用水量预测进行了研究。Maidment and Panzer(1984)、Maidment and Miaou(1985)等提出采用一个转移函数来描述气温、降雨等因素对日用水量的影响。不过该方法要求大量的实测数据资料作为基础。 Perry[21](1981)提出采用状态空间模型来预测日用水量。模型方法认为日用水量变化由周期性成分和随机成分两部分组成,认为其中的周期性部分可以采用傅立叶函数来反映,使用卡尔曼滤波器来估计模型函数参数。剩下的随机成分部分则采用自回归模型拟合。 Sterling and Bagrelia(1985)提出采用两步求和自回归一移动平均模型(ARIMA)预测的方法对日用水量进行预测。方法的第一步首先对周时用水量序列进行ARIMA时间序列建模预测,得到预测周的用水量(除以7即得到预测周的平均日用水量),第二步则利用各周日用水量时间序列数据构建新的ARIMA模型,将得到的周用水量预测值分摊到具体的预测日。 Hartley and Powell(1991)等认为Sterling and Bagrelia所提出方法在一些突发事件及外部条件突变的情况下不能反映日用水量的变化,因此在此方法的基础上,提出将一种启发式方法纳入到以上两步ARIMA预测建模方法中,这样,在Sterling and Bagrelia方法预测之前,根据预测日的突发事件情况先给出一个基础预测值(base forecast),用以适应日用水量的这种变化。 Viswanathan(1985)认为当日的降雨量、最大气温及前一日的最大气温是日用水量的主影响因素,并认为它们之间的关系是线性相关关系,因此利用线性相关模型预测日用水量。此外,该预测方法假定以上线性模型的参数在年度间呈正弦规律变化。 Queveda J.(1987)采用Box-Jenkins(BJ)的ARIMA模型对日用水量进行了预测研究。此后,Paul W. and Xu C.C.(1992)在对7个城区的日用水量与气候因素:最大气温、日照小时数、最低气温及降雨量等的互相关分析后认为日用水量与这些因素相关系数较小且不一致,日用水量与这些气候因素间没有明显的因果关系。鉴于日用水量序列是一个非均匀序列(时间序列不具有稳定的平均值),因此这里不采用常规的AR(n)模型,而是采用ARIMA对日用水量进行预测。 吕谋等(1997)认为城市用水量系统是一个非线性系统,采用线性回归模型进行模拟不尽合理,因而采用了一个包含平均温度二次项、三次项及气候阴晴量平方根项等非线性项,同时考虑最高温度、平均温度及节日量线性项的回归模型来预测城市日用水量,取得了较好的预测效果。 Nahm E.S.(1998)首先采用模糊预测理论对日用水量进行预测,预测中考虑了气温、节假日(分放假、工作两种情况)、气候条件(分为好与不好两种情况)对用水量的影响。 Zhou S.L.等(2000, 2002)将日用水量分为日基本用水量和日季节性用水量两部分。日基本用水量是气候因素不敏感部分,不同月份及工作日和休息日不同,文中将每月中的工作日和休息日的时用水量分别进行排序,取最小的10%时用水量的平均值乘以24即为日基本用水量,各个月的日基本用水量年度间的变化认为与城市人口数有关。剔除日基本用水量后剩余的用水量为日季节性用水量。日季节性用水量又分为季节性周期部分、气候影响部分及趋势性部分三个方面分别进行预测建模。季节性周期部分反映日用水量在年度间的周期变化趋势,采用傅立叶函数拟合;气候影响部分反映日用水量中受气候因素影响变化的部分,采用多元线性回归模型拟合,考虑的影响因素有当日及前一日的最大气温、前一天的降雨量、前一天的蒸发量、前两天的降雨次数等等因素;趋势性部分(以上各项预测后的残差项)采用三阶自回归模型进行拟合。Zhou S.L.模型考虑了时间序列预测方法与解释性预测方法的综合,同时认为气候因素对用水量的影响具有时滞性。 在日用水量的预测研究中,信昆仑(2003)认为日最大温度和日平均温度对城市日用水量的影响最为显著,相应地构建了一个考虑以日用水量序列及影响因素序列为输入,预测误差为输出的最小二乘估计算法来确定ARX预测模型的参数。 2)、时用水模式识别预测 Paul W. and Xu C.C.(l992)认为一日内的时用水量曲线变化模式(用时用水量除以各平均用水量的值表示,这里简称时用水量比例)是较为稳定的,一般可以分为工作日模式、周六模式和周日模式三种情况,考虑到不同季节间模式曲线的变动,因此采用ARIMA模型来确定三种模式曲线各时段的时用水量比例,文中首次提出采用时用水量比例模式的概念。 Nahm E.S.(1998)认为在日用水量预测值己知的情况下,调度时段的用水量可以通过日用水量预测值乘以各小时用水系数来解决,该方法根据用水日所在的季节(分三个季节)、气候条件(分两种情况)、节假日和工作日将用水系数分为12类,各小时用水系数由每类各小时用水量占相应的日用水量比例的平均值来确定(共有12种时用水量变化模式)。 Zhou S.L.(2002)认为城市时用水量每月都有几种固定的变化模式(模式的种类数每月不同,由历史数据统计得到,一般分工作日和休息日两种情况),各日的时用水量变化模式与当日最大时用水量具有一定的对应关系(凭经验确定,一定范围内的最大时用水量对应着同样的时用水量变化模式)。进一步,通过相关分析可知各日的最大时用水量与修正后的日用水量(日用水量减去基本用水量)之间存在着明显的相关关系,这样,对预测日而言根据己知的修正后的日用水量(预测值减去基本用水量)就可以得到相应的时用水量变化曲线。由于每一种时用水量变化曲线对应的是一定范围上的最大时用水量值,虽然最大时用水量与修正后的日用水量间存在着相关关系,但这时得到的时用水量变化曲线对应的时用水量之和并不等于修正后的日用水量预测值,因此需要进行等比例调整,调整后的时用水量加上预测日的基本用水量就得到最终的时用水量的预测结果。 Tachibana Y(1999)在对日本某城市的时用水量曲线进行 总结 初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf 分析的基础上,认为城市时用水量曲线的变化与日最高温度、天气的阴晴量及星期量相关,因此将时用水模式曲线按气温、阴晴量及星期量的不同进行了归类,将时用水模式分为504种之多,显然分类数过多,因此作者在实际用水量预测中一方面将气温因素排除在外,另一方面将阴晴量压缩为晴、多云和雨三种情况,最终时用水变化模式分类被压缩为21类。这样,根据预测日的星期量及阴晴量就可以得到该日的典型曲线。 需要指出的是,Zhou S.L.和Tachibana Y提到的时用水量曲线与Paul W.和Nahm的比例时用水量模式曲线是不同,前者曲线上反映是实际的时用水量值。 2、直接的时用水量相关分析预测 直接时用水量预测方法又分为两大类,一类是时间序列预测方法,凡只依赖于时用水量历史观测序列数据的预测模型都归于此类;另一类是解释性预测方法,即除了利用时用水量的历史观测数据序列本身以外,还需要考虑与用水量相关的其它影响因素观测数据的预测模型方法。 1)、时用水量的时间序列预测方法。 关于时用水量变化,目前一个较为普遍的看法是其变化趋势由三部分组成,即周期性部分、趋势性部分和随机扰动性部分,相关的预测研究也是在此认识基础上展开的。 Leonid等(1993)认为一日内的时用水量模式是由若干个上升、波动、下降阶段组成的,这些阶段内的比例时用水量模式可以用低阶AR模型来拟合。对于具体哪些时段属于上升、波动还是下降趋势则由时间序列本身的后验概率来决定,对应于比例时用水量模式变化的三种状态,任何时刻都有与之对应的三种后验概率,则最大的后验概率对应着具体时段的状态,对于后验概率的预测,这里采用的是ARIMA模型。不过Leonid模型的预测误差明显偏大,对调度时用水量预测而言,该模型预测精度显然是不合适的。国内,陶建科(2001)在供水系统调度研究中直接采用ARIMA模型对调度时用水量进行预测。 Homwongs等(1994)、吕谋等(1998)对时用水量的时间变化规律进行了较为深入的研究,针对城市时用水量变化中周期性、趋势性及随机性成分共存的现象,提出对既有季节性(周期性)因素影响,又有趋势性因素影响的预测问题,采用季节性指数平滑方法。此外鉴于时用水量序列具有24时及168时两种周期变化的统计分析特点,在两种周期的季节性指数平滑模型预测结果的基础上,引入了两种结果的优化权重组合预测方法。 信昆仑(2003)针对时用水量横向时间序列数据(分时段时间序列)波动较小、平稳程度高的特点,采用自回归模型对横向序列进行逐时段拟合预测,分别得到次日各时段预测值。鉴于节假日对各日时用水量的影响,建议采用横向数据预测和纵向序列(连续时序列)预测相结合的方法予以解决,但具体的模型方法未进行深入讨论。 2)、时用水量的解释性预测方法。 相对较多的国外的学者倾向于采用解释性方法进行调度时用水量预测,他们认为时用水量及其变化模式是用水系统外在的各种因素共同影响作用的结果,为了得到满足调度精度要求的预测结果,这些因素影响是不能忽略的。 Narate L.(1999)利用前3~5天时用水量观测数据及周末日和工作日、气温及湿度等影响因素数据,对时用水量进行了神经网络模型的在线分析预测。预测模型直接寻求各时段用水量数据和日气温、湿度及节假日的关系。由于时间尺度上的不一致,由神经网络模型获得的关系模型存在较大的主观性。 Tachibana Y.(1999)按前述的方法得到预测日时用水量变化的典型曲线后,由于在分类过程中最大气温因素的忽略,得到的典型时用水量曲线对应的日用水量与实际日用水量存在偏差,因此需要对各时用水量进行修正调整,各时段的调整系数由各时段用水量数据与日用水量数据间相关系数大小来确定的,那么,各时段的调整量等于各时段的调整系数乘以日用水量的偏差。这里,预测日的用水量由日用水量与最大气温回归分析得到。此外,YukoTachibana等提出一年中的长假(诸如New Year's holiday, Golden week)时用水量曲线与平常日不同,它们对气温、阴晴量、星期量等因素不敏感,因此需要分开考虑,作者是采用上一年对应日的时用水量曲线并辅以两年间的人口增长率予以调整的方法来确定这些特殊日(unique days)时用水量曲线。 1.3 存在的主要问题和不足 通过直接预测法可直接求得时用水量,具有较快的计算速度。鉴于时用水量具有 较强的周期性,直接预测法较多采用时间序列法。当预测日的天气与预测日前一天、预测日前一周的天气相比变化不大,该方法具有较高的精度。而解释性直接预测方法,还需更好地解决如何描述时用水量的影响因素,以提高模型的预测精度。二级预测要经过两个阶段预测时用水量,计算速度较慢,同时日用水量预测模型和时用水量预测模型的预测精度将最终影响时用水量的预测精度,如何减小日用水量预测模型的预测误差对时用水量预测的影响还有待于深入研究。因此,为了较快预测时用水量,文中采用基于时间序列法的直接预测法来预测时用水量,针对指数平滑模型只适用于平稳性和趋势性的时间序列,灰色预测模型只适用于数据序列呈指数递增的目标预测,季节指数法只适应于具有明显周期性的时间序列的不足,拟利用BP神经网络具有较强的非线性映射能力以及较好容错性的特点来描述时用水量序列之间的模糊的、难以描述的非线性关系,以获得较好的预测精度。 1.4 本文的主要工作 针对时用水量预测方法中存在的主要问题和不足,本文采用BP神经网络法对时用水量进行预测,并通过将其预测精度与其他方法进行对比,验证了BP神经网络法的优越性。 本文的主要内容包括以下几个方面: 1、分析管网内时用水量序列的变化规律; 2、建立基于BP神经网络的时用水量预测模型; 3、利用所获得的实测时用水量训练样本数据,对建立的BP神经网络进行训练; 4、再利用获得的时用水量测试样本数据,对其进行测试,确认其预测精度。 1.5 本章小结 1、本章论述了时用水量预测在供水系统优化调度研究中的地位,指出寻求更高精度的时用水量预测方法的必要性。 2、在系统地介绍国内外时用水量预测理论方法研究进展的基础上,提出目前时用水量预测技术在实际应用过程中还存在的主要问题,指出本文研究内容和研究思路。 第二章 神经网络介绍及其发展 2.1 神经网络介绍 2.1.1 神经网络的发展 人工神经网络(Artificial Network-ANN),简称为“神经网络”(ANN),作为对人脑最简单的一种抽象和模拟,是探索人类智能奥秘的有利工具。它涉及生物,电子,计算机,数学,物理等学科,有着广泛的应用前景。神经网络的的研究始于 20世纪 40 年代。它经历了一条由兴到衰退、又由衰退到兴盛的曲折发展过过程,这一发展过程大致可以分为以下四个阶段。 1 初始发展阶段 1943 年,心理学家 W.S,McCulloch和数学家 W.Pitts 在研究生物神经元的基础上提出了一种简单的人工神经元模型,即后来所谓的“M-P 模型”。在该模型中,神经元的活动表现为“兴奋”和“抑制”两个状态,其基本原理与现在的阈值单元模型基本相同。虽然 M-P 模型过于简单,且只能完成一些简单的逻辑运算但它的提出开创了神经网络研究的先河,并为以后的研究提供了依据。 1949 年, 心理学家 D.O.Hebb 发表了论著《行为自组织》,首先提出了一种调整神经网络连接权值的规则。他认为,学习过程是在突出上发生的,连接权值的调整正比于向量连神经元活动状态的成绩,这就是著名的 Hebb 学习率。直到现在,Hebb 学习率仍然是神经网络中一个极为重要的学习规则。 1957 年 F.Roseenblatt 提出了著名的感知器(Perceptron)模型,这是第一个真正的人工神经网络。这个模型由简单的预制神经元构成,初步具备了诸如并行处理、分布储存和学习等神经网络的一些基本特性,从而确立了从系统角度研究神经网络的基础。 1960 年 B.Widrow 和 M.E.Hoff 提出了自适应线性单元(Adaline)网络,不仅在计算机上对该网络进行了模拟,而且还做成了硬件。同时,他们还提出了 Widrow-Hoff学习算法,改进了网络权值的学习速度和精度,后来这个算法被称为 LMS 算法,技术学上的最速下降法,这种算法在以后的网络及其他信号处理系统中得到了广泛的应用。 2 低潮时期 1969 年,美国马胜利工学院著名的人工智能专家 M.Minsky和 S.Papert 共同出版了名为《感知期》的专著,指出单层的感知器网络只能用于线性问题的求解,而对于向 XoR 这样简单的非线性问题却无法去求解。他们还指出,能够求解非线性问题的网络,应该是具有隐层的多层神经网络,而将感知器模型扩展到多层网络是否有意义,还不能从理论上得到有利的证明。Minsky 的悲观结论对当时神经网络的研究是一个沉重的打击。由于当时计算机技术还不够发达,VLSL尚未出现,神经网络的应用还没有展开,而人工智能和专家系统正处于发展的高潮,因而很多人放弃了对神经网络的研究,只是在这以后的 10 年中,神经网络的研究进入了一个缓慢发展的低潮期。 3 复兴时期 美国加州理工学院生物物理学家John.J.Hopfied博士在 1982 年和 1984 年先后发表了两篇十分重要的论文,在他所提出的hopfide网络模型中首次引入了网络能量的概念,并给出了网络稳定性判据。Hopfied网络不仅在理论分析与综合上均达到了相当的深度,最有意义的是该网络很容易用集成电路来实现。1984 年 AT&T Bell 实验室宣布利用Hopfied理论研制成功了第一个硬件神经网络芯片。尽管早期的Hopfied网络还存在一些问题,但正是由于Hopfied的研究才点亮了神经网络复兴的火把,从而掀起了神经网络研究的热潮。 如果说 Hopfied 的研究成果打破了神经网络理论十年的徘徊局面,那么1986年D.E.Rumelhelhart 和 J.L.McCelland 及其研究小组提出的 PDP(parallel DistributedProcessing)网络思想,则为神经网络研究新高潮的到来起到了推波助澜的作用。尤其是他们提出的误差反向传播算法,即 BP 算法,已成为至今影响最大、应用最广的一种网络学习算法。 4 发展高潮期 20世纪80年代中期以来,神经网络的应用研究取得了很大的成绩,涉及面非常广泛。为了适应人工神经网络的发展,1987年成立了国际神经网络学会,并于同年在美国的圣地亚哥召开了第一届国际神经网络会议。此后,神经网络技术的研究始终呈现出蓬勃活跃的局面,理论研究不断深入,应用范围不断扩大。尤其是进入20世纪90年代,随着IEEE神经网络会刊的问世,各种论文专著逐年增加,在全世界范围内逐步形成了研究神经网络前所未有的新高潮。 2.1.2 神经网络的应用及研究方向 神经网络作为一种新的方法体系,具有分布并此行处理、非线性映射、自适应学习和鲁棒容错等特性,这使得他在模式识别、控制优化、智能信息处理以及故障诊断等方面都有广泛的应用。 目前,神经网络的研究可以分为理论研究和应用研究两大方面。 理论研究可分为以下两类: (1)利用神经网络生理与认知科学研究大脑思维及智能机理。 (2)利用神经学科基础理论的研究成果,用数理方法探索智能水平更高的 人工神经网络模型,深入研究网络的算法和性能(如稳定性、收敛性、容错性、鲁棒性),开发新的网络数理理论,(如神经网络动力学,非线性神经场等)。 应用可分为以下两类: (1)神经网络的软件模拟和硬件实现的研究。 (2)神经网络在各个领域中应用的研究,这些领域主要包括模式识别、信 号处理、知识工程、专家系统、优化组合、智能控制等。 随着神经网络理论本身以及相关理论、相关技术的不断发展,神经网络的应用必将更加深入和广泛。 2.1.3 人工神经网络的特性 (1)并行分布处理:神经网络具有高度的并行结构和并行实现能力,因而能够有较好的耐故障能力和较快的总体处理能力。这特别适于实时控制和动态控制。 (2)非线性映射:神经网络具有固有的非线性特性,这源于其近似任意非线性映射(变换)能力。这一特性给非线性控制问题带来新的希望。  (3)通过训练进行学习:神经网络是通过所研究系统过去的数据记录进行训练的。一个经过适当训练的神经网络具有归纳全部数据的能力。因此,神经网络能够解决那些由数学模型或描述规则难以处理的控制过程问题。  (4)适应与集成:神经网络能够适应在线运行,并能同时进行定量和定性操作。神经网络的强适应和信息熔合能力使得网络过程可以同时输入大量不同的控制信号,解决输入信息间的互补和冗余问题,并实现信息集成和熔合处理。这些特性特别适于复杂、大规模和多变量系统的控制。  (5)硬件实现:神经网络不仅能够通过软件而且可借助软件实现并行处理。近年来,一些超大规模集成电路实现硬件已经问世,而且可从市场上购到。这使得神经网络具有快速和大规模处理能力的实现网络。 十分显然,神经网络由于其学习和适应、自组织、函数逼近和大规模并行处理等能力,因而具有用于智能控制系统的潜力。神经网络在模式识别、信号处理、系统辨识和优化等方面的应用,已有广泛研究。在控制领域,已经作出许多努力,把神经网络用于控制系统,处理控制系统的非线性和不确定性以及逼近系统的辨识函数等。  2.2神经网络基本理论 2.2.1 神经元及其特性 神经元模型 神经网络的基本单位称为神经元,它是对生物神经元的简化与模拟。神经元的特性在某种程度上决定了神经网络的总体的特性。大量神经元的相互连接即构成了神经网络。一个典型的具有 R 维输入的神经元模型可以用图 2.1 来加以描述。 图2.1 神经元模型 由图 2.1 可见,一个典型的神经元模型主要由以下五部分组成。 (1)输入 P1、P2… PR代表神经元的R个输入。在MATLAB中,输入可以用一个R×1维的列矢量 P 来表示(其中 T 表示取转置): (2-1) (2)网络的权值和阈值 W1.1 W1.2 W1.R代表网络权值,表示输入与神经元间的连接强度;b 为神经元阈值,可以看作是一个输入恒为一的网络权值。在MATLAB中,神经元的网络权值可以用一个R×1维的行矢量W来表示: (2-2) 阈值为1×1的标量。 值得注意的是,不论是网络权值还是阈值都是可调的。正是基于神经网络权值和阈值的动态调节,神经元乃至神经网络才得以表现出某种行为特性。因此,网络权值和阈值的可调性是神经网络学习特性的基本内涵之一。 (3)求和单元 求和单元完成对输入信号的加权求和,即 (2-3) 这是神经元对输入信号处理的第一个过程。在 MATLAB语言中,该过程可以通过输入矢量和权值的点积形式加以描述,即 (2-4) (4)传递函数 在图中,f表示神经元的传递函数或激发函数,它用于对求和单元的计算结果进行函数计算,得到神经元的输出,这是神经元对输入信号处理的第二个过程。表2.1给出了几种典型的神经元传递函数形式及描述。 (5)输出 输入信号神经元加权求和及传递函数作用后,得到最终的输出为 (2-5) 若取传递函数 为 hardlin函数,则神经元输出可用 MATLAB 语句表示为 为了描述方便,图 2.1 所示神经元模型可以用图 2.2 所示的缩略形式加以描述。 表2.1 神经元传递函数 图2.2 神经元数学模型 在图2.2中,黑色矩形代表神经元的输入矢量,R为输入矢量的维数;⊕代表加权求和运算单位;f 为传递函数运算单元。可见该图清晰的描述了神经元的结构及其对输入信号的处理过程。 2.3 BP网络基本理论 人工神经网络是由大量的神经元互联组成,模拟大脑神经处理信息的方式并对信息进行并行处理和非线形转换的系统。通过样本信息对神经网络的训练,使其具有与大脑相类似的记忆、辨识能力。按照网络的拓扑结构和运行方式,神经网络可分为没有反馈的前向网络和相互结合性网络。前向网络由输入层,中间层(隐含层)和输出层组成,中间层还可有若干层,每层的神经元只接受前一层的输出。 2.3.1 BP神经网络基本原理 BP网络是由Rumelhart,Hinton和Williams完整提出来的,它是一种单向传播的多层前向网络,解决了多层网络中隐含单元连接权的学习问题。输入信号从输入节点依次传过各隐含层,然后传到输出节点,每一层节点的输出只影响下一层节点的输出。为了加快网络训练的收敛速度,可对输入矢量作 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 化处理,并对各连接权值赋予初值。BP网络可看作是一个从输入到输出的高度非线性映射,即要求出一映射f,使f是g的最佳逼近。神经网络通过对简单的非线性函数进行数次复合,可近似复杂的函数。 2.3.2 BP神经网络的数学模型 BP网络模型处理信息的基本原理是:输入信号通过中间节点(隐层点)作用于输出节点,经过非线形变换,产生输出信号,网络训练的每个样本包括输入向量P和期望输出量 ,网络输出值 与期望输出值 之间的偏差,通过调整输入节点与隐层节点的联接权值 和隐层节点与输出节点之间的联接权值 以及阈值 ,使误差沿梯度方向下降,经过反复学习训练,确定与最小误差相对应的网络参数(权值和阈值),停止训练。此时经过训练的BP神经网络能对在输入范围内的输入信息自行处理,然后输出误差最小的经过非线形转换的输出信息。BP网络三层节点表示为,输入节点: ,隐节点: ,输出节点: 。 它的具体数学模型如下: (1)传递函数:是反映下层输入对上层节点刺激脉冲强度的函数又称刺激函数,一般取为(0,1)内连续取值S型函数: 。 (2)误差计算模型:反映神经网络期望输出与计算输出之间误差大小的函数。    第P个样本误差计算公式为: (2-6) 总误差: 是第P个样本的期望输出, 是第P个样本的计算输出。 (3)输出节点的输出 修正公式 1)隐节点的输出: (2-7) 其中 , 是连接权值, 是节点阈值。 2)输出接点的计算输出: (2-8) 其中 , 是连接权值, 是节点阈值。 3)输出节点的误差公式: (2-9) (4)输出层(隐节点到输出节点间)的修正公式 1)输出节点的期望输出: 2)误差控制。 所有样本误差: 其中一个样本误差: 其中P为样本数,n为输出节点数。 3)误差公式: (2-10) 4)权修正值: (2-11) 其中k为迭代次数。 5)阈值修正: (2-12) (5)隐节点层(输入节点到隐节点数)的修正公式 1)误差公式: 2)权值修正: 3)阈值修正: (6)BP算法的实现为:   第一步:初始化权值和阈值;   第二步:对样本信息进行训练: Step1.  给出输入信息向量P和目标向量T; Step2.  对输入P进行标准化; Step3.  计算隐含层和输出层的实际输出; Step4.  求目标向量与实际输出的偏差; Step5.  若误差在要求范围内,则到Step10; Step6.  计算隐含层单元误差; Step7.  求误差梯度; Step8.  对权值和阈值进行修改,将误差信号沿原来的连接通路返回,通过修改各层神经元的权值,逐次地向输入层传播去进行计算。再经过正向传播过程,这两个过程反复进行使得误差信号最小;  Step9.  回到Step3; Step10. 计算全部误差是否满足要求,若满足则学习结束,否则回到Step6; 第三步:输入信息向量X,经仿真计算预测输出向量Y。  BP算法已成为目前应用最广泛的神经网络学习算法,据统计,90%的神经网络应用是基于BP算法的。BP网络的神经元采用的传递函数通常是Sigmoid型可微函数,所以可以实现输入和输出间的任意非线性映射,这使得他在诸如函数逼近,模式识别,数据压缩等领域有着更加广泛的应用。 2.3.3 BP网络的训练过程 为了应用神经网络,在选定所要设计的神经网络的结构之后(其中包括的内容有:网络层数、每层所含神经元的个数和神经元的激活函数),首先应考虑神经网络的训练过程。下面用两层网络为例来叙述BP网络的训练步骤。 步骤1:用小的随机数对每一层的权值w和偏差b初始化,以保证网络不被大的加权输入饱和,同时还要进行以下参数的设定或初始化: 1)设定期望误差最小值:err_goal; 2)设定最大循环次数:max_epoch; 3)设置修正权值的学习速率:一般选取lr=0.01~0.7; 学习速率决定每一次循环训练中所产生的权值变化量。大的学习速率可能导致系统的不稳定,但小的学习速率将会导致训练较长,收敛速度很慢,不过能保证网络的误差值不跳出误差表面的低谷而最终趋向于最小误差值。即式2-11和式2-12中的 。 4)从1开始的循环训练:for epoch=1:max_epoch 。 步骤2:计算网络各层输出矢量A1和A2以及网络误差E: A1=tansig(w1*p,b1); A2=purelin(w2*A1,b2); E=T-A; 注:tansig是正切S型传递函数;purelin是线性传递函数。T是期望输出,A是网络输出。 步骤3:计算各层反向传播的误差变化D2和D1,并计算各层权值的修正值以及新的权值: D2=deltalin(A2,E); D1=deltalin(A1,D2,w2); [dw1,db1]=learnbp(p,D1,lr); [dw2,db2]=learnbp(A1,D2,lr); w1=w1+dw1;b1=b1+db1; w2=w2+dw2;b2=b2+db2; 注:deltalin是purelin神经元的δ(误差)函数,learnbp表示BP学习规则;b1是原始阈值,db1是当前计算得出的阈值误差修正值;w1是原始权值,dw1是当前计算得出的权值误差修正值。 步骤4:再次计算权值修正后的误差平方和: SSE=sumsqr(T-purelin(w2*tansig(w1*p,b1),b2)); sumsqr函数用于计算目标的平方和。 步骤5:检查SSE是否小于err_goal,若是,训练结束,否则返回步骤1中的4)继续训练。 以上就是BP网络利用MATLAB神经网络工具箱训练的全过程,以上所有的学习规则与训练的全过程,可以用函数trainbp来代替。本文使用了traingdx函数,traingdx是对trainbp的进化,traingdx增加了动量因子和自适应调整的学习系数。 动量法降低了网络对于误差曲面局部细节的敏感性,有效地抑制网络陷于局部极小值;自适应调整学习率有利于缩短学习时间。 2.4 本章小结 本章介绍了神经网络理论及其发展,并且阐述了神经网络训练过程。 第三章 建立BP神经网络模型并预测 3.1 利用MATLAB建模 3.1.1 MATLAB简介 由于本文是在MATLAB平台上来实现用于时用水量预测的神经网络模型的建立,故而笔者觉得有必要介绍一下MATLAB平台。 MATLAB是一门计算机编程语言,取名来源于Matrix Laboratory,本意是专门以矩阵的方式来处理计算机数据,它把数值计算和可视化环境集成到一起,非常直观,而且提供了大量的函数,使其越来越受到人们的喜爱,工具箱越来越多,应用范围也越来越广泛。  MATLAB是世界流行的优秀科技应用软件之一。具有功能强大(数值计算、符号计算、图形生成、文本处理及多种专业工具箱)、界面友好,可二次开发等特点。  自1984年由美国MathWorks公司推向市场以来,先后发布了多个版本,1993年发布4.0版,1996年发布5.0版,1999年发布5.3版,2001年发布6.1 版,2002年发布6.5版。1997年,MATHWORKS公司总裁兼首席科学家Moler因其对MATLAB的贡献当选为美国工程科学院院士。  针对不同的应用科学,MATLAB平台上拥有30多个应用的工具箱,而神经网络工具箱就是其中之一。神经网络工具箱是以人工神经网络理论为基础,用MATLAB语言构造出典型神经网络的激活函数,如S型、线型、竞争型、饱和线性等激活函数,使设计者对所选定网络输出的计算,变成对激活函数的调用。另外,根据各种典型的修正网络权值的规则,加上网络的训练过程,用MATLAB编写出各种网络设计与训练的子程序,网络的设计者则可以根据自己的需要去调用工具箱中有关神经网络的设计训练程序,使自己能够从繁琐的编程中解脱出来,集中精力去思考问题和解决问题,从而提高效率和解题质量。 3.1.2管网时用水量变化规律 在我国城市供水系统中,用水量一般包括居民生活用水、工矿企业生产用水和公共事业用水等。同一城市在一天内的不同时段,用水量会发生显著变化。 虽然城市用水量的变化受气候、生活习惯、生产和生活条件等诸多因素的影响,变化情况也较为复杂,但通过分析不难发现:时城市用水量曲线呈现两个周期性的变化,即:一天(24h)为一个周期,一星期(7d)为一个周期,因此可以依据时用水量变化的两个周期性进行预测。 3.1.3 建立BP网络模型 以下是我建立的BP神经网络模型程序: %输入向量 fid=fopen('train_input.m','r'); X=fscanf(fid,'%f',[288,2])'; fclose(fid); %训练输入 fid2=fopen('test_input.m','r'); Xtest=fscanf(fid2,'%f',[24,2])'; fclose(fid2); %测试输入 %目标向量 fid1=fopen('train_flowoutput.m','r'); Y=fscanf(fid1,'%f',[288,1])'; fclose(fid1); %训练输出 fid3=fopen('test_flowoutput.m','r'); Ytest=fscanf(fid3,'%f',[24,1])'; fclose(fid3); %测试输出 %归一化 %归一到 0 和1 之间 [x,minp,maxp,y,mint,maxt] = prestd(X,Y); [xt,minpt,maxpt,yt,mintt,maxtt] = prestd(Xtest,Ytest); %训练 net=newff(minmax(x),[2,24,1],{'tansig','tansig','tansig'},'traingdx','learngdm','sse'); %minmax的作用是限定输入的范围,因为已经做过归一化,所以输入的范围在0和 1之间。 %这个范围比输入的范围大是可以的,举个例子,比方说归一化的数据是在[0.1, 0.9]之间,范围用[0,1]是可以的,比归一化后的范围如果小的话,就会出问题; %24为隐层数节点数,可采用经验公式或试算法确定隐层数节点数; net.trainParam.epochs=1000; %训练次数 net.trainParam.goal=0.1; %训练结束的目标,目标误差 net.trainParam.lr=0.1; %这个是学习率 net.trainParam.show=50; %结果训练50次显示一次 net=train(net,x,y); %训练网络 youtput=sim(net,xt); %仿真预测 ytrue=poststd(youtput,mintt,maxtt); %反归一化 (Ytest-ytrue)./Ytest %预测误差 plot((Ytest-ytrue)./Ytest) error=mean(mean(abs((Ytest-ytrue)./Ytest))) %(Ytest-ytrue)./Ytest是相对预测误差 %error是平均相对预测误差 pause plot(Ytest,'go-'); hold on; plot(ytrue,'b*:'); 其中,加%后面的语句为注解,不会在程序中执行。 建模和预测步骤如下: (1) 首先利用fopen与fscanf函数将数据矩阵读入。 (2) 由于用水量的数值较大,应对其进行一定的预处理,将其按一定比例缩小,即归一化。通过归一化可有效地缩短神经网络训练时间,从而加快网络收敛速度。 利用prestd函数将所有刚才读入的数据进行归一化,归一到0,1之间。 (3) 然后用newff函数建立模型: 其中minmax(x)是限定输入范围,即定义到0,1之间;[2,24,1]分别对应网络的输入节点数,隐含节点数与输出节点数,输入节点和输出节点与输入数据、输出数据的矩阵行数有关,隐含节点数由试算法得出,经过试算,最后确定隐含节点数为24;{'tansig','tansig','tansig'}则对应网络的输入函数,传递函数与输出函数;'traingdx'是梯度下降W/动量和自适应lr的BP算法训练函数;'learngdm'是带动量项的BP学习规则。 (4) 设定网络的参数,其各项含义已经在程序中给出解释。 (5) 训练网络,利用train函数读入训练数据,自动对网络进行训练。x,y为归一化后的训练数据。 (6) 仿真预测,用sim函数读入测试集输入数据,利用训练好的网络进行测试。xt为归一化后的测试集输入数据, (7) 因为预测时输入的数据为归一化后的数据,为了使预测结果能够返回变为用水量数据,就必须对预测结果进行反归一化。反归一化由poststd函数实现,那么预测结果就为ytrue。 (8) 最后将预测结果与真实值进行对比,得到两者之间的误差。 3.2 实例分析 为预测某一天某时刻的时用水量,即BP网络的输出取这一天这个时刻的时用水量,BP网路的输入取这一天前一天同样时刻的时用水量,这一天前一周相同时刻的时用水量。 训练样本和测试样本数目为288个和24个。对于不同神经网络的结构,利用训练样本训练该神经网络,根据训练误差的收敛速度来选择隐含层单元数。经过比较,BP网络的最优结构为一个隐层、隐含层节点数为24个隐层。 隐含层节点数为24的神经网络经过训练后,预测相对误差结果详见表3.1,预测相对误差的分布详见表3.2,得到的预测相对误差平均值error为4.6%。 表3.1 相对误差表 时间(h) 原始用水量(m3/h) 预测相对误差 1 34676 0.0128 2 22852 -0.1180 3 26636 0.0376 4 23690 -0.0763 5 23755 -0.0732 6 24458 -0.0435 7 25590 -0.0227 8 27385 -0.0584 9 28671 0.0193 10 36515 0.0745 11 35717 0.0374 12 34080 -0.0079 13 33990 -0.0011 14 34110 -0.0059 15 32764 0.0144 16 32563 0.0077 17 32092 -0.0320
本文档为【基于神经网络的时用水量预测模型】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_292786
暂无简介~
格式:doc
大小:446KB
软件:Word
页数:37
分类:建筑/施工
上传时间:2013-01-08
浏览量:17