(57)【要約】  予測対象の実績値の傾向が変わった場合における予測精度の低下を防止することができる学習モデル生成システムを提供する。学習モデル生成手段７１は、予測対象の予測に用いられる各説明変数の値と予測対象の実績値とを対応付けた時系列データを学習データとして用いて、学習モデルを生成する。予測手段７２は、各説明変数の値が与えられると学習モデルを用いて予測対象の予測値を算出する。変化点判定手段７３は、予測対象の実績値の傾向が変化した時点である変化点を判定する。データ補正手段７４は、変化点が判定されたときに、変化点以降の予測対象の実績値と予測値との差分を、時系列データ内における変化点より前の実績値に加算することにより時系列データを補正する。学習モデル生成手段７１は、時系列データが補正されると、補正後の時系列データを学習データとして用いて学習モデルを生成し直す。
2016151637.tif 000002
【特許請求の範囲】
【請求項１】
予測対象の予測に用いられる各説明変数の値と前記予測対象の実績値とを対応付けた時系列データを学習データとして用いて、前記予測対象の予測値を算出するための学習モデルを生成する学習モデル生成手段と、
前記各説明変数の値が与えられると前記学習モデルを用いて前記予測対象の予測値を算出する予測手段と、
前記予測対象の実績値の傾向が変化した時点である変化点を判定する変化点判定手段と、
前記変化点が判定されたときに、前記変化点以降の前記予測対象の実績値と予測値との差分を、前記時系列データ内における前記変化点より前の実績値に加算することにより時系列データを補正するデータ補正手段とを備え、
前記学習モデル生成手段は、前記時系列データが補正されると、補正後の時系列データを学習データとして用いて学習モデルを生成し直す
ことを特徴とする学習モデル生成システム。
【請求項２】
変化点判定手段は、実績値が予測値よりも閾値以上大きい状態が連続して所定期間続いた場合、または、実績値が予測値よりも前記閾値以上小さい状態が連続して前記所定期間続いた場合に、実績値が予測値よりも前記閾値以上大きくなった最初の時点または実績値が予測値よりも前記閾値以上小さくなった最初の時点を変化点と判定する
請求項１に記載の学習モデル生成システム。
【請求項３】
変化点判定手段は、新たな実績値が与えられた場合、当該新たな実績値の1つ前の実績値に対応する時点から過去一定時間分の実績値の平均値を算出し、前記新たな実績値が前記平均値よりも閾値以上大きく、前記新たな実績値の後続の実績値が前記平均値よりも前記閾値以上大きい状態が連続して所定期間続いた場合、または、前記新たな実績値が前記平均値よりも前記閾値以上小さく、前記新たな実績値の後続の実績値が前記平均値よりも前記閾値以上小さい状態が連続して前記所定期間続いた場合に、前記新たな実績値に対応する時点を変化点と判定する
請求項１に記載の学習モデル生成システム。
【請求項４】
データ補正手段は、変化点から、当該変化点を判定した時点までの期間における実測値と予測値の差分の平均値を算出し、当該差分の平均値を時系列データ内における前記変化点より前の実績値に加算する
請求項２または請求項３に記載の学習モデル生成システム。
【請求項５】
データ補正手段は、変化点から、当該変化点を判定した時点までの期間における実測値と予測値の差分の平均値を算出し、当該差分の平均値を時系列データ内における前記変化点より前の第２の所定期間分の各実績値に加算し、
学習モデル生成手段は、前記時系列データのうち、前記第２の所定期間内の最も早い時点以降のデータを用いて学習モデルを生成し直す
請求項２から請求項４のうちのいずれか１項に記載の学習モデル生成システム。
【請求項６】
予測対象の予測に用いられる各説明変数の値と前記予測対象の実績値とを対応付けた時系列データを学習データとして用いて、前記予測対象の予測値を算出するための学習モデルを生成し、
前記各説明変数の値が与えられると前記学習モデルを用いて前記予測対象の予測値を算出し、
前記予測対象の実績値の傾向が変化した時点である変化点を判定し、
前記変化点を判定したときに、前記変化点以降の前記予測対象の実績値と予測値との差分を、前記時系列データ内における前記変化点より前の実績値に加算することにより時系列データを補正し、
前記時系列データを補正した場合、補正後の時系列データを学習データとして用いて学習モデルを生成し直す
ことを特徴とする学習モデル生成方法。
【請求項７】
コンピュータに、
予測対象の予測に用いられる各説明変数の値と前記予測対象の実績値とを対応付けた時系列データを学習データとして用いて、前記予測対象の予測値を算出するための学習モデルを生成する学習モデル生成処理、
前記各説明変数の値が与えられると前記学習モデルを用いて前記予測対象の予測値を算出する予測処理、
前記予測対象の実績値の傾向が変化した時点である変化点を判定する変化点判定処理、
前記変化点を判定したときに、前記変化点以降の前記予測対象の実績値と予測値との差分を、前記時系列データ内における前記変化点より前の実績値に加算することにより時系列データを補正するデータ補正処理、および、
前記時系列データを補正した場合、補正後の時系列データを学習データとして用いて学習モデルを生成し直す処理
を実行させるための学習モデル生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習モデルを生成する学習モデル生成システム、学習モデル生成方法および学習モデル生成プログラムに関する。
【背景技術】
【０００２】
ある場所への来店者数等を予測する技術が種々提案されている（例えば、特許文献１，２を参照）。【０００３】
特許文献１には、来場パターンに基づいて、イベントへの来場者の見込み数を算出する方法が記載されている。特許文献１に記載された方法では、会期中のイベントの入場実績情報と、過去に開催された類似イベントの実績情報を元に、来場パターンを補正し、会期中のイベントの来場予測データを算出し直す。【０００４】
特許文献２に記載された予測システムは、経験データからベイジアンネットワークの確率テーブルを作成する。そして、特許文献２に記載された予測システムは、その確率テーブルと、外部情報入力部から受信した情報（来客数を予測する際にパラメータとする情報）に基づいて、来客数予測データを出力する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−２６５３１７号公報
【特許文献１】特開２００５−２２８０１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
予測対象の予測に用いる学習モデルを機械学習によって生成する一般的な技術がある。ここで、予測の際にパラメータとして用いるデータを表す変数を「説明変数」と呼び、予測対象を表す変数を「目的変数」と呼ぶ。【０００７】
学習モデルに各説明変数の値を適用することで得られる予測値と実績値とがほぼ同様の値となる状態が続いていたとしても、ある時点以降、実績値の傾向が変わる場合がある。例えば、ある時点以降、実績値がそれまでの実績値に比べ大きくなったり、ある時点以降、実績値がそれまでの実績値に比べ小さくなったりすることがある。すると、実績値の傾向が変わったことにより、予測値と実績値との差が大きくなる。【０００８】
以下、具体例を挙げて説明する。例えば、コンビニエンスストアの１日当たりの来店者数を予測するための学習モデルが生成されているとする。また、この学習モデルに各説明変数の値を適用することによって得られた１日毎の来店者数の予測値と、実績値（実際の来店者数）とが同様の値となる状況が続いていたとする。その後、コンビニエンスストアの付近にスタジアムが開業したことにより、スタジアムの開業日以降、来店者数の実績値が、スタジアムの開業日よりも前の実績値に比べ大きくなり、実績値の傾向が変わったとする。そのような場合、上記の学習モデルから得られる来店者数の予測値と、実績値との差が大きくなる。このことは、ある時点（本例では、スタジアムが開業日）以降、学習モデルの精度が低下することを意味する。【０００９】
このように、状況の急な変化に起因して、ある時点以降、予測値の精度が低下することがある。【００１０】
しかし、特許文献１，２に記載された技術は、状況の急な変化に伴う実績値の傾向の変化を考慮していない。従って、状況の急な変化に起因して実績値の傾向が変化した場合、特許文献１，２に記載された技術では、予測精度の低下を防止することができない。【００１１】
そこで、本発明は、予測対象の実績値の傾向が変わった場合における予測精度の低下を防止するという技術課題を解決することができる学習モデル生成システム、学習モデル生成方法および学習モデル生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明による学習モデル生成システムは、予測対象の予測に用いられる各説明変数の値と予測対象の実績値とを対応付けた時系列データを学習データとして用いて、予測対象の予測値を算出するための学習モデルを生成する学習モデル生成手段と、各説明変数の値が与えられると学習モデルを用いて予測対象の予測値を算出する予測手段と、予測対象の実績値の傾向が変化した時点である変化点を判定する変化点判定手段と、変化点が判定されたときに、変化点以降の予測対象の実績値と予測値との差分を、時系列データ内における変化点より前の実績値に加算することにより時系列データを補正するデータ補正手段とを備え、学習モデル生成手段が、時系列データが補正されると、補正後の時系列データを学習データとして用いて学習モデルを生成し直すことを特徴とする。【００１３】
また、本発明による学習モデル生成方法は、予測対象の予測に用いられる各説明変数の値と予測対象の実績値とを対応付けた時系列データを学習データとして用いて、予測対象の予測値を算出するための学習モデルを生成し、各説明変数の値が与えられると学習モデルを用いて予測対象の予測値を算出し、予測対象の実績値の傾向が変化した時点である変化点を判定し、変化点を判定したときに、変化点以降の予測対象の実績値と予測値との差分を、時系列データ内における変化点より前の実績値に加算することにより時系列データを補正し、時系列データを補正した場合、補正後の時系列データを学習データとして用いて学習モデルを生成し直すことを特徴とする。【００１４】
また、本発明による学習モデル生成プログラムは、コンピュータに、予測対象の予測に用いられる各説明変数の値と予測対象の実績値とを対応付けた時系列データを学習データとして用いて、予測対象の予測値を算出するための学習モデルを生成する学習モデル生成処理、各説明変数の値が与えられると学習モデルを用いて予測対象の予測値を算出する予測処理、予測対象の実績値の傾向が変化した時点である変化点を判定する変化点判定処理、変化点を判定したときに、変化点以降の予測対象の実績値と予測値との差分を、時系列データ内における変化点より前の実績値に加算することにより時系列データを補正するデータ補正処理、および、時系列データを補正した場合、補正後の時系列データを学習データとして用いて学習モデルを生成し直す処理を実行させることを特徴とする。
【発明の効果】
【００１５】
本発明の技術手段により、予測対象の実績値の傾向が変わった場合における予測精度の低下を防止することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の学習モデル生成システムの例を示すブロック図である。
【図２】データ記憶部に記憶される時系列データの例を示す模式図である。
【図３】実績値の傾向の変化を示すグラフである。
【図４】実績値の傾向の変化を示すグラフである。
【図５】実績値が変化点以後、それまでより大きな値になる場合において、変化点より前の実績値に差分を加算した結果を示す模式図である。
【図６】実績値が変化点以降、それまでより小さな値になる場合において、変化点より前の実績値に差分を加算した結果を示す模式図である。
【図７】学習モデル生成部が学習モデルを生成し、予測部が予測値を算出する処理経過を示すフローチャートである。
【図８】変化点を特定し、学習モデルを生成し直す処理経過の例を示すフローチャートである。
【図９】予測値を用いずに変化点を判定する例を示す説明図である。
【図１０】予測値を用いずに変化点を判定する例を示す説明図である。
【図１１】本発明の実施形態に係るコンピュータの構成例を示す概略ブロック図である。
【図１２】本発明の学習モデル生成システムの概要を示すブロック図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施形態を図面を参照して説明する。
【００１８】
以下の実施形態では、コンビニエンスストアの１日当たりの来店者数を予測対象とする場合を例にして説明するが、予測対象は本例に限定されない。
【００１９】
図１は、本発明の学習モデル生成システムの例を示すブロック図である。本発明の学習モデル生成システム１は、データ記憶部２と、学習モデル生成部３と、予測部４と、変化点判定部５と、データ補正部６とを備える。
【００２０】
データ記憶部２は、予測対象（コンビニエンスストアの１日当たりの来店者数。以下、単に、来店者数と記す。）の予測に用いられる各説明変数の値およびその予測対象の実績値とを対応付けた時系列データを記憶する記憶装置である。説明変数は、予測の際にパラメータとして用いるデータを表す変数である。ここでは、複数種類の説明変数を用いるものとして説明する。
【００２１】
図２は、データ記憶部２に記憶される時系列データの例を示す模式図である。図２に示す横軸は、時刻を示す。本実施形態では、「１日」を時刻の単位とする場合を例にして説明する。図２に示すように、時系列データでは、時刻毎（日毎）に、実績値と、各説明変数の値とが対応付けられている。実績値と各説明変数の値との組を時刻順にまとめたデータが、時系列データとしてデータ記憶部２に記憶される。
【００２２】
ある時刻（日付）に対応する各説明変数の値は、その時刻の予測対象の予測値を算出する際にパラメータとして用いられる。
【００２３】
図２に示す実績値は、各日に実際にコンビニエンスストアに来店した顧客の数である。また、図２に示す例では、説明変数として、「予測対象日の２日前に予報された気温の予報値」、「予測対象日の２日前に予報された天候の予報値」、「予測対象日の曜日」等を例示している。これらの説明変数は例示であり、説明変数は上記の例に限定されない。
【００２４】
新たに予測対象日の来店者数を予測するための各説明変数の値や、その予測対象日における来店者数の実績値が入力された場合、その各説明変数の値および実績値は対応付けられ、データ記憶部２が記憶する時系列データに追加される。なお、本実施形態では、毎日がそれぞれ予測対象日であるものとする。
【００２５】
学習モデル生成部３は、図２に例示する時系列データを学習データとして用いて、機械学習により、学習モデルを生成する。学習モデル生成部３は、時系列データのうち、予め定められた期間分のデータを学習データとして定めればよい。この期間を、学習データ用期間と記す。本例では、学習データ用期間が２年である場合を例にして説明するが、学習データ用期間は、２年に限定されない。
【００２６】
例えば、最初に学習モデルを生成する場合、２年分の時系列データを用意しておき、学習モデル生成部３は、その２年分の時系列データを学習データとして用いて、学習モデルを生成すればよい。
【００２７】
学習モデル生成部３が学習モデルを生成する方法は、特に限定されない。例えば、学習モデル生成部３は、学習データを用いて回帰分析によって学習モデルを生成してもよい。あるいは、学習モデル生成部３は、他の機械学習アルゴリズムによって学習モデルを生成してもよい。
【００２８】
学習モデルは、例えば、目的変数の値を算出するための予測式であってもよい。以下、説明を簡単にするために、学習モデルが、以下の式（１）で表される予測式である場合を例にして説明する。ただし、学習モデルの形式は、予測式の形式に限定されない。
【００２９】
ｙ＝ａ１ｘ１＋ａ２ｘ２＋・・・＋ａｎｘｎ＋ｂ      式（１）
【００３０】
ｙは、予測値を表す目的変数である。ｘ１〜ｘｎは、説明変数である。ａ１〜ａｎは、説明変数の係数である。ｂは定数項である。ａ１〜ａｎおよびｂの値は、学習データに基づいて、学習モデル生成部３によって決定される。
【００３１】
予測部４には、時刻毎（本例では日毎）に、例えば、学習モデル生成システム１の管理者（以下、単に管理者と記す。）から、予測対象日の来店者数の予測に用いる各説明変数の値が入力される。予測部４は、入力された各説明変数の値を学習モデルに適用することによって、予測対象日の来店者数の予測値ｙを算出する。本例のように、学習モデルが式（１）に示す予測式で表される場合、予測部４は、入力された説明変数の値に応じて、予測式内のｘ１〜ｘｎに値を代入することによって、予測値ｙを算出する。以下、説明変数の値に応じて、予測部４が予測式内のｘ１〜ｘｎに値を代入する動作について説明する。
【００３２】
説明変数の種類として、連続型変数とカテゴリ型変数がある。
【００３３】
連続型変数は値として数値をとる。例えば、図２に示す気温の予報値は、連続型変数である。
【００３４】
カテゴリ型変数は値として項目をとる。例えば、図２に示す天候の予報値や曜日はカテゴリ型変数である。
【００３５】
１つの連続型変数は、予測式内の説明変数ｘ１〜ｘｎのうちの１つに対応する。予測部４は、連続型変数に該当する説明変数の値（数値）を、予測式内の対応する説明変数に代入する。
【００３６】
また、１つのカテゴリ型変数の各値は、予測式内の説明変数ｘ１〜ｘｎのうちの１つに対応する。例えば、カテゴリ型変数である「曜日」の取り得る各値（「日曜日」、「月曜日」等の各項目）は、それぞれ、予測式内の説明変数ｘ１〜ｘｎのうちの１つに対応する。予測部４は、カテゴリ型変数の各値に対応する予測式内の各説明変数に、二値（本例では、０と１とする。）のうちいずれかの値を代入する。例えば、入力された「曜日」の値が「月曜日」である場合、予測部４は、月曜日に対応する予測式内の説明変数に１を代入し、月曜日以外の各曜日に対応する予測式内の各説明変数に０を代入する。
【００３７】
上記のように、予測部４は、説明変数の値に応じて、予測式内のｘ１〜ｘｎに値を代入することよって、来店者数の予測値ｙを算出する。
【００３８】
予測部４は、算出した来店者数の予測値を変化点判定部５に送る。
【００３９】
また、日毎に入力された各説明変数の値は、データ記憶部２に記憶されている時系列データに追加される。例えば、ある予測対象日の予測値の算出のために各説明変数の値が入力された場合、予測部４が、その各説明変数の値をデータ記憶部２に記憶させればよい。ここでは、予測部４が入力された各説明変数の値をデータ記憶部２に記憶させる場合を例示したが、入力された各説明変数の値をデータ記憶部２に記憶させる手段が別に設けられていてもよい。
【００４０】
予測対象の実績値の傾向が変化した時点を変化点と記す。変化点判定部５は、変化点を判定する。
【００４１】
変化点判定部５には、時刻毎（本例では日毎）に、例えば、管理者から、１日当たりの来店者数の実績値が入力される。
【００４２】
なお、日毎に入力された実績値は、実績値が得られた日を予測対象日として予測値を算出するために用いられた各説明変数の値に対応付けて、データ記憶部２に記憶されている時系列データに追加される。このように、入力された実績値を、各説明変数の値に対応付けて、データ記憶部２に記憶されている時系列データに追加する処理は、例えば、変化点判定部５が行ってもよい。あるいは、入力された実績値を時系列データに追加する処理を実行する手段が別に設けられていてもよい。
【００４３】
実績値の傾向の変化の態様として、実績値が変化点以後、それまでより大きな値になる態様と、実績値が変化点以後、それまでより小さな値になる態様がある。
【００４４】
実績値が変化点以後、それまでより大きな値になる場合における変化点の判定について説明する。変化点判定部５は、予測対象日毎に（すなわち、日毎に）、来店者数の予測値と実績値とを比較し、実績値が予測値よりも閾値以上大きい状態が連続して所定期間続いた場合に、実績値が予測値よりも閾値以上大きくなった最初の時点を変化点と判定する。この所定期間を、判定用期間と記す。判定用期間は、予め定められている。以下、判定用期間が３日間である場合を例にして説明するが、判定用期間は３日間に限定されず、例えば、１週間等であってもよい。また、閾値も予め定められている。
【００４５】
図３は、実績値の傾向の変化を示すグラフである。図３に示すグラフでは、実績値がある時点以後、それまでより大きな値になる場合を例示している。図３に示す横軸は時刻を表し、縦軸は来店者数を表している。また、図３において、実線は来店者の実績値の変化を示し、破線は、来店者の予測値の変化を示している。図３に示す例では、「７月４日」までは、来店者の実績値と予測値とが同様の値であるものとする。なお、グラフを簡単にするため、図３では、「７月４日」までは実績値と予測値とが一致しているものとして、グラフを図示している。
【００４６】
７月５日以降、実績値が予測値よりも閾値以上大きい状態が連続して３日間続いたとする（図３参照）。すると、変化点判定部５は、実績値が予測値よりも閾値以上大きくなった最初の時点である７月５日を変化点として判定する。従って、７月７日になってから、変化点判定部５は、７月５日が変化点であると判定する。
【００４７】
次に、実績値が変化点以後、それまでより小さな値になる場合における変化点の判定について説明する。変化点判定部５は、予測対象日毎に（すなわち、日毎に）、来店者数の予測値と実績値とを比較し、実績値が予測値よりも閾値以上小さい状態が連続して判定用期間続いた場合に、実績値が予測値よりも閾値以上小さくなった最初の時点を変化点と判定する。
【００４８】
図４は、実績値の傾向の変化を示すグラフである。図４に示すグラフでは、実績値がある時点以後、それまでより小さな値になる場合を例示している。図３に示すグラフと同様に、横軸は時刻を表し、縦軸は来店者数を表している。また、実線は来店者の実績値の変化を示し、破線は、来店者の予測値の変化を示している。図４に示す例でも、「７月４日」までは、来店者の実績値と予測値とが同様の値であるものとする。なお、グラフを簡単にするため、図４においても、「７月４日」までは実績値と予測値とが一致しているものとして、グラフを図示している。
【００４９】
７月５日以降、実績値が予測値よりも閾値以上小さい状態が連続して３日間続いたとする（図４参照）。すると、変化点判定部５は、実績値が予測値よりも閾値以上小さくなった最初の時点である７月５日を変化点として判定する。従って、図３に例示する場合と同様に、７月７日になってから、変化点判定部５は、７月５日が変化点であると判定する。
【００５０】
変化点判定部５は、判定した変化点の情報をデータ補正部６および学習モデル生成部３に送る。
【００５１】
データ補正部６は、変化点以降の予測対象の実績値と予測値との差分を算出する。例えば、データ補正部６は、変化点から、変化点を判定した時点までの期間（換言すれば、変化点を起点とする判定用期間）における各日について、実績値から予測値を減算することによって、両者の差分を求め、その差分の平均値を算出する。
【００５２】
実績値が変化点以後、それまでより大きな値になる場合（図３参照）、上記の差分はそれぞれ正の値となり、差分の平均値も正の値となる。実績値が変化点以後、それまでより小さな値になる場合（図４参照）、上記の差分はそれぞれ負の値となり、差分の平均値も負の値となる。
【００５３】
データ補正部６は、時系列データにおいて、変化点より前の実績値に、上記のように算出した差分の平均値（以下、単に、差分と記す。）を加算することによって、データ記憶部２に記憶されている時系列データを補正する。
【００５４】
図５は、実績値が変化点以後、それまでより大きな値になる場合において、変化点より前の実績値に差分を加算した結果を示す模式図である。図５では、差分の値をＤとしている。この場合では、前述のように、差分は正の値となる。すなわち、図５に示す例では、Ｄ＞０である。変化点は、図３を参照して説明したように、７月５日であるとする。データ補正部６は、変化点（７月５日）より前の実績値に、差分Ｄを加算する。この結果、図５に示すように、変化点よりも前の実績値の傾向と、変化点以降の実績値の傾向とは変わらなくなる。従って、上記のように差分Ｄを加算することによって補正した実績値を含む時系列データを学習データとして用いて、学習モデル生成部３が学習モデルを生成し直せば、変化点以降の来店者数の予測値を精度よく算出できる学習モデルが得られる。
【００５５】
図６は、実績値が変化点以降、それまでより小さな値になる場合において、変化点より前の実績値に差分を加算した結果を示す模式図である。図６においても、差分の値をＤとしている。この場合では、前述のように、差分は負の値となる。すなわち、図６に示す例では、Ｄ＜０である。変化点は、図４を参照して説明したように、７月５日であるとする。データ補正部６は、変化点（７月５日）より前の実績値に、差分Ｄを加算する。この結果、図６に示すように、変化点よりも前の実績値の傾向と、変化点以降の実績値の傾向とは変わらなくなる。従って、上記のように差分Ｄを加算することによって補正した実績値を含む時系列データを学習データとして用いて、学習モデル生成部３が学習モデルを生成し直せば、変化点以降の来店者数の予測値を精度よく算出できる学習モデルが得られる。
【００５６】
次に、データ補正部６が実績値に差分Ｄを加算する期間は、変化点（７月５日）より前の所定期間とする。この所定期間は、前述の判定用期間とは異なる。この所定期間を、判定用期間と区別するために、補正対象期間と記す。補正対象期間の長さは、補正対象期間に判定用期間（本例では３日）を加えた期間が学習データ用期間（本例では２年）となるように予め定める。従って、学習データ用期間から判定用期間を差し引いた期間の長さを補正対象期間の長さとして予め定めておけばよい。
【００５７】
データ補正部６は、データ記憶部２に記憶されている時系列データ内の実績値を補正するときに、変化点（７月５日）より前の（換言すれば、変化点の直前の時点である７月４日以前の）補正対象期間内の各時点の実績値に対して、差分Ｄを加算することによって、実績値を補正する。差分Ｄは、変化点を起点とする判定用期間内の各時点（各日）について、実績値から予測値を減算して得られた差分の平均値である。
【００５８】
なお、時系列データに含まれる各説明変数の値に関しては、データ補正部６は補正しない。
【００５９】
データ補正部６が上記のように時系列データ内の実績値を補正すると、学習モデル生成部３は、変化点より前の補正対象期間内の最も早い時点以降の時系列データを学習データとして用いて、学習モデルを生成し直す。より具体的には、学習モデル生成部３は、補正対象期間内の最も早い時点を起点とする学習データ用期間分の時系列データを学習データとして用いて、学習モデルを生成し直す。図５または図６に示す例では、学習モデル生成部３は、補正対象期間内の最も早い日から７月７日までの時系列データを学習データとして用いて、学習モデルを生成し直す。図５または図６に示すように、この学習データには、変化点を起点とする判定用期間のデータ（実績値および各説明変数の値を対応付けたデータ）も含まれる。変化点を起点とする判定用期間の実績値に関しては補正は行われていない。
【００６０】
なお、学習モデル生成部３は、変化点判定部５から送られた変化点に基づいて、変化点より前の補正対象期間内の最も早い時点を特定すればよい。
【００６１】
学習モデル生成部３、予測部４、変化点判定部５およびデータ補正部６は、例えば、学習モデル生成プログラムに従って動作するコンピュータのＣＰＵによって実現される。この場合、ＣＰＵは、例えば、そのコンピュータのプログラム記憶装置（図１において図示略）等のプログラム記録媒体から学習モデル生成プログラムを読み込み、その学習モデル生成プログラムに従って、学習モデル生成部３、予測部４、変化点判定部５およびデータ補正部６として動作する。また、学習モデル生成部３、予測部４、変化点判定部５およびデータ補正部６がそれぞれ別のハードウェアによって実現されていてもよい。
【００６２】
また、学習モデル生成システム１は、２つ以上の物理的に分離した装置が有線または無線で接続されている構成であってもよい。
【００６３】
次に、処理経過について説明する。図７は、学習モデル生成部３が学習モデルを生成し、予測部４が予測値を算出する処理経過を示すフローチャートである。
【００６４】
学習モデル生成部３は、実績値および各説明変数の値を対応付けた時系列データであって学習データ用期間分の時系列データを学習データとして用いて、学習モデルを生成する（ステップＳ１）。前述のように、学習データを用いて学習モデルを生成する方法は、特に限定されない。また、本例では、学習モデル生成部３は、学習モデルを予測式の形式で生成するものとする。学習モデル生成部３は、生成した学習モデルを予測部４に送る。
【００６５】
予測部４は、各説明変数の値が入力されると、その説明変数の値を学習モデル（予測式）に代入して予測値を算出する（ステップＳ２）。この動作については既に説明したので、ここでは説明を省略する。ステップＳ２において、予測部４は、算出した予測値を、変化点判定部５に送る。予測部４は、各日の説明変数の値が入力される毎に、予測値の算出（ステップＳ２）を繰り返す。
【００６６】
図８は、変化点を特定し、学習モデルを生成し直す処理経過の例を示すフローチャートである。
【００６７】
変化点判定部５は、日毎に、外部から入力される来店者数の実績値と、予測部４から送られる予測値とを比較し、実績値が予測値よりも閾値以上大きくなった日を検出した場合、その日を変化点の候補とする（ステップＳ１１）。
【００６８】
変化点判定部５は、ステップＳ１１で変化点の候補を検出した後、実績値が予測値よりも閾値以上大きい状態が連続して判定用期間続いた場合、変化点の候補を変化点として判定する（ステップＳ１２）。すなわち、ステップＳ１２で、変化点の候補が変化点として確定することになる。変化点判定部５は、変化点の情報をデータ補正部６および学習モデル生成部３に送る。
【００６９】
なお、ステップＳ１１で変化点の候補を検出した後、実績値が予測値よりも閾値以上大きい状態が連続して判定用期間続かなかった場合、変化点判定部５は、ステップＳ１１で検出した変化点の候補を、候補から解除する。そして、変化点判定部５は、再度、変化点の候補を検出するまで待機する。
【００７０】
ステップＳ１２の後、データ補正部６は、変化点を起点とする判定用期間における各日について、実績値から予測値を減算して差分を求め、その差分の平均値を算出する（ステップＳ１３）。この差分の平均値を差分Ｄと記す。
【００７１】
そして、データ補正部６は、変化点より前の補正対象期間内の各日の実績値に対して差分Ｄを加算することによって、データ記憶部２に記憶されている時系列データを補正する（ステップＳ１４）。
【００７２】
ステップＳ１４の後、学習モデル生成部３は、補正対象期間内の最も早い日を起点とする学習データ用期間分の時系列データを学習データとして用いて、学習モデルを生成し直す（ステップＳ１５）。ステップＳ１５で学習モデルを生成する方法は、ステップＳ１（図７参照）で学習モデルを生成する方法と同じである。
【００７３】
学習モデル生成部３は、ステップＳ１５で学習モデルを生成し直すと、その学習モデルを予測部４に送る。予測部４は、予測部４は、各日の説明変数の値が入力される毎に、予測値の算出（ステップＳ２）を繰り返す。このとき、ステップＳ１５で生成された学習モデルが送られると、予測部４は、以後、その学習モデルを用いて予測値を算出する。
【００７４】
図８に示すフローチャートでは、実績値が変化点以後、それまでより大きな値になる場合を例にして説明した。実績値が変化点以後、それまでより小さな値になってもよい。その場合、変化点判定部５は、ステップＳ１１において、実績値が予測値よりも閾値以上小さくなった日を検出した場合、その日を変化点の候補とすればよい。そして、変化点判定部５は、変化点の候補を検出した後、実績値が予測値よりも閾値以上小さい状態が連続して判定用期間続いた場合、変化点の候補を変化点として判定すればよい。
【００７５】
本発明によれば、変化点判定部５が変化点を判定した場合、データ補正部６が、変化点を起点とする判定用期間における実績値と予測値の差分の平均値を算出する。そして、データ補正部６が、変化点より前の補正対象期間内の各日の実績値に対してその差分の平均値を加算することによって、時系列データを補正する。図５や図６を参照して説明したように、補正後の時系列データでは、変化点よりも前の実績値の傾向と、変化点以降の実績値の傾向とは変わらなくなる。すなわち、実績値の傾向の変化は解消されている。より具体的には、変化点よりも前の実績値の傾向は、変化点以降の実績値の傾向に合っている。学習モデル生成部３は、このような時系列データを学習データとして用いて学習モデルを生成し直す。従って、予測部４は、その学習モデルを用いて、変化点以降の来店者数の予測値を精度よく算出することができる。このように、本発明では、予測対象の実績値の傾向が変わった場合における予測精度の低下を防止することができる。
【００７６】
次に、上記の実施形態の変形例について説明する。
変化点判定部５は、予測値を用いずに変化点を判定してもよい。この場合、予測部４は、予測値を変化点判定部５に送らなくてよい。以下の説明においても、実績値が変化点以後、それまでより大きな値になる場合、および、実績値が変化点以後、それまでより小さな値になる場合のそれぞれについて説明する。
【００７７】
まず、実績値が変化点以後、それまでより大きな値になる場合について、図９を参照して説明する。変化点判定部５は、新たな実績値が入力された場合、その新たな実績値の１つ前の実績値に対応する時点から過去一定時間分の実績値の平均値を算出する。例えば、新たに７月５日の実績値が入力されたとする。変化点判定部５は、その実績値の１つ前の実績値に対応する日（７月４日）から過去一定時間分の実績値の平均値を算出する。この実績値の平均値がＡであるとする（図９参照）。変化点判定部５は、新たに入力された７月５日の実績値が平均値Ａよりも閾値以上大きく、新たに入力された７月５日の実績値の後続の実績値が平均値Ａよりも閾値以上大きい状態が連続して判定用期間続いた場合に、平均値Ａよりも閾値以上大きな最初の実績値に対応する時点（本例では７月５日）を変化点とする。図９に示す例では、判定用期間が３日間であり、７月５日の実績値に続く、７月６日の実績値、および、７月７日の実績値がいずれも、平均値Ａより閾値以上大きいとする。すると、変化点判定部５は、７月５日を変化点として判定する。
【００７８】
すなわち、変化点判定部５は、新たに入力された実績値が、その新たな実績値の１つ前の実績値に対応する時点から過去一定時間分の実績値の平均値Ａよりも閾値以上大きいことを条件に、その新たに入力された実績値に対応する時点を変化点の候補とする。そして、後続の実績値が平均値Ａよりも閾値以上大きい状態が連続して判定用期間続いた場合に、変化点判定部５は、その変化点の候補を、変化点として判定する。また、後続の実績値が平均値Ａよりも閾値以上大きい状態が連続して判定用期間続かなかった場合には、変化点判定部５は、検出した変化点の候補を、候補から解除する。そして、変化点判定部５は、再度、変化点の候補を検出するまで待機する。
【００７９】
次に、実績値が変化点以後、それまでより小さな値になる場合について、図１０を参照して説明する。図９を参照して説明した場合と同様に、変化点判定部５は、新たな実績値が入力された場合、その新たな実績値の１つ前の実績値に対応する時点から過去一定時間分の実績値の平均値を算出する。例えば、新たに７月５日の実績値が入力されたとする。変化点判定部５は、その実績値の１つ前の実績値に対応する日（７月４日）から過去一定時間分の実績値の平均値を算出する。この実績値の平均値がＡであるとする（図１０参照）。変化点判定部５は、新たに入力された７月５日の実績値が平均値Ａよりも閾値以上小さく、新たに入力された７月５日の実績値の後続の実績値が平均値Ａよりも閾値以上小さい状態が連続して判定用期間続いた場合に、平均値Ａよりも閾値以上小さな最初の実績値に対応する時点（本例では７月５日）を変化点とする。図１０に示す例では、判定用期間が３日間であり、７月５日の実績値に続く、７月６日の実績値、および、７月７日の実績値がいずれも、平均値Ａより閾値以上小さいとする。すると、変化点判定部５は、７月５日を変化点として判定する。
【００８０】
すなわち、変化点判定部５は、新たに入力された実績値が、その新たな実績値の１つ前の実績値に対応する時点から過去一定時間分の実績値の平均値Ａよりも閾値以上小さいことを条件に、その新たに入力された実績値に対応する時点を変化点の候補とする。そして、後続の実績値が平均値Ａよりも閾値以上小さい状態が連続して判定用期間続いた場合に、変化点判定部５は、その変化点の候補を、変化点として判定する。また、後続の実績値が平均値Ａよりも閾値以上小さい状態が連続して判定用期間続かなかった場合には、変化点判定部５は、検出した変化点の候補を、候補から解除する。そして、変化点判定部５は、再度、変化点の候補を検出するまで待機する。
【００８１】
本変形例においても、上記の実施形態と同様に、予測対象の実績値の傾向が変わった場合における予測精度の低下を防止することができる。また、本変形例では、変化点判定部５が予測値を用いないで変化点を判定することができるので、予測部４が変化点判定部５に予測値を送る必要がない。
【００８２】
上記の実施形態やその変形例では、コンビニエンスストアの１日当たりの来店者数を予測対象とする場合を例にして説明したが、予測対象は、例えば、映画館、テーマパーク等の種々の施設における入場者数等であってもよい。
【００８３】
また、予測対象は、来店者数や入場者数等の人数に限られず、売上個数等の他の事項であってもよい。
【００８４】
上記の実施形態やその変形例では、「１日」を時刻の単位とする場合を例にして説明したが、時刻の単位は「１日」以外であってもよい。
【００８５】
図１１は、本発明の実施形態に係るコンピュータの構成例を示す概略ブロック図である。コンピュータ１０００は、ＣＰＵ１００１と、主記憶装置１００２と、補助記憶装置１００３と、インタフェース１００４と、入力デバイス１００６とを備える。入力デバイス１００６は、実績値や各説明変数の値を入力するための入力インタフェースである。
【００８６】
本発明の学習モデル生成システム１は、コンピュータ１０００に実装される。学習モデル生成システム１の動作は、プログラムの形式で補助記憶装置１００３に記憶されている。ＣＰＵ１００１は、プログラムを補助記憶装置１００３から読み出して主記憶装置１００２に展開し、そのプログラムに従って上記の処理を実行する。
【００８７】
補助記憶装置１００３は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例として、インタフェース１００４を介して接続される磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ１０００に配信される場合、配信を受けたコンピュータ１０００がそのプログラムを主記憶装置１００２に展開し、上記の処理を実行してもよい。
【００８８】
また、プログラムは、前述の処理の一部を実現するためのものであってもよい。さらに、プログラムは、補助記憶装置１００３に既に記憶されている他のプログラムとの組み合わせで前述の処理を実現する差分プログラムであってもよい。
【００８９】
次に、本発明の概要について説明する。図１２は、本発明の学習モデル生成システムの概要を示すブロック図である。本発明の学習モデル生成システムは、学習モデル生成手段７１と、予測手段７２と、変化点判定手段７３と、データ補正手段７４とを備える。
【００９０】
学習モデル生成手段７１（例えば、学習モデル生成部３）は、予測対象の予測に用いられる各説明変数の値と予測対象の実績値とを対応付けた時系列データを学習データとして用いて、予測対象の予測値を算出するための学習モデルを生成する。
【００９１】
予測手段７２（例えば、予測部４）は、各説明変数の値が与えられると学習モデルを用いて予測対象の予測値を算出する。
【００９２】
変化点判定手段７３（例えば、変化点判定部５）は、予測対象の実績値の傾向が変化した時点である変化点を判定する。
【００９３】
データ補正手段７４（例えば、データ補正部６）は、変化点が判定されたときに、変化点以降の予測対象の実績値と予測値との差分を、時系列データ内における変化点より前の実績値に加算することにより時系列データを補正する。
【００９４】
学習モデル生成手段７１は、時系列データが補正されると、補正後の時系列データを学習データとして用いて学習モデルを生成し直す。
【００９５】
そのような構成により、予測対象の実績値の傾向が変わった場合における予測精度の低下を防止することができる。
【００９６】
また、変化点判定手段７３が、実績値が予測値よりも閾値以上大きい状態が連続して所定期間（例えば、判定用期間）続いた場合、または、実績値が予測値よりも閾値以上小さい状態が連続して所定期間続いた場合に、実績値が予測値よりも閾値以上大きくなった最初の時点または実績値が予測値よりも閾値以上小さくなった最初の時点を変化点と判定してもよい。
【００９７】
また、変化点判定手段７３が、新たな実績値が与えられた場合、当該新たな実績値の1つ前の実績値に対応する時点から過去一定時間分の実績値の平均値を算出し、新たな実績値が平均値よりも閾値以上大きく、新たな実績値の後続の実績値が平均値よりも閾値以上大きい状態が連続して所定期間（例えば、判定用期間）続いた場合、または、新たな実績値が平均値よりも閾値以上小さく、新たな実績値の後続の実績値が平均値よりも閾値以上小さい状態が連続して所定期間続いた場合に、新たな実績値に対応する時点を変化点と判定してもよい。
【００９８】
また、データ補正手段７４が、変化点から、当該変化点を判定した時点までの期間における実測値と予測値の差分の平均値を算出し、当該差分の平均値を時系列データ内における変化点より前の実績値に加算してもよい。
【００９９】
また、データ補正手段７４が、変化点から、当該変化点を判定した時点までの期間における実測値と予測値の差分の平均値を算出し、当該差分の平均値を時系列データ内における変化点より前の第２の所定期間（例えば、補正対象期間）分の各実績値に加算し、学習モデル生成手段７１が、時系列データのうち、第２の所定期間内の最も早い時点以降のデータを用いて学習モデルを生成し直してもよい。
【産業上の利用の可能性】
【０１００】
本発明は、学習モデルを生成する学習モデル生成システムに好適に適用される。
【符号の説明】
【０１０１】
１  学習モデル生成システム
２  データ記憶部
３  学習モデル生成部
４  予測部
５  変化点判定部
６  データ補正部
【図１】
2016151637.tif 000003
【図２】
2016151637.tif 000004
【図３】
2016151637.tif 000005
【図４】
2016151637.tif 000006
【図５】
2016151637.tif 000007
【図６】
2016151637.tif 000008
【図７】
2016151637.tif 000009
【図８】
2016151637.tif 000010
【図９】
2016151637.tif 000011
【図１０】
2016151637.tif 000012
【図１１】
2016151637.tif 000013
【図１２】
2016151637.tif 000014
【国際調査報告】
2016151637.tif 000015
2016151637.tif 000016