婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Matlab實現時間序列預測分類實例代碼

Matlab實現時間序列預測分類實例代碼

熱門標簽:無錫智能外呼系統好用嗎 宿州電話機器人哪家好 旅游廁所地圖標注怎么弄 百應電話機器人總部 南昌地圖標注 西青語音電銷機器人哪家好 電梯新時達系統外呼顯示e 成都呼叫中心外呼系統哪家強 地圖標注與注銷

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

下面通過一個例子演示在Matlab實現時間序列預測。

一、數據準備

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

時間 風速 溫度
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
% 原始數據讀入到Matlab中
rawData=xlsread('time_series_data.xlsx','sheet1','A2:C52);
% 第一列時間,第二列風速,第三列溫度
% yt第三列
y_t=rawData(:,3);
% xt第二列
x_t=rawData(:,2);

二、時間序列預測分類

時間序列預測分為三類:

1、輸入為xt,輸出是yt

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

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

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

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

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

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

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

% 建立訓練,驗證,測試的數據
net.divideParam.trainRatio = 70/100;
net.divideParam.valRatio = 15/100;
net.divideParam.testRatio = 15/100;

% 訓練靜態神經網絡 
[net,tr] = train(net,x,t,xi,ai);

% 測試神經網絡
y = net(x,xi,ai);
e = gsubtract(t,y);
performance = perform(net,t,y)

% 查看神經網絡
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)

% 提前預測網絡
% 利用該網絡進行多步預測
% CLOSELOOP函數將反饋輸入替換為直接輸入
% 從外部層連接
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

只有過去的輸出

如果給環境加一個風扇,這時候有了風速,過去時間風速在改變,同時也在影響溫度的改變

Matlab現在提供時間序列預測工具箱,可以在圖形界面上進行調參選擇,使用命令ntstool打開時間序列預測工具箱

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

(1)選擇模型類型

(2)選擇輸出,只有y_t

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

(4)選擇delay

(5)開始訓練

(6)得到參數


(7)將神經網絡導出代碼

3、無x,有y值:NAR

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

三、總結

Matlab從2010b版本以后,使用圖形界面訓練網絡調參,生成的代碼與手敲的功能無異,Matlab時間序列預測工具箱實用而且好用。

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

您可能感興趣的文章:
  • 利用Matlab繪制各類特殊圖形的實例代碼
  • 圖文詳解matlab原始處理圖像幾何變換
  • Matlab如何實現矩陣復制擴充
  • 如何利用Matlab制作一款真正的拼圖小游戲
  • 利用Matlab提取圖片曲線

標簽:雅安 許昌 西安 渭南 贛州 濰坊 七臺河 辛集

巨人網絡通訊聲明:本文標題《Matlab實現時間序列預測分類實例代碼》,本文關鍵詞  Matlab,實現,時間序列,預測,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Matlab實現時間序列預測分類實例代碼》相關的同類信息!
  • 本頁收集關于Matlab實現時間序列預測分類實例代碼的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 抚州市| 江阴市| 开远市| 大田县| 镇坪县| 忻城县| 广河县| 额尔古纳市| 綦江县| 比如县| 习水县| 楚雄市| 水城县| 乳源| 五台县| 怀来县| 芦山县| 崇义县| 罗源县| 二手房| 长汀县| 沂南县| 宜州市| 黑水县| 桐乡市| 中牟县| 谢通门县| 沈阳市| 沙雅县| 北京市| 正镶白旗| 昌图县| 罗山县| 白山市| 阿城市| 高唐县| 巴南区| 台山市| 唐河县| 阿合奇县| 阳高县|