亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Matlab實現(xiàn)時間序列預(yù)測分類實例代碼

 更新時間:2021年07月31日 10:24:27   作者:極客范兒  
時間序列是按時間順序排列的、隨時間變化且相互關(guān)聯(lián)的數(shù)據(jù)序列,這篇文章主要給大家介紹了關(guān)于Matlab實現(xiàn)時間序列預(yù)測分類的相關(guān)資料,需要的朋友可以參考下

Matlab從2010b版本以后,神經(jīng)網(wǎng)絡(luò)工具箱已經(jīng)升級為7.0,功能大大加強(qiáng)。在之前的版本做時間預(yù)測是比較麻煩操作的,MathWorks公司對時間序列預(yù)測做了詳細(xì)的解決,跑模型非常簡便。

下面通過一個例子演示在Matlab實現(xiàn)時間序列預(yù)測。

一、數(shù)據(jù)準(zhǔn)備

極客范兒在夏天吹電扇的體溫變化

時間 風(fēng)速 溫度
0 1 37.21405
0.12457 1.01 37.26016
0.24915 1.02 37.26324
0.37373 1.03 37.31242
0.4983 1.04 37.3155
0.62258 1.05 37.36468
0.74745 1.06 37.36776
0.87203 1.07 37.41694
0.99661 1.08 37.42002
% 原始數(shù)據(jù)讀入到Matlab中
rawData=xlsread('time_series_data.xlsx','sheet1','A2:C52);
% 第一列時間,第二列風(fēng)速,第三列溫度
% yt第三列
y_t=rawData(:,3);
% xt第二列
x_t=rawData(:,2);

二、時間序列預(yù)測分類

時間序列預(yù)測分為三類:

1、輸入為xt,輸出是yt

即有過去的輸入xt,也有過去的輸出yt,同時當(dāng)前的輸出不僅依賴于過去的輸入,也同時依賴于過去的輸出

過去時間段溫度的變化,預(yù)測將來某個時間溫度的變化,這種情況就是只有過去的輸出

%   x_t - 時間序列輸入
%   y_t - 反饋時間序列

X = tonndata(x_t,false,false);
T = tonndata(y_t,false,false);

% 選擇訓(xùn)練功能
% 'trainlm'通常是最快
% 'trainbr'耗時較長,但可能更適合解決挑戰(zhàn)性的問題
% 'trainscg'使用更少的內(nèi)存。適用于低內(nèi)存情況
trainFcn = 'trainlm';  % Levenberg-Marquardt反向傳播

% 創(chuàng)建一個非線性自回歸網(wǎng)絡(luò)
feedbackDelays = 1:6;
hiddenLayerSize = 20;
net = narnet(feedbackDelays,hiddenLayerSize,'open',trainFcn);

% 為訓(xùn)練和模擬準(zhǔn)備數(shù)據(jù)
% PREPARETS函數(shù)為特定網(wǎng)絡(luò)準(zhǔn)備時間序列數(shù)據(jù)
% 移動時間的最小量,以聲明填充輸入狀態(tài)和層
% 使用PREPARETS允許保留原始的時間序列數(shù)據(jù)不變,同時輕松定制它的網(wǎng)絡(luò)與不同
% 具有開環(huán)或閉環(huán)反饋模式的延遲數(shù)
[x,xi,ai,t] = preparets(net,{},{},T);

% 建立訓(xùn)練,驗證,測試的數(shù)據(jù)
net.divideParam.trainRatio = 70/100;
net.divideParam.valRatio = 15/100;
net.divideParam.testRatio = 15/100;

% 訓(xùn)練靜態(tài)神經(jīng)網(wǎng)絡(luò) 
[net,tr] = train(net,x,t,xi,ai);

% 測試神經(jīng)網(wǎng)絡(luò)
y = net(x,xi,ai);
e = gsubtract(t,y);
performance = perform(net,t,y)

% 查看神經(jīng)網(wǎng)絡(luò)
view(net)

% Plots
% Uncomment these lines to enable various plots.
%figure, plotperform(tr)
%figure, plottrainstate(tr)
%figure, ploterrhist(e)
%figure, plotregression(t,y)
%figure, plotresponse(t,y)
%figure, ploterrcorr(e)
%figure, plotinerrcorr(x,e)

% 提前預(yù)測網(wǎng)絡(luò)
% 利用該網(wǎng)絡(luò)進(jìn)行多步預(yù)測
% CLOSELOOP函數(shù)將反饋輸入替換為直接輸入
% 從外部層連接
nets = removedelay(net);
nets.name = [net.name ' - Predict One Step Ahead'];
view(netc)
[xs,xis,ais,ts] = preparets(nets,X,{},T);
ys = nets(xs,xis,ais);
stepAheadPerformance = perform(nets,ts,ys)

2、有x值,有y值:NARX

只有過去的輸出

如果給環(huán)境加一個風(fēng)扇,這時候有了風(fēng)速,過去時間風(fēng)速在改變,同時也在影響溫度的改變

Matlab現(xiàn)在提供時間序列預(yù)測工具箱,可以在圖形界面上進(jìn)行調(diào)參選擇,使用命令ntstool打開時間序列預(yù)測工具箱

類似股票的模型,只知道早上9:30開市到11:30的股票行情,預(yù)測11:30之后的股票行情,不考慮任何的輸入

(1)選擇模型類型

tool-001

(2)選擇輸出,只有y_t

tool-002

(3)選擇70%用來作為訓(xùn)練數(shù)據(jù),15%用來作為驗證使用,15%用來測試

tool-003

(4)選擇delay

tool-004

(5)開始訓(xùn)練

tool-005

(6)得到參數(shù)

tool-006
tool-007

(7)將神經(jīng)網(wǎng)絡(luò)導(dǎo)出代碼

tool-008

3、無x,有y值:NAR

沒有線性的輸入輸出,很少遇到這種情況

三、總結(jié)

Matlab從2010b版本以后,使用圖形界面訓(xùn)練網(wǎng)絡(luò)調(diào)參,生成的代碼與手敲的功能無異,Matlab時間序列預(yù)測工具箱實用而且好用。

到此這篇關(guān)于Matlab實現(xiàn)時間序列預(yù)測分類的文章就介紹到這了,更多相關(guān)Matlab時間序列預(yù)測內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python 安裝virtualenv和virtualenvwrapper的方法

    python 安裝virtualenv和virtualenvwrapper的方法

    下面小編就為大家?guī)硪黄猵ython 安裝virtualenv和virtualenvwrapper的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • Python中函數(shù)的多種格式和使用實例及小技巧

    Python中函數(shù)的多種格式和使用實例及小技巧

    這篇文章主要介紹了Python中函數(shù)的多種格式和使用實例及小技巧,本文講解了普通格式、帶收集位置參數(shù)的函數(shù)、帶收集關(guān)鍵字參數(shù)的函數(shù)、函數(shù)特殊用法、內(nèi)嵌函數(shù)和閉包等內(nèi)容,需要的朋友可以參考下
    2015-04-04
  • pandas按照列的值排序(某一列或者多列)

    pandas按照列的值排序(某一列或者多列)

    這篇文章主要介紹了pandas按照列的值排序(某一列或者多列),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • python將時分秒轉(zhuǎn)換成秒的實例

    python將時分秒轉(zhuǎn)換成秒的實例

    今天小編就為大家分享一篇python將時分秒轉(zhuǎn)換成秒的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • PyCharm中配置PySide2的圖文教程

    PyCharm中配置PySide2的圖文教程

    這篇文章主要介紹了PyCharm中配置PySide2的教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • Python 實現(xiàn)簡單的shell sed替換功能(實例講解)

    Python 實現(xiàn)簡單的shell sed替換功能(實例講解)

    下面小編就為大家?guī)硪黄狿ython 實現(xiàn)簡單的shell sed替換功能(實例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • python 環(huán)境搭建 及python-3.4.4的下載和安裝過程

    python 環(huán)境搭建 及python-3.4.4的下載和安裝過程

    這篇文章主要介紹了python 環(huán)境搭建 python-3.4.4的下載和安裝過程,文中給大家補(bǔ)充介紹了pycharm的基本用法,非常不錯,具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2019-07-07
  • 淺析Django接口版本控制

    淺析Django接口版本控制

    一個項目在升級迭代的時候,不會立馬拋棄舊的版本,甚至?xí)霈F(xiàn)多個版本共存同時維護(hù)的情況,因此需要版本控制
    2021-06-06
  • Python 實現(xiàn)過濾掉列表中唯一值

    Python 實現(xiàn)過濾掉列表中唯一值

    這篇文章主要介紹了Python 實現(xiàn)過濾掉列表中唯一值,文章內(nèi)容主要利用Python代碼實現(xiàn)過濾掉列表中的唯一值的功能,需要的朋友可以參考一下
    2021-11-11
  • 兩行代碼解決Jupyter Notebook中文不能顯示的問題

    兩行代碼解決Jupyter Notebook中文不能顯示的問題

    這篇文章主要介紹了兩行代碼解決Jupyter Notebook中文不能顯示的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04

最新評論