Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

はじめに

今日イベントで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はすごい!

~次回へ続く~

watyanabe164
会社ではインフラエンジニアやってます。一方プライベートではAIの可能性に感化されて趣味でpythonでAI関連のプログラムを試したり、そのほか興味の赴くままに様々な技術を試して楽しんでます。シンギュラリティが楽しみで仕方ない。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away