機械学習

【機械学習】電力使用量の予測

2018年6月5日

kaggleがなかなかハードル高いので、まずは足元のできる所から練習。
というわけで(?)電力消費量の予測をしてみたいと思います。

データソースは以下

東京電力 過去の電力使用実績データのダウンロード
https://www.tepco.co.jp/forecast/html/download-j.html

気象庁 過去の気象データ・ダウンロード
https://www.data.jma.go.jp/gmd/risk/obsdl/index.php#

(1)データ準備

まず東京電力のサイトから、直近1年間の電力使用量を持ってきます。
カンマ区切りなので、メモ帳にコピペ→拡張子をcsvに変えて出来上がり。
これで年月日時間別の電力消費量(万Kw)のデータが出来上がりました。

ただこれだけでは面白くないので、気象庁のサイトから、直近1年間の年月日時間別

気温(℃)/降水量(mm)/日照時間(時間)/風速(m/s)/日射量(MJ/㎡)/現地気圧(hPa)/相対湿度(%)/天気/雲量(10分比)

等のデータを持ってきて電力消費量のcsvに結合!
ただこのサイト非常に面倒なことに、一度にダウンロードできる容量に制限がありまして、1年間の1時間毎のデータとなると、1度に1項目しかダウンロードできません・・・というわけでしこしこダウンロード→結合の繰り返し。。都道府県、ある程度の観測地点(東京/世田谷/府中八王子・・)も選べますが、面倒なので東京でいいでしょう。

(2)モデル作成

今回は話題のTensorFlowを使ってモデルを作っていきます。
作成過程は端折りますが、1回目の結果はMAPE15.66といったところで、まだまだといった感じです。

(3)データ見直し→再作成

ここでいわゆるヒストリカル変数を作成していきます。ヒストリカル変数とは、ラグ変数に代表されるように「1日前の値」「2日前の値」・・・「1週間前の値」や、直近3日/4日/5日の移動平均 などの変数のことです。一般的にこれらを作成すればモデル精度が良くなる事が知られています。

今回は面倒なので、以下項目
電力消費量(万Kw)/気温(℃)/降水量(mm)/日照時間(時間)/風速(m/s)/日射量(MJ/㎡)/現地気圧(hPa)/相対湿度(%)/天気/雲量(10分比)
それぞれの1時間前の値/24時間前の値のみを作成しました。
※移動平均とかは作るのがメンドクサイので。。

結果、MAPEで2.88まで精度が向上しました。こういった感じでモデル作成→データ見直し→再作成・・・という地道な作業で精度を向上させる、というのがデータサイエンティストのお仕事なのかもしれません。

次回は機械学習を使った仮想通貨の価格予測を行っていきたいと思います(気が向いたら。。)

[st_af id="2474"]

-機械学習