




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第12章神经网络预测法 12 1神经网络基本理论 12 2BP神经网络的MATLAB函数 12 3案例分析 12 3 1北京市房地产开发投资及销售分析 练习与提高 12 12 3 2深证综合指数预测 1 12 1神经网络基本理论 12 1 1人工神经网络 人工神经网络 ArtificialNeuralNetwork ANN 是由大量处理单元 神经元Neurons 广泛互连而成的网络 由分布于若干层的节点组成 每个单节点都有自己的输入值 权重 求和与激活函数以及输出值 在处理之前 数据被分为训练数据集 TrainingDataset 和测试数据集 TestingDataset 然后将权重或输入 指派到第一层的每一个节点 每次重复时 系统处理输入 并与实际值相比较 得到度量后的误差 并反馈给系统 调整权重 大多数情形下 调整后的权重都能更好地预测实际值 当达到预定义的最小误差水平时 处理结束 2 12 1 2BP神经网络的基本原理 BP Back PropagationNetwork 是一种多层网络的 逆推 学习算法 其基本思想是 学习过程由信号的正向传播与误差的反向传播组成 正向传播时 输入样本从输入层传入 经隐层逐层处理后传向输出层 若输出层的实际输出与期望输出不符 则转向误差的反向传播阶段 误差的反向传播是将输出误差以某种形势通过隐层向输入层逐层反传 并将误差分摊给各层的所有单元 从而获得各层单元的误差信号 此误差信号即作为修正各单元权值的依据 这种信号正向传播与误差反向传播的各层权值调整过程是周而复始地进行 权值不断调整的过程 也就是网络的学习训练过程 此过程一直进行到网络输出的误差减少到可以接受的程度 或进行到预订的设定的学习次数为止 3 12 1 3BP神经网络过程 1 BP网络的结构 BP网络是一种单向传播的多层前向网络 具有三层或三层以上的神经网络 包括输入层 中间层 隐层 和输入层 上下层之间实现全连接 每一层神经元之间无连接 输入层隐层输出层 4 2 传递函数或激活函数 一般输入层和隐层的传递函数是S形函数 logsig 正切S形函数 tansig 输出层的是线性函数 用purelin表示 5 3 模拟过程 首页 网络通过对已知信息的反复学习训练 运用根据误差来逐步调整与改变神经元连接权重和神经元阈值的方法 使得相似的输入有相似的输出 从而达到处理信息 模拟输入输出关系的目的 1 读入样本 设定初始权值和阈值 2 设定参数 3 计算隐含层输出 4 计算输出层输出 5 计算输出值与期望值的误差 6 判断误差是否小于设定值 是则结束 7 调整隐层到输出层的权值和阈值 8 调整输入层到隐层的权值和阈值 9 返回计算隐含层输出 6 4 学习过程 首页 1 读入样本 2 数据处理 3 创建网络 4 设定参数 5 训练网络 6 模拟输出 7 调整参数 学习速率 动量系数 训练次数 误差精度等 8 仿真预测 网络固定 输入新的样本集 模拟输出 7 12 1 4BP神经网络预测 首页 BP神经网络通过对以往历史数据的学习 找出数据的变化趋势之间的非线性关系 并将其存储在网络具体的权值和阀值中 从而预测未来数据的走势 用神经网络进行预测 即用神经网络通过一组数据点来拟合函数f 得出未来 k 1 时刻数据的预测值 8 1 单步预测 首页 当k 1时 且网络的所有输入数据都是时间序列的实际观测值时所做的预测就是单步预测 在进行预测时 把实际的时序观测值 这m个数据输入网络 输出是下一时刻的预测值 若要继续对的值进行预测 则用实际观测值作为输入数据 得到预测值 9 2 多步预测 首页 当k l时 网络输入m个历史数据 输出的预测值 多步预测用于股票价格预测误差较大 这是因为在网络运行调整权值和阀值时 每次迭代都要累加前一次k个预测值的误差 从而造成网络难以收敛的情况 甚至导致网络发生振荡 10 首页 3 滚动预测 滚动预测 又可称为迭代一步预测 是先进行单步预测 再将网络输出的预测值反馈给网络输入端作为输入的一部分 用于下一步的预测 若开始预测时输入数据是实际的时序观测值输出是下一时刻的预测值 将与一起作为输入数据对项进行估计 得到输出的预测值 如此反复迭代 就得到对未来一段时期的预测值 11 12 2BP神经网络的MATLAB函数 1 数据的预处理和后处理 数据的预处理和后处理是有效训练神经网络的关键步骤 直接影响到训练后神经网络的性能 常见的方法是将原始数据进行归一化处理 即通过一定的线性变换将输入和输出数据统一限制在 0 1 或 1 1 区间内 利用premnmx或prestd函数可以对输入和目标数据集进行归一化处理 使其落入 1 1 区间 12 首页 格式 Pn minp maxp premnmx P Pn minp maxp Tn mint maxt premnmx P T 说明 premnmx函数用于对网络的输入数据或目标数据进行归一化 归一化后的数据将分布在 1 1 区间内 归一化公式为 Pn 2 P minp maxp minp lTn 2 T mint maxt mint l其中 P为原始输入数据 maxp和minp分别是P中的最大值和最小值 Pn为归一化后的输入数据 T是原始目标数据 maxt和mint分别是T的最大值和最小值 Tn是归一化后的目标数据 13 格式 P T postmnmx Pn minp maxp Tn mint maxt 说明 Postmnmx函数可将premnmx函数所归一化数据进行反归一化处理P 0 5 Pn 1 maxp minp minpT 0 5 Tn 1 maxt mint mint将输入数据或目标数据转化为区间 0 1 的归一化处理公式为 Pn P minp maxp minp Tn T mint maxt mint 其对应的反归一化处理公式P Pn maxp minp minpT Tn maxt mint mint 14 2 创建网络 1 newff函数 用来建立一个前馈BP网络 格式 net newff PR SN TF BTF BLF PF 说明 PR 表示由每组输入 共P组 元素的最大值和最小值组成的P 2维矩阵 或用函数minmax P 表示 SN 表示网络隐含层和输出层神经元的个数 TF 表示网络隐含层和输出层的传递函数 tansig 默认 logsig purelin BTF 表示网络的训练函数 普通训练traingdm 需设定学习速率 动量系数 快速训练trainlm 默认 BLF 表示网络权值学习函数 learngdf 默认 PF 表示网络性能函数 mse 默认 网络输出和目标输出的均方误差 15 3 设定参数net init net 初始化网络权值和阈值 可不设定 net trainparam show 训练状态的显示幅度 默认25 net trainparam lr 学习速率 权值阈值的调整幅度 net trainparam mc 动量系数 权阈值改变的重复度 net trainparam epochs 训练次数 默认100 net trainparam goal 误差精度 默认0 net trainparam time 训练秒数 可不选 4 训练网络 格式 net tr train net P T 说明 P为输入样本矢量集 T为对应的目标样本矢量集 等号左右两侧的net分别用于表示训练得到和训练以前的神经网络对象 tr存储训练过程中的步数信息和误差信息 并给出网络误差实时变化曲线 16 5 BP神经网络的仿真格式 Y Pf Af E perf sim net P Pi Ai T 说明 输入net为神经网络对象 P为网络输入 Pi为输入延迟的初始状态 Ai为层延迟的初始状态 T为目标矢量 Y为网络输出 Pf为训练终止时的输入延迟状态 Af为训练终止时的层延迟状态 E为输出和目标矢量之间的误差 perf为网络性能值 首页 6 模拟输出图形输出 plot 横坐标 纵坐标 参数 查看参数 权值 net IW 层序号 阈值 net b 层序号 17 12 3案例分析 12 3 1北京市房地产开发投资及销售分析 北京市1999年至2010年房地产开发投资的资金来源中的国内贷款 与各种房屋类型销售额数据如表12 1所示 进而计算出2000年至2010年各项指标的增长率 数据如表12 2所示 试将住宅 办公楼 商业营业用房的销售额增长率作为输入元素 国内贷款额增长率作为目标函数 建立BP神经网络仿真模拟 18 北京市房地产开发投资及销售原始数据 19 北京市房地产开发投资及销售额增长率 20 案例二 中空保温玻璃的销售预测 MATLAB程序如下 clearp 0 5677 0 2435 0 58390 26160 17541 07560 2983 0 06790 73360 0965 0 35160 69080 31850 8940 0 02330 47220 92270 8708 0 06750 34640 29650 12670 13150 3773 0 4295 0 5566 0 20690 72750 62520 4419 0 18800 12250 0618 t 0 36840 35410 11760 4274 0 06490 20770 21750 2340 0 17850 9792 0 4979 21 rand state 0 保证每次结果都相同net newff minmax p 3 7 1 tansig tansig purelin trainlm net trainparam lr 0 1 net trainparam epochs 1000 net trainparam goal 0 001 net train net p t y sim net p e t yres norm e 整个网络误差m 2000 2010 plot m t m y o xlabel 日期 ylabel 国内贷款额增长率 22 23 确定最佳隐含层神经元个数 网络的设计及训练代码如下 s 4 8res 1 5fori 1 5rand state 0 net newff minmax p s i 1 tansig purelin net trainparam lr 0 1 net trainparam epochs 1000 net trainparam goal 0 001 net train net p t y sim net p e t yres i norm e end 24 12 3 2深证综合指数预测 1 多项指标的开盘价预测我们给出2008年2月23日至4月18日深证综指的开盘价 最高价 最低价 收盘价和成交量等数据见附录三附表3 1和附表3 2所示 试用BP神经网络对开盘价进行仿真预测 建立BP网络股票预测模型 选用三层结构BP网络 输入层 一个隐含层和输出层 隐含层节点和输出节点的个数分别取10和1 可通过反复训练学习得到 方法同案例12 3 1 以2008年2月13日的开盘价 最高价 最低价 收盘价和成交量作为网络的第一个输入数据 第二日开盘价作为目标变量第一个输出数据 隐含层神经元的传递函数确定为tansig 输出层神经元的传递函数为purelin 训练函数为traingdx 设定样本学习结束条件为误差精度E为0 001 循环次数为10000次 学
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 土石方运输项目承包合同6篇
- 江苏药师考试题库及答案
- 财金集团考试题库及答案
- 2025年锅炉运行值班员(高级工)理论考试题库(附答案)
- 化工导论考试题库及答案
- 2025年新疆粮油储备补贴合同协议
- 药厂车间考试题库及答案
- 2025年广西选调生考试行测真题及参考答案解析
- 公益知识讲座与传播活动方案
- 东阳电焊考试实操题及答案
- 新疆地方史课件
- 燕山石化聚丙烯工艺综述最好实习报告内容
- 一粒种子旅行
- 自考05175税收筹划(15-19)真题试卷
- 微机原理与接口技术(清华大学课件,全套)
- GB/T 9124-2010钢制管法兰技术条件
- GB 4287-1992纺织染整工业水污染物排放标准
- 腰椎间盘突出症课件
- 桂阳县中小幼教师资格定期注册工作指南专家讲座
- 童装原型部分(课堂)课件
- 软件测试用例实例非常详细
评论
0/150
提交评论