Platinum Data Blog by BrainPad

株式会社ブレインパッドのデータ活用に関する取り組みや製品・サービス開発の裏側、社員の日常などをご紹介します。

機械学習モデルの運用自動化 SAP® Predictive Factoryのご紹介

機械学習モデル作成における一連のプロセスの自動化、モデルのライフサイクル管理など、専門家でなくとも簡単にモデルの運用ができる「SAP® Predictive Factory」をご紹介します!
f:id:bp-writer:20190618142419p:plain


こんにちは。デジタルソリューション本部プレディクティブマーケティングサービス部の二俣です。
今回は、機械学習モデル作成における一連のプロセスの自動化、モデルのライフサイクル管理にフォーカスされた製品「SAP® Predictive Factory」をご紹介させていただきます。

■目次



1. SAP® Predictive Factoryとは

SAP® Predictive Factoryは、Webベースのモデル運用基盤であり、業務部門の方や実務者の方がモデルの運用を簡単にできる製品です。SAP® Predictive Factoryは、以前Model Managerという名称の製品で、2019年6月現在ではSAP® Predictive Analyticsを購入した際に、バンドルされている製品です。

www.youtube.com

製品紹介動画(アナリストの悩みを解決。数百の自動生成された予測モデルによる業績向上)


業務で使用する予測分析モデルは1度作成して終わりではなく、日々新しくなるデータに対して予測精度を維持する必要があります。SAP® Predictive Factoryは、モデル精度を継続的に監視し、スケジュールによるモデルの再学習・適用(スコアリング)作業の自動化を行います。

定期スケジューリングはもちろん、イベントやプログラムをトリガとしたスケジューリングにも対応します。

また、SAP® Predictive Analytics 3.2バージョンからは、SAP® Predictive Factory上での新規モデル作成機能(分類、回帰、時系列)が追加され、従来は、SAP® Predictive Analytics側で実行していたモデル作成処理を、Webブラウザ上でより簡易的に実行することができるようになりました。

SAP® Predictive Factoryは、運用管理機能も強化されてきており、モデル評価やシミュレーション用のレポート画面が大幅に拡張されているので、SAP® Predictive Analyticsを使用・導入を検討されている方向けに、今回ご紹介をさせていただきます。

2. 製品の概要について

サーバ構成としては、SAP® Predictive Analyticsサーバと同一環境として構築することも可能ですし、別サーバとすることも可能です。

SAP® Predictive Factoryは、プロジェクトという単位でモデルとデータセットを管理し、モデルの新規作成、再モデリング、適用処理、スケジュール化が可能です。

f:id:bp-writer:20190618141554p:plain
プロジェクト管理画面

スケジュール化に関しては「Windows タスクスケジューラ」と同様の機能イメージで、SAP® Predictive FactoryでのWebブラウザ経由でスケジュール化ができます。

f:id:bp-writer:20190618141634p:plain
スケジュール設定画面

SAP® Predictive Analyticsでの予測モデル作成後の運用としては、従来はKxShellスクリプトやSQLスクリプト、他プログラム言語にてバッチプログラム等を作成し、システム化を行い自動化をする必要がありました。

f:id:bp-writer:20190618141656p:plain
KxShellスクリプト例

その際には、システム部門への依頼や、プログラム化に長けている方の手を介さないと運用することができませんでしたが、その様な煩わしさから開放され、モデル作成を担当された方(業務部門の方中心)で、自動化の運用まで行えることになります。

3. 製品の機能について

SAP® Predictive Factoryは、以下A)~D)のタスクの実行がWebブラウザで簡単にできます。従来は、SAP® Predictive AnalyticsのGUI画面を使用した形での運用が求められ、業務担当者が毎回同じ様な操作行ったり、プログラム化する必要がありましたが、SAP® Predictive Factoryを使用することで、1回の設定で自動化まで簡単に実施できます。

A)モデルの再学習、新規作成
モデル再学習タスクでは、文字通りモデルの再学習が実行されますので、モデル作成用の学習データに変更・更新がある場合、モデルの設定を変更し再学習を行うことが可能です。
モデルの新規作成タスクでは、(分類、回帰、時系列)の3種類のモデルをWebブラウザから、作成することが可能です。
① 分類モデル ・・・目的変数が2値(1,0やYes/No)を予測するモデルで、購入するかしないか、アクションをするかしないかといった予測する際に使用します。

② 回帰モデル ・・・目的変数が連続値を予測するモデルで、購入金額がいくらか、購入数量がいくつかといった予測をする際に使用します。

③ 時系列モデル・・・時間の項目を軸に連続値を予測するモデルで、翌日以降の売上金額や、将来の販売数量を予測する際に使用します。

B)モデルの適用
モデルの適用タスクでは、指定された入力データに対してモデルの適用処理を行い、モデルの確率やスコア、予測値などの予測結果を出力するタスクとなります。

