突発的に投下されるtipsエントリー。
何らかの時系列データが手元にあるときに先々の予測を行う際に使えるツールとして、Facebookが開発した時系列予測のオープンソースソフトウェア(OSS)ライブラリProphetがあります。
以前書いたエントリーの「Prophetを触ってみる」においてはpyenvとpipを利用して手元のMacなどの環境に直接入れるやり方だったのですが、今回はGoogle Colaboratoryを利用するやり方になります。
過去の時系列データをGoogleスプレッドシートに用意する
適当な時系列データを用意する必要があるため、サンプルとして気象庁が提供している過去の気象情報計測データのCSVダウンロードサービスを提供しているのでそれを利用します。
https://www.data.jma.go.jp/gmd/risk/obsdl/index.php
今回はサンプルとして1995年以降の東京都練馬区の日の平均気温を利用してみることにします。上のページから地図中の観測地点を選択し、取得するデータ項目を選んだ後、CSVファイルダウンロードをクリックするとCSVファイルをダウンロードすることができます。
ダウンロードするCSVを開くと以下の様にカラムの説明も含んだ形になっているのでこれをシンプルに年月日と平均気温のみをコピーして、Googleスプレッドシートに貼り付けます。これでProphetが参照するソースの準備は完了になります。
Google Colaboratory (Colab) を開く
Google Colaboratoryを開いてProphetを呼び出し、上で準備したGoogleスプレッドシートのデータをソースとして時系列予測をさせてみます。
Prophetを手元で動作させる際にCSVファイルを元に予測実行する際のサンプルとほぼ同じ形で以下の様な記述をします。唯一違うのはCSVの参照先がGoogleスプレッドシートになるところかと思います。
上のソースコード中のスプレッドシートのURL及び、シートの名前は各位が準備されたソースにあわせた後、Google Colab上で実行をするとノート上で以下の様な結果が得られます。
今回はグラフをColabのノートの上に出力させた後にCSVでダウンロードさせていますが、GoogleスプレッドシートからCSVの情報をインポートさせたのと同様に書き出すこともできるのではないかと思いますが、こちらはまたの機会に。
蛇足ですが今回出力した予測と気象庁から落としたデータを通期でプロットされたグラフを見たときにこの数十年でのスパンでもわずかに上昇トレンドになっているのがわかり、気候の変化がグラフ上からも見て取れるなと思ったのでした。