(57)【要約】【課題】不確実性を考慮しながら所望の指標を向上する施策を提示する。【解決手段】推定モデルを用いて入力変数から算出される第１の指標の推定値を向上させる入力変数の値を探索する施策探索装置であって、推定モデルと、入力変数の値に応じた第１指標の推定値の不確実性を算出する評価関数とを生成するＫＰＩ推定モデル生成モジュール１０７と、第１指標の推定における不確実性の許容に関する指定を受け付けるデータ入出力モジュール１０８と、推定モデルを用いて入力変数から第１の指標の推定値を算出し、評価関数による不確実性が指定を満たし、かつ、第１指標の推定値が向上する入力変数の値を探索する施策探索モジュール１０６とを有する。【選択図】図２
2020030500.tif 000002
【特許請求の範囲】
【請求項１】
推定モデルを用いて入力変数から算出される第１の指標の推定値を向上させる前記入力変数の値を探索する施策探索装置であって、
前記推定モデルと、前記入力変数の値に応じた前記第１指標の推定値の不確実性を算出する評価関数とを生成する推定モデル生成処理部と、
前記第１指標の推定における不確実性の許容に関する指定を受け付ける入出力部と、
前記推定モデルを用いて入力変数から前記第１の指標の推定値を算出し、前記評価関数による前記不確実性が前記指定を満たし、かつ、前記第１指標の推定値が向上する前記入力変数の値を探索する施策探索処理部と、
を有する施策探索装置。
【請求項２】
前記評価関数は、前記入力変数の値に応じて、前記第１指標の推定値の不確実性を示す第２指標を算出する評価関数であり、
前記施策探索処理部は、前記第２指標に基づいて前記指定が満たされるか否か判定する、
請求項１に記載の施策探索装置。
【請求項３】
前記不確実性の指定は、不確実であることを許容する程度の選択であり、
前記施策探索処理部は、前記第２指標が前記程度に応じた閾値を超えるか否かにより、前記指定が満たされるか否かを判定する、
請求項２に記載の施策探索装置。
【請求項４】
前記施策探索処理部は、前記推定モデルを用いて新たに算出した推定値が既に保存されている推定値よりも高いとき、前記評価関数により前記指定が満たされるか否か判定し、前記指定が満たされる場合に前記新たに算出した推定値を保存する、
請求項１に記載の施策探索装置。
【請求項５】
前記推定モデル生成処理部は、前記推定モデルの入力変数により示される領域を複数のグリッドに分割し、前記グリッド毎に前記不確実性の評価値を予め算出し、
前記施策探索処理部は、入力変数の値が属するグリッドの評価値を用いて、前記不確実性の前記指定が満たされるか否か判定する、
請求項１に記載の施策探索装置。
【請求項６】
前記推定モデル生成処理部は、前記推定モデルの学習に用いたデータを用い、入力値の存在密度に基づいて前記不確実性を評価する評価関数を生成する、請求項１に記載の施策探索装置。
【請求項７】
前記推定モデル生成処理部は、前記推定モデルの学習に用いたデータにおいて最も近い方から所定個数の入力値までの距離の最大値を前記第２指標とする、請求項２に記載の施策探索装置。
【請求項８】
前記推定モデル生成処理部は、前記推定モデルの学習に用いたデータにおける前記入力変数の値および前記第１指標の値と、前記推定モデルにより推定される前記第１指標の推定値とを学習することにより、前記入力変数に応じて前記推定値の誤差に基づく前記不確実性を算出する推定モデルを生成する、
請求項１に記載の施策探索装置。
【請求項９】
前記推定モデル生成処理部は、前記推定モデルの学習に用いたデータにおける前記入力変数の値および前記第１指標の値と、前記推定モデルにより推定される前記第１指標の推定値とを用い、前記入力変数により示される領域を複数に分割した各グリッドにおける、前記推定値の誤差の平均値と分散の少なくとも一方を算出し、
前記施策探索処理部は、入力変数の値が属するグリッドの前記平均値と前記分散の少なくとも一方を用いて、前記不確実性の前記指定が満たされるか否か判定する、
請求項１に記載の施策探索装置。
【請求項１０】
前記入出力部は、向上すべき複数の第１指標と、前記第１指標のそれぞれについての不確実性の許容に関する指定とを受け付け、
前記施策探索処理部は、前記複数の第１指標に関する前記不確実性が前記指定を満たし、かつ、前記複数の第１指標が向上する前記入力変数の値を探索する、
請求項１に記載の施策探索装置。
【請求項１１】
推定モデルを用いて入力変数から算出される第１の指標の推定値を向上させる前記入力変数の値を探索する施策探索方法であって、
前記第１指標の推定における不確実性の許容に関する指定を受け付ける入出力処理と、
前記推定モデルと、前記入力変数の値に応じた前記第１指標の推定値の不確実性を算出する評価関数とを生成する推定モデル生成処理と、
前記推定モデルを用いて入力変数から前記第１の指標の推定値を算出し、前記評価関数による前記不確実性が前記指定を満たし、かつ、前記第１指標の推定値が向上する前記入力変数の値を探索する施策探索処理と、
をコンピュータが実行する施策探索方法。
【請求項１２】
コンピュータに、
推定モデルを用いて入力変数から算出される第１指標の推定における不確実性の許容に関する指定を受け付ける入出力手順と、
前記推定モデルと、前記入力変数の値に応じた前記第１指標の推定値の不確実性を算出する評価関数とを生成する推定モデル生成処理手順と、
前記推定モデルを用いて入力変数から前記第１の指標の推定値を算出し、前記評価関数による前記不確実性が前記指定を満たし、かつ、前記第１指標の推定値が向上する前記入力変数の値を探索する施策探索手順と、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所望の指標を向上させる施策を探索する技術に関する。
【背景技術】
【０００２】
様々な分野で機械学習を利用し、向上させたい指標（以下、「ＫＰＩ」ともいう）を推定し、ＫＰＩの推定値が高くなる施策（入力変数の値）を探索し、提示する技術が注目されている。非特許文献１，２には、各種の機械学習や探索のアルゴリズムが記載されている。ＫＰＩは、Ｋｅｙ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｉｎｄｉｃａｔｏｒの略である。
【０００３】
特許文献１には、最適化計算を用いて最適解を探索する際に、入力側の変数に誤差があることを考慮し、誤差の範囲内で入力値がぶれたとしても目的変数が最適になるような解を探索する方法に関する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１７／１３５３２２号
【非特許文献】
【０００５】
【非特許文献１】Bishop, Christopher M. "Pattern recognition and machine learning (information science and statistics)." (2006).
【非特許文献２】伊庭斉志. 進化論的計算手法. オーム社, 2005.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一つまたは複数の変数によって表現できる施策について、高いＫＰＩの値を実現することが見込める施策を探索したいという状況は多くある。例えば、ある商品の色、大きさ、および値段をどのように設定するのが、その商品が最も良く売れるかを探索したいという状況がある。また、複数のＫＰＩを同時に向上する施策を探索したいという状況も多くある。例えば、ある商品の色、大きさ、および値段をどのように設定すれば、その商品が良く売れ、かつ長く使われるか、という複数のＫＰＩを同時に向上したいという状況がある。これらのような状況に対し、ある施策を取るとＫＰＩがいくつになるかを推定するモデルを用いて探索を行うことが考えられる。
【０００７】
しかし、例えば機械学習を用いてデータから生成されたモデルでＫＰＩを推定する場合、入力変数におけるある特定の領域（施策の領域）では推定値の不確実性が高く、他の特定の領域では不確実性が低い、というように、入力変数の領域により推定値の不確実性が異なることがあり得る。不確実性とは、ＫＰＩの推定値がどの程度の誤差を含みうるかに関する指標である。実際に適用する施策を決定するときにはＫＰＩの値だけでなくＫＰＩの推定値の誤差も重要な要素となる。
【０００８】
本発明の目的は、不確実性を考慮しながら所望の指標を向上する施策を提示する技術を提供することである。
【課題を解決するための手段】
【０００９】
ひとつの態様による施策探索装置は、推定モデルを用いて入力変数から算出される第１の指標の推定値を向上させる前記入力変数の値を探索する施策探索装置であって、前記推定モデルと、前記入力変数の値に応じた前記第１指標の推定値の不確実性を算出する評価関数とを生成する推定モデル生成処理部と、前記第１指標の推定における不確実性の許容に関する指定を受け付ける入出力部と、前記推定モデルを用いて入力変数から前記第１の指標の推定値を算出し、前記評価関数による前記不確実性が前記指定を満たし、かつ、前記第１指標の推定値が向上する前記入力変数の値を探索する施策探索処理部と、を有する。
【発明の効果】
【００１０】
ひとつの態様によれば、不確実性を考慮しながら所望の指標を向上する施策を提示することができる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態による施策探索装置を示すブロック図である。
【図２】図１の示した施策探索装置の処理構成図である。
【図３】図１に示した施策探索モジュールが不確実性考慮施策探索プログラムを用いて実行する処理を説明するためのフローチャートである。
【図４】図１に示したＫＰＩ推定モデル生成モジュールがＫＰＩ推定モデル生成プログラムを用いて実行する処理を説明するためのフローチャートである。
【図５】図１に示したデータ記憶装置内のデータベースに記憶されたＫＰＩ推定モデルの一例を示す図である。
【図６】図１に示したＫＰＩ推定モデル生成モジュールが不確実性評価モデル生成プログラムを用いて実行する処理の一例を説明するためのフローチャートである。
【図７】図１に示したデータベースに保存されたテーブルの一例を示す図である。
【図８】図１に示したＫＰＩ推定モデル生成モジュールが不確実性評価モデル生成プログラムを用いて実行する処理の他の例を説明するためのフローチャートである。
【図９】図１に示したデータベースに保存されたテーブルの一例を示す図である。
【図１０】図１に示したＫＰＩ推定モデル生成モジュールが不確実性評価モデル生成プログラムを用いて実行する処理の他の例を説明するためのフローチャートである。
【図１１】図１に示したデータベースに保存されたテーブルの一例を示す図である。
【図１２】図１に示したデータ入出力モジュールによって表示されるユーザ入力画面の一例を示す図である。
【図１３】図１に示したデータ入出力モジュールによって表示される施策探索結果提示画面の一例を示す図である。
【発明を実施するための形態】
【００１２】
以下に、ある実施形態の施策探索装置について図面を参照して説明する。
【００１３】
本実施形態による施策探索装置は、ＫＰＩの推定モデルを探索する対象として、ユーザの望む確実さを担保しながらＫＰＩを高くする施策を探索し、ユーザに提示するものである。施策は、ＫＰＩを高くするためにユーザが選択すべき設定や行動を表す値である。
【００１４】
図１は、本実施形態による施策探索装置を示すブロック図である。図２は、図１の示した施策探索装置１０の処理構成図である。
【００１５】
本実施形態における施策探索装置は図１に示すように、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１と、メモリ１０２と、通信装置１０３と、プログラム記憶装置１０４と、データ記憶装置１０５とを有している。
【００１６】
プログラム記憶装置１０４は、書込みおよび読み出しが可能にデータを記憶する装置であり、施策探索モジュール１０６と、ＫＰＩ推定モデル生成モジュール１０７と、データ入出力モジュール１０８とを記憶している。施策探索モジュール１０６、ＫＰＩ推定モデル生成モジュール１０７、およびデータ入出力モジュール１０８はそれぞれソフトウェアモジュールである。ソフトウェアモジュールは、１つ以上のソフトウェアプログラムからなり、あるまとまりのある機能を実現するソフトウェア部品である。すなわち、以下に説明する処理は、施策探索装置１０をコンピュータとして実行させるプログラムとして構成される。
【００１７】
なお、本実施形態に示すソフトウェアモジュールの構成や、ソフトウェアモジュールのソフトウェアプログラムの構成は一例である。装置全体として所望の機能を提供するものであれば、装置内部で、ソフトウェアモジュールおよびソフトウェアプログラムをどのような機能分担で設計してもよい。
【００１８】
施策探索モジュール１０６（施策探索処理部）は、図２に示す施策探索処理２０１を実行するソフトウェアモジュールであり、不確実性考慮施策探索プログラム１０９を含んでいる。不確実性考慮施策探索プログラム１０９はソフトウェアプログラムである。ソフトウェアモジュールおよび各ソフトウェアプログラムの処理は後述する。
【００１９】
ＫＰＩ推定モデル生成モジュール１０７（推定モデル生成処理部）は、図２に示すＫＰＩ推定モデル生成処理２０２を実行するソフトウェアモジュールであり、ソフトウェアプログラムであるＫＰＩ推定モデル生成プログラム１１０と不確実性評価モデル生成プログラム１１１とを含んでいる。ソフトウェアモジュールおよび各ソフトウェアプログラムの処理は後述する。
【００２０】
データ入出力モジュール１０８（入出力部）は、図２に示すデータ入出力処理２０３を実行するものである。
【００２１】
データ記憶装置１０５は、書込みおよび読み出し可能にデータをデータベース１１２として記憶する装置である。
【００２２】
なお、ここではプログラム記憶装置１０４とデータ記憶装置１０５とを別個の装置とする例を示したが、この構成に限定されることはない。プログラム記憶装置１０４とデータ記憶装置１０５とは同一装置が兼ねてもよい。
【００２３】
ＣＰＵ１０１は、メインメモリであるメモリ１０２をワークエリアとして利用し、データ記憶装置１０５にデータベース１１２として記憶されたデータを読み出し、また演算過程あるいは演算結果のデータをデータ記憶装置１０５に書き込みながら、プログラム記憶装置１０４に記憶された各ソフトウェアを実行するプロセッサである。
【００２４】
通信装置１０３は、ＣＰＵ１０１にて処理された情報を有線もしくは無線、またはそれら両方を含む通信ネットワークを介して送信し、また通信ネットワークを介して受信した情報をＣＰＵ１０１に伝達する。これにより、例えば、施策探索装置１０を外部の端末から利用可能とする。
【００２５】
上述したように、本実施形態における施策探索装置１０は、１つまたは複数のＫＰＩに対して不確実性を許容するか否かをユーザから指定されると、施策探索処理２０１により、ＫＰＩの推定の不確実性を考慮しつつ、ＫＰＩが向上する施策を探索し提示する。施策探索処理２０１は、ＫＰＩ推定モデル生成処理２０２が出力するＫＰＩ推定モデルと不確実性評価モデルを使用する。これにより、ユーザの指定に応じた不確実性を担保する施策を探索することが可能となる。
【００２６】
施策探索処理２０１は、施策探索モジュール１０６が実行する処理であり、一般的な探索アルゴリズムを用いることが考えられる。一般的な探索アルゴリズムとは、ランダムサーチ、グリッドサーチ、局所探索法、遺伝的アルゴリズム、対象とする関数が連続な場合は勾配法などである。強化学習を想定してもよい。いずれの手法を用いた場合であっても、施策探索処理２０１では、ＣＰＵ１０１は、ランダムに初期の入力値を決定し、ＫＰＩ推定モデル生成モジュール１０７にて生成されたＫＰＩ推定モデルを用いて入力値に対する第１の指標となるＫＰＩの推定値を算出し、また、ＫＰＩ推定モデル生成モジュール１０７にて生成された評価関数となる不確実性評価モデルを用いて推定値の不確実性を算出し、推定値の不確実性がユーザの指定した許容する不確実性の範囲内であるか否かを判断し、判断結果に応じて現在の入力値を採用するか否かを決定する。探索の終了条件を満たさない間は、次の入力値を生成して探索を繰り返す。終了条件を満たした場合は、探索を終了し、ＫＰＩが最も高くなる入力値を出力する。
【００２７】
ＫＰＩ推定モデル生成処理２０２は、ＫＰＩ推定モデル生成モジュール１０７が実行する処理であり、ＫＰＩ推定モデルの生成と、ＫＰＩ推定の不確実性評価モデルの生成を行う。ＫＰＩ推定モデルは、例えば、入力値とＫＰＩの組みのデータ群に対して一般的な機械学習の手法を用いて、入力値からＫＰＩを推定するモデルを生成する。一般的な機械学習の手法とは、ランダムフォレスト、サポートベクタ回帰、重回帰、ニューラルネットワークなどである。不確実性評価モデルの生成については後述する。
【００２８】
データ入出力処理２０３は、データ入出力モジュール１０８が実行する処理であり、ユーザが操作する端末装置２０と施策探索装置１０とのデータの入出力を行う処理である。例えば、データ入出力処理２０３では、ＣＰＵ１０１は、ＫＰＩに対して許容する不確実性の指定を受け付け、施策探索モジュール１０６に渡す。
【００２９】
このように、本実施形態における施策探索装置１０においては、ＫＰＩに対して許容する不確実性が指定された場合に、不確実性を評価する評価関数による不確実さが指定を満たし、かつ、推定モデルを用いて算出される第１指標が向上する入力変数の値を探索するので、ユーザの必要性に応じた不確実性を考慮しながら所望の指標を向上する施策を取得することができる。
【００３０】
以下に、上述した各ソフトウェアモジュールおよびソフトウェアプログラムの処理について説明する。
【００３１】
まず、施策探索モジュール１０６が不確実性考慮施策探索プログラム１０９を用いて実行する処理について説明する。
【００３２】
図３は、図１に示した施策探索モジュール１０６が不確実性考慮施策探索プログラム１０９を用いて実行する処理を説明するためのフローチャートである。
【００３３】
図１に示した施策探索装置１０における施策探索処理２０１においては、まず、ＣＰＵ１０１は、ユーザの入力したＫＰＩと不確実性許容との指定の組をデータ入出力モジュール１０８を介して取得する（ステップＳ３０１）。なお、この組はユーザの入力により複数指定されていてもよい。また、不確実性許容との指定とは、不確実であることを許容する程度の選択によるものが考えられる。
【００３４】
次に、ＣＰＵ１０１は、ランダムな初期入力値ｘを生成する（ステップＳ３０２）。
【００３５】
次に、ＣＰＵ１０１は、入力値ｘに対するＫＰＩ推定値を算出する（ステップＳ３０３）。この際、ＫＰＩ推定値の算出には、ＫＰＩ推定モデル生成プログラム１０６が生成したＫＰＩ推定モデルを使用する。なお、ＫＰＩ推定モデルは、施策探索モジュール１０６がＫＰＩ推定モジュール１０７から直接取得してもよいし、ＫＰＩ推定モデル生成プログラム１０６が生成したＫＰＩ推定モデルがデータベース１１２に記憶されており、施策探索モジュール１０６はデータベース１１２からＫＰＩ推定モデルを取得してもよい。ＫＰＩ推定モデルの生成処理については後述する。なお、ステップＳ３０１において取得したユーザの入力が複数のＫＰＩを指定していた場合は、複数のＫＰＩについて推定値を算出する。
【００３６】
次に、ＣＰＵ１０１は、算出したＫＰＩ推定値が、既にデータベース１１２に保存されたＫＰＩ推定値よりも高いかどうかを確認する（ステップＳ３０４）。ＫＰＩ推定値が複数ある場合は、どれかが高い、全てが高い、高いものが過半数、など任意の判断基準を設定する。現在の推定値が高い場合は、ステップＳ３０５に進む。そうでない場合はＳ３０８進む。保存されたＫＰＩ推定値がない場合は、ステップＳ３０５に進む。
【００３７】
次に、ＣＰＵ１０１は、入力値ｘに対する第２の指標となる不確実性（ｕｃ（ｘ））を算出する（ステップＳ３０５）。不確実性の算出は、ＫＰＩ推定モデル生成モジュール１０７が不確実性評価モデル生成プログラム１０８を用いて生成した不確実性評価モデルを用いて行う。不確実性評価モデルを生成する処理については後述する。不確実性評価モデルは複数存在する場合もあるので、その際は全ての不確実性を算出する。なお、図３のステップＳ３０５の不確実性ｕｃの添え字のｉはｎ個の不確実性評価モデルに対応する各々の不確実性ｕｃを表す。不確実性ｕｃの値は、連続値の場合もあるし、離散値の場合もある。
【００３８】
次に、ＣＰＵ１０１は、不確実性ｕｃの値に基づき、入力値ｘがユーザの指定したＫＰＩの推定値の不確実性を満たすか否かを評価する（ステップＳ３０６）。例えば、算出された不確実性ｕｃの値が、ユーザが指定したあるＫＰＩの不確実性（複数ある場合はその和）の程度に応じた閾値を超えているか否かによって、ユーザの指定する不確実性を満たすことを判断できる。ユーザの指定した全てのＫＰＩについて、ユーザの指定した確実性を満たす場合は、入力値ｘを採用すると判断し、ステップＳ３０７に進む。そうでない場合は、入力値ｘを不採用とすると判断し、ステップＳ３０８に進む。このように、算出された不確実性ｕｃの値が、ユーザが指定したあるＫＰＩの不確実性の程度に応じた閾値を超えているか否かによって、ユーザの指定する不確実性を満たすことを判断することで、指定が満たされるか否かを容易に判定することができる。
【００３９】
次に、ＣＰＵ１０１は、入力値ｘとこれに対応するＫＰＩ推定値の組をデータベース１１２に保存する（ステップＳ３０７）。ユーザの指定したＫＰＩが複数ある場合は、全てのＫＰＩの推定値をデータベース１１２に保存する。なお、入力値ｘとこれに対応するＫＰＩ推定値の組をデータベース１１２に保存する際に、既にデータベース１１２に保存されている入力値ｘとＫＰＩ推定値の組を消去してもよいし、何らかの基準をもって消去せず残してもよい。例えばＫＰＩ推定値の上位ｎ件を残してもよい。このように、新たに算出した推定値が既に算出された推定値よりも大きな場合にかぎり不確実性の指定が満たされるか否か判定するので、不確実性の判定の処理を無駄に実行することがない。
【００４０】
次に、ＣＰＵ１０１は、施策探索処理の終了条件が満たされたか否か判定する（ステップＳ３０８）。例えば、探索の繰り返し回数の上限値に達した場合に、終了と判定してもよい。または、連続してｎ回、保存された入力値ｘとＫＰＩ推定値の組が更新されなかった場合に終了と判定してもよい。終了条件が満たされていなければ、ＣＰＵ１０１はステップＳ３０９に進む。終了条件が満たされていれば、ＣＰＵ１０１は探索処理を終了する。
【００４１】
ステップＳ３０８において終了条件が満たされていなかった場合、ＣＰＵ１０１は、次の入力値ｘを選定し、ステップＳ３０３に戻って探索処理を繰り返す（ステップＳ３０９）。次の入力値ｘの選定方法は、例えば、現在の入力値ｘの近傍から選定してもよいし、ランダムに選定してもよい。用いている探索アルゴリズムに従った方法で選定してもよい。
【００４２】
このように、不確実性ｕｃの値により不確実性の指定が満たされるか否か判定しながら、指定が満たされ、かつＫＰＩが向上する入力変数の値を探索するので、不確実性が指定を満たすように所望の指標を向上する施策を取得することができる。
【００４３】
次に、ＫＰＩ推定モデル生成モジュール１０７がＫＰＩ推定モデル生成プログラム１１０を用いて実行する処理について説明する。
【００４４】
図４は、図１に示したＫＰＩ推定モデル生成モジュール１０７がＫＰＩ推定モデル生成プログラム１１０を用いて実行する処理を説明するためのフローチャートである。
【００４５】
図１に示した施策探索装置１０におけるＫＰＩ推定モデル生成処理２０２においては、まず、ＣＰＵ１０１は、まず、モデル生成用データ（入力値ｘと出力値ｙの組）を入力する（ステップＳ４０１）。モデル生成用データは、データ記憶装置１０５に格納してあるものを読み込んでもよいし、外部の端末にあるファイルを、通信装置１０３を介して読み込んでもよい。
【００４６】
次に、ＣＰＵ１０１は、任意の機械学習の手法を用いて、入力値ｘからＫＰＩ（出力値ｙ）を推定するモデルを生成する（ステップＳ４０２）。上述したように、任意の機械学習の手法とは、ランダムフォレスト、サポートベクタ回帰、重回帰、ニューラルネットワークなどであり、これらの手法を用いて、入力値ｘから出力値ｙを推定するモデルを生成する。なお、出力値ｙ（ＫＰＩ）が複数ある場合、それらを同時に推定するモデルを生成してもよい。例えば、ニューラルネットワークの手法を利用すれば、入力値ｘから複数の出力値ｙを推定するモデルを学習することが可能である。
【００４７】
次に、ＣＰＵ１０１は、学習結果のＫＰＩ推定モデルを、ＫＰＩの種類と紐づけてデータベース１１２に保存する（ステップＳ４０３）。
【００４８】
図５は、図１に示したデータ記憶装置１０５内のデータベース１１２に記憶されたＫＰＩ推定モデルの一例を示す図である。
【００４９】
図５に示すように、図１に示したデータ記憶装置１０５内のデータベース１１２には、ＫＰＩ推定モデルを識別するためにＫＰＩ推定モデルに付与されたモデルＩＤと、ＫＰＩの種類と、ＫＰＩ推定モデルを生成する際に使用された機械学習手法と、ＫＰＩ推定モデルのパラメータとが対応づけて記録されている。機械学習手法が固定であれば、記録されていなくてもよい。ＫＰＩ推定モデルパラメータは、例えば重回帰の手法によるモデルであれば、重み係数や切片である。
【００５０】
次に、ＫＰＩ推定モデル生成モジュール１０７が不確実性評価モデル生成プログラム１１１を用いて実行する処理についていくつか例を挙げて説明する。
【００５１】
図６は、図１に示したＫＰＩ推定モデル生成モジュール１０７が不確実性評価モデル生成プログラム１１１を用いて実行する処理の一例を説明するためのフローチャートであり、学習データの有無に基づく不確実性評価モデル生成処理を示す。
【００５２】
図１に示した施策探索装置１０における不確実性評価モデル生成処理においては、まず、ＣＰＵ１０１は、ＫＰＩ推定モデルの学習に使用したデータを入力する（ステップＳ５０１）。これは、ステップＳ４０１に入力されたデータと同じものである。データは、データ記憶装置１０５に格納してあるものを読み込んでもよいし、外部の端末にあるファイルを、通信装置１０３を介して読み込んでもよい。
【００５３】
次に、ＣＰＵ１０１は、入力値ｘの空間をグリッドに分割する（ステップＳ５０２）。さらに、ＣＰＵ１０２は、各グリッドの中心から、最近傍ｎ点の入力値ｘまでの距離の最大値を取得し、データベース１１２に保存する。この値は、最近傍ｎ点を含む円の半径を表す。この値が大きいほど、そのグリッド付近に入力値ｘのデータが少ないことを表す。学習用のデータが少ない入力空間の範囲では、ＫＰＩ推定モデルの不確実性が高いと判断できる。すなわち、ＫＰＩ推定モデル生成モジュール１０７においては、ＫＰＩ推定モデルの学習に用いたデータを用い、入力値ｘの存在密度に基づいて不確実性を評価する不確実性評価モデルを生成し、ＫＰＩ推定モデルの学習に用いたデータにおいて最も近い方から所定個数の入力値までの距離の最大値を不確実性とする。これにより、学習データにおいて入力値が多い領域か入力値が少ない領域かにより推定モデルによる推定の不確実性を評価することができるとともに、学習データの入力値から単純な演算で不確実性を算出することができる。
【００５４】
図７は、図１に示したデータベース１１２に保存されたテーブルの一例を示す図であり、入力値ｘがｘ１，ｘ２の二次元のベクトルである場合の例を示す。
【００５５】
図７に示すように、データベース１１２に保存されたテーブルには、ｘ１の値の範囲、ｘ２の値の範囲によりグリッドが示されており、該当グリッドの最近傍ｎ点の入力ｘまでの距離の最大値が記録されている。なお、ｘ１の値の範囲やｘ２の値の範囲は、等間隔でなくてもよい。また、学習用データの少ない入力範囲の特定方法は、ここに記載した方法に限るものではない。例えば、グリッド内の学習データ数によっても、各グリッドの学習データの量を判断することが可能である。また、不確実性評価モデルは、図７に示すようなテーブルの形式でもよいし、値ｘの入力に対し、ｘと最近傍ｎ点の学習データまでの距離の最大値を算出して出力するのでもよい。
【００５６】
このように、ＫＰＩ推定モデル生成モジュール１０７は、推定モデルの入力変数により示される領域を複数のグリッドに分割し、グリッド毎に不確実性の評価値を予め算出しておくことになる。そして、施策探索モジュール１０４において、入力変数の値が属するグリッドの評価値を用いて、不確実性についてユーザの指定が満たされるか否か判定することになる。これにより、施策探索時に、入力変数の値に応じて不確実性の指定が満たされるか否かを容易に算出することができる。
【００５７】
図８は、図１に示したＫＰＩ推定モデル生成モジュール１０７が不確実性評価モデル生成プログラム１１１を用いて実行する処理の他の例を説明するためのフローチャートであり、ＫＰＩ推定モデルの誤差に基づく不確実性評価モデル生成処理を示す。
【００５８】
図１に示した施策探索装置１０における不確実性評価モデル生成処理においては、まず、ＣＰＵ１０１は、入力値ｘと出力値ｙの推定誤差ｅの組のデータを入力する（ステップＳ６０１）。推定誤差ｅとは、例えば、出力値ｙの正解値（学習データの値）と、ＫＰＩ推定モデルに入力値ｘを入力した際の出力である推定値との差の絶対値で表される。
【００５９】
次に、ＣＰＵ１０１は、任意の機械学習の手法を用いて、入力値ｘに対して推定誤差ｅを推定するモデルを生成する（ステップＳ６０２）。
【００６０】
次に、ＣＰＵ１０１は、ステップＳ６０２で出力された誤差推定モデルを、データベース１１２に保存する（ステップＳ６０３）。
【００６１】
図９は、図１に示したデータベース１１２に保存されたテーブルの一例を示す図である。
【００６２】
図９に示すように、図１に示したデータベース１１２には、誤差モデルを識別するために誤差モデルに付与された誤差推定モデルＩＤと、ＫＰＩ推定モデルを識別するためにＫＰＩ推定モデルに付与されたＫＰＩ推定モデルＩＤと、ＫＰＩの種類と、誤差モデルを生成する際に使用された機械学習手法と、誤差モデルのパラメータとが対応づけて記録されている。なお、ＫＰＩ推定モデルＩＤは、図５に示したモデルＩＤに対応づけられている。機械学習手法は、固定であれば記録されていなくてもよい。
【００６３】
ＫＰＩ推定生成モジュール１０７においては、データベース１１２に記録された誤差推定モデルにより、入力値ｘに対して、ＫＰＩ推定誤差の量を出力することができる。推定誤差の量が大きいほど不確実性が高いと判断できる。そして、この誤差に基づく前記不確実性を算出する推定モデルを生成することになる。
【００６４】
このように、ＫＰＩ推定生成モジュール１０７において、ＫＰＩ推定モデルの学習に用いたデータにおける入力変数の値およびＫＰＩの値と、ＫＰＩ推定モデルにより推定されるＫＰＩの推定値とを学習することにより、入力変数に応じて推定値の誤差に基づく不確実性を算出する評価モデルを生成するので、誤差に基づく不確実性の評価が可能となる。
【００６５】
図１０は、図１に示したＫＰＩ推定モデル生成モジュール１０７が不確実性評価モデル生成プログラム１１１を用いて実行する処理の他の例を説明するためのフローチャートであり、入力値ｘに対してＫＰＩ推定誤差を見積もる別の方法を示す。
【００６６】
図１に示した施策探索装置１０における不確実性評価モデル生成処理においては、まず、ＣＰＵ１０１は、入力値ｘと出力値ｙの推定誤差ｅの組のデータを入力する（ステップＳ７０１）。これは、ステップステップＳ６０１と同じ処理である。
【００６７】
次に、ＣＰＵ１０１は、入力値ｘの空間をグリッドに分割する（ステップＳ７０２）。さらに、各グリッドの入力値ｘに対する推定誤差ｅの平均値と分散を算出し、データベース１１２に保存する（ステップＳ７０３）。
【００６８】
図１１は、図１に示したデータベース１１２に保存されたテーブルの一例を示す図であり、入力値ｘがｘ１，ｘ２の二次元である場合の例を示す。
【００６９】
図１１に示すように、データベース１１２に保存されたテーブルには、ｘ１の値の範囲と、ｘ２の値の範囲と、該当グリッド内の入力値ｘに対する推定誤差の平均と、推定誤差の分散とが対応づけて記録されている。なお、グリッド内の入力値ｘに対する推定誤差の平均と、推定誤差の分散とのいずれか一方が記録された構成としてもよい。図１１に示すテーブル１つに対して、図５に示したモデルＩＤとＫＰＩ種類の組が対応づけられている。図１１に示すテーブルを用いて、入力値ｘの空間のどのグリッドではＫＰＩ推定誤差の平均値、分散が大きく、すなわち不確実性が大きいかを判断することができる。このように、ＫＰＩ推定モデル生成モジュール１０７においては、ＫＰＩ推定モデルの学習に用いたデータにおける入力変数の値およびＫＰＩの値と、ＫＰＩ推定モデルにより推定されるＫＰＩの推定値とを用い、入力変数により示される領域を複数に分割した各グリッドにおける、ＫＰＩ推定値の誤差の平均値と分散の少なくとも一方を算出することになる。そして、施策探索モジュール１０４において、入力変数の値が属するグリッドの平均値と分散の少なくとも一方を用いて、不確実性に関するユーザの指定が満たされるか否か判定することになる。これにより、施策探索時に、入力変数の値に応じて不確実性の指定が満たされるか否かを容易に算出することができる。
【００７０】
以下に、データ入出力モジュール１０８によって表示されるユーザ入力画面について説明する。
【００７１】
図１２は、図１に示したデータ入出力モジュール１０８によって表示されるユーザ入力画面の一例を示す図である。
【００７２】
図１に示したデータ入出力モジュール１０８は、図１２に示すような、ユーザが各ＫＰＩに対して不確実性を許容するかしないかを指定するためのユーザ入力画面８０を表示する。
【００７３】
図１２に示すように、データ入出力モジュール１０８によって表示されるユーザ入力画面８０には、ＫＰＩの一覧がＫＰＩ欄８０１に表示されている。ユーザ入力画面８０には更に、確実性の重視を指定するための確実性重視欄８０２と、不確実性の許容を指定するための不確実性許容欄８０３と、施策探索を開始するための施策探索ボタン８０４とが表示されている。
【００７４】
ＫＰＩ欄８０１では探索対象のＫＰＩがひとつまたは複数表示される。確実性重視欄８０２では確実性を重視したいＫＰＩの選択欄がある。不確実性許容欄８０３ではＫＰＩの推定が不確実性のある範囲も探索対象とすることを選択する欄がある。図１２に示す例では、「売上量」と「使用期間」の二つのＫＰＩが表示されている。これは、例えば、ある商品の仕様を決める際に、色、大きさ、値段の３つの値（入力値ｘ）をいくつにするのが「売上量」と「購買後の使用期間」というＫＰＩを高くできるか、ということを探索する問題を例示している。図１２に示す選択状態では、「売上量」は確実に高いところを狙いたく、「使用期間」は、できれば長く使ってほしいが不確実性も許容できる、という例である。確実性重視、不確実性許容、の選択によって、探索時にどれだけ不確実性を許容するかを調整する。例えば、図３のステップＳ３０６において入力値ｘを採用するか否かを決める閾値を変更する。
【００７５】
このように、データ入出力モジュール１０８においては、ユーザ入力画面８０によって、向上すべき複数のＫＰＩと、ＫＰＩのそれぞれについての不確実性の許容に関する指定とを受け付けることになる。そして、施策探索モジュール１０６において、複数のＫＰＩに関する不確実性がユーザによる不確実性に関する指定を満たし、かつ、複数のＫＰＩが向上する入力変数の値を探索することになる。これにより、複数のＫＰＩのそれぞれについて不確実性の指定を満たすように施策を探索することができる。
【００７６】
以下に、データ入出力モジュール１０８によって表示される施策探索結果提示画面について説明する。
【００７７】
図１３は、図１に示したデータ入出力モジュール１０８によって表示される施策探索結果提示画面の一例を示す図である。
【００７８】
図１に示したデータ入出力モジュール１０８は、図１３に示すような、施策探索の結果をユーザに提示するための施策探索結果提示画面９０を表示する。
【００７９】
図１３に示すように、データ入出力モジュール１０８によって表示される施策探索結果提示画面９０には、施策９０１と、ＫＰＩ評価結果９０２，９０３が提示される。図１３に示す施策探索結果提示画面９０は、図１２に示したユーザ入力画面８０の選択状態から施策探索ボタン８０４が操作された場合に表示される例が示されている。施策９０１には、色、大きさ、値段の３つの値をいくつにするかが示されている。ＫＰＩ評価結果９０２には、図１２に示したユーザ入力画面８０にて確実性を重視すると指定した「売上量」のＫＰＩが示されている。ＫＰＩ評価結果９０３には、図１２に示したユーザ入力画面８０にて不確実性を許容すると指定した「使用期間」のＫＰＩが示されている。ＫＰＩ評価結果９０２，９０３に示されたドットは、不確実性を表すものである。例えば、図８にて示した処理にて計算される誤差の推定値や、図１０にて示した処理にて計算される、グリッド単位の誤差の平均値を表示すればよい。
【００８０】
本実施形態では、１つまたは複数のＫＰＩに対し、ＫＰＩを推定するモデルを用いてＫＰＩを高くするような施策（入力値ｘ）を探索する際に、ＫＰＩの推定の不確実性を許容するか否かを指定した上で、施策を探索することができる。不確実性評価モデルを用いて、探索の際の各入力値ｘに対して、各ＫＰＩの推定値の不確実性の高低を評価し、入力値ｘを探索対象とするか否かを選択しながら探索を進めればよい。
【００８１】
図１３に示した例では、出力されている施策は１通りだが、図３に示した不確実性考慮施策探索プログラムの処理において、複数の入力値ｘが保存されている場合は、複数の施策とそのＫＰＩ評価結果を表示してもよい。
【００８２】
なお、本実施形態では、施策探索装置１０がＫＰＩの不確実性を受け入れるか否かの２パターンのいずれかの指定を受け付け、指定に対して好適な施策を提示するものとしたが、不確実性の指定の条件はこれに限らない。例えば、ユーザがＫＰＩに対して許容する不確実性の段階を指定し、その指定に応じて好適な施策を提示することも可能である。その場合、データ入出力モジュール１０８は、更に、ＫＰＩの不確実性の許容の段階を提示し、ユーザの段階の指定を受け付ける。施策探索モジュール１０６は、選択された段階に応じた不確実性までの入力値ｘを探索範囲としながら探索を行えばよい。ユーザは段階的にＫＰＩの不確実性の許容を指定して、より嗜好に合った施策を探索することが可能となる。
【００８３】
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の範囲を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【符号の説明】
【００８４】
１０…施策探索装置、２０…端末装置、８０…ユーザ入力画面、９０…施策探索結果提示画面、１０１…ＣＰＵ、１０２…メモリ、１０３…通信装置、１０４…プログラム記憶装置、１０５…データ記憶装置、１０６…施策探索モジュール、１０７…ＫＰＩ推定モデル生成モジュール、１０８…データ入出力モジュール、１０９…不確実性考慮施策探索プログラム、１１０…ＫＰＩ推定モデル生成プログラム、１１１…不確実性評価モデル生成プログラム、１１２…データベース、２０１…施策探索処理、２０２…ＫＰＩ推定モデル生成処理、２０３…データ入出力処理、８０１…ＫＰＩ欄、８０２…確実性重視欄、８０３…不確実性許容欄、８０４…施策探索ボタン、９０１…施策、９０２…ＫＰＩ評価結果、９０３…ＫＰＩ評価結果
【図１】
2020030500.tif 000003
【図２】
2020030500.tif 000004
【図３】
2020030500.tif 000005
【図４】
2020030500.tif 000006
【図５】
2020030500.tif 000007
【図６】
2020030500.tif 000008
【図７】
2020030500.tif 000009
【図８】
2020030500.tif 000010
【図９】
2020030500.tif 000011
【図１０】
2020030500.tif 000012
【図１１】
2020030500.tif 000013
【図１２】
2020030500.tif 000014
【図１３】
2020030500.tif 000015