iT邦幫忙

2021 iThome 鐵人賽

DAY 17
0
AI & Data

AI ninja project系列 第 17

AI ninja project [day 17] 時間序列預測

  • 分享至 

  • xImage
  •  

這裡可以先聊一下時間序列預測的處理,
假設你忘記了你會LSTM,也忘記了你會RNN,
該怎麼處理時間序列資料呢?

我可能會先用SVR來當作我的墊檔裝:

https://ithelp.ithome.com.tw/upload/images/20210917/20122678Sj6HrijfD1.png

但是官網也強調了超過10000筆資料效果會不好。

import numpy as np
from sklearn.svm import SVR

X = np.array([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]).reshape(-1, 1)
y = np.sin(X).ravel()

svr_poly = SVR(kernel='poly', C=100, gamma='auto', degree=3, epsilon=.1,
               coef0=1)
print(X)
ans = svr_poly.fit(X, y).predict([[20]])
print(ans)

小小的測試一下:
https://ithelp.ithome.com.tw/upload/images/20210917/20122678ZA743h5K9e.png

再來,這裡使用autokeras的TimeSeriesForecaster,
為何不使用tensorflow 來做呢?
是因為tensorflow還需要自己切分以過去多少筆來當作預測基準,
以及未來預測多少筆都要自己搭建function。
但是autokeras只要設定參數就可以了。

資料集下載:
https://archive.ics.uci.edu/ml/machine-learning-databases/00360/AirQualityUCI.zip

下載完之後我們把資料集的csv上傳到colab,並查看有沒有上傳成功:
https://ithelp.ithome.com.tw/upload/images/20210917/20122678UGm4qdFkDy.png

安裝autokeras:
https://ithelp.ithome.com.tw/upload/images/20210917/20122678hcA5ItFF6A.png

載入套件:
https://ithelp.ithome.com.tw/upload/images/20210917/20122678HgmIsXtgcR.png

資料清洗,並去除不需要的欄位:
https://ithelp.ithome.com.tw/upload/images/20210917/20122678uv1qzyJV2g.png

https://ithelp.ithome.com.tw/upload/images/20210917/20122678QJ8KeBlKUZ.png

區分訓練集及驗證集:
https://ithelp.ithome.com.tw/upload/images/20210917/201226784mV4Ut9qLl.png

特徵轉成浮點數格式:
https://ithelp.ithome.com.tw/upload/images/20210917/20122678Po1WPgCApH.png

未來以整體資料來測試:
https://ithelp.ithome.com.tw/upload/images/20210917/20122678ZqyFsQK09h.png

設定訓練目標(label):
https://ithelp.ithome.com.tw/upload/images/20210917/20122678Xz7jSoUVGr.png

要預測的值以過去10筆資料(lookback、window)來參考,要預測未來10筆:
https://ithelp.ithome.com.tw/upload/images/20210917/20122678rI3lHjBQ33.png

結果作圖:
https://ithelp.ithome.com.tw/upload/images/20210917/20122678Ji51raG05q.png

假設要保存autokeras模型可以參考這個頁面:
https://autokeras.com/tutorial/export/

參考資料:
https://autokeras.com/tutorial/timeseries_forecaster/

官網colab目前運行會有錯誤,所以我建議自己寫一個。


上一篇
AI ninja project [day 16] 文字處理 -- 迴歸
下一篇
AI ninja project [day 18] Multi-Modal and Multi-Task
系列文
AI ninja project30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言