经济预测与决策技术及MATLAB实现第12章 神经网络预测法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(
x)

1
1 e
x
正切S形函数(tansig)
f
(
x)

1 1

e e
x x
输出层的是线性函数,用purelin表示
3.模拟过程
网络通过对已知信息的反复学习训练,运用根据误差 来逐步调整与改变神经元连接权重和神经元阈值的方 法,使得相似的输入有相似的输出,从而达到处理信 息、模拟输入输出关系的目的。
X nmk f ( X n , X n1,L , X nm )
用神经网络进行预测,即用神经网络通过一组数据点 Xn, Xn1,L , Xnm 来拟合函数f,得出未来n m k(k>1)时刻 数据的预测值。
首页
1.单步预测
当k=1时,且网络的所有输入数据都是时间序列的实际 观测值时所做的预测就是单步预测。 在进行预测时,把实际的时序观测值 Xn, Xn1,L , Xnm ,这 m个数据输入网络,输出是下一时刻的预Βιβλιοθήκη Baidu值X nm1
若要继续对X nm2 的值进行预测,则用实际观测值Xn1, Xn2,L , Xnm1 作为输入数据,得到预测值X nm2
首页
2.多步预测 当k>l时,网络输入m个历史数据,输出 X nm1, X nm2,L , X nmk 的预测值。多步预测用于股票价格预测误差较大。这 是因为在网络运行调整权值和阀值时,每次迭代都要 累加前一次k个预测值的误差,从而造成网络难以收 敛的情况,甚至导致网络发生振荡。
第12章 神经网络预测法 12.1 神经网络基本理论 12.2 BP神经网络的MATLAB函数 12.3 案例分析 12.3.1 北京市房地产开发投资及销售分析 12.3.2 深证综合指数预测
练习与提高(12)
12.1 神经网络基本理论
12.1.1 人工神经网络
人工神经网络(Artificial Neural Network,ANN),是由大 量处理单元(神经元Neurons)广泛互连而成的网络,由分 布于若干层的节点组成。每个单节点都有自己的输入值、 权重、求和与激活函数以及输出值,在处理之前,数据 被分为训练数据集(Training Data set)和测试数据集 (Testing Data set),然后将权重或输入,指派到第一层 的每一个节点。每次重复时,系统处理输入,并与实际 值相比较,得到度量后的误差,并反馈给系统,调整权 重。大多数情形下,调整后的权重都能更好地预测实际 值。当达到预定义的最小误差水平时,处理结束。
如此反复迭代,就得到对未来一段时期的预测值。
首页
12.2 BP神经网络的MATLAB函数
1.数据的预处理和后处理
数据的预处理和后处理是有效训练神经网络的关键步骤, 直接影响到训练后神经网络的性能。常见的方法是将原 始数据进行归一化处理,即通过一定的线性变换将输入 和输出数据统一限制在[0,1]或[-1,1]区间内。
首页
3.滚动预测
滚动预测,又可称为迭代一步预测,是先进行单步预 测,再将网络输出的预测值反馈给网络输入端作为输 入的一部分,用于下一步的预测。 若开始预测时输入数据是实际的时序观测值 Xn, Xn1,L , Xnm 输出是下一时刻的预测值 Xnm1 ,
将 X nm1 与 X n1, X n2,L , X nm 一起作为输入数据对 X nm2 项进行估计,得到输出的预测值 Xnm2
12.1.3 BP神经网络过程
1.BP网络的结构
BP网络是一种单向传播的多层前向网络,具有三层或三层以 上的神经网络,包括输入层、中间层(隐层)和输入层。上下 层之间实现全连接,每一层神经元之间无连接。
输入层
隐层
输出层
2.传递函数或激活函数
一般输入层和隐层的传递函数是S形函数(logsig):
f
(1)读入样本; (2)数据处理; (3)创建网络; (4)设定参数; (5)训练网络; (6)模拟输出; (7)调整参数:学习速率、动量系数、训练次数、 误差精度等; (8)仿真预测:网络固定,输入新的样本集,模拟 输出。
首页
12.1.4 BP神经网络预测
BP神经网络通过对以往历史数据的学习,找出数据的变化 趋势之间的非线性关系,并将其存储在网络具体的权值和 阀值中,从而预测未来数据的走势。
12.1.2 BP神经网络的基本原理
BP(Back-Propagation Network) 是一种多层网络的“逆 推”学习算法。其基本思想是:
学习过程由信号的正向传播与误差的反向传播组成。 正向传播时,输入样本从输入层传入,经隐层逐层处理 后传向输出层。若输出层的实际输出与期望输出不符,则转 向误差的反向传播阶段。 误差的反向传播是将输出误差以某种形势通过隐层向输 入层逐层反传,并将误差分摊给各层的所有单元,从而获得 各层单元的误差信号,此误差信号即作为修正各单元权值的 依据。 这种信号正向传播与误差反向传播的各层权值调整过程 是周而复始地进行。权值不断调整的过程,也就是网络的学 习训练过程。此过程一直进行到网络输出的误差减少到可以 接受的程度,或进行到预订的设定的学习次数为止。
(1)读入样本、设定初始权值和阈值; (2)设定参数; (3)计算隐含层输出; (4)计算输出层输出; (5)计算输出值与期望值的误差; (6)判断误差是否小于设定值,是则结束; (7)调整隐层到输出层的权值和阈值; (8)调整输入层到隐层的权值和阈值; (9)返回计算隐含层输出。
首页
4.学习过程
利用premnmx或prestd函数可以对输入和目标数据集进 行归一化处理,使其落入[-1,1]区间。
格式: [Pn,minp,maxp]=premnmx(P) [Pn,minp,maxp,Tn,mint,maxt]=premnmx(P,T) 说明:premnmx函数用于对网络的输入数据或目标数 据进行归一化,归一化后的数据将分布在[-1,1]区间 内。归一化公式为: Pn=2*(P-minp)/(maxp-minp)-l Tn=2*(T-mint)/(maxt-mint)-l 其中,P为原始输入数据,maxp和minp分别是P中的最 大值和最小值,Pn为归一化后的输入数据。T是原始目 标数据,maxt和mint分别是T的最大值和最小值,Tn是 归一化后的目标数据。
相关文档
最新文档