Enterprise Open Analytics PlatformであるSAS Viyaでは、コーディングスキルを持たないビジネスアナリストやビジネスユーザーでも、Model Studioを使用し、機械学習のモデル、時系列予測のモデル、テキストマイニングのモデルをGUIベースの簡単マウス操作で作成することができるようになっています。モデル生成プロセスをグラフィカルなフロー図として描き、実行するだけです。このフロー図のことを「パイプライン」と呼んでいます。
これまで、ビジュアルパイプラインを用いた機械学習のモデル生成は紹介してきましたが、今回は、時系列予測の基本的な手順を紹介します。
Model Studioで時系列予測を実行する基本的な手順は以下の通りです。
① プロジェクトの新規作成
② 学習用の時系列データ内項目へ役割設定
③ パイプラインの作成と実行
④ 予測結果確認
⑤ 予測値のオーバーライト(必要に応じて)
① プロジェクトの新規作成
SAS Viyaの統合GUIのホームページのメニューから「モデルの作成」を選択し、表示されるModel Studioの画面から「プロジェクトの新規作成」をクリックします。
「プロジェクトの新規作成」画面内で、プロジェクトの名前を入力し、モデルの種類(データマイニングと機械学習 / テキスト分析 / 予測)から「予測」を選択します。使用するパイプライン・テンプレートとして、デフォルトでは、「自動予測」が選択されていますが、必要に応じてテンプレートを変更することができます。
今回は、「自動予測」テンプレートを使用してみましょう。
学習用の時系列データを選択し、「保存」をクリックします。
すると、指定したデータソース内の変数リストが表示されます。
② 学習用の時系列データ内項目へ役割設定
表示された「データ」タブ内で、変数ごとに右側画面内で役割を選択します。
・注文日:時間 <-日付属性データ項目には自動的に“時間”役割が設定されます。
・売上:従属 <-予測対象の項目
・原価:独立 <-予測対象に影響を及ぼす項目
・販売地域と製品ライン:BY変数 <-地域別や製品ライン別で予測結果を見ることができます。
「テーブルの表示」アイコンをクリックすると、データの中身を確認できます。
ご覧の通り、このデータは年月ごと、販売地域、製品ライン、製品ごとの売上や原価、などの情報を持つ時系列データです。
注. 今回使用するデータでは、時系列データとその属性データ(地域、製品ライン、製品)が一つにマージされているデータを使用していますが、時系列データと属性データをそれぞれ別データとして取り込むことも可能です。そうすれば、メモリーにロードするデータ量を削減することができます。
③ パイプラインの作成と実行
役割を設定後、「パイプライン」タブをクリックすると、「自動予測」のパイプラインが表示されます。
右側画面には「自動予測」ノードのオプションが表示されています。ご覧の通り、自動予測では、ESM(指数平滑化)とARIMAの2つの手法で予測を実行し、その中から最良のモデルが使用されます。
必要に応じて、IDM(間欠需要モデル)とUCM(観測不能成分モデル)を追加することも可能です。
左画面内のノードリストから必要な機能をドラッグ操作でパイプラインへ追加することができます。
その中にはニューラルネットワークに基づく手法も用意されています。
今回は、「ナイーブモデル予測」を加えてみましょう。
左側のノードリスト内から「ナイーブモデル予測」をパイプラインの「データ」ノードにドラッグするだけです。
それでは、パイプラインの右上の「パイプラインの実行」ボタンをクリックして、このパイプラインを実行しましょう。
正常に完了するとすべてのノード上に緑のチェックマークが表示されます。
「データ」ノードのメニューから「時系列ビューア」を選択すると、
学習データ内容を時系列チャートで確認することができます。
役割にBY変数を指定した、販売地域と製品ラインで絞り込んで見ることもできます。
以下は、地域:Region2、製品ライン:Line3に絞り込んだチャートです。
④ 予測結果確認
それでは、予測結果を確認してみましょう。
「自動予測」ノードのメニューから「予測ビューア」を選択すると、
予測結果チャートが表示されます。
この画面でも地域と製品ラインで絞り込むことが可能です。
以下は、地域:Region3、製品ライン:Line4に絞り込んだチャートです。
チャート内の黒い縦線の右側に将来予測値が表示されています。デフォルトでは12期間先まで予測されるように設定されていますが、予測期間はもちろん変更可能です。
「ナイーブ予測」の結果も同様に確認することができます。
それでは、モデル精度比較結果を見てみましょう。
「モデル比較」ノードのメニューから「結果」を選択すると、
「要約」タブの内容が表示され、今回は、「自動予測」モデルの精度が高い、これがチャンピオンモデルであることがわかります。
「出力データ」タブ内では、予測結果のデータ内容を確認することができます。
さらに、「探索とビジュアル化」アイコンをクリックすると、このデータに基づき、SAS ViyaのセルフサービスBI機能を使用して自由にレポートやダッシュボードを作成することも可能です。
以下は、予測結果データ内の予測誤差と予測標準誤差をプロットしたものです。
予測結果を一旦CSVに吐き出して、いづれかのBIツールで読み込んで…といったような面倒な継ぎ接ぎ作業も必要ないんですね。
⑤ 予測値のオーバーライト(必要に応じて)
「オーバーライト」タブ内では、算出された予測結果値に対して意思入れも可能です。
例えば、03年4月の予測値7,000.61に対して、この月には販売キャンペーンが予定されているということで、7,200に変更することが可能です。
以下の例では、オーバーライドセル内に値を直接入力していますが、予測値に基づき、n%増減、といった様な指定も可能です。
意思入れの結果はチャートにも反映されています。
緑色の破線が、意思入れ後の結果です。
以上が、ビジュアルパイプラインで時系列予測を実行する際の基本的な手順です。
SAS Viyaでは、単一のGUIインターフェース上で、同じ操作性で、機械学習のモデル構築も時系列予測も実施できるんですね。
※ビジュアルパイプラインを用いた時系列予測は、SAS Viya特設サイトにて動画でもご覧いただけます。
※Enterprise Open Analytics Platform 「SAS Viya」 を知りたいなら「特設サイト」へGO!