版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、目錄1引言12MG時(shí)間序列12.1MG時(shí)間序列簡介12.2利用dde23函數(shù)求解MG時(shí)間序列13BP神經(jīng)網(wǎng)絡(luò)33.1神經(jīng)網(wǎng)絡(luò)總體思路33.2MATLAB中的newff函數(shù)33.3BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練43.4構(gòu)建輸入輸出矩陣63.5對MG時(shí)間序列未來值預(yù)測64參考文獻(xiàn)75附錄81 引言本文選用的神經(jīng)網(wǎng)絡(luò)的是BP神經(jīng)網(wǎng)絡(luò),利用MATLAB編程實(shí)現(xiàn)。首先通過求解Mackey-Glass方程得到具有513個(gè)數(shù)據(jù)的Mackey-Glass時(shí)間序列,其中一半用于訓(xùn)練神經(jīng)網(wǎng)絡(luò),一半用于檢測預(yù)測值。BP神經(jīng)網(wǎng)絡(luò)輸入層神經(jīng)元個(gè)數(shù)為4,隱含層為8,輸出層為1。利用BP神經(jīng)網(wǎng)絡(luò)工具箱構(gòu)建神經(jīng)網(wǎng)絡(luò)并對其進(jìn)行訓(xùn)練,然后利
2、用訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)對未來值進(jìn)行預(yù)測,畫出比較圖。2 MG時(shí)間序列2.1 MG時(shí)間序列簡介Mackey-Glass 混沌系統(tǒng)一類非常典型的混沌系統(tǒng),混沌系統(tǒng)模型由以下的時(shí)滯微分方程來描述:其中 =0.2, =0.1, =10,是可調(diào)參數(shù),x(t)是在t時(shí)刻的時(shí)間序列的值。MG方程表現(xiàn)出了某種周期性與混沌特性,在<16.8時(shí),表現(xiàn)出周期性,在 >16.8時(shí),則表現(xiàn)出混沌特性。2.2 利用dde23函數(shù)求解MG時(shí)間序列本課程設(shè)計(jì)中取=10,也就是說MG時(shí)間序列會(huì)表現(xiàn)為周期性??梢岳肕ATLAB求解MG方程,MG方程是一個(gè)時(shí)滯微分方程,其中一種求解方法是利用MATLAB的dde23函數(shù)。
3、具體求解方法是:首先建立MG.m函數(shù)文件,代碼如下function y = MG(t,x,z)%UNTITLED Summary of this function goes here% Detailed explanation goes herexlag=z(1,:);y=ones(1,1);y(1)=(0.2*xlag(1)/(1+(xlag(1)10)-0.1*x(1);end然后需要建立命令文件timeMG.m,代碼如下clear,clc;tau=10;sol=dde23('MG',tau,0.92,1,1000);figure;plot(sol.x,sol.y,'
4、;r');xlabel('t','fontsize',20,'fontname','times new roman','FontAngle','italic'); ylabel('x(t)','fontsize',20,'fontname','times new roman','FontAngle','italic'); grid on;在執(zhí)行完這個(gè)命令文件后會(huì)生成MG時(shí)間序列的圖像,具有很明顯的
5、周期性改變一下,在程序里使tau=30,可以得到另一種圖像,即具有混沌特性,本文不預(yù)測這種。3 BP神經(jīng)網(wǎng)絡(luò)3.1 神經(jīng)網(wǎng)絡(luò)總體思路利用MATLAB里的BP神經(jīng)網(wǎng)絡(luò)工具箱建立一個(gè)兩層BP神經(jīng)網(wǎng)絡(luò)(這里的兩層分別指的是隱含層和輸出層,而輸入層通常不算作一層)。其中輸入層神經(jīng)元個(gè)數(shù)為4,隱含層神經(jīng)元個(gè)數(shù)為8,輸出層個(gè)數(shù)為1。利用訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)對未來的值進(jìn)行預(yù)測并與實(shí)際值比較。3.2 MATLAB中的newff函數(shù)BP神經(jīng)網(wǎng)絡(luò)的MATLAB實(shí)現(xiàn)可以采用MATLAB里的工具箱,通過調(diào)用newff來構(gòu)建BP神經(jīng)網(wǎng)絡(luò)。newff函數(shù)參數(shù)列表有很多的可選參數(shù),這里使用newff函數(shù)的一種簡單的形式。語法:
6、net = newff ( A, B, C ,Train)參數(shù):A:一個(gè)n×2的矩陣,第i行元素為輸入信號(hào)xi的最小值和最大值;B:一個(gè)k維行向量,其元素為網(wǎng)絡(luò)中各層節(jié)點(diǎn)數(shù);C:一個(gè)k維字符串行向量,每一分量為對應(yīng)層神經(jīng)元的激活函數(shù);Train:訓(xùn)練函數(shù),是一個(gè)字符串根據(jù)參考文獻(xiàn)1,選取各個(gè)參數(shù),至于各個(gè)參數(shù)的到底該怎么設(shè)計(jì)我并沒有研究。關(guān)于參數(shù)A,使用maxmin函數(shù)得到輸入矩陣沒列的最大值和最小值。關(guān)于參數(shù)B,兩層的BP神經(jīng)網(wǎng)絡(luò),隱含層為神經(jīng)元個(gè)數(shù)為8,輸出層為1,說以B為8 1,是一個(gè)2維向量。關(guān)于參數(shù)C,隱含層的激活函數(shù)采用S函數(shù),輸出層的激勵(lì)函數(shù)選用線性函數(shù),于是C為
7、9;logsig' 'purelin',是一個(gè)2維字符串向量。關(guān)于參數(shù)Train,選用梯度下降自適應(yīng)學(xué)習(xí)率訓(xùn)練函數(shù)Train取traingdx。3.3 BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練使用train函數(shù)對神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。trian函數(shù)使用代碼train(net,inputs,targets);inputs是輸入矩陣,targets是輸出矩陣,將在下一節(jié)介紹。網(wǎng)絡(luò)配置參數(shù)一些重要的網(wǎng)絡(luò)配置參數(shù)如下:net.trainparam.goal :神經(jīng)網(wǎng)絡(luò)訓(xùn)練的目標(biāo)誤差net.trainparam.show : 顯示中間結(jié)果的周期net.trainparam.epochs :最大迭代次數(shù)ne
8、t.trainParam.lr : 學(xué)習(xí)率迭代次數(shù)的選擇太小雖然訓(xùn)練耗時(shí)短,但容易導(dǎo)致預(yù)測失敗。所以在此選擇10000。本文中使用的代碼如下%設(shè)置訓(xùn)練參數(shù)net.trainParam.lr=0.01;net.trainParam.epochs=10000;net.trainParam.goal=1e-6;net=train(net,inputs,targets);y=sim(net,inputs);MATLAB對BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練的MATLAB工具箱界面3.4 構(gòu)建輸入輸出矩陣輸出層神經(jīng)元個(gè)數(shù)為4,于是需要構(gòu)建一個(gè)4行N列的輸入矩陣。得到MG時(shí)間序列中有513個(gè)數(shù)據(jù),準(zhǔn)備使用其中一半訓(xùn)練神經(jīng)
9、網(wǎng)絡(luò),后一半用于檢驗(yàn)預(yù)測結(jié)果。以每4個(gè)連續(xù)數(shù)據(jù)作為輸入,緊跟著的下一數(shù)據(jù)作為輸出,一共可以得到200多組樣本進(jìn)行訓(xùn)練。構(gòu)建輸入輸出矩陣代碼如下tau=10;sol=dde23('MG',tau,0.92,1,1000);lag=4;% 輸入層神經(jīng)元個(gè)數(shù)iinput=sol.y' % sol.y為原始序列(行向量)n=length(iinput)/2;%數(shù)據(jù)用于神經(jīng)網(wǎng)絡(luò)的訓(xùn)練%準(zhǔn)備輸入和輸出數(shù)據(jù)inputs=zeros(lag,n-lag);for i=1:n-lag inputs(:,i)=iinput(i:i+lag-1)'endtargets=sol.y(l
10、ag+1:n);%輸出矩陣3.5 對MG時(shí)間序列未來值預(yù)測之前解出來的MG時(shí)間序列的一半用來訓(xùn)練BP神經(jīng)網(wǎng)絡(luò),后一半用作為未來的實(shí)際值,與預(yù)測值進(jìn)行比較。預(yù)測200個(gè)數(shù)據(jù),利用循環(huán)將網(wǎng)絡(luò)輸出重新輸入,具體代碼如下%預(yù)測與檢驗(yàn)forecastn=200; %預(yù)測步數(shù)forecast_in=iinput(n-lag+1:n);forecast_out=zeros(1,forecastn); %預(yù)測輸出% 多步預(yù)測時(shí),用下面的循環(huán)將網(wǎng)絡(luò)輸出重新輸入for i=1:forecastn forecast_out(i)=sim(net,forecast_in); forecast_in=forecast_
11、in(2:end);forecast_out(i);endyy=y,forecast_out;plot(yy);最終生成比較圖,其中紅色曲線為實(shí)際值,藍(lán)色曲線為預(yù)測值。從圖中可以看到有一部分預(yù)測值比較精準(zhǔn),但有一部分并不是很理想。4 參考文獻(xiàn)1趙新. 基于遺傳神經(jīng)網(wǎng)絡(luò)的MG時(shí)間序列預(yù)測方法研究D.武漢科技大學(xué),2006.2陳陽,王濤. 基于區(qū)間二型單點(diǎn)Mamdani模糊邏輯系統(tǒng)的Mackey-Glass時(shí)間序列預(yù)測J. 遼寧工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版),2015,01:1-5.5 附錄完整代碼:MG.m中的代碼如下,其主要功能是為dde23函數(shù)提供求解MG方程需要的函數(shù)句柄。function y
12、 = MG(t,x,z)%UNTITLED Summary of this function goes here% Detailed explanation goes herexlag=z(1,:);y=ones(1,1);y(1)=(0.2*xlag(1)/(1+(xlag(1)10)-0.1*x(1);endBP.m中的代碼如下,是一個(gè)命令文件,實(shí)現(xiàn)MG時(shí)間序列的生成,神經(jīng)網(wǎng)絡(luò)的構(gòu)建和訓(xùn)練,以及預(yù)測MG時(shí)間序列未來值。clear,clc;tau=10;sol=dde23('MG',tau,0.92,1,1000);lag=4;% 輸入層神經(jīng)元個(gè)數(shù)iinput=sol.y
13、39; % sol.y為原始序列(行向量)n=length(iinput)/2;%數(shù)據(jù)用于神經(jīng)網(wǎng)絡(luò)的訓(xùn)練%準(zhǔn)備輸入和輸出數(shù)據(jù)inputs=zeros(lag,n-lag);for i=1:n-lag inputs(:,i)=iinput(i:i+lag-1)'endtargets=sol.y(lag+1:n);%創(chuàng)建兩層的BP神經(jīng)網(wǎng)絡(luò);隱含層神經(jīng)元個(gè)數(shù)為8,激活函數(shù)為Logarithmic sigmoid transfer%function;輸出層神經(jīng)元個(gè)數(shù)為1,激活函數(shù)為Linear transfer function;net = newff(minmax(inputs),8 1,'logsig' 'purelin', 'traingdx');%設(shè)置訓(xùn)練參數(shù)net.trainParam.lr=0.01;net.trainParam.epochs=10000;net.trainParam.goal=1e-6;net=train(net,inputs,targets);y=sim(net,inputs);%plot(y);% hold on;plot(sol.y(5:end),'r');hold on;%預(yù)測與檢驗(yàn)forecastn=200; %預(yù)測步數(shù)foreca
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024招標(biāo)項(xiàng)目廉政承諾書與投標(biāo)保證金監(jiān)管實(shí)施協(xié)議3篇
- 專業(yè)化焊接工程服務(wù)2024協(xié)議范本版B版
- 2024年配電網(wǎng)擴(kuò)建及優(yōu)化改造合同
- 16 表里的生物(說課稿)-2024-2025學(xué)年統(tǒng)編版語文六年級(jí)下冊
- 2024淘寶店鋪全息效果裝修模板定制與運(yùn)營合同3篇
- 無人機(jī)應(yīng)用技術(shù)培訓(xùn)協(xié)議
- 3 的倍數(shù)的特征(說課稿)-2024-2025學(xué)年五年級(jí)上冊數(shù)學(xué)北師大版
- 股份代持協(xié)議書完整范本
- 3《別了“不列顛尼亞”》、《縣委書記的榜樣-焦裕祿》聯(lián)讀說課稿 2024-2025學(xué)年統(tǒng)編版高中語文選擇性必修上冊
- 10 我們愛和平2023-2024學(xué)年六年級(jí)下冊道德與法治同步說課稿(統(tǒng)編版)
- (八省聯(lián)考)2025年高考綜合改革適應(yīng)性演練 物理試卷合集(含答案逐題解析)
- 2025年安徽銅陵市公安局第二批輔警招聘158人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 車間修繕合同模板
- 商會(huì)年會(huì)策劃方案范例(3篇)
- SQE年終總結(jié)報(bào)告
- 【高考語文】2024年全國高考新課標(biāo)I卷-語文試題評(píng)講
- 《化學(xué)實(shí)驗(yàn)室安全》課程教學(xué)大綱
- 2024年人教版初二地理上冊期末考試卷(附答案)
- 2024文旅景區(qū)秋季稻田豐收節(jié)稻花香里 說豐年主題活動(dòng)策劃方案
- 高低壓供配電設(shè)備檢查和檢修保養(yǎng)合同3篇
- 2023-2024學(xué)年福建省廈門市八年級(jí)(上)期末物理試卷
評(píng)論
0/150
提交評(píng)論