2.建立实验模型
采用单隐层的BP网络进行预测,本文选取输入层节点数为5,表示五天的石油期货价格收盘价;输出层节点数为1,表示下一天的石油期货价格收盘价,隐层节点数根据公式3-11,计算得隐层节点数为7,建立5-7-1的神经网络模型。其中,隐层的传递函数为对数S型函数,输出层为线性函数。
采用traingdx训练函数,参数设置为:show=100;lr=0.05;mc=0.90;goal=0.01; epochs=5000。
3.选取实验数据
实验数据选取2008年7月1日到2008年12月26日的石油期货价格的收盘价。 (1) 训练样本:选取2008年7月1日——2008年11月19日的石油期货收盘价。 表3-3
序号 日期 2008-7-1 2008-7-2 2008-7-3 2008-7-7 2008-7-8 2008-7-9 2008-7-10 2008-7-11 2008-7-14 2008-7-15 2008-7-16 2008-7-17 2008-7-18 2008-7-21 2008-7-22 2008-7-23 2008-7-24 2008-7-25 2008-7-28 2008-7-29 2008-7-30 2008-7-31 2008-8-1 2008-8-4 2008-8-5 2008-8-6 2008-8-7 2008-8-8 数据 140.97 143.57 145.29 141.37 136.04 136.05 141.65 145.08 145.18 138.74 134.6 129.29 128.88 131.04 127.95 124.44 125.49 123.26 124.73 122.19 126.77 124.08 125.1 121.41 119.17 118.58 120.02 115.2 25
序号 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 日期 2008-9-11 2008-9-12 2008-9-15 2008-9-16 2008-9-17 2008-9-18 2008-9-19 2008-9-22 2008-9-23 2008-9-24 2008-9-25 2008-9-26 2008-9-29 2008-9-30 2008-10-1 2008-10-2 2008-10-3 2008-10-6 2008-10-7 2008-10-8 2008-10-9 2008-10-10 2008-10-13 2008-10-14 2008-10-15 2008-10-16 2008-10-17 2008-10-20 数据 100.87 101.18 95.71 91.15 97.16 97.88 104.55 120.92 106.61 105.73 108.02 106.89 96.37 100.64 98.53 93.97 93.88 87.81 90.06 88.95 86.59 77.7 81.19 78.63 74.54 69.85 71.85 74.25 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 2008-8-11 2008-8-12 2008-8-13 2008-8-14 2008-8-15 2008-8-18 2008-8-19 2008-8-20 2008-8-21 2008-8-22 2008-8-25 2008-8-26 2008-8-27 2008-8-28 2008-8-29 2008-9-2 2008-9-3 2008-9-4 2008-9-5 2008-9-8 2008-9-9 2008-9-10 114.45 113.01 116 115.01 113.77 112.87 114.53 114.98 121.18 114.59 115.11 116.27 118.15 115.59 115.46 109.71 109.35 107.89 106.23 106.34 103.26 102.58 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 2008-10-21 2008-10-22 2008-10-23 2008-10-24 2008-10-27 2008-10-28 2008-10-29 2008-10-30 2008-10-31 2008-11-3 2008-11-4 2008-11-5 2008-11-6 2008-11-7 2008-11-10 2008-11-11 2008-11-12 2008-11-13 2008-11-14 2008-11-17 2008-11-18 2008-11-19 70.89 66.75 67.84 64.15 63.22 62.73 67.5 65.96 67.81 63.91 70.53 65.3 60.77 61.04 62.41 59.33 56.16 58.24 57.04 54.95 54.39 53.62 (2) 测试样本:选取2008年11月6日——2008年12月26日的石油期货收盘价。 表3-4 序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
日期 2008-11-6 2008-11-7 2008-11-10 2008-11-11 2008-11-12 2008-11-13 2008-11-14 2008-11-17 2008-11-18 2008-11-19 2008-11-20 2008-11-21 2008-11-24 2008-11-25 2008-11-26 2008-11-28 2008-12-1 数据 60.77 61.04 62.41 59.33 56.16 58.24 57.04 54.95 54.39 53.62 49.62 49.93 54.5 50.77 54.44 54.43 49.28 26
序号 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 日期 2008-12-3 2008-12-4 2008-12-5 2008-12-8 2008-12-9 2008-12-10 2008-12-11 2008-12-12 2008-12-15 2008-12-16 2008-12-17 2008-12-18 2008-12-19 2008-12-22 2008-12-23 2008-12-24 2008-12-26 数据 46.79 43.67 40.81 43.71 42.07 43.52 47.98 46.28 44.51 43.6 40.06 36.22 33.87 39.91 38.98 35.35 37.71
18
2008-12-2 46.96 4.程序设计
建立基于BP神经网络的股价预测模型,训练样本集p、t用于训练网络,测试样本集p1、t1用于检验网络的泛化(推广)能力,使用MATLAB语言进行程序编写。
程序主要代码如下:
[pn,minp,maxp,tn,mint,maxt]=premnmx(p,t); %创建一个BP网络 net=newff(minmax(pn),[7,1],{'logsig','purelin'},'traingdx','learngdm','msereg'); %设置训练函数 net.trainParam.show=100; net.trainParam.lr=0.05; net.trainParam.mc=0.90; net.trainParam.goal=0.01; net.trainParam.epochs=5000; %训练BP网络 [net,tr]=train(net,pn,tn); %输出训练后的权值和阈值 iw1=net.IW{1} b1=net.b{1} lw2=net.LW{2} b2=net.b{2} [pn1,minp1,maxp1,tn1,mint1,maxt1]=premnmx(p1,t1); an1=sim(net,pn1); a=postmnmx(an1,mint1,maxt1); 5.实验结果
通过对2008年7月1日到2008年11月19日的石油期货价格的收盘价进行训练,得到误差性能曲线如图4-1所示: (1)训练误差性能曲线
27
图4-1训练误差性能曲线
(2)模型训练后的权值和阈值 iw1 =
-0.1034 -0.1453 -0.1798 -0.2354 -0.3824 -0.0820 -0.1097 -0.1311 -0.1697 -0.2706 -0.1036 -0.1457 -0.1803 -0.2362 -0.3838 0.1099 0.1576 0.1978 0.2602 0.4258 0.1097 0.1569 0.1967 0.2586 0.4230 0.1099 0.1575 0.1977 0.2600 0.4255 -0.1034 -0.1452 -0.1796 -0.2351 -0.3820 b1 =
[ -0.0057 -0.0031 -0.0057 0.0067 0.0066 0.0067 -0.0057 ]’ lw2 =
-0.5400 -0.3779 -0.5421 0.6134 0.6092 0.6130 -0.5394 b2 = 0.0250
(3)测试样本的测试效果
28
图4-2仿真样本收盘价格拟合曲线
表4-1测试样本误差表
预测序号A 样本1 样本2 样本3 样本4 样本5 样本6 样本7 样本8 样本9 样本10 样本11 样本12 样本13 样本14 样本15 样本16 样本17 样本18 样本19 样本20
实际值 58.24 57.04 54.95 54.39 53.62 49.62 49.93 54.5 50.77 54.44 54.43 49.28 46.96 46.79 43.67 40.81 43.71 42.07 43.52 47.98 预测值 55.9493 55.7983 55.2242 54.0449 53.2652 52.6611 50.7016 53.6067 50.6014 53.7402 53.6066 49.3844 47.0509 48.1891 46.1906 43.0132 42.4795 42.2363 41.4568 41.4392 29
误差 2.2907 1.2417 0.2742 0.3451 0.3548 3.0411 0.7716 0..8933 0.1686 0.6998 0..8234 0.1044 0.0909 1.3991 0.5206 2.2032 1.2305 0.1663 2.0632 1.5408 误差率 3.91% 2.17% 0.49% 0.63% 0.66% 6.1% 1.5% 1.6% 0.33% 1.2% 1.51% 0.21% 0.19% 2.99% 1.20% 5.39% 2.81% 0.39% 4.74% 3.21%
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库人工神经网络在时间序列预测中的应用研究论文(5[1].22)(6)在线全文阅读。
相关推荐: