継続は力なり

タイトル通り定期的な更新を心掛けるブログです。

Amazon Forecast で家庭の電力消費量を予測する

タダです.

Amazon Forecast が一般利用可能になったので,サンプルデータを突っ込んで時系列データ予測を行ってみます.

aws.amazon.com

aws.amazon.com

Amazon Forecast の概要

Amazon Forecast は時系列予測のためのフルマネージドサービスです.過去の時系列データを提供することで時系列の未来を予測できます.例えば,小売・財務計画・サプライチェーン・ヘルスケアなど複数の分野で時系列予測は役立ちます.

AWSドキュメント docs.aws.amazon.com

そもそも時系列予測って何かというと,時間単位で整列したデータの集合です.

Q: 時系列データとは何ですか?

時系列とは、何らかの時間単位で整列されたデータポイントのセットです。時系列の例としては、ある商品の週間売上、日々の在庫状況、1 時間ごとのウェブサイトアクセス数などが挙げられます。

Amazon Forecast の仕組み

Amazon Forecast でデータの予測をするための仕組みとして以下の3つを理解しておきます.

  1. データセットおよびデータセットグループ : Amazon Forecast で予測する対象のデータ.データセットグループを作成し,関連するデータセットを追加する.Amazon Forecast アルゴリズムはデータセットを利用して,予測子というカスタム予測モデルをトレーニングする.
  2. 予測子 : データに基づいて学習されたモデル.予測子をトレーニングするには,事前に構築されたアルゴリズムか,AutoML オプション(Amazon Forecast に最適なアルゴリズムを選択するよう依頼)を選択する.
  3. 予測 : 時系列データの予測を生成する.予測結果をS3 バケットにエクスポートする

docs.aws.amazon.com

対応リージョン

対応リージョンは,以下の通りです.

料金

料金は以下のようになります.

価格タイプ 価格
予測の生成 1,000個の予測あたり $0.60
ストレージ容量 GB あたり $0.088
学習時間 1時間あたり $0.24

サンプルデータをインポートして Amazon Forecast の時系列予測を行う

サンプルデータ(時系列の過去の電力使用量)をインポートして, Amazon Forecast の時系列予測を行います.なお,詳細な手順はドキュメント内に記載があるので,サンプルデータを Amazon Forecast にインポートして時系列予測を行うまでの注意点や理解したことをまとめます.

AWS ドキュメント

サンプルデータをインポートして時系列予測を行う手順 docs.aws.amazon.com

サンプルデータの準備方法 docs.aws.amazon.com

サンプルデータをインポート時の注意点

サンプルデータをデータセットに登録する際にデータスキーマというデータタイプと順序を時系列データ(インポートデータ)に一致するように更新する必要があります.サンプルデータはデータセットグループのタイプとしてCustomにあたるので,timestamp,target_value,item_idのカラムに対応させる必要があります。

下記のようなデータスキーマに書き直す必要があります.

{
    "Attributes": [
        {
            "AttributeName": "timestamp",
            "AttributeType": "timestamp"
        },
        {
            "AttributeName": "target_value",
            "AttributeType": "float"
        },
        {
            "AttributeName": "item_id",
            "AttributeType": "string"
        }
    ]
}

予測子をトレーニングする時間および予測を生成する時間

データを Amazon Forecast にインポート後に予測子をトレーニングします.

予測子 (トレーニング済みモデル) を作成するには、アルゴリズムと、行う予測の数 (長さ × 頻度) を選択します。

f:id:sadayoshi_tada:20190908223416p:plain

レーニングの時間ですが30分以上はかかった印象なので,すぐにはトレーニング済みモデルが出力されないものと思っておくと良いです.また,予測の生成も時間を要します.下記のように数分以上とありますが,40分以上は待つ必要があります.

Amazon Forecast で、予測の作成が終了するまで待ちます。このプロセスには、数分以上かかることがあります。予測が作成されると、進行状況は [Active] に変わります。さらに、ダッシュボードの上部にあるバナーが変わり、次のメッセージが表示されます。

f:id:sadayoshi_tada:20190908225651p:plain

フルマネージドサービス型の時系列予測

フルマネージドサービス型の時系列予測を行う Amazon Forecast を使ってみて思ったのは,データが揃っていればフルマネージドのメリットは存分に享受できます.EC2 のプロビジョニングやトレーニング済みのデータモデルを作ったりをボタン数クリックで賄えて,予測モデルが生成されるのは時系列予測に詳しくなくても扱えます.

まとめ

Amazon Forecast のサービス概要や仕組み,サンプルデータを使った時系列予測を行った際の注意点や理解したことをまとめました.次は,以前ツイートしたデータを突っ込んでみようと思います!