Oracle Analytics Cloudには、マウスクリックだけで予測(forcast)を表示する便利な機能があります。
今回は、Kaggleに登録されている米国国立地震情報センターの地震データを使って地震の予測を行います。
折れ線グラフの2016年までは実データで表示されており、2016年以降のグレーになっているデータが予測生成されたデータになります。
予測を表示するのは簡単で、グラフ上で右クリックして「統計の追加」から「予測」を選択します。
左下のプロパティを確認すると、予測モデルとして「季節性ARIMA」が使われていることが確認できます。
「季節性ARIMA」は、一般的にはSARIMAと呼ばれます。
ARIMAは、「AR」「I」「MA」を合わせた分析モデルの事です。
AR:AutoRegression 自己回帰
I:Integration ARとMAを結合する
MA:Moving Average 移動平均
ARは、時系列の前後の数値の違いを「変化」ととらえます。
つまり、現在の値と過去の値とは相関しているととらえて、過去の値に係数を掛けることによって将来を予測しようとします。
MAは、時系列の前後の数値の違いを「エラー」としてとらえます。
つまり、MAは過去の値を使用してその将来を予測するのではなく、過去の予測の誤差を 予測値のインパルスとして使用します。
ARとMAを統合したARIMAモデルは、単変量の時系列予測モデルで、過去に観測されたデータの変化に基づいて予測を行い、予測するデータ(ターゲット変数)以外のデータを使用しないため扱いやすく、Pythonで予測プログラムを書く場合にもよく使われるモデルです。
今回の例で言えば、過去の地震発生回数を使って、将来の地震発生回数を予測することになります。
話はそれますが、地学、地震学の学問の観点から見れば、これではナンセンスで「科学の欠如」と言われるかもしれません。
ほんらい地震の発生回数は、気候や気圧変動など、「そのほかの観測データ」が関与しています。ここで言う「そのほかのデータ」を、分析では外部変数(X)と言います。
外部のデータをさらに取り込んで時系列モデル予測を行う場合は、SARIMAXモデルを使います。
SARIMAXの最後のXは「外部変数X」のことで、このような予測分析は「多変量時系列モデルの予測」と呼ばれます。
OACで「多変量時系列モデルの予測」を行う場合は、データフローを使うことになりますので、データ準備が少々複雑になってしまいます。
OACの「単変量の時系列予測」は、マウスクリックだけで予測できるので、まずはここから始めるのがよいでしょう。