Prediction Oneとは?
SONY製の簡単予測ツール
『Prediction One』はSONYが開発したソフトウェアで、 ソニーネットワークコミュニケーションズ がサービス化し、2019年6月に無償提供を開始しました。
有償化を予定しており、時期は決まり次第WEBページにて発表とのことですが、しばらくは無償でお試しさせてもらえそうです。
以下、公式の説明動画です。
重要なのは、高度なプログラミングスキルや機械学習の知識が無くても、クリック操作だけで本格的な予測および分析ができてしまうという点です。
本記事では実際に予測分析の手順を踏みながら、簡単さ・手軽さを体感したいと思います。
Prediction Oneでの予測を試す
準備
まずはこちらにアクセスし、「今すぐ始める」というところをクリックします。
お申込みフォームというページに飛びますので、必要事項を記入し、「お申込み」!
しばらくすると、登録メールアドレス宛に、ダウンロードページが記載されたメールが届きますので、ソフトウェアをダウンロードし、インストールします。
テーマ決め、データの用意
初期状態で13件のチュートリアルが用意されていますので、今回はその中から、「来客数予測により仕入れ量決定」を使って試していきたいと思います。
飲食店の食材仕入れ担当の私が、来客数の予測をすることにより仕入れ量を最適化したいと思っている…というストーリーですね。
データもチュートリアル全13ケースに対してあらかじめ用意されていますので、それを使います。(”1_来店数.csv”と”2_来店数(予測用).csv”)
2018年8月1日から2019年9月15日までのデータで学習させ、向こう1週間の来客数を予測します。
データ(予測用)は以下のような感じ。
日付 | 気温 | 曜日 | 祝日フラグ | 前年来店数 | 先週の平均来店数 |
2019/9/16 | 21.9℃ | 月 | 1 | 252 | 391.4 |
2019/9/17 | 24.2℃ | 火 | 0 | 257 | 391.4 |
2019/9/18 | 26.5℃ | 水 | 0 | 364 | 391.4 |
2019/9/19 | 26.0℃ | 木 | 0 | 360 | 391.4 |
2019/9/20 | 25.3℃ | 金 | 0 | 368 | 391.4 |
2019/9/21 | 27.0℃ | 土 | 0 | 359 | 391.4 |
2019/9/22 | 27.8℃ | 日 | 0 | 269 | 391.4 |
学習させてみる
新規プロジェクト作成後、新規モデル作成します。
学習データには、”1_来店数.csv”を指定します。
すると、以下のような画面が開きます。
ここで、入力項目の取捨などを決められますが、基本的にソフトがその辺りもやってくれます。
つまり、不要そうな項目があれば、勝手に学習のインプット対象外にしてくれます。(もちろん、いやいや…というときは自分でチェックを入れればOKです)
今回は、来客数の予測ですので、「来店数(ターゲット)」という項目を予測ターゲットにして、数値予測をさせます。ちなみに、Prediction Oneは分類問題も解けます。
評価データはこの段階で(”2_来店数(予測用).csv”)を指定しても良いですが、今回は学習データから自動抽出してみます。
学習データ自身( “1_来店数.csv” )を8:2等の割合で学習データと評価データに分ける感じですね。
また、交差検証はONにしました。
交差検証は、少ないデータで学習をする際に有効な手法で、先述の8:2の分け方を全パターン試しながら学習するというものです。
最初の分け方に運悪く偏りがあると正しい結果が得られない可能性がありますので、やったほうがいいですが、全パターン試す関係で、ケースによっては学習時間が膨大になります。
結果を分析する
学習が終わりました。
最近流行りのクラウドリソースを使う形ではなく、ローカルPC駆動ですので、マシンスペックにもよりますが、これぐらいなら数十秒で学習完了します。
データに適したモデルを選択してくれるようで、今回はニューラルネットワークを採用して学習しているようですね。
結果ですが、予測精度レベルは★4つということで、かなり良いですと出ています。
項目の寄与度は、“予測値の加減にどれぐらい影響を与えたか”を表します。
前週や前年のデータが効いていることがよく分かりますね。
続いて精度評価ですが、分かりやすいところでは、誤差平均ですかね。だいたい毎日数百人の来客がある店において、誤差の平均が25人強です。
大きく感じるかもしれませんが、意外とどんなツールを使ってもこんなものです。むしろ優秀です。
実際の値を縦軸、予測値を横軸にしてプロットするとこんな感じに。
おおよそ対角線上にプロットされていますね。これもこのバラつきで★4?と感じるかもしれませんが、こんなものです。AIは森羅万象何でもビタッと予測できるわけではありません。
最後に、寄与度の詳細です。
各項目が予測値の加減に影響を与えていることが分かった後に、では項目の値が具体的にどうなっていればプラス(マイナス)にはたらくのか?を寄与度で示してくれます。
先週の来店数においては、ざっくり言えば大きければプラスへ、小さければマイナスへ…ですね。
ただし、大きければ大きいほどプラスにはたらく訳ではないところが面白いですね。
予測させてみる
予測データとして、”2_来店数(予測用).csv”を指定し、予測理由・予測データを出力データに付与する形でやってみます。
予測自体に時間はかかりません。出来上がった学習モデルに予測データを通すだけです。
結果はこんな感じに。
画像スペースの関係で列抜粋していますが、予測値と予測値を上げる(下げる)要因になった項目ベスト3が確認できます。
実運用であれば、ここから予測値と実測値を比較してズレを検証して…という流れですね。
Prediction Oneについてのまとめ
簡単・手軽で結果の根拠が分かりやすい
データさえ準備すれば、あとは本当に数クリックで予測まで実行できると感じました。
簡単・手軽で、煩わしいデータの加工や取捨が要らないのもとても良いですね。
また、どうしても学習の過程がブラックボックスになりがちな機械学習ですが、しっかりと結果の根拠を示してくれる点も良いと思います。
法人利用の際にも、クライアントへの説明が捗るかと。
現状は期限付きの無償提供期間ということですが、有料になっても使い続ける価値のあるソフトウェア(サービス)だと思いました。
※2020/01/17 追記
2020年1月15日のアップデートで時系列予測が追加されましたので、試しました。
よろしければこちらもあわせてご参照ください。
ちなみに…時系列予測ライブラリ『Prophet』を試した記事もありますので、ぜひ合わせてご覧ください。
それではまた次回!
平成生まれのアラサー文系ぽんこつシステムエンジニア。
エンジニアらしく技術系の記事を書いたり、全く関係ない記事を書いたり、まったりやっていきたいです。
AI(人工知能)、デジタルマーケティング、DX、Office365活用、ガジェットなどに興味があります。
コメント