(57)【要約】【課題】機械学習を用いて予測対象値の予測を行う際に用いられる素性に、過去データが有する複数の関連項目の組み合わせに基づく新素性項目を自動追加する。【解決手段】素性生成部２６は、過去データ群と素性定義情報２２に基づいて、過去データ群の素性群を生成する。予測部２８は、過去データ群の一部である学習データ群の素性と売上実績値に基づいて予測モデルを構築し、予測モデルと過去データ群の一部である検証データ群の素性に基づいて各検証データに対する売上予測値を予測する。誤差算出部３９は、各検証データについての売上予測値と売上実績値の誤差を算出する。素性組合せ誤差算出部３４は、素性組合せ定義部３２により定義された素性組合せ毎に、当該素性組合せに該当する複数の検証データの平均誤差を算出する。新素性項目追加部３６は、最大平均誤差を有する特定素性組合せに基づいて新素性項目を生成し、素性定義情報２２に追加する。【選択図】図１
2018190044.tif 000002
【特許請求の範囲】
【請求項１】
予測の対象となる対象項目及び前記対象項目に関連する関連項目群、に対する過去の実績値を含む過去データ群の一部である学習データ群と、前記関連項目群のうち予測に用いる項目の候補である素性項目群が定義された素性定義情報とに基づいて、前記過去データ群の一部であり検証の対象となる各検証データの対象項目に対する各予測値を予測する予測部と、
前記各検証データそれぞれについて、前記予測部が予測した各予測値と、前記対象項目に対する実績値との誤差を算出する誤差算出部と、
前記素性定義情報に含まれる素性項目群から選択された複数の素性項目と、当該複数の素性項目に対する値からなる複数の素性組合せそれぞれについて、前記素性組合せに該当する複数の検証データに関する複数の前記誤差の代表値を算出する素性組合せ誤差算出部と、
前記複数の素性組合せの中から、各素性組合せに対応する前記誤差の代表値に基づいて特定された、特定素性組合せにより定義される新素性項目を前記素性定義情報に追加する新素性項目追加部と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記新素性項目追加部は、前記新素性項目を特定した後、前記新素性項目が仮追加された仮素性定義情報に基づいて算出された前記検証データ群に関する誤差の平均値が、前記新素性項目が仮追加される前の前記素性定義情報に基づいて算出された前記検証データ群に関する誤差の平均値よりも小さい場合に、前記新素性項目を前記素性定義情報に追加する、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記素性項目群に含まれる複数の素性項目は階層関係を有しており、
前記素性組合せ誤差算出部は、一方の素性項目と、前記階層関係において当該一方の素性項目が属する階層に隣接する層に属する他方の素性項目とを組み合わせて前記素性組合せを定義する、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記過去データ群は、時系列に並ぶ複数の過去データから構成され、
前記素性組合せには、前記素性項目群から選択された素性項目に対する注目過去データに関する値と、前記素性項目群から選択された素性項目に対する前記注目過去データ以外の過去データに関する値とが含まれる、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記予測部は、前記素性項目群に含まれる各素性項目について、各素性項目に対する値が前記対象項目の値に対して与える影響の大きさを示す寄与度を算出し、
前記素性組合せ誤差算出部は、前記素性組合せを定義するにあたり、寄与度が閾値以下である素性項目を選択しない、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記新素性項目追加部は、各素性組合せに対応する前記誤差の代表値と、各素性組合せに含まれる複数の素性項目の寄与度とに基づいて、前記特定素性組合せを特定する、
ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
コンピュータを、
予測の対象となる対象項目及び前記対象項目に関連する関連項目群、に対する過去の実績値を含む過去データ群の一部である学習データ群と、前記過去データ群の一部である検証データ群の前記関連項目群に対する各値と、前記関連項目群のうち予測に用いる項目の候補である素性項目群が定義された素性定義情報とに基づいて、前記検証データ群に含まれる各検証データの前記過去データ群の一部であり検証の対象となる各検証データの対象項目に対する各予測値を予測する予測部と、
前記各検証データそれぞれについて、前記予測部が予測した各予測値と、前記対象項目に対する実績値との誤差を算出する誤差算出部と、
前記素性定義情報に含まれる素性項目群から選択された複数の素性項目と、当該複数の素性項目に対する値からなる複数の素性組合せそれぞれについて、前記素性組合せに該当する複数の検証データに関する複数の前記誤差の代表値を算出する素性組合せ誤差算出部と、
前記複数の素性組合せの中から、各素性組合せに対応する前記誤差の代表値に基づいて特定された、特定素性組合せにより定義される新素性項目を前記素性定義情報に追加する新素性項目追加部と、
として機能させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び情報処理プログラムに関する。
【背景技術】
【０００２】
従来、機械学習を用いて予測対象値を予測することが行われている。機械学習を用いた予測処理の一例として、対象項目（目的変数）、及び、当該対象項目に関連する複数の関連項目（説明変数）に対する過去の実績値である過去データに基づいて学習処理（いわゆる教師あり学習）が行われて予測モデルが構築され、当該予測モデルと、予測対象値に関連する関連項目の値とに基づいて予測対象値を予測する処理が知られている。
【０００３】
過去データは多数の関連項目を有している場合があり、その中には、対象項目の値にあまり影響しない項目が含まれている場合もある。したがって、予測モデルの予測精度を向上させるべく、過去データが有する複数の関連項目から選択された項目（素性項目）に対する値を用いて、予測モデルが構築される場合がある。なお、この複数の素性項目とそれらに対する値からなる情報は素性と呼ばれる。
【０００４】
従来、過去データが有する複数の関連項目から素性項目を自動的に選択する技術が提案されている。例えば、特許文献１には、より有効性の高い予測モデルを構築するため、サポートベクタマシンの重みに基づいて、複数の属性（関連項目）の中から適切な属性（素性項目）を抽出して、予測モデルを構築するための素性関数を生成することが記載されている。また、特許文献２にも、複数のデータ項目（関連項目）の中から予測精度が最も高くなるデータ項目の組み合わせを抽出する処理が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−０９２６８１号公報
【特許文献２】特開２０１５−０７２６４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述のように、過去データが有する複数の関連項目から適切な素性項目を選択することで、より精度の高い予測モデルを構築することができる。ここで、複数の関連項目の組み合わせに基づいて定義される新素性項目を用いることで、より精度の高い予測モデルが構築され得る。例えば、ある店舗の売上予測を行う場合などであって、過去データに含まれる関連項目として「月（何月か）」及び「週（その月の第何週か）」を有する場合、「１２月の第４週目であるか否か」という新素性項目を用いることで、より精度の高い予測モデルが構築できる場合がある。もちろん、新素性項目としては、過去データに含まれる複数の関連項目のむやみな組み合わせに基づくものではなく、予測モデルの予測精度が向上するような適切な組み合わせに基づいて生成されるのが肝要となる。
【０００７】
本発明の目的は、機械学習を用いて予測対象値の予測を行う際に用いられる素性に、過去データが有する複数の関連項目の組み合わせに基づく新素性項目を自動追加することにある。
【課題を解決するための手段】
【０００８】
請求項１に係る発明は、予測の対象となる対象項目及び前記対象項目に関連する関連項目群、に対する過去の実績値を含む過去データ群の一部である学習データ群と、前記関連項目群のうち予測に用いる項目の候補である素性項目群が定義された素性定義情報とに基づいて、前記過去データ群の一部であり検証の対象となる各検証データの対象項目に対する各予測値を予測する予測部と、前記各検証データそれぞれについて、前記予測部が予測した各予測値と、前記対象項目に対する実績値との誤差を算出する誤差算出部と、前記素性定義情報に含まれる素性項目群から選択された複数の素性項目と、当該複数の素性項目に対する値からなる複数の素性組合せそれぞれについて、前記素性組合せに該当する複数の検証データに関する複数の前記誤差の代表値を算出する素性組合せ誤差算出部と、前記複数の素性組合せの中から、各素性組合せに対応する前記誤差の代表値に基づいて特定された、特定素性組合せにより定義される新素性項目を前記素性定義情報に追加する新素性項目追加部と、を備えることを特徴とする情報処理装置である。
【０００９】
請求項２に係る発明は、前記新素性項目追加部は、前記新素性項目を特定した後、前記新素性項目が仮追加された仮素性定義情報に基づいて算出された前記検証データ群に関する誤差の平均値が、前記新素性項目が仮追加される前の前記素性定義情報に基づいて算出された前記検証データ群に関する誤差の平均値よりも小さい場合に、前記新素性項目を前記素性定義情報に追加する、ことを特徴とする請求項１に記載の情報処理装置である。
【００１０】
請求項３に係る発明は、前記素性項目群に含まれる複数の素性項目は階層関係を有しており、前記素性組合せ誤差算出部は、一方の素性項目と、前記階層関係において当該一方の素性項目が属する階層に隣接する層に属する他方の素性項目とを組み合わせて前記素性組合せを定義する、ことを特徴とする請求項１に記載の情報処理装置である。
【００１１】
請求項４に係る発明は、前記過去データ群は、時系列に並ぶ複数の過去データから構成され、前記素性組合せには、前記素性項目群から選択された素性項目に対する注目過去データに関する値と、前記素性項目群から選択された素性項目に対する前記注目過去データ以外の過去データに関する値とが含まれる、ことを特徴とする請求項１に記載の情報処理装置である。
【００１２】
請求項５に係る発明は、前記予測部は、前記素性項目群に含まれる各素性項目について、各素性項目に対する値が前記対象項目の値に対して与える影響の大きさを示す寄与度を算出し、前記素性組合せ誤差算出部は、前記素性組合せを定義するにあたり、寄与度が閾値以下である素性項目を選択しない、ことを特徴とする請求項１に記載の情報処理装置である。
【００１３】
請求項６に係る発明は、前記新素性項目追加部は、各素性組合せに対応する前記誤差の代表値と、各素性組合せに含まれる複数の素性項目の寄与度とに基づいて、前記特定素性組合せを特定する、ことを特徴とする請求項５に記載の情報処理装置である。
【００１４】
請求項８に係る発明は、コンピュータを、予測の対象となる対象項目及び前記対象項目に関連する関連項目群、に対する過去の実績値を含む過去データ群の一部である学習データ群と、前記関連項目群のうち予測に用いる項目の候補である素性項目群が定義された素性定義情報とに基づいて、前記過去データ群の一部であり検証の対象となる各検証データの対象項目に対する各予測値を予測する予測部と、前記各検証データそれぞれについて、前記予測部が予測した各予測値と、前記対象項目に対する実績値との誤差を算出する誤差算出部と、前記素性定義情報に含まれる素性項目群から選択された複数の素性項目と、当該複数の素性項目に対する値からなる複数の素性組合せそれぞれについて、前記素性組合せに該当する複数の検証データに関する複数の前記誤差の代表値を算出する素性組合せ誤差算出部と、前記複数の素性組合せの中から、各素性組合せに対応する前記誤差の代表値に基づいて特定された、特定素性組合せにより定義される新素性項目を前記素性定義情報に追加する新素性項目追加部と、として機能させることを特徴とする情報処理プログラムである。
【発明の効果】
【００１５】
請求項１又は７に係る発明によれば、機械学習を用いて予測対象値の予測を行う際に用いられる素性に、過去データが有する複数の関連項目の組み合わせに基づく新素性項目を自動追加することができる。
【００１６】
請求項２に係る発明によれば、新素性項目を含む素性を用いたときの予測精度が向上することを確認した上で、当該新素性項目を素性に追加することができる。
【００１７】
請求項３又は５に係る発明によれば、全ての素性項目間の組合せを定義する場合に比して、定義される素性組合せの数を低減させることができる。
【００１８】
請求項４に係る発明によれば、素性組合せに注目過去データ以外の過去データに関する値を含めない場合に比して、より予測精度を向上させ得る新素性項目を追加することができる。
【００１９】
請求項６に係る発明によれば、寄与度を考慮しない場合に比して、より予測精度を向上させ得る新素性項目を追加することができる。
【図面の簡単な説明】
【００２０】
【図１】本実施形態に係る情報処理装置の構成概略図である。
【図２】過去データＤＢの内容例を示す図である。
【図３】初期素性定義情報の内容例を示す図である。
【図４】素性の内容例を示す図である。
【図５】各検証データに対する実績値と予測値の例を示す図である。
【図６】素性組合せの例を示す図である。
【図７】更新素性定義情報の内容例を示す図である。
【図８】第１実施形態に係る情報処理装置の処理の流れを示すフローチャートである。
【図９】新素性項目追加処理の繰り返し処理に対する誤差の平均値を示すグラフである。
【図１０】各素性項目の階層関係の例を示す図である。
【図１１】各素性項目に対する寄与度の例を示す図である。
【発明を実施するための形態】
【００２１】
以下、本発明の実施形態について説明する。
【００２２】
＜第１実施形態＞
図１には、本実施形態に係る情報処理装置１０の構成概略図が示されている。情報処理装置１０としては、一般のコンピュータ、例えばサーバやパーソナルコンピュータであってよい。図１に示すように、情報処理装置１０は、記憶部１２及び制御部１４を含んで構成される。また、図１には示されていないが、情報処理装置１０は、例えばネットワークアダプタなどから構成され、インターネットなどの通信回線を介して他の装置と通信を行うための通信部、例えば液晶パネルなどから構成され、情報処理装置１０の処理内容（例えば後述の予測値など）を表示するための表示部、例えばマウス、キーボード、あるいはタッチパネルなどから構成され、利用者（ユーザ）からの指示を入力するための入力部などを含んでいてもよい。
【００２３】
情報処理装置１０は、過去の実績データに基づいて、未来を予測する処理を行う装置である。本明細書においては、情報処理装置１０がある店舗（予測対象店舗）の予測対象日における売上を予測する処理を例にして説明を行うが、情報処理装置１０が予測するものはこれに限られない。
【００２４】
記憶部１２は、例えばハードディスク、ＲＯＭ（Read Only Memory）あるいはＲＡＭ（Random Access Memory）などから構成される。記憶部１２には、情報処理装置１０の各部を動作させるための情報処理プログラムが記憶される。あるいは、記憶部１２には、各種制御データあるいは各種処理データなどが記憶される。さらに、図１に示すように、記憶部１２には過去データＤＢ２０が定義され、また、素性定義情報２２が記憶される。
【００２５】
過去データＤＢ２０には、予測対象である対象項目に対する過去の実績値、及び、対象項目に関連する関連項目群に対する過去の実績値が蓄積されている。本実施形態では、対象項目は予測対象店舗の売上であり、過去データＤＢ２０には、予測対象店舗の過去の売上の実績値が格納される。また、本実施形態では、関連項目群は売上に関連する各種項目（詳細後述）であり、過去データＤＢ２０には、関連項目群に対する各実績値が格納される。過去データＤＢ２０には、これらのデータがユーザによって格納されてもよいし、自動的に収集されて格納されるようになっていてもよい。
【００２６】
図２に、過去データＤＢ２０の内容例が示されている。図２においては、過去データＤＢ２０がテーブル形式で示されているが、過去データＤＢ２０のデータ形式としてはこれに限られない。本実施形態では、日毎に過去データＤＢ２０にデータ（レコード）が蓄積されるようになっている。図２に示されるように、過去データＤＢ２０には、予測対象店舗の売上の実績値が格納されており、また、売上に関連する関連項目として、年、月、日、天気、最高気温、最低気温などに対する実績値が格納されている。もちろん、関連項目としては、売上に対する影響の大小に関わらず、様々な項目を有していてもよい。例えば、曜日、休日か平日か、湿度、風速、店前交通量、平均株価、為替レートなど、種々の項目を有し得る。
【００２７】
本実施形態においては、過去データＤＢ２０における１つのレコードが、ある１日の売上の実績値と、関連項目群に対するその日の実績値が関連付けられたデータとなっている。本明細書では、過去データＤＢ２０における１つのレコードを「過去データ」と記載する。つまり、過去データＤＢ２０には、過去データが逐次蓄積されることで、過去データ群が格納されることになる。本実施形態では、過去データＤＢ２０には、予測対象店舗に関する２０１４年から２０１６年までの３年間分の過去データが蓄積されているものとする。
【００２８】
なお、本実施形態における過去データＤＢ２０においては、各過去データに対して、当該過去データを一意に識別可能な過去データＩＤが付されている。
【００２９】
詳細は後述するが、情報処理装置１０においては、過去データＤＢ２０に格納された過去データ群に基づいて、予測対象店舗の予測対象日における予測売上値を予測する。具体的には、各過去データの各関連項目に対する実績値と売上の実績値との関係を学習することで、各関連項目の値から売上値を予測するための予測モデルが構築され、当該予測モデルと、予測対象日の各関連項目に対する値とに基づいて、予測売上値が予測される。
【００３０】
素性定義情報２２は、予測モデルの構築に用いる項目の候補である複数の素性項目からなる素性項目群を定義する情報である。素性項目は、過去データに含まれる関連項目群に基づく項目である。上述のように、過去データに含まれる関連項目群には、対象項目である売上に対して関連性の高い項目もあれば、関連性の低い項目も含まれ得る。一般に、対象項目と関連性の低い関連項目の値までをも考慮して予測モデルを構築した場合、当該予測モデルの予測精度はあまり良くならない。逆に、適切な関連項目の値に基づいて予測モデルを構築すれば、当該予測モデルの予測精度が向上され得る。つまり、素性定義情報２２において適切な素性項目群が定義されることによって、関連項目群の中から適切な項目を用いて予測モデルを構築することができるから、予測モデルの予測精度を向上させることができる。このように、素性定義情報２２において定義される素性項目群は、予測モデルの予測精度、ひいては情報処理装置１０における予測処理の予測精度に大きく関わる要素となる。なお、場合によっては、過去データに含まれる関連項目の全てが素性項目として定義されてもよい。
【００３１】
詳しくは後述するが、本実施形態では、情報処理装置１０の処理によって、素性定義情報２２に新たな素性項目（新素性項目）が自動的に追加される。本明細書では、素性定義情報２２のうち、情報処理装置１０によって新素性項目が全く追加されていないものを「初期素性定義情報２２ａ」と、情報処理装置１０の処理によって新素性項目の追加処理後のものを「更新素性定義情報２２ｂ」と区別して記載する。
【００３２】
図３に、本実施形態における初期素性定義情報２２ａの内容例が示されている。初期素性定義情報２２ａは、ユーザによって生成される。図３に示されるように、初期素性定義情報２２ａには、素性項目として、年、月、日、週、曜日、休日か平日かが含まれている。これらの各素性項目は、過去データ群が有する関連項目群から選択された項目である。また、初期素性定義情報２２ａには、各素性項目に対して取り得る値が定義されている。上記の素性項目については、元々過去データにおいて取り得る値がそれほど多くないため、過去データにおいて取り得る値が、そのまま素性項目が取り得る値として定義されている。
【００３３】
さらに、初期素性定義情報２２ａには、最高気温は１５度以上か、最低気温は１０度未満か、あるいは雨が降ったか否か、といった素性項目も含まれる。過去データ群においては、最高気温及び最低気温に対する実績値は連続的な（すなわち様々な）値を取り得るし、天気に対する実績値も晴、雨、曇り、晴のち雨などといった様々な値を取り得る。予測モデルの構築の際に、このような様々な値を取り得る生データを直接用いるのは適切ではない。すなわち、処理量が膨大になり得る反面、予測精度向上の効果があまり期待できない。そのため、初期素性定義情報２２ａにおいては、例えば、過去データが有する最高気温という関連項目に基づいて、最高気温が１５度以上かという素性項目が定義され、当該素性項目が取り得る値としては１（１５度以上）及び０（１５度未満）という２つの値が定義されている。最高気温の閾値（この例では１５度）はユーザによって決定されてよい。このように、様々な値を取り得る関連項目については、素性項目を適宜工夫することで、各素性項目が取り得る値の数を低減することができる。これにより、予測モデル構築の処理が簡略化される。
【００３４】
なお、素性定義情報２２において定義された各素性項目には、素性項目を一意に識別するための素性項目ＩＤが付されている。
【００３５】
制御部１４は、例えばＣＰＵ（Central Processing Unit）あるいはマイクロコントローラなどから構成される。制御部１４は、記憶部１２に記憶された情報処理プログラムに基づいて、情報処理装置１０の各部を制御するものである。また、図１に示されるように、制御部１４は、過去データ分類部２４、素性生成部２６、予測部２８、誤差算出部３０、素性組合せ定義部３２、素性組合せ誤差算出部３４、及び新素性項目追加部３６としても機能する。制御部１４がこれらの機能を発揮することにより、素性定義情報２２に、予測モデルの予測精度を向上させ得る新素性項目が追加される。以下、これらの各機能の詳細について説明する。
【００３６】
過去データ分類部２４は、過去データＤＢ２０に格納されている過去データ群を学習データ群と検証データ群とに分類する。学習データ群は、予測モデルの構築に用いるものであり、過去データ群の一部である複数の過去データからなるものである。一方、検証データ群は、構築された予測モデルの予測精度を検証するために用いるものであり、過去データ群の一部である複数の過去データからなるものである。上述の通り、本実施形態では、過去データＤＢ２０には、２０１４年から２０１６年までの３年分の過去データ群が格納されているため、２０１４年と２０１５年の２年分の複数の過去データを学習データ群とし、２０１６年分の複数の過去データを検証データ群とする。もちろん、学習データ群と検証データ群の分類方法は、これには限られない。
【００３７】
素性生成部２６は、過去データＤＢ２０に格納された過去データと、素性定義情報２２に基づいて、複数の素性項目と、各素性項目に対する複数の値からなる素性を生成する。素性生成部２６は、過去データ群に含まれる各過去データに対応する複数の素性を生成する。これにより素性群が生成される。なお、素性に含まれる素性項目は、素性定義情報２２に含まれる素性項目の全てである必要はなく、素性定義情報２２において定義された複数の素性項目の一部の素性項目であってもよい。
【００３８】
図４に、素性生成部２６により生成された素性群の例が示されている。図４には、図２に示された各過去データと、図３に示される素性定義情報２２とに基づいて生成された素性群の例が示されている。
【００３９】
例えば、図４に示された素性Ｉ１は、過去データＩＤ「２０１４０４０１」が示す過去データ（図２参照）に対応するものである。当該過去データが有する関連項目に対する各値に基づいて、各素性項目に対する値が決定されている。素性Ｉ１においては、素性項目「年」に対して値「２０１４」が決定され、以後同様に他の各素性項目に対する値が決定されている。なお、素性項目「曜日」に対して値「３」が決定されているが、これは、当該過去データの関連項目「曜日」に対して「火曜日」の値を有しているためである。また、当該過去データの関連項目「最高気温」に対する値が「１７．４度」であるから、素性項目「最高気温が１５度以上か」に対する値には、１５度以上を示す「１」が決定されている。
【００４０】
このようにして、素性生成部２６は、学習データ群及び検証データ群を含む全ての過去データ群について素性を生成する。なお、各素性には、素性と過去データとの関連を示すように過去データＩＤが付されている。生成された素性は、予測部２８及び素性組合せ誤差算出部３４に渡される。
【００４１】
予測部２８は、まず、素性生成部２６が学習データ群に基づいて生成した各素性と、各学習データに含まれる対象項目の実績値（本実施形態では売上実績値）とに基づいて、予測モデルを構築する。
【００４２】
予測モデルの構築には、種々の方法を用いることができる。例えば、各素性と実績値に基づいて生成される複数の弱識別器を組み合わせて予測モデルを構築するアンサンブル学習法であって、１つの弱識別器の学習結果を参考にして次の弱識別器を学習しつつ、予測値と実績値の誤差を定義した損失関数の勾配を考慮して予測モデルを構築する勾配ブースティング法を用いることができる。あるいは、学習データ群からサンプリングされた学習データに基づいて、非終端ノードにおいて識別（分類）に用いる素性項目をランダムに選択することで、相関の低い複数の決定木を作成し、当該複数の決定木を用いて予測モデルを構築するランダムフォレスト法を用いることができる。
【００４３】
次に、予測部２８は、構築した予測モデルと、素性生成部２６が検証データ群に基づいて生成した各素性とに基づいて、各検証データの対象項目の予測値（本実施形態では売上予測値）を予測する。ここで、各検証データは、売上実績値を既に有しているのであるが、予測部２８は、素性定義情報２２に新素性項目を追加するために、予測部２８は、既知である各検証データの売上予測値の予測を行う。
【００４４】
予測部２８により予測処理が行われると、各検証データに対応する複数の売上予測値が得られる。図５に、各検証データが有する売上実績値に対応する売上予測値の例が示されている。予測部２８により予測された当該複数の売上予測値は、対応する過去データを示す過去ＩＤと、当該過去データの売上実績値と関連付けられて誤差算出部３０に渡される。
【００４５】
誤差算出部３０は、検証データが有する対象項目の実績値（本実施形態では売上実績値）と、当該検証データについて予測部２８が予測した対象項目の予測値（本実施形態では売上予測値）との誤差を算出する。誤差算出部３０は、各検証データそれぞれについて誤差を算出する。これにより、各検証データに対応する複数の誤差が算出される。例えば、図５の例では、誤差算出部は、過去データＩＤ「２０１６０４０１」が示す検証データに対して誤差「２」を算出し、過去データＩＤ「２０１６０４０２」が示す検証データに対して誤差「４」を算出し、以下同様に各検証データについての誤差を算出する。
【００４６】
誤差算出部３０は、各検証データについての複数の誤差を算出すると、全検証データについての誤差の平均値（以下「全平均誤差」と記載する）を算出する。言うまでもないが、全平均誤差は、各誤差の合計値を検証データ数で割ることで算出される。後述のように、全平均誤差は、新素性項目を追加する処理を終えるときなどの判断材料となる。
【００４７】
誤差算出部３０により算出された各検証データについての複数の誤差は、各検証データの過去データＩＤと関連付けられて素性組合せ誤差算出部３４に渡される。
【００４８】
素性組合せ定義部３２は、素性定義情報２２に基づいて、複数の素性組合せを定義する。素性組合せとは、素性定義情報２２において定義されている複数の素性項目と、当該複数の素性項目に対する複数の値からなるものである。図６に、素性組合せの具体例が示されている。図６に示された素性組合せは、図３に示された素性定義情報２２に基づいて定義されたものである。
【００４９】
例えば、図６に示された素性組合せＰ１は、素性項目「月」に対する値「１２」と、素性項目「週」に対する値「３」との組み合わせとなっている。図６に示された素性組合せは一例であり、本実施形態においては、素性組合せ定義部３２は、素性定義情報２２が有する素性項目と取り得る値との間で実現可能な組み合わせの全てを定義する。ただし、同じ素性項目同士の組み合わせは定義しないものとする。例えば、素性項目「月」に対する値「１」と、同じ素性項目「月」に対する値「２」との組み合わせは定義しないものとする。なお、図６に示されるように、各素性組合せに対しては、素性組合せを一意に識別する組合せＩＤが付されている。素性組合せ定義部３２により定義された複数の素性組合せは素性組合せ誤差算出部３４に渡される。
【００５０】
素性組合せ誤差算出部３４は、素性組合せ定義部３２が定義した複数の素性組合せそれぞれについて、検証データ群のうち、当該素性組合せに該当する複数の検証データに関する複数の誤差の代表値を算出する。
【００５１】
素性組合せに該当する検証データとは、当該素性組合せに含まれる素性項目に対する値を有する検証データである。例えば、素性組合せが、素性項目「月」に対する値「１２」と、素性項目「週」に対する値「３」との組み合わせである場合、当該素性組合せに該当する検証データとは、関連項目「月」に対する値が「１２月」であり、且つ、関連項目「週」に対する値が「３」の検証データである。すなわち、本実施形態では、２０１６年１２月の第３週に対応する７つの検証データが当該素性組合せに該当する複数の検証データということになる。このようにして、素性組合せ毎に、該当する複数の検証データが特定される。なお、素性組合せに該当する検証データの特定は、素性生成部２６が検証データ群に基づいて生成した各素性に基づいて行う。
【００５２】
素性組合せ誤差算出部３４は、各素性組合せに該当する複数の検証データを特定すると、素性組合せ毎に、該当する複数の検証データに関する誤差の代表値を演算する。本実施形態では、代表値として平均値が算出されるが、代表値としては例えば中央値などであってもよい。具体的には、素性組合せ誤差算出部３４は、ある素性組合せを選択し、素性生成部２６から渡された各素性に基づいて、当該素性組合せに該当する複数の検証データの複数の過去データＩＤを特定する。次いで、誤差算出部３０から渡された複数の誤差のうち、特定した複数の過去データＩＤに関連付けられた複数の誤差を抽出する。そして、抽出した複数の誤差の平均値を演算する。個の平均値が、当該素性組合せの誤差の平均値（以下「平均誤差」と記載する）となる。このようにして、素性組合せ誤差算出部３４は、素性組合せ定義部３２が定義した全ての素性組合せの平均誤差を算出する。
【００５３】
新素性項目追加部３６は、素性組合せ誤差算出部３４により算出された、各素性組合せの誤差の代表値（本実施形態では平均誤差）に基づいて、素性組合せ定義部３２が定義した複数の素性組合せの中から特定素性組合せを特定する。特定素性組合せの特定方法は後述するが、基本的には平均誤差が大きい素性組合せが特定素性組合せとされる。
【００５４】
本実施形態においては、新素性項目追加部３６は、各素性組合せの平均誤差が降順となるように複数の素性組合せに対して順位付けを行い、そのうち１位の素性組合せを特定素性組合せとする。すなわち、複数の素性組合せのうち、最も平均誤差が大きかった１つの素性組合せを特定素性組合せとする。なお、新素性項目追加部３６は、上記以外の特定方法により特定素性組合せを特定するようにしてもよい。例えば、各素性組合せの平均誤差が降順となるように複数の素性組合せに対して順位付けを行った上で、当該順位付けにおいて上位にいる複数の素性組合せ（例えば１〜３位など）を特定素性組合せとしてもよい。あるいは、予め誤差閾値を設けておき、当該誤差閾値以上の平均誤差が算出された全ての素性組合せを特定素性組合せとして特定するようにしてもよい。このような特定方法を採用した場合は、複数の素性組合せが特定素性組合せとして特定され得る。
【００５５】
次いで、新素性項目追加部３６は、特定素性組合せに基づいて新素性項目を生成する。本実施形態では、特定素性組合せに該当するか否かという新素性項目が生成される。例えば、素性項目「月」に対する値「１２」と、素性項目「週」に対する値「４」との組み合わせからなる特定素性組合せが特定された場合、新素性項目追加部３６は、「１２月の第４週か」という新素性項目を生成する。そして、当該新素性項目に対する取り得る値として、「１（はい）」及び「０（いいえ）」を生成する。
【００５６】
そして、新素性項目追加部３６は、生成した新素性項目を素性定義情報２２に追加する。これにより、更新素性定義情報２２ｂが生成される。なお、複数の特定素性組合せが特定された場合は、新素性項目追加部３６は、複数の特定素性組合せにそれぞれ対応する複数の新素性項目及びそれらに対する複数の取り得る値を生成し、素性定義情報２２に追加する。
【００５７】
図７に、新素性項目が追加された更新素性定義情報２２ｂの例が示されている。図７に示された更新素性定義情報２２ｂは、図３に示す初期素性定義情報２２ａに対して、上述の例の１つの新素性項目が追加されたものである。
【００５８】
このように、新素性項目追加部３６により、初期素性定義情報２２ａにおいて定義されていた複数の素性項目とそれらに対する値の組合せである素性組合せから定義される新素性項目が素性定義情報２２に追加される。更新素性定義情報２２ｂに基づいて、予測部２８により新予測モデルが構築された場合、当該新予測モデルは、初期素性定義情報２２ａに基づいて構築された旧予測モデルに対して予測精度の向上が期待されるものとなる。
【００５９】
特に、多数定義され得る素性組合せの中から、平均誤差が大きい特定素性組合せに基づく新素性項目が追加されるから、新予測モデルの予測精度が旧予測モデルの予測精度を上回ることがより期待できる。例えば、初期素性定義情報２２ａに素性項目「月」及び「週」が含まれている場合、初期素性定義情報２２ａに基づく予測モデルは、月別の売上の変動と、週別の売上の変動とが別個に考慮されて構築され、特定の月と特定の週の組合せまで考慮されて構築されない。この場合、例えば、毎年恒例の特定のイベントによる特定の月の特定の週における突発的な売上の変動が、当該予測モデルにおいて好適に反映されないことになる。本実施形態によれば、例えば、素性項目「月」に対する値「１２」及び素性項目「週」に対する値「４」の素性組合せに基づく新素性項目が追加されることで、予測部２８は、１２月の第４週にのみ発生する突発的な売り上げの変動を考慮した予測モデルを構築することができる。
【００６０】
また、本実施形態における素性組合せの特定方法によれば、１回の新素性項目追加処理において１つの特定素性組合せが特定され、それにより１つの新素性項目が追加される。これにより、１回の新素性項目追加処理における素性定義情報２２の変化が最小限に抑えられ、すなわち１回の新素性項目追加処理における予測モデルの変動量が最小限に抑えられる。これは、新素性項目追加処理を繰り返し行って予測モデルを繰り返し変動させていくことを前提とすると、１回の新素性項目の追加処理によって予測モデルの予測精度が向上しない場合があることに鑑みると、予測モデルの変動量を最小に抑えて徐々に変化させていくことは、予測モデルの予測精度をかえってより早期に向上させることに繋がる。
【００６１】
なお、新素性項目追加処理を繰り返し行う場合、２回目以降の処理においては、１回目の処理で追加された新素性項目を含む素性組わせを定義することが可能である。例えば、１回目の処理で図７に示すような更新素性定義情報２２ｂが生成された場合、２回目の処理において、素性組合せ定義部３２は、例えば、素性組合せ「１２月の第４週か」に対する値「１」と、素性項目「最高気温は１５度以上か」に対する値「１」との素性組合せを定義することが可能である。
【００６２】
上述のように、更新素性定義情報２２ｂに基づいて構築された予測モデルの予測精度は、必ずしも、初期素性定義情報２２ａに基づいて構築された予測モデルの予測精度より向上するとは限らない。したがって、新素性項目追加部３６は、特定素性組合せに基づいて定義された新素性項目が初期素性定義情報２２ａに追加されることによって、予測モデルの予測精度が向上したことを確認した上で、当該新素性項目を初期素性定義情報２２ａに追加するようにしてもよい。具体的な処理の流れは以下の通りである。
【００６３】
まず、新素性項目追加部３６は、上述と同様の処理によって、素性組合せ定義部３２が定義した複数の素性組合せの中から平均誤差が最大となる特定素性組合せを特定し、当該特定素性組合せに基づいて新素性項目を生成する。そして、新素性項目追加部３６は、生成した新素性項目を素性定義情報２２に仮追加する。これにより、新素性項目が仮追加された仮素性定義情報が生成される。
【００６４】
その後、素性生成部２６以下の各部は、当該仮素性定義情報を用いて上述と同様の処理を行う。具体的には、素性生成部２６は、当該仮素性定義情報と過去データ群に基づいて仮素性を生成し、予測部２８は、学習データ群の仮素性と売上実績値に基づいて仮予測モデルを構築し、仮予測モデルと検証データ群の仮素性に基づいて各検証データに対する予測値を算出する。誤差算出部３０は、各検証データの売上実績値と、仮予測モデルを用いて予測された各売上予測値との複数の誤差を算出する。そして、誤差算出部３０は、全検証データに対応する複数の誤差の平均値（以下「仮全平均誤差」と記載する）を算出する。
【００６５】
ここで、新素性項目追加部３６は、新素性項目を生成する処理において算出された、各検証データの売上実績値と、初期素性定義情報２２ａに基づいて構築された予測モデルを用いて予測された各売上予測値との複数の誤差の平均値（以下「処理前全平均誤差」と記載する）と、仮全平均誤差とを比較する。仮全平均誤差が処理前全平均誤差よりも小さい場合は、新素性項目の追加により予測モデルの予測精度が向上したということだから、仮追加した当該新素性項目を正式に素性定義情報２２に追加する。一方、仮全平均誤差が処理前全平均誤差以上となった場合は、新素性項目の追加により予測モデルの予測精度が低下したということだから、新素性項目追加部３６は仮追加した新素性項目を削除する。つまり、当該新素性項目を素性定義情報２２に追加しない。
【００６６】
以下、図８に示すフローチャートに従って、本実施形態に係る情報処理装置１０の処理の流れを説明する。
【００６７】
ステップＳ１０において、ユーザは、過去データＤＢ２０に過去データ群を格納すると共に、初期素性定義情報２２ａを記憶部１２に記憶させる。
【００６８】
ステップＳ１２において、過去データ分類部２４は、過去データＤＢ２０に格納された過去データ群を学習データ群と検証データ群とに分類する。
【００６９】
ステップＳ１４において、素性生成部２６は、初期素性定義情報２２ａに基づいて、ステップＳ１０で過去データＤＢ２０に格納された各過去データについて、複数の素性項目と各素性項目に対する複数の値からなる素性を生成する。
【００７０】
ステップＳ１６において、予測部２８は、ステップＳ１４で学習データ群に基づいて生成された各素性と、各学習データに含まれる売上実績値とに基づいて、予測モデルを構築する。
【００７１】
ステップＳ１８において、予測部２８は、ステップＳ１６で構築した予測モデルと、ステップＳ１４で検証データ群に基づいて生成された各素性とに基づいて、各検証データに対する売上予測値を予測する。
【００７２】
ステップＳ２０において、誤差算出部３０は、各検証データについて、売上実績値と、ステップＳ１８で算出された売上予測値との誤差を算出する。
【００７３】
ステップＳ２２において、誤差算出部３０は、今回のステップＳ２０で算出された全検証データについての複数の誤差の平均値（以下「今回全平均誤差」と記載する）が、前回のステップＳ２０で算出された全検証データについての複数の誤差の平均値（以下「前回全平均誤差」と記載する）よりも小さく、且つ、今回全平均誤差と前回全平均誤差との差分が閾値以下であるか否かを判断する。当該条件を満たす場合は処理を終了し、満たさない場合はステップＳ２４に進む。今回は、初回処理のため、前回平均誤差の値が存在しないことから、ステップＳ２４へ進む。ステップＳ２２の詳細については後述する。
【００７４】
ステップＳ２４において、素性組合せ定義部３２は、初期素性定義情報２２ａに基づいて、複数の素性項目と、当該複数の素性項目に対する複数の値からなる複数の素性組合せを定義する。
【００７５】
ステップＳ２６において、素性組合せ誤差算出部３４は、ステップＳ２４で定義された素性組合せについて、ステップＳ２０で算出された各検証データに対応する複数の誤差のうち、当該素性組合せに該当する複数の検証データについての複数の誤差を抽出し、抽出した複数の誤差の平均値（平均誤差）を算出する。これをステップＳ２４で定義された各素性組合せについて行い、各素性組合せに対応する平均誤差が算出される。
【００７６】
ステップＳ２８において、新素性項目追加部３６は、ステップＳ２４において定義された複数の素性組合せのうち、ステップＳ２６で算出された平均誤差が最大である素性組合わせを特定する。そして、特定された素性組合わせに基づいて、新素性項目及び当該新素性項目に対する取り得る値を生成する。
【００７７】
ステップＳ３０において、新素性項目追加部３６は、ステップＳ２８で生成された新素性項目及び当該新素性項目に対する取り得る値を素性定義情報２２に追加する。これにより、更新素性定義情報２２ｂが生成される。
【００７８】
ステップＳ３０の処理後、再度ステップＳ１４へ戻り、再度のステップＳ１４において、素性生成部２６は、ステップＳ３０で生成された更新素性定義情報２２ｂに基づいて、各過去データについて新たな素性を生成する。以後、再度ステップＳ１６からステップＳ２２まで、新たな素性に基づいて、同様の処理が行われる。
【００７９】
このように、本実施形態では、ステップＳ１４からステップＳ３０の処理が繰り返され、素性定義情報２２に順次新素性項目が追加されていく。これにより、予測部２８が構築する予測モデルの予測精度が順次向上していくことが期待される。
【００８０】
ステップＳ２２に示されている条件が、当該繰り返し処理の終了条件となっている。上述の通り、ステップＳ２２の条件は、今回全平均誤差が前回全平均誤差よりも小さく、且つ、今回全平均誤差と前回全平均誤差との差分が閾値以下であるか否かという条件である。換言すれば、今回全平均誤差は前回全平均誤差よりも小さくなったが、全平均誤差が前回に対してあまり変わらなくなった場合に、繰り返し処理を終了する。
【００８１】
これは、新素性項目追加処理の繰り返し回数と全平均誤差との関係は、一般に図９に示す関係を有していることに基づくものである。図９に示すように、新素性項目追加処理の繰り返し回数が比較的少ないときは、１回の新素性項目追加処理によって全平均誤差が比較的大きく減少するが、新素性項目追加処理の繰り返し回数が比較的多くなってくると、１回の新素性項目追加処理によって全平均誤差があまり変わらなくなってくる。したがって、今回全平均誤差と前回全平均誤差との差分が閾値以下となったときは、全平均誤差がそれ以上劇的に減少しないと判断できることから、新素性項目追加処理の繰り返し処理を終了する。
【００８２】
なお、新素性項目追加処理の繰り返し処理の終了条件としては、上記以外の条件を採用することもできる。例えば、素性定義情報２２に含まれる素性項目の数が所定数に達したことを条件としてもよいし、新素性項目追加処理の繰り返し処理の回数が所定回数に達したことを条件としてもよい。
【００８３】
＜第２実施形態＞
第２実施形態は、第１実施形態を基本としながらも、第１実施形態に比して素性組合せ定義部３２の処理内容が異なるものである。第１実施形態においては、素性組合せ定義部３２は、素性定義情報２２が有する素性項目と取り得る値との間で実現可能な組み合わせの全てを定義していた。これによれば、全ての素性組合せを漏れなく特定素性組合せの候補とすることができる一方、定義される素性組合せの数が膨大になる場合があり、素性組合せ定義部３２、素性組合せ誤差算出部３４、あるいは新素性項目追加部３６の処理量が多くなってしまう場合がある。
【００８４】
このことに鑑み、第２実施形態においては、素性組合せ定義部３２が、平均誤差が大きくなる可能性が低い素性組合せを定義しないことで、定義される素性組合せの数が低減される。これにより、新素性項目追加処理における処理量が低減される。以下、第２実施形態における素性組合せ定義部３２の処理について説明する。
【００８５】
まず、第２実施形態においては、素性定義情報２２において、複数の素性項目間において階層関係を定義しておく。当該階層関係の定義は、予めユーザなどによって行われてよい。
【００８６】
図１０に、本実施形態における階層関係の例が示されている。図１０の例では、第１層として素性項目「年」、第２層として素性項目「月」、第３層として素性項目「週」、第４層として素性項目（曜日）が定義されている。このように、複数の素性項目間における階層関係は、各素性項目の実際の概念に即した階層となっている。もちろん、図１０に示した階層関係は一例であり、複数の素性項目間における階層関係は様々な態様で定義することができる。
【００８７】
素性組合せ定義部３２は、素性定義情報２２において定義された階層関係に基づいて、素性組合せを定義する。具体的には、まず、素性組合せ定義部３２は、素性組合せに含まれる一方の素性項目を選択する。次いで、階層関係において、当該一方の素性項目が属する層に隣接する層に属する素性項目を他方の素性項目として選択する。そして、当該一方の素性項目（及び当該素性項目に対する値）と、当該他方の素性項目（及び当該素性項目に対する値）とを組み合わせて素性組合せを定義する。換言すれば、第２実施形態においては、素性組合せ定義部３２は、一方の素性項目と、当該一方の素性項目が属する層に隣接しない層に属する素性項目との素性組合せは定義しない。
【００８８】
図１０の例を用いて説明する。素性組合せ定義部３２は、例えば、第１層に属する素性項目「年」と、第２層に属する素性項目「月」との素性組合せは定義するが、第１層に属する素性項目「年」と、第３層に属する素性項目「週」との素性組合せは定義しない。具体的には、素性項目「年」に対する値「２０１５」と、素性項目「月」に対する値「３」との素性組合せは定義するが、素性項目「年」に対する値「２０１５」と、素性項目「週」に対する値「４」との組み合わせは定義しない。
【００８９】
例えば、過去データにおいて、階層が離れた項目である関連項目「年」と「週」との組み合わせが売上に特に影響を与えること（例えば２０１５年の毎月第４週のみ突発的に売上が変動すること）は比較的少ないと言える。したがって、互いに階層が離れた素性項目を含む素性組合せの平均誤差が大きくなる可能性は低いと言える。したがって、素性組合せ定義部３２が、階層が離れた互いに階層が離れた素性項目を含む素性組合せを定義しないことによって、平均誤差が大きくなる可能性の高い素性組合せを残しつつ、定義される素性組合せの数を低減させることができる。
【００９０】
第２実施形態において、新素性項目が素性定義情報２２に追加された場合、追加された新素性項目の階層は、当該新素性組合せに含まれる２つの素性項目のうち深い方の層とされる。例えば、第１層にある素性項目「年」に対する値「２０１５」と、第２層にある素性項目「月」に対する値「３」との素性組合せに基づく新素性項目「２０１５年の３月か」が定義された場合、当該新素性項目の階層は、第１層と第２層のうちより深い方の層である第２層となる。
【００９１】
これにより、さらなる新素性項目の追加処理により、第２層にある素性項目「２０１５年の３月か」と、第３層にある素性項目「週」との素性組合せが可能になる。このようにして、階層関係に沿って、３つ以上の素性項目を含む素性組合せを定義することも可能である。
【００９２】
＜第３実施形態＞
第３実施形態は、第１実施形態を基本としながらも、第１実施形態及び第２実施形態に比して素性組合せ定義部３２の処理内容が異なるものである。第１実施形態及び第２実施形態においては、素性組合せに含まれる複数の値は、同一の過去データ（注目過去データ）に関する値として定義されていた。例えば、図６に示した素性組合せＰ１は、ある１つの注目過去データの素性項目「月」に対する値が「１２」であり、且つ、素性項目「週」に対する値が「３」である、ということを意味するものである。
【００９３】
過去データ群が時系列に並ぶ複数の過去データから構成される場合、複数の過去データの関連項目に対する値を考慮して予測値を予測した方が、予測精度が向上する場合がある。本実施形態のように、過去データ群が日々蓄積される複数の過去データから構成される場合、例えば、予測対象日の前日が休日か平日か、あるいは、予測対象日の後日が休日か平日かなどが、予測対象日の売上予測に影響する場合がある。このような場合は、例えば予測対象日の前日あるいは後日が休日が否かということを含めて考慮して予測モデルを構築することで、当該予測モデルの予測精度をより向上させることができる。
【００９４】
このことに鑑み、第３実施形態においては、素性組合せ定義部３２は、素性定義情報２２において定義された素性項目群から選択された素性項目に対する、注目過去データに関する値と、同じく素性項目群から選択された素性項目に対する、当該注目過去データとは異なる過去データに関する値とを含む素性組合せを定義する。
【００９５】
例えば、第３実施形態において、素性組合せ定義部３２は、素性項目「休日か平日か」に対する注目過去データ（当日）の値「０（平日）」、素性項目「休日か平日か」に対する前日の値「１（平日）」という素性組合せを定義する。また、素性組合せに含まれる２つの素性項目が同一である必要はなく、例えば、素性項目「休日か平日か」に対する当日の値「０（平日）」、素性項目「曜日」に対する前日の値「１（日曜）」という素性組合せを定義するようにしてもよい。また、素性組合せに含まれる複数の値は、時系列において連続する過去データの値に関するものである必要はなく、当日の値と、例えば２日前、１週間前などの値であってもよい。
【００９６】
このような素性組合せが定義され、素性組合せ誤差算出部３４により当該素性組合せに対する平均誤差が最大となれば、当該素性組合せに基づく新素性項目「当日が平日で前日が休日か」などが素性定義情報２２に追加される。これにより、予測部２８は、「当日が平日で前日が休日か」など、複数の過去データにおける関連項目に対する値を考慮した、より予測精度が向上した予測モデルを構築することができる。
【００９７】
＜第４実施形態＞
第４実施形態は、第１実施形態を基本としながらも、素性定義情報２２で定義された各素性項目についての、対象項目（本実施形態では売上）の予測値に対して与える影響の大きさを示す寄与度に基づく処理が行われる点において第１実施形態と異なるものである。
【００９８】
各素性項目に対する寄与度は、予測部２８により算出される。寄与度算出の基本的な方法は以下の通りである。まず、予測部２８は、上述の通り、素性生成部２６が生成した学習データ群に関する素性群と、学習データ群に含まれる売上実績値に基づいて予測モデルを構築し、当該予測モデルと、検証データに関する素性に基づいて、当該検証データに対する売上予測値を算出する。次いで、当該検証データに関する素性において、注目素性項目に対する値をランダムに変更して変更素性を生成する。そして、予測部２８は、予測モデルと変更素性に基づいて、当該検証データに対する売上予測値を算出する。ここで算出された、変更素性に基づく売上予測値と、事前に算出された売上予測値との差が大きい程、注目素性項目の寄与度が高い、ということになる。したがって、予測部２８は、変更素性に基づく売上予測値と、事前に算出された売上予測値との差が大きい程、当該注目素性項目の寄与度を高く算出する。
【００９９】
このような処理によって、素性定義情報２２に各素性項目の寄与度を示す情報が付され、寄与度付素性定義情報２２−２が生成される。図１１に、寄与度付素性定義情報２２−２の例が示されている。
【０１００】
素性組合せ定義部３２は、各素性項目の寄与度に基づいて素性組合せを生成する。具体的には、予め寄与度閾値を定めておき、素性組合せを定義するにあたり、寄与度が当該寄与度閾値以下である素性項目を選択しないようにする。寄与度が低い素性項目を含む素性組合せについて、素性組合せ誤差算出部３４が平均誤差を算出した場合、当該平均誤差が大きくなる可能性は低いといえる。したがって、寄与度閾値以下の素性項目を含む素性組合せを定義しないことによって、平均誤差が大きくなる可能性の高い素性組合せを残しつつ、定義される素性組合せの数を低減させることができる。
【０１０１】
また、第１実施形態では、新素性項目追加部３６は、各素性組合せについて算出された平均誤差に基づいて、特定素性組合せを特定していたが、第４実施形態では、さらに、各素性組合せに含まれる素性項目の寄与度に基づいて、特定素性組合せを特定する。例えば、ある素性組合せの平均誤差と、当該素性組合せに含まれる複数の素性項目についての複数の寄与度の平均値又は合算値との積を、当該素性組合せの指標値として算出する。そして、各素性組合せについて算出された指標値に基づいて特定素性組合せを特定する。指標値に基づく特定素性組合せ方法としては、例えば、複数の素性組合せのうち、指標値が最大の素性組合せを特定素性組合せとしてもよいし、各素性組合せの指標値が降順となるように複数の素性組合せに対して順位付けを行った上で、当該順位付けにおける上位にある複数の素性組合せ（例えば１〜３位など）を特定素性組合せとしてもよいし、予め指標閾値を設けておき、当該指標閾値以上の指標値が算出された全ての素性組合せを特定素性組合せとしてもよい。
【０１０２】
寄与度を考慮して特定素性組合せを特定することで、寄与度が高い素性項目を含む素性組合せに基づいて生成された新素性項目が素性定義情報２２に追加され易くなる。これにより、予測部２８により構築される予測モデルの予測精度がより向上され得る。
【０１０３】
以上、本発明に係る実施形態を説明したが、本発明は上記実施形態に限られるものではなく、本発明の趣旨を逸脱しない限りにおいて種々の変更が可能である。
【符号の説明】
【０１０４】
１０  情報処理装置、１２  記憶部、１４  制御部、２０  過去データＤＢ、２２  素性定義情報、２４  過去データ分類部、２６  素性生成部、２８  予測部、３０  誤差算出部、３２  素性組合せ定義部、３４  素性組合せ誤差算出部、３６  新素性項目追加部。
【図１】
2018190044.tif 000003
【図２】
2018190044.tif 000004
【図３】
2018190044.tif 000005
【図４】
2018190044.tif 000006
【図５】
2018190044.tif 000007
【図６】
2018190044.tif 000008
【図７】
2018190044.tif 000009
【図８】
2018190044.tif 000010
【図９】
2018190044.tif 000011
【図１０】
2018190044.tif 000012
【図１１】
2018190044.tif 000013