C)モデルの偏差テスト
モデルの偏差テストタスクでは、モデルの再学習が必要かどうかをチェックするタスクとなります。データは時間の経過とともに変化する傾向があるため、過去のパフォーマンスが良好であったモデルでも精度が低下している可能性がありますので、定期的な運用をする際にこちらのタスクを組み込むことで、モデルの再学習を実行する必要があるのか確認することが可能です。

D)外部コマンドの実行
外部コマンドの実行タスクは、SAP® Predictive Analytics以外のプログラムを実行するタスクです。例えば、モデル作成用のデータ作成は、SQLにて実施する必要がある場合のプログラム実行や、予測結果を別システムへ転送する等といったプログラム実行を行うことが可能です。

4. 分類モデルの新規作成例

では、実際に分類モデルを新規作成してみます。モデル学習用データセットなどの設定を行い、モデルの追加を行います。

f:id:bp-writer:20190618145412p:plain
モデルの追加画面


モデルの名称や、モデル作成用の入力データ、ターゲット変数、除外変数、モデルの作成オプションなどを設定します。

f:id:bp-writer:20190618141749p:plain
モデルの設定画面


入力データに関する保存形式、データ型、キー項目などを設定します。

f:id:bp-writer:20190618141811p:plain
入力データの設定画面


モデルの設定が完了しましたら、学習(実行)を行います。

f:id:bp-writer:20190618145559p:plain
学習(実行)画面


モデルの学習が終わると、モデルの結果が確認できる様になります。

f:id:bp-writer:20190618145735p:plain
モデルの実行完了画面



では、モデルのレポートを確認します。SAP® Predictive Analyticsをお使いのユーザ様には、おなじみのモデルの確認画面がそのままのWebブラウザで参照できます。

f:id:bp-writer:20190618142320p:plain
レポート例(分類モデルの概要)


モデルに寄与した変数の貢献度も確認できます。

f:id:bp-writer:20190618142348p:plain
レポート例(変数の貢献度)


また、モデルのパフォーマンスも様々な指標で、確認ができます。

f:id:bp-writer:20190618142419p:plain
レポート例(パフォマンス曲線)



僅かなオペレーションでモデル作成が行えました。
これでモデルが作成できたので、実際に活用する際はモデルのスコアリング、スケジューリングを設定するだけで、毎月や毎日の予測結果の出力が自動化できます。


●モデルの自動化タスクの設定例
データに変化が発生し、モデルの再学習が必要でないか確認するために偏差テストのタスクを組み込み、モデルの精度確認も自動で行い、モデルの再学習と適用処理をスケジューリングすることも可能です。

f:id:bp-writer:20190618142503p:plain
モデルの自動化タスクの設定例(※1)


5. SAP® Predictive Factoryでの拡張機能

次に、SAP® Predictive AnalyticsにはないSAP® Predictive Factoryの独自の機能をご紹介します。

●説明変数の使用統計レポート機能
モデル作成時に使用した説明変数の一覧が確認でき、変数毎の使用状況が把握できるようになりました。
こちらの機能により、使用されていない変数や使用頻度が低い変数およびモデルパフォーマンスへの貢献度が最も高い変数などの特定が可能となりました。

f:id:bp-writer:20190618142530p:plain
説明変数の使用状況レポート

実際の業務プロジェクトでは、数百、数千といった非常に多くの説明変数を用意し、モデル作成を実施できるのが、SAP® Predictive Analyticsを使用したモデル作成業務でした。
SAP® Predictive Factoryで実施することにより、説明変数の使用状況の把握が可能となりますので、従来、非常に多くの説明変数を作成、使用していたお客様には、説明変数の作成に掛かっていた工数を削減できるかと考えます。

●時系列モデルのセグメント機能
時系列モデル作成時に、セグメント(下図例では、商品分類「化粧品」、「食品」、「アパレル」といったセグメント)を設定することが可能で、一度のモデル作成オペレーションでセグメント別の時系列予測を行うことが可能です。
セグメントの例としては、都道府県別や、地域別、店舗別といったものになります。
この機能により、1つのデータセットを用意することでセグメント別の時系列予測が可能となり、従来セグメント別に実施していた予測モデル作成が、とても簡単に実行できるようになりました。

f:id:bp-writer:20190618142604p:plain
セグメント別予測結果



f:id:bp-writer:20190618142701p:plain
時系列予測結果(化粧品)



f:id:bp-writer:20190618142727p:plain
時系列予測結果(アパレル)


6. まとめ

今回、ご紹介したSAP® Predictive Factoryは、機械学習モデル(SAP® Predictive Analyticsでモデル作成後)の自動化や運用面において、従来手間が掛かっていた部分を非常に簡素化したプロダクトだという理解です。現状、モデル作成後の自動化や人手が足りないといった点で、お困りのお客様向けには、非常に簡単に自動化・運用ができますので、ぜひ、弊社にご相談ください。


【出典元】
※1:SAP社提供の資料”SAP BusinessObjects Predictive Analytics機能ご紹介”より抜粋


当社では、SAP® Predictive Analyticsをはじめ、独自性の強い海外製品を活用したデータ活用支援を積極的に行っています。ご興味のある方は、ぜひエントリーください!
www.brainpad.co.jp