模型的建立与求解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
模型的建立与求解
模型一的建立与求解
根据2003-2013年海平面高度数据情况(附件一),运用优化后的灰色模型理论,Matlab 语言编程预测出2020年及2050年的海平面高度。
设2003年为第一年,第k 年的海平面高度记为()k X 0,则有原始数据列))()2()1(()0()0()0()0(k x x x x ,,,⋯=
将原始数据累加,得到一次累加生成数列))()2()1(()1()1()1()1(k x x x x ,,,⋯=,其中k t n x t x t
n ,⋯==∑=,2,1),()(1)0()
1( 对)(t x 建立微分方程为 u ax dt
t dx =+)1()((其中a ,u 为待定系数) 所以此时时间响应函数为 a
u e a u x t x at +-=+-))1(()1()0( 对叠加数据还原 )1()()()0(--=t x t x t x
得到海平面高度的预测曲线:
由上预测曲线可以发现,在2024年时的预测海平面高度已经超过450毫米,这显然有悖于事实。在这种预测方式下得到的预测结果偏离了海平面高度变化的客观发展,说明灰色预测模型不适用于中长期的预测,据此我们进行了修正,提
出了针对海平面上升进行中长期预测的优化灰色模型。
优化模型
灰色模型的时间响应函数,其形式可写为 21)1(C e C t x at +=+-
由于上式变化速度过快导致了海平面预测值增长速度偏大,因而选取较缓慢的二次函数右支作为激励函数 c bt at t x ++=2)((其中c b a ,,为待定参数)
(1) 求解待定参数c b a ,,
令T k x x x Y )]()2()1([)0()0()0(,,,⋯=;T c b a U ],,[=;
⎪⎪⎪⎭
⎫ ⎝⎛=11112k k A
所以 C A Y *=,得 Y A A A U T T 1)(-=
用最小二乘法求得U
(2)由于得到的是c b a ,,的估值)(t x 是一个近似表达式(与原数列区分),对函数表达式)(t x 进行离散,做差还原得到)()0(t x :)1()()()0(--=t x t x t x 通过以上建立Matlab 程序求解得 12.5056.25467.4)(2++=t t t x
由此得到了海平面预测的拟合图:
图2 用改进后的灰色模型预测深圳海平面高度
从而得到2020年、2050年海平面预测高度分别为181.905mm 和449.925mm. 计算2003-2013年的海平面预测值与实际值的相对误差,得下图
图3 深圳海平面高度预测相对误差
由图可看出预测的海平面高度在实际高度上下波动,幅度不是很大,在短期预测得到的数据中是有一定的误差的,但对于长期预测应该是具有较好的效果。
BP 神经网络的建立与求解
BP 神经网络的建立
(1)对每一层的权值ij W 初始化,网络的权值一般在[0,1]之间取值.
(2)对输入数据的预处理,提供训练样本以及目标输出。输入训练样本:
))(),(),((310k X k X k X X = 期望输出:))((k Y Y n =
(3)计算各层的输出.
对于第k 层第i 个神经元的输出k i x 有:
11
-+=∑=k j n k j ij k
i
x w U ,111=-+k n x ,θ-=+1in w ,)(k i k i U f x = (4)求各层的学习误差k i d ,对于输出层有m k =,有:
)()1(i m i m i m i k i Y X X X d --=
对于其他各层 1)1(+-=k i ij k i k i k i d w X X d
(5)修正权系数1)()1(--=+k
j k i ij ij X d t w t w η,其中η为学习速率
(6)当求出了各层各个权系数之后,可按给定品质指标判别是否满足要求,如果满足要求,则算法结束;如果未满足要求,则返回(3)执行。
BP 神经网络的求解:
为了使网络有更大的泛化能力,我们没有调用MATLAB 神经网络工具箱,而是选择编写源程序。由于学习样本数量较少,品质较差,增大网络的训练次数,使之达到50000次,以便使神经网络学习时间充裕。本实验因为样本数量少,为了测试网络的推测能力,测试阶段使用了与训练输入样本相同的数据,但对于输出样本添加了噪声,选取强度为0.01,避免了网络的过渡拟合。激励函数选取Logsig 函数,为了使神经网络有较好的推测能力,使用了Premnmx 函数进行归一化操作。
本网络结构采用了如下图所示常规的三层网络结构形式:
包括输入层、中间层(隐含层)和输出层。上下层之间实现全连接,而同一层的神经元之间无连接,输入神经元与隐含层之间是网络的权值,其意义是两个神经元之间的连接强度。隐含层或输出层任一神经元将前一层所有神经元传来的信息进行整合,在整合过的信息中添加一个阙值,这主要是模仿生物学中神经元必须达到一定的阙值才会接触的原理,然后将整合过的信息作为该层神经元输入。当一对学习样本提供给输入神经元后,神经元的激活值(该层神经元输出值)从输入层经过隐含层向输出层传播,在输出层的个神经元获得网络的神经输入响应,然后按照减少网络输出与数据样本之间的误差的方向,从输出层反向经过隐含层回到输入层,从而逐步修正各连解权值,这种算法称为误差反方向传播算法,即BP 算法。
随着这种误差逆向传播修正的反复进行,网络对输入模式相应的正确率也不断上升。BP 算法的核心是数学中的“负梯度下降”理论,即BP 网络的误差调整方向总是沿着误差下降最快的方向进行,该三层BP 网络权值和阙值调整公式如下:
)()1(t E t ij ij
ij ωωηω+∂∂-=+ )()1(t E t jk jk
jk ωωηω+∂∂-=+ )()1(t B B E t B ij ij ij +∂∂-=+η )()1(t B B E t B jk jk
ij +∂∂-=+η