前回の3回目で、MAGELLAN BLOCKSのモデルジェネレーターで機械学習モデルを作成して、電力需要のデータをトレーニングさせるところまでできました。今回は最後の手順、フローデザイナーを使って電力需要予測を行います。
1. フローデザイナー作成

グローバルナビゲーションからフローデザイナーを開きます。

フローデザイナー画面の「利用開始」(2つ目以後は「追加」)をクリックすると、フローデザイナーの名前を入力する、フローデザイナー新規作成画面になります。
今回は、サービス名を「電力需要予測」とします。
2. 予測フロー作成
作成したら、フローデザイナーの一覧画面に表示されるフローデザイナーの名前(今回は「電力需要予測」)をクリックすると、フローの編集画面が別タブで表示されます。


予測フローを作るには、左側のブロックリストパネルにある各種ブロックをもとに組み立ててもよいですが、予測フローはよく作るのでテンプレートを準備しています。起動したフローデザイナー画面のヘッダーにある「フローテンプレート作成」をクリックして作成します。
フローテンプレート画面では、まず、モデルジェネレーターのタイプを選択します(今回は数値回帰予測)。
続いて現れる①フロー名設定画面で、フローの名前をつけます。これは、一つの処理フローを作る上で最初に設置する「フローの開始」ブロックに表示される名前です。今回は「電力需要予測」と名前をつけました。



次に、②予測ブロック設定で、モデルジェネレーターのモデルを選択します。
モデル選択の項目で、作成済みの電力需要予測のモデルを選択したら、予測形式選択では、今回はデータが少ないため、「オンライン予測」を選択します。データが1,000件超で多い場合などは「バッチ予測」が有効です。
(オンライン予測とバッチ予測の違いや細かい使い分けについては別の記事でご案内します。)
続いて、③入力データ設定です。
ここでは、エクスポートしておいた電力データ_testのCSVファイルを利用します。GCS URLの入力には、MAGELLAN BLOCKSの「GCS Explorer」を利用します。
グローバルナビゲーションからサポートツールのGCS Explorerを開き、denryoku_test.csvの一番右のGCS URL列でコピーをクリックします。この状態で、もとのフローテンプレートの入力データ設定画面、GCS URLの項目に貼り付けます。


次は、④出力データ設定です。
今度の出力先としては、Googleスプレッドシートに出してみましょう。ファイル名として「電力需要予測」にして、共有先の設定項目に自分のメールアドレスを入力します。
「次へ」進み、⑤フロー配置設定画面で「配置」をクリックすると、対象のフローデザイナーの編集パネルに完成したフローが表示されます。



3. 予測フロー実行
あとは、対象のフローデザイナー画面から「保存」をして実行するだけです。
保存ボタンをクリックすると「フローの開始」ブロックのプロパティ(右側のプロパティパネル)に、再生ボタン(▶️)のような形の実行ボタンが表示されます。このボタン(▶️)をクリックすると実行されます。


実行したら、画面下部からログを確認します。右下の「 ^ 」をクリックするとログパネルが表示されます。ログパネルから実行されたログを見ると、色々動いていることがわかります。

ログパネルを見ると、1回目は失敗のステータスになっています。ログはGoogle Sheets APIが有効になっていないというメッセージが出ていました。Enable it by visiting に続く https://console から始まるURLをクリックし、APIを有効化します。

もう一度実行し成功すると、ログパネルにはGoogleスプレッドシートのURLが記録されますので、そのURLをクリックするとスプレッドシートが表示されます。
対象のGoogleスプレッドシートには、2018-06-01〜2018-06-16の16日間の予測値が出力されていました。これが求めていた電力需要予測の結果となります。

結果出力先のGoogleスプレッドシートの数値情報だけでは、見てもわかりづらので比較してみましょう。Googleスプレッドシートで、実績と比較するシートとグラフを作成します。
日曜日の少ない日がちょっと誤差が大きそうですね。グラフではない評価方法や精度の上げ方については、今後の記事でご紹介します。

さいごに
電力需要予測をMAGELLAN BLOCKSで行う記事として、全4回と長くなりましたが、全く機械学習の知識やプログラミングスキルを必要とせずに予測ができました。大事なのは「予測したい結果に対して何が関係してそうか」という業務的な知識になります。
ここまでお読みいただけた方なら、手順はあるもののその考え方は難しくないことが、おわかりいただけたと思います。ぜひ、自社の業務データでお試しいください。
第4回:フローデザイナーを使って未来の需要を予測する(本編)
※本ブログの内容や紹介するサービス・機能は、掲載時点の情報です。