BigQuery ML を用いた
多変量時系列データの解析
ARIMAモデル
2023/02/18 機械学習の社会実装勉強会 第20回
- 時系列データ、ARIMAモデルの概説
- BigQuery MLで多変量時系列データの解析
- デモ:モデル作成、予測結果の可視化
今回の内容
ARIMA_PLUS を用いた一変量時系列データの解析
2021/11/27 機械学習の社会実装勉強会 第5回 「BigQuery ML を用いた時系列データの解析 (ARIMA model)」
https://www.slideshare.net/ssusere6d3be/bigquery-ml-arima-model
https://cloud.google.com/bigquery-ml/docs/reference/standard-sql/bigqueryml-syntax-create-multivariate-time-series
BigQuery MLで多変量時系列データ解析が可能に
- Bigquery に ARIMA_PLUS_XREG関数が追加
(*2023/2時点プレビュー)
- これまではARIMA_PLUS関数で 一変量時系列データ
解析は可能だった
- (どちらもARIMAモデルを使用)
• 気温,気圧
• 株価
• GDP
• ⾎圧, 脈拍, 体重
...
などの時間と共に変動するデータ{ } 日付
体重
時系列データ
一変量時系列データ解析手法
AR 自己回帰
MA 移動平均
I 和分過程
ARモデル MAモデル
ARMAモデル
ARIMAモデル (ARMA + 和分過程)
ARIMAモデル
◆ AR (Auto Regressive: 自己回帰)
◆ AR(1) 1次の項のみ
時刻t の値 過去の値 ホワイトノイズ
過去の値を用いて予測
ARモデル
◆ MA (Moving Average: 移動平均)
-> 過去のノイズ値を用いて予測
◆ MA(1): 1次の項のみ
時刻t の値 過去のノイズ
MAモデル
◆ ARMA (Auto Regressive moving average: 自己回帰移動平均)
◆ ARIMA (Auto Regessive integrated moving average: 自己回帰和分移動平均)
MAモデル ARモデル
ARMAモデル
-> AR + MA (それぞれの次数 p, q)
-> データの差分 (𝑦𝑡–𝑦𝑡–𝑑) に対してARMAを適用 (次数, p, d, q)
d個前の値との差分
ARMAモデル / ARIMAモデル
係数&次数の選択: AICを最小化
https://cloud.google.com/bigquery-ml/docs/reference/standard-sql/bigqueryml-syntax-create-time-series#time_series_modeling_pipeline
ARIMA_PLUS
Pipelines for ARIMA model in BigQuery ML
ARIMA モデルを用いた一変量時系列データの解析
2021/11/27 機械学習の社会実装勉強会第5回 「BigQuery ML を用いた時系列データの解析(ARIMA model)」
https://www.slideshare.net/ssusere6d3be/bigquery-ml-arima-model
過去発表:ARIMAモデルによるCOVID-19感染者数予測
一変量時系列解析
- 日付、pm2.5濃度
多変量時系列解析
- 日付、気温、風速、pm2.5濃度
長期的傾向(トレンド)
- 増加 or 減少
周期性
- 週次
- 季節性
外的要因 (複数の特徴量)
- 産業構造の変化
- 法規制
- …
過去の自分の値から
将来の値を予測
時系列データ予測の難しさ
シアトルの(pm2.5濃度, 風速, 気温) (2009/8/11 ~ 2022/1/31)
- date: 観測日
- PM2.5: 各日の PM 2.5 の平均値
- wind_speed: 各日の平均風速
- temperature: 各日の最高気温
今回使用するデータセット
https://cloud.google.com/bigquery-ml/docs/reference/standard-sql/bigqueryml-syntax-create-multivariate-time-series#time_series_modeling_pipeline
https://cloud.google.com/bigquery-ml/docs/reference/standard-sql/bigqueryml-syntax-create-time-series#time_series_modeling_pipeline
ARIMA_PLUS
Pipelines for ARIMA model in BigQuery ML
ARIMA_PLUS_XREG
Demo
➢ シアトルのpm2.5濃度予測
○ Public dataからシアトルの気象データを抽出・加工
○ モデル学習・評価・予測
使用したNotebook:
https://github.com/kootr/ml-study-session/blob/main/20230218_bq_arimamodel/bq_ari
ma_multiple_variables.ipynb
参考Tutorial
https://cloud.google.com/bigquery-ml/docs/reference/standard-sql/bigqueryml-syntax-cr
eate-multivariate-time-series
- ARIMAモデルはARモデル + MAモデルに和分過程を取り込んだ一変量時系列データ解析モデル
- 多変量時系列データに対しても
BigQuery MLで解析が可能に(2023/2時点プレビュー)
まとめ
使用したコード
- https://github.com/kootr/ml-study-session/tree/main/20230218_bq_arimamodel
- 経済・ファイナンスデータの計量時系列分析
- ホワイトノイズ
- 4-4 時系列データ解析 東京大学 数理・情報教育研究センター
- AICによるARモデルのモデル選択
- auto.arima() in R
- http://www.dsinst.co.jp/dsi/ARIMAModel.pdf
- https://www.i-juse.co.jp/statistics/jirei/sympo/10/arima-model.html
参考資料
補足:BigQuery スロット
- ARIMA_PLUS_XREG関数の使用には、スロットの購入が必要です
- 手順は過去の発表を参考にしてください
- https://www.slideshare.net/ssusere6d3be/bigquery-ml

14. BigQuery ML を用いた多変量時系列データの解析.pdf