亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Matlab怎么實現時間序列預測分類

發布時間:2021-08-02 09:29:12 來源:億速云 閱讀:680 作者:chen 欄目:開發技術

這篇文章主要介紹“Matlab怎么實現時間序列預測分類”,在日常操作中,相信很多人在Matlab怎么實現時間序列預測分類問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Matlab怎么實現時間序列預測分類”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

目錄
  • 一、數據準備

  • 二、時間序列預測分類

    • 1、輸入為xt,輸出是yt

    • 2、有x值,有y值:NARX

      • (1)選擇模型類型

      • (2)選擇輸出,只有y_t

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

      • (4)選擇delay

      • (5)開始訓練

      • (6)得到參數

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

    • 3、無x,有y值:NAR

    • 三、總結

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

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

      一、數據準備

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

      時間風速溫度
      0137.21405
      0.124571.0137.26016
      0.249151.0237.26324
      0.373731.0337.31242
      0.49831.0437.3155
      0.622581.0537.36468
      0.747451.0637.36776
      0.872031.0737.41694
      0.996611.0837.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)選擇模型類型

      Matlab怎么實現時間序列預測分類

      (2)選擇輸出,只有y_t

      Matlab怎么實現時間序列預測分類

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

      Matlab怎么實現時間序列預測分類

      (4)選擇delay

      Matlab怎么實現時間序列預測分類

      (5)開始訓練

      Matlab怎么實現時間序列預測分類

      (6)得到參數

      Matlab怎么實現時間序列預測分類
      Matlab怎么實現時間序列預測分類

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

      Matlab怎么實現時間序列預測分類

      3、無x,有y值:NAR

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

      三、總結

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

      到此,關于“Matlab怎么實現時間序列預測分類”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

      向AI問一下細節

      免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

      AI

      海淀区| 磴口县| 龙门县| 琼结县| 武强县| 房山区| 青河县| 平凉市| 剑河县| 保靖县| 甘南县| 泸州市| 广灵县| 汝城县| 嘉义县| 周口市| 洱源县| 长海县| 梁平县| 杂多县| 冀州市| 呼和浩特市| 张掖市| 潞城市| 鸡泽县| 修水县| 德州市| 通江县| 怀化市| 济源市| 阿拉善左旗| 明光市| 福清市| 泽州县| 年辖:市辖区| 宜都市| 宁安市| 吉林省| 西青区| 景泰县| 绥阳县|