LoginSignup
3
0

More than 3 years have passed since last update.

amazon forecastやってみた - 1. 学習データを取得する

Last updated at Posted at 2019-11-02

はじめに

今日イベントでAmazon forecastで時系列予測の事例紹介を見たところ
とてもお手軽にできそうな感じがつかめたのでその日のうちにやってみた。
参考:https://dev.classmethod.jp/cloud/aws/amazon-forecast-getting-start/

大きな流れはコチラ。
 1. 学習データを取得する ←今回はココ
 2. 学習データのインポート
 3. amazon forecastの設定
 4. 学習結果の確認

やってみた元データ

気象庁が公開している平均気温データを使いました。
地元が岡山県倉敷なのでそこのデータを4年分使用。
期間:2016/11/1 ~ 2019/11/1

1. 学習データを取得する

自分がとった手順を紹介。
①「気象庁 > 過去の気象データ・ダウンロード」へアクセス
https://www.data.jma.go.jp/gmd/risk/obsdl/index.php

②都道府県を選択する
岡山県をクリック
キャプチャ.PNG

②市を選択する
倉敷市をクリックして→ボタンをクリック
キャプチャ2.PNG

③項目を選ぶ
データの種類:日別値
項目>気温:日平均気温
を選択して→ボタンをクリック
キャプチャ3.PNG

④期間を選ぶ
単年だと季節の周期性が出ないかもと思ったのでまるっと4年分ぬいてみた。
キャプチャ4.PNG

⑤表示オプションを選んでダウンロード
欠損値は省くように選択肢をクリックして、[CSVファイルをダウンロード]をクリック。すると、"data.csv"という名前でダウンロードできた。
キャプチャ5.PNG

データの前処理をする

amazon forecastは複雑なモデル作成やバリデーション等々の処理は全部amazonのナレッジでうまいことしてくれるが
ちゃんと予測してもらうための前処理は各人でやる必要がある。

どんな加工をすればよいのか?についてはポイントがあり、
詳細は他サイトに譲るが、予測をするには最低限下記の項目が必要で特にtimestampはフォーマットが決められている。
 1. item_id
 2. timestamp(YYYY-MM-DD hh:flag_mm:ss)
 3. target_value
このtimestampは必ず合わせないといけないのでここは最低限頑張る。

で、気象庁のデータをどんな感じに加工したのか紹介

data.csv(before)
ダウンロードした時刻:2019/11/04 21:55:20

,岡山
,倉敷
年月日,平均気温(℃)
2016/11/1,13.8
2016/11/2,12.1
2016/11/3,11.8
2016/11/4,11.4
2016/11/5,12.6
2016/11/6,12.1
2016/11/7,10.5

これを↓↓のように直した。

data.csv(after)
item_id,timestamp,target_value
kurashiki,2016-11-01 00:00:00,13.8
kurashiki,2016-11-02 00:00:00,12.1
kurashiki,2016-11-03 00:00:00,11.8
kurashiki,2016-11-04 00:00:00,11.4
kurashiki,2016-11-05 00:00:00,12.6
kurashiki,2016-11-06 00:00:00,12.1
kurashiki,2016-11-07 00:00:00,10.5
kurashiki,2016-11-08 00:00:00,12.7
kurashiki,2016-11-09 00:00:00,9.4

おわりに

今回のデータは欠損値もないのでtimestampのフォーマットをforecast用に合わせるだけですんだけど実際はここが一番大変になるはずの工程。

通常の時系列予測だと、このデータができた後も
頑張ってモデル作成やらバリデーション作成やら
ある意味本来のプログラミングの腕の見せ所なわけだけど
そこをまるっとforecastが面倒見てくれる、というのが最大の売り。
ちょっと寂しい気もするけど、これで時系列予測を実行するハードル
が劇的に下がったのでforecastはすごい!

~次回へ続く~

3
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0