HANAで予測分析をやってみました
予測分析をどのようにするか、HANAで実践してみましたので参考にしてもらえればと思います。
当初、当ブログの読者はERP導入ユーザが多いので基幹システム系の情報で実践しようかとも思案しましたが、弊社の基幹情報実データを晒すわけにもいかず・・・ かといって、ダミーデータだと、いくらでも都合のいいデータに改竄できてしまうので、社内SNS過去1年間のページビュー数を使いました。
※今回は、どんなプロセスを経ているかを概要レベルで把握してもらいため、粗く分析をしています。精度を高めるには、より細かい分析が必要がです。
なお本記事は、下記シリーズ記事の一部で、他記事も参照されることをお勧めします。
予測分析(Predictive Analysis)でシステムの価値を高める(中編)【本記事】
HANAでの予測分析
実績データ確認
まずはSNSページビュー実績を時系列で折れ線グラフにすると以下のようになります。1年分を表示すると細かすぎて見にくいので一部抜粋にしています。大きく凹んでいる(数値が少ない)部分は休日です。当然、勤務中に見る人がほとんどなので休日のページビューは少ないです。
休日を考慮して予測分析
「休日」を考慮して時系列分析にかけます(ARIMAXを使っています)。予測モデルを生成して、予測すると以下のようになりました。AR(自己回帰)とMA(移動平均)部分の傾向が明確に出ておらず平日のページビューはほぼ平坦になっています(「予測」といいつつ実績比較のために過去データを使っています)。
曜日を考慮して予測分析
さらに、曜日ごとにページビュー相関を調べました。金曜日のみページビューと関連性が高かったので金曜日を考慮してモデリングをしなおしてみます。少しだけですが、予測値と実際値に近くなりました。
新規投稿日を考慮して予測分析
これに新規投稿時にはページビューが増えるはずなので、記事投稿日付を考慮するようにして再モデリングしました。だいぶモデルが正確になってきました。
細かくて見にくいですが、1年ではこんな感じになっています。
5から7月のページビューはかなり多くなっています。5月の社内のイベントの結果SNSが活発になったことなど原因が考えられます。数年分データを追加投入して季節性を考慮したり、イベント時期を考慮することでより正確な予測ができそうです。今回は概要紹介が目的なので、このレベルに留めます。
予測分析する意味
「こんなの分析してどうするの?」と疑問を持たれる方もいると思います。今回のようなSNSの例ですと、仮にクラウドでSNSサーバを運用していたら、休日中は稼働サーバを少なくして運用コスト削減が可能です。他にも売上予測をして在庫最適化を図る、作業量予測をして人員配置最適化を図るなど、業種・業態・業務によって応用例は多岐にわたります。前回記事と同じ絵ですが、以下のやり方で眠っていた情報を活用し、システムの価値を高めることがことが目的です。
HANAで実装する意味
では、予測分析にHANAを使う意味はどこにあるのでしょうか?同じことをするにしてもPythonやAzure Machine Learningなど、やり方はたくさんあります。筆者はHANAで実装するメリットが大きく3つあると考えています。
- 速い:予測分析の前処理に必要なデータ抽出、加工処理が非常に速い(ここの処理がボトルネックになることも多いです)。また、抽出後、データベース/File Systemに格納することなくそのまま予測分析にかけることが可能。予測分析処理(PAL)自体もC++で実装されているので速いです。
- 柔軟なオプション:PALによる高速処理と、R言語による多彩な処理が可能です。また、HadoopやSQLサーバとの外部連携で多様な情報を柔軟に取り扱うことができます。
- セキュリティリスクの低下:ERPデータなど重要で秘匿性の高い情報をサーバ内にとどめておくことができる(PCローカルファイルを経由して漏洩しにくい)。
上記の3つのメリットに加え、S/4 HANAなどであれば基幹システムの情報をそのまま使うことができます。例えば今回の例では休日をERPのカレンダ情報(テーブル"THOL")から取得できます。売上情報、顧客情報、従業員情報などS/4 HANAはまさにDigital Coreと呼ばれるだけの重要な情報が詰まっており、そのデータをそのままリアルタイムで使えるのが大きなメリットです。
HANA以外の道
「HANAで実装する意味」を書きましたが、HANAに固執する必要はありません。HANAのメリットは大きいですが、試行段階でS/4 HANA等導入だとハードルは高いです。PythonやAmazon Machine Learningなどで試すのも一考です。SAP社のソリューションではPredictive Analyticsが導入しやすいソリューションです。次回記事では、Predictive Analyticsを説明します。
- カテゴリ: S/4HANA