JP6972641B2 - Information processing equipment and information processing programs - Google Patents
Information processing equipment and information processing programs Download PDFInfo
- Publication number
- JP6972641B2 JP6972641B2 JP2017089817A JP2017089817A JP6972641B2 JP 6972641 B2 JP6972641 B2 JP 6972641B2 JP 2017089817 A JP2017089817 A JP 2017089817A JP 2017089817 A JP2017089817 A JP 2017089817A JP 6972641 B2 JP6972641 B2 JP 6972641B2
- Authority
- JP
- Japan
- Prior art keywords
- feature
- item
- value
- combination
- group
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Description
本発明は、情報処理装置及び情報処理プログラムに関する。 The present invention relates to an information processing apparatus and an information processing program.
従来、機械学習を用いて予測対象値を予測することが行われている。機械学習を用いた予測処理の一例として、対象項目(目的変数)、及び、当該対象項目に関連する複数の関連項目(説明変数)に対する過去の実績値である過去データに基づいて学習処理(いわゆる教師あり学習)が行われて予測モデルが構築され、当該予測モデルと、予測対象値に関連する関連項目の値とに基づいて予測対象値を予測する処理が知られている。 Conventionally, prediction target values have been predicted using machine learning. As an example of prediction processing using machine learning, learning processing (so-called) based on past actual values for a target item (objective variable) and a plurality of related items (explanatory variables) related to the target item. Supervised learning) is performed to construct a prediction model, and a process of predicting a prediction target value based on the prediction model and the values of related items related to the prediction target value is known.
過去データは多数の関連項目を有している場合があり、その中には、対象項目の値にあまり影響しない項目が含まれている場合もある。したがって、予測モデルの予測精度を向上させるべく、過去データが有する複数の関連項目から選択された項目(素性項目)に対する値を用いて、予測モデルが構築される場合がある。なお、この複数の素性項目とそれらに対する値からなる情報は素性と呼ばれる。 Historical data may have a large number of related items, some of which may not significantly affect the value of the target item. Therefore, in order to improve the prediction accuracy of the prediction model, the prediction model may be constructed using the values for the items (feature items) selected from the plurality of related items of the past data. Information consisting of a plurality of feature items and values for them is called a feature.
従来、過去データが有する複数の関連項目から素性項目を自動的に選択する技術が提案されている。例えば、特許文献1には、より有効性の高い予測モデルを構築するため、サポートベクタマシンの重みに基づいて、複数の属性(関連項目)の中から適切な属性(素性項目)を抽出して、予測モデルを構築するための素性関数を生成することが記載されている。また、特許文献2にも、複数のデータ項目(関連項目)の中から予測精度が最も高くなるデータ項目の組み合わせを抽出する処理が記載されている。
Conventionally, a technique has been proposed in which a feature item is automatically selected from a plurality of related items possessed by past data. For example, in
上述のように、過去データが有する複数の関連項目から適切な素性項目を選択することで、より精度の高い予測モデルを構築することができる。ここで、複数の関連項目の組み合わせに基づいて定義される新素性項目を用いることで、より精度の高い予測モデルが構築され得る。例えば、ある店舗の売上予測を行う場合などであって、過去データに含まれる関連項目として「月(何月か)」及び「週(その月の第何週か)」を有する場合、「12月の第4週目であるか否か」という新素性項目を用いることで、より精度の高い予測モデルが構築できる場合がある。もちろん、新素性項目としては、過去データに含まれる複数の関連項目のむやみな組み合わせに基づくものではなく、予測モデルの予測精度が向上するような適切な組み合わせに基づいて生成されるのが肝要となる。 As described above, a more accurate prediction model can be constructed by selecting an appropriate feature item from a plurality of related items of the past data. Here, a more accurate prediction model can be constructed by using a novel feature item defined based on a combination of a plurality of related items. For example, when forecasting the sales of a certain store and having "month (month)" and "week (week of the month)" as related items included in the past data, "12". It may be possible to build a more accurate prediction model by using the new element item "whether or not it is the 4th week of the month". Of course, it is important that the new feature items are generated not based on the unreasonable combination of multiple related items included in the past data, but on the appropriate combination that improves the prediction accuracy of the prediction model. Become.
本発明の目的は、機械学習を用いて予測対象値の予測を行う際に用いられる素性に、過去データが有する複数の関連項目の組み合わせに基づく新素性項目を自動追加することにある。 An object of the present invention is to automatically add a new feature item based on a combination of a plurality of related items possessed by past data to a feature used when predicting a prediction target value by using machine learning.
請求項1に係る発明は、予測の対象となる対象項目及び前記対象項目に関連する関連項目群、に対する過去の実績値を含む過去データ群の一部である学習データ群と、前記関連項目群のうち予測に用いる項目の候補である素性項目群が定義された素性定義情報とに基づいて、前記過去データ群の一部であり検証の対象となる各検証データの対象項目に対する各予測値を予測する予測部と、前記各検証データそれぞれについて、前記予測部が予測した各予測値と、前記対象項目に対する実績値との誤差を算出する誤差算出部と、前記素性定義情報に含まれる素性項目群から選択された複数の素性項目と、当該複数の素性項目に対する値からなる複数の素性組合せそれぞれについて、前記素性組合せに該当する複数の検証データに関する複数の前記誤差の代表値を算出する素性組合せ誤差算出部と、前記複数の素性組合せの中から、各素性組合せに対応する前記誤差の代表値に基づいて特定された、特定素性組合せにより定義される新素性項目を生成し、前記素性定義情報に追加する新素性項目追加部と、を備えることを特徴とする情報処理装置である。
The invention according to
請求項2に係る発明は、前記新素性項目追加部は、前記新素性項目を特定した後、前記新素性項目が仮追加された仮素性定義情報に基づいて算出された前記検証データ群に関する誤差の平均値が、前記新素性項目が仮追加される前の前記素性定義情報に基づいて算出された前記検証データ群に関する誤差の平均値よりも小さい場合に、前記新素性項目を前記素性定義情報に追加する、ことを特徴とする請求項1に記載の情報処理装置である。
In the invention according to
請求項3に係る発明は、前記素性項目群に含まれる複数の素性項目は階層関係を有しており、前記素性組合せ誤差算出部は、一方の素性項目と、前記階層関係において当該一方の素性項目が属する階層に隣接する層に属する他方の素性項目とを組み合わせて前記素性組合せを定義する、ことを特徴とする請求項1に記載の情報処理装置である。
In the invention according to
請求項4に係る発明は、前記過去データ群は、時系列に並ぶ複数の過去データから構成され、前記素性組合せには、前記素性項目群から選択された素性項目に対する注目過去データに関する値と、前記素性項目群から選択された素性項目に対する前記注目過去データ以外の過去データに関する値とが含まれる、ことを特徴とする請求項1に記載の情報処理装置である。
In the invention according to
請求項5に係る発明は、前記予測部は、前記素性項目群に含まれる各素性項目について、各素性項目に対する値が前記対象項目の値に対して与える影響の大きさを示す寄与度を算出し、前記素性組合せ誤差算出部は、前記素性組合せを定義するにあたり、寄与度が閾値以下である素性項目を選択しない、ことを特徴とする請求項1に記載の情報処理装置である。
In the invention according to
請求項6に係る発明は、前記新素性項目追加部は、各素性組合せに対応する前記誤差の代表値と、各素性組合せに含まれる複数の素性項目の寄与度とに基づいて、前記特定素性組合せを特定する、ことを特徴とする請求項5に記載の情報処理装置である。
In the invention according to
請求項7に係る発明は、コンピュータを、予測の対象となる対象項目及び前記対象項目に関連する関連項目群、に対する過去の実績値を含む過去データ群の一部である学習データ群と、前記関連項目群のうち予測に用いる項目の候補である素性項目群が定義された素性定義情報とに基づいて、前記過去データ群の一部であり検証の対象となる各検証データの対象項目に対する各予測値を予測する予測部と、前記各検証データそれぞれについて、前記予測部が予測した各予測値と、前記対象項目に対する実績値との誤差を算出する誤差算出部と、前記素性定義情報に含まれる素性項目群から選択された複数の素性項目と、当該複数の素性項目に対する値からなる複数の素性組合せそれぞれについて、前記素性組合せに該当する複数の検証データに関する複数の前記誤差の代表値を算出する素性組合せ誤差算出部と、前記複数の素性組合せの中から、各素性組合せに対応する前記誤差の代表値に基づいて特定された、特定素性組合せにより定義される新素性項目を生成し、前記素性定義情報に追加する新素性項目追加部と、として機能させることを特徴とする情報処理プログラムである。
The invention according to
請求項1又は7に係る発明によれば、機械学習を用いて予測対象値の予測を行う際に用いられる素性に、過去データが有する複数の関連項目の組み合わせに基づく新素性項目を自動追加することができる。
According to the invention of
請求項2に係る発明によれば、新素性項目を含む素性を用いたときの予測精度が向上することを確認した上で、当該新素性項目を素性に追加することができる。
According to the invention of
請求項3又は5に係る発明によれば、全ての素性項目間の組合せを定義する場合に比して、定義される素性組合せの数を低減させることができる。
According to the invention of
請求項4に係る発明によれば、素性組合せに注目過去データ以外の過去データに関する値を含めない場合に比して、より予測精度を向上させ得る新素性項目を追加することができる。
According to the invention of
請求項6に係る発明によれば、寄与度を考慮しない場合に比して、より予測精度を向上させ得る新素性項目を追加することができる。
According to the invention of
以下、本発明の実施形態について説明する。 Hereinafter, embodiments of the present invention will be described.
<第1実施形態>
図1には、本実施形態に係る情報処理装置10の構成概略図が示されている。情報処理装置10としては、一般のコンピュータ、例えばサーバやパーソナルコンピュータであってよい。図1に示すように、情報処理装置10は、記憶部12及び制御部14を含んで構成される。また、図1には示されていないが、情報処理装置10は、例えばネットワークアダプタなどから構成され、インターネットなどの通信回線を介して他の装置と通信を行うための通信部、例えば液晶パネルなどから構成され、情報処理装置10の処理内容(例えば後述の予測値など)を表示するための表示部、例えばマウス、キーボード、あるいはタッチパネルなどから構成され、利用者(ユーザ)からの指示を入力するための入力部などを含んでいてもよい。
<First Embodiment>
FIG. 1 shows a schematic configuration diagram of the
情報処理装置10は、過去の実績データに基づいて、未来を予測する処理を行う装置である。本明細書においては、情報処理装置10がある店舗(予測対象店舗)の予測対象日における売上を予測する処理を例にして説明を行うが、情報処理装置10が予測するものはこれに限られない。
The
記憶部12は、例えばハードディスク、ROM(Read Only Memory)あるいはRAM(Random Access Memory)などから構成される。記憶部12には、情報処理装置10の各部を動作させるための情報処理プログラムが記憶される。あるいは、記憶部12には、各種制御データあるいは各種処理データなどが記憶される。さらに、図1に示すように、記憶部12には過去データDB20が定義され、また、素性定義情報22が記憶される。
The
過去データDB20には、予測対象である対象項目に対する過去の実績値、及び、対象項目に関連する関連項目群に対する過去の実績値が蓄積されている。本実施形態では、対象項目は予測対象店舗の売上であり、過去データDB20には、予測対象店舗の過去の売上の実績値が格納される。また、本実施形態では、関連項目群は売上に関連する各種項目(詳細後述)であり、過去データDB20には、関連項目群に対する各実績値が格納される。過去データDB20には、これらのデータがユーザによって格納されてもよいし、自動的に収集されて格納されるようになっていてもよい。
In the
図2に、過去データDB20の内容例が示されている。図2においては、過去データDB20がテーブル形式で示されているが、過去データDB20のデータ形式としてはこれに限られない。本実施形態では、日毎に過去データDB20にデータ(レコード)が蓄積されるようになっている。図2に示されるように、過去データDB20には、予測対象店舗の売上の実績値が格納されており、また、売上に関連する関連項目として、年、月、日、天気、最高気温、最低気温などに対する実績値が格納されている。もちろん、関連項目としては、売上に対する影響の大小に関わらず、様々な項目を有していてもよい。例えば、曜日、休日か平日か、湿度、風速、店前交通量、平均株価、為替レートなど、種々の項目を有し得る。
FIG. 2 shows an example of the contents of the
本実施形態においては、過去データDB20における1つのレコードが、ある1日の売上の実績値と、関連項目群に対するその日の実績値が関連付けられたデータとなっている。本明細書では、過去データDB20における1つのレコードを「過去データ」と記載する。つまり、過去データDB20には、過去データが逐次蓄積されることで、過去データ群が格納されることになる。本実施形態では、過去データDB20には、予測対象店舗に関する2014年から2016年までの3年間分の過去データが蓄積されているものとする。
In the present embodiment, one record in the
なお、本実施形態における過去データDB20においては、各過去データに対して、当該過去データを一意に識別可能な過去データIDが付されている。
In the
詳細は後述するが、情報処理装置10においては、過去データDB20に格納された過去データ群に基づいて、予測対象店舗の予測対象日における予測売上値を予測する。具体的には、各過去データの各関連項目に対する実績値と売上の実績値との関係を学習することで、各関連項目の値から売上値を予測するための予測モデルが構築され、当該予測モデルと、予測対象日の各関連項目に対する値とに基づいて、予測売上値が予測される。
Although the details will be described later, in the
素性定義情報22は、予測モデルの構築に用いる項目の候補である複数の素性項目からなる素性項目群を定義する情報である。素性項目は、過去データに含まれる関連項目群に基づく項目である。上述のように、過去データに含まれる関連項目群には、対象項目である売上に対して関連性の高い項目もあれば、関連性の低い項目も含まれ得る。一般に、対象項目と関連性の低い関連項目の値までをも考慮して予測モデルを構築した場合、当該予測モデルの予測精度はあまり良くならない。逆に、適切な関連項目の値に基づいて予測モデルを構築すれば、当該予測モデルの予測精度が向上され得る。つまり、素性定義情報22において適切な素性項目群が定義されることによって、関連項目群の中から適切な項目を用いて予測モデルを構築することができるから、予測モデルの予測精度を向上させることができる。このように、素性定義情報22において定義される素性項目群は、予測モデルの予測精度、ひいては情報処理装置10における予測処理の予測精度に大きく関わる要素となる。なお、場合によっては、過去データに含まれる関連項目の全てが素性項目として定義されてもよい。
The
詳しくは後述するが、本実施形態では、情報処理装置10の処理によって、素性定義情報22に新たな素性項目(新素性項目)が自動的に追加される。本明細書では、素性定義情報22のうち、情報処理装置10によって新素性項目が全く追加されていないものを「初期素性定義情報22a」と、情報処理装置10の処理によって新素性項目の追加処理後のものを「更新素性定義情報22b」と区別して記載する。
As will be described in detail later, in the present embodiment, a new feature item (new feature item) is automatically added to the
図3に、本実施形態における初期素性定義情報22aの内容例が示されている。初期素性定義情報22aは、ユーザによって生成される。図3に示されるように、初期素性定義情報22aには、素性項目として、年、月、日、週、曜日、休日か平日かが含まれている。これらの各素性項目は、過去データ群が有する関連項目群から選択された項目である。また、初期素性定義情報22aには、各素性項目に対して取り得る値が定義されている。上記の素性項目については、元々過去データにおいて取り得る値がそれほど多くないため、過去データにおいて取り得る値が、そのまま素性項目が取り得る値として定義されている。
FIG. 3 shows an example of the contents of the initial
さらに、初期素性定義情報22aには、最高気温は15度以上か、最低気温は10度未満か、あるいは雨が降ったか否か、といった素性項目も含まれる。過去データ群においては、最高気温及び最低気温に対する実績値は連続的な(すなわち様々な)値を取り得るし、天気に対する実績値も晴、雨、曇り、晴のち雨などといった様々な値を取り得る。予測モデルの構築の際に、このような様々な値を取り得る生データを直接用いるのは適切ではない。すなわち、処理量が膨大になり得る反面、予測精度向上の効果があまり期待できない。そのため、初期素性定義情報22aにおいては、例えば、過去データが有する最高気温という関連項目に基づいて、最高気温が15度以上かという素性項目が定義され、当該素性項目が取り得る値としては1(15度以上)及び0(15度未満)という2つの値が定義されている。最高気温の閾値(この例では15度)はユーザによって決定されてよい。このように、様々な値を取り得る関連項目については、素性項目を適宜工夫することで、各素性項目が取り得る値の数を低減することができる。これにより、予測モデル構築の処理が簡略化される。
Further, the initial
なお、素性定義情報22において定義された各素性項目には、素性項目を一意に識別するための素性項目IDが付されている。
Each feature item defined in the
制御部14は、例えばCPU(Central Processing Unit)あるいはマイクロコントローラなどから構成される。制御部14は、記憶部12に記憶された情報処理プログラムに基づいて、情報処理装置10の各部を制御するものである。また、図1に示されるように、制御部14は、過去データ分類部24、素性生成部26、予測部28、誤差算出部30、素性組合せ定義部32、素性組合せ誤差算出部34、及び新素性項目追加部36としても機能する。制御部14がこれらの機能を発揮することにより、素性定義情報22に、予測モデルの予測精度を向上させ得る新素性項目が追加される。以下、これらの各機能の詳細について説明する。
The
過去データ分類部24は、過去データDB20に格納されている過去データ群を学習データ群と検証データ群とに分類する。学習データ群は、予測モデルの構築に用いるものであり、過去データ群の一部である複数の過去データからなるものである。一方、検証データ群は、構築された予測モデルの予測精度を検証するために用いるものであり、過去データ群の一部である複数の過去データからなるものである。上述の通り、本実施形態では、過去データDB20には、2014年から2016年までの3年分の過去データ群が格納されているため、2014年と2015年の2年分の複数の過去データを学習データ群とし、2016年分の複数の過去データを検証データ群とする。もちろん、学習データ群と検証データ群の分類方法は、これには限られない。
The past
素性生成部26は、過去データDB20に格納された過去データと、素性定義情報22に基づいて、複数の素性項目と、各素性項目に対する複数の値からなる素性を生成する。素性生成部26は、過去データ群に含まれる各過去データに対応する複数の素性を生成する。これにより素性群が生成される。なお、素性に含まれる素性項目は、素性定義情報22に含まれる素性項目の全てである必要はなく、素性定義情報22において定義された複数の素性項目の一部の素性項目であってもよい。
The
図4に、素性生成部26により生成された素性群の例が示されている。図4には、図2に示された各過去データと、図3に示される素性定義情報22とに基づいて生成された素性群の例が示されている。
FIG. 4 shows an example of a feature group generated by the
例えば、図4に示された素性I1は、過去データID「20140401」が示す過去データ(図2参照)に対応するものである。当該過去データが有する関連項目に対する各値に基づいて、各素性項目に対する値が決定されている。素性I1においては、素性項目「年」に対して値「2014」が決定され、以後同様に他の各素性項目に対する値が決定されている。なお、素性項目「曜日」に対して値「3」が決定されているが、これは、当該過去データの関連項目「曜日」に対して「火曜日」の値を有しているためである。また、当該過去データの関連項目「最高気温」に対する値が「17.4度」であるから、素性項目「最高気温が15度以上か」に対する値には、15度以上を示す「1」が決定されている。 For example, the feature I1 shown in FIG. 4 corresponds to the past data (see FIG. 2) indicated by the past data ID “201440401”. The value for each feature item is determined based on each value for the related item in the past data. In the feature I1, the value "2014" is determined for the feature item "year", and thereafter, the value for each of the other feature items is determined in the same manner. The value "3" is determined for the feature item "day of the week" because it has the value of "Tuesday" for the related item "day of the week" of the past data. In addition, since the value for the related item "maximum temperature" of the past data is "17.4 degrees", the value for the feature item "whether the maximum temperature is 15 degrees or more" is "1" indicating 15 degrees or more. It has been decided.
このようにして、素性生成部26は、学習データ群及び検証データ群を含む全ての過去データ群について素性を生成する。なお、各素性には、素性と過去データとの関連を示すように過去データIDが付されている。生成された素性は、予測部28及び素性組合せ誤差算出部34に渡される。
In this way, the
予測部28は、まず、素性生成部26が学習データ群に基づいて生成した各素性と、各学習データに含まれる対象項目の実績値(本実施形態では売上実績値)とに基づいて、予測モデルを構築する。
First, the
予測モデルの構築には、種々の方法を用いることができる。例えば、各素性と実績値に基づいて生成される複数の弱識別器を組み合わせて予測モデルを構築するアンサンブル学習法であって、1つの弱識別器の学習結果を参考にして次の弱識別器を学習しつつ、予測値と実績値の誤差を定義した損失関数の勾配を考慮して予測モデルを構築する勾配ブースティング法を用いることができる。あるいは、学習データ群からサンプリングされた学習データに基づいて、非終端ノードにおいて識別(分類)に用いる素性項目をランダムに選択することで、相関の低い複数の決定木を作成し、当該複数の決定木を用いて予測モデルを構築するランダムフォレスト法を用いることができる。 Various methods can be used to build the predictive model. For example, it is an ensemble learning method that constructs a prediction model by combining a plurality of weak classifiers generated based on each element and actual value, and the next weak classifier is referred to by referring to the learning result of one weak classifier. While learning, the gradient boosting method can be used to build a prediction model considering the slope of the loss function that defines the error between the predicted value and the actual value. Alternatively, based on the training data sampled from the training data group, by randomly selecting the feature items used for identification (classification) in the non-terminal node, a plurality of decision trees with low correlation are created, and the plurality of decision trees are created. A random forest method can be used to build a predictive model using.
次に、予測部28は、構築した予測モデルと、素性生成部26が検証データ群に基づいて生成した各素性とに基づいて、各検証データの対象項目の予測値(本実施形態では売上予測値)を予測する。ここで、各検証データは、売上実績値を既に有しているのであるが、予測部28は、素性定義情報22に新素性項目を追加するために、予測部28は、既知である各検証データの売上予測値の予測を行う。
Next, the
予測部28により予測処理が行われると、各検証データに対応する複数の売上予測値が得られる。図5に、各検証データが有する売上実績値に対応する売上予測値の例が示されている。予測部28により予測された当該複数の売上予測値は、対応する過去データを示す過去IDと、当該過去データの売上実績値と関連付けられて誤差算出部30に渡される。
When the forecasting process is performed by the
誤差算出部30は、検証データが有する対象項目の実績値(本実施形態では売上実績値)と、当該検証データについて予測部28が予測した対象項目の予測値(本実施形態では売上予測値)との誤差を算出する。誤差算出部30は、各検証データそれぞれについて誤差を算出する。これにより、各検証データに対応する複数の誤差が算出される。例えば、図5の例では、誤差算出部は、過去データID「20160401」が示す検証データに対して誤差「2」を算出し、過去データID「20160402」が示す検証データに対して誤差「4」を算出し、以下同様に各検証データについての誤差を算出する。
The
誤差算出部30は、各検証データについての複数の誤差を算出すると、全検証データについての誤差の平均値(以下「全平均誤差」と記載する)を算出する。言うまでもないが、全平均誤差は、各誤差の合計値を検証データ数で割ることで算出される。後述のように、全平均誤差は、新素性項目を追加する処理を終えるときなどの判断材料となる。
When the
誤差算出部30により算出された各検証データについての複数の誤差は、各検証データの過去データIDと関連付けられて素性組合せ誤差算出部34に渡される。
A plurality of errors for each verification data calculated by the
素性組合せ定義部32は、素性定義情報22に基づいて、複数の素性組合せを定義する。素性組合せとは、素性定義情報22において定義されている複数の素性項目と、当該複数の素性項目に対する複数の値からなるものである。図6に、素性組合せの具体例が示されている。図6に示された素性組合せは、図3に示された素性定義情報22に基づいて定義されたものである。
The feature
例えば、図6に示された素性組合せP1は、素性項目「月」に対する値「12」と、素性項目「週」に対する値「3」との組み合わせとなっている。図6に示された素性組合せは一例であり、本実施形態においては、素性組合せ定義部32は、素性定義情報22が有する素性項目と取り得る値との間で実現可能な組み合わせの全てを定義する。ただし、同じ素性項目同士の組み合わせは定義しないものとする。例えば、素性項目「月」に対する値「1」と、同じ素性項目「月」に対する値「2」との組み合わせは定義しないものとする。なお、図6に示されるように、各素性組合せに対しては、素性組合せを一意に識別する組合せIDが付されている。素性組合せ定義部32により定義された複数の素性組合せは素性組合せ誤差算出部34に渡される。
For example, the feature combination P1 shown in FIG. 6 is a combination of a value "12" for the feature item "month" and a value "3" for the feature item "week". The feature combination shown in FIG. 6 is an example, and in the present embodiment, the feature
素性組合せ誤差算出部34は、素性組合せ定義部32が定義した複数の素性組合せそれぞれについて、検証データ群のうち、当該素性組合せに該当する複数の検証データに関する複数の誤差の代表値を算出する。
The feature combination
素性組合せに該当する検証データとは、当該素性組合せに含まれる素性項目に対する値を有する検証データである。例えば、素性組合せが、素性項目「月」に対する値「12」と、素性項目「週」に対する値「3」との組み合わせである場合、当該素性組合せに該当する検証データとは、関連項目「月」に対する値が「12月」であり、且つ、関連項目「週」に対する値が「3」の検証データである。すなわち、本実施形態では、2016年12月の第3週に対応する7つの検証データが当該素性組合せに該当する複数の検証データということになる。このようにして、素性組合せ毎に、該当する複数の検証データが特定される。なお、素性組合せに該当する検証データの特定は、素性生成部26が検証データ群に基づいて生成した各素性に基づいて行う。
The verification data corresponding to the feature combination is the verification data having a value for the feature item included in the feature combination. For example, when the feature combination is a combination of the value "12" for the feature item "month" and the value "3" for the feature item "week", the verification data corresponding to the feature combination is the related item "month". The value for "December" is "December", and the value for the related item "Week" is "3", which is the verification data. That is, in the present embodiment, the seven verification data corresponding to the third week of December 2016 are a plurality of verification data corresponding to the feature combination. In this way, a plurality of corresponding verification data are specified for each feature combination. The verification data corresponding to the feature combination is specified based on each feature generated by the
素性組合せ誤差算出部34は、各素性組合せに該当する複数の検証データを特定すると、素性組合せ毎に、該当する複数の検証データに関する誤差の代表値を演算する。本実施形態では、代表値として平均値が算出されるが、代表値としては例えば中央値などであってもよい。具体的には、素性組合せ誤差算出部34は、ある素性組合せを選択し、素性生成部26から渡された各素性に基づいて、当該素性組合せに該当する複数の検証データの複数の過去データIDを特定する。次いで、誤差算出部30から渡された複数の誤差のうち、特定した複数の過去データIDに関連付けられた複数の誤差を抽出する。そして、抽出した複数の誤差の平均値を演算する。個の平均値が、当該素性組合せの誤差の平均値(以下「平均誤差」と記載する)となる。このようにして、素性組合せ誤差算出部34は、素性組合せ定義部32が定義した全ての素性組合せの平均誤差を算出する。
When the feature combination
新素性項目追加部36は、素性組合せ誤差算出部34により算出された、各素性組合せの誤差の代表値(本実施形態では平均誤差)に基づいて、素性組合せ定義部32が定義した複数の素性組合せの中から特定素性組合せを特定する。特定素性組合せの特定方法は後述するが、基本的には平均誤差が大きい素性組合せが特定素性組合せとされる。
The new feature
本実施形態においては、新素性項目追加部36は、各素性組合せの平均誤差が降順となるように複数の素性組合せに対して順位付けを行い、そのうち1位の素性組合せを特定素性組合せとする。すなわち、複数の素性組合せのうち、最も平均誤差が大きかった1つの素性組合せを特定素性組合せとする。なお、新素性項目追加部36は、上記以外の特定方法により特定素性組合せを特定するようにしてもよい。例えば、各素性組合せの平均誤差が降順となるように複数の素性組合せに対して順位付けを行った上で、当該順位付けにおいて上位にいる複数の素性組合せ(例えば1〜3位など)を特定素性組合せとしてもよい。あるいは、予め誤差閾値を設けておき、当該誤差閾値以上の平均誤差が算出された全ての素性組合せを特定素性組合せとして特定するようにしてもよい。このような特定方法を採用した場合は、複数の素性組合せが特定素性組合せとして特定され得る。
In the present embodiment, the new feature
次いで、新素性項目追加部36は、特定素性組合せに基づいて新素性項目を生成する。本実施形態では、特定素性組合せに該当するか否かという新素性項目が生成される。例えば、素性項目「月」に対する値「12」と、素性項目「週」に対する値「4」との組み合わせからなる特定素性組合せが特定された場合、新素性項目追加部36は、「12月の第4週か」という新素性項目を生成する。そして、当該新素性項目に対する取り得る値として、「1(はい)」及び「0(いいえ)」を生成する。
Next, the new feature
そして、新素性項目追加部36は、生成した新素性項目を素性定義情報22に追加する。これにより、更新素性定義情報22bが生成される。なお、複数の特定素性組合せが特定された場合は、新素性項目追加部36は、複数の特定素性組合せにそれぞれ対応する複数の新素性項目及びそれらに対する複数の取り得る値を生成し、素性定義情報22に追加する。
Then, the new feature
図7に、新素性項目が追加された更新素性定義情報22bの例が示されている。図7に示された更新素性定義情報22bは、図3に示す初期素性定義情報22aに対して、上述の例の1つの新素性項目が追加されたものである。
FIG. 7 shows an example of updated
このように、新素性項目追加部36により、初期素性定義情報22aにおいて定義されていた複数の素性項目とそれらに対する値の組合せである素性組合せから定義される新素性項目が素性定義情報22に追加される。更新素性定義情報22bに基づいて、予測部28により新予測モデルが構築された場合、当該新予測モデルは、初期素性定義情報22aに基づいて構築された旧予測モデルに対して予測精度の向上が期待されるものとなる。
In this way, the new feature
特に、多数定義され得る素性組合せの中から、平均誤差が大きい特定素性組合せに基づく新素性項目が追加されるから、新予測モデルの予測精度が旧予測モデルの予測精度を上回ることがより期待できる。例えば、初期素性定義情報22aに素性項目「月」及び「週」が含まれている場合、初期素性定義情報22aに基づく予測モデルは、月別の売上の変動と、週別の売上の変動とが別個に考慮されて構築され、特定の月と特定の週の組合せまで考慮されて構築されない。この場合、例えば、毎年恒例の特定のイベントによる特定の月の特定の週における突発的な売上の変動が、当該予測モデルにおいて好適に反映されないことになる。本実施形態によれば、例えば、素性項目「月」に対する値「12」及び素性項目「週」に対する値「4」の素性組合せに基づく新素性項目が追加されることで、予測部28は、12月の第4週にのみ発生する突発的な売り上げの変動を考慮した予測モデルを構築することができる。
In particular, since new feature items based on specific feature combinations with a large average error are added from among a large number of feature combinations that can be defined, it can be expected that the prediction accuracy of the new prediction model will exceed the prediction accuracy of the old prediction model. .. For example, when the initial
また、本実施形態における素性組合せの特定方法によれば、1回の新素性項目追加処理において1つの特定素性組合せが特定され、それにより1つの新素性項目が追加される。これにより、1回の新素性項目追加処理における素性定義情報22の変化が最小限に抑えられ、すなわち1回の新素性項目追加処理における予測モデルの変動量が最小限に抑えられる。これは、新素性項目追加処理を繰り返し行って予測モデルを繰り返し変動させていくことを前提とすると、1回の新素性項目の追加処理によって予測モデルの予測精度が向上しない場合があることに鑑みると、予測モデルの変動量を最小に抑えて徐々に変化させていくことは、予測モデルの予測精度をかえってより早期に向上させることに繋がる。
Further, according to the method for specifying the feature combination in the present embodiment, one specific feature combination is specified in one new feature item addition process, whereby one new feature item is added. As a result, the change of the
なお、新素性項目追加処理を繰り返し行う場合、2回目以降の処理においては、1回目の処理で追加された新素性項目を含む素性組わせを定義することが可能である。例えば、1回目の処理で図7に示すような更新素性定義情報22bが生成された場合、2回目の処理において、素性組合せ定義部32は、例えば、素性組合せ「12月の第4週か」に対する値「1」と、素性項目「最高気温は15度以上か」に対する値「1」との素性組合せを定義することが可能である。
When the new feature item addition process is repeated, it is possible to define a feature combination including the new feature item added in the first process in the second and subsequent processes. For example, when the updated
上述のように、更新素性定義情報22bに基づいて構築された予測モデルの予測精度は、必ずしも、初期素性定義情報22aに基づいて構築された予測モデルの予測精度より向上するとは限らない。したがって、新素性項目追加部36は、特定素性組合せに基づいて定義された新素性項目が初期素性定義情報22aに追加されることによって、予測モデルの予測精度が向上したことを確認した上で、当該新素性項目を初期素性定義情報22aに追加するようにしてもよい。具体的な処理の流れは以下の通りである。
As described above, the prediction accuracy of the prediction model constructed based on the updated
まず、新素性項目追加部36は、上述と同様の処理によって、素性組合せ定義部32が定義した複数の素性組合せの中から平均誤差が最大となる特定素性組合せを特定し、当該特定素性組合せに基づいて新素性項目を生成する。そして、新素性項目追加部36は、生成した新素性項目を素性定義情報22に仮追加する。これにより、新素性項目が仮追加された仮素性定義情報が生成される。
First, the new feature
その後、素性生成部26以下の各部は、当該仮素性定義情報を用いて上述と同様の処理を行う。具体的には、素性生成部26は、当該仮素性定義情報と過去データ群に基づいて仮素性を生成し、予測部28は、学習データ群の仮素性と売上実績値に基づいて仮予測モデルを構築し、仮予測モデルと検証データ群の仮素性に基づいて各検証データに対する予測値を算出する。誤差算出部30は、各検証データの売上実績値と、仮予測モデルを用いて予測された各売上予測値との複数の誤差を算出する。そして、誤差算出部30は、全検証データに対応する複数の誤差の平均値(以下「仮全平均誤差」と記載する)を算出する。
After that, each part below the
ここで、新素性項目追加部36は、新素性項目を生成する処理において算出された、各検証データの売上実績値と、初期素性定義情報22aに基づいて構築された予測モデルを用いて予測された各売上予測値との複数の誤差の平均値(以下「処理前全平均誤差」と記載する)と、仮全平均誤差とを比較する。仮全平均誤差が処理前全平均誤差よりも小さい場合は、新素性項目の追加により予測モデルの予測精度が向上したということだから、仮追加した当該新素性項目を正式に素性定義情報22に追加する。一方、仮全平均誤差が処理前全平均誤差以上となった場合は、新素性項目の追加により予測モデルの予測精度が低下したということだから、新素性項目追加部36は仮追加した新素性項目を削除する。つまり、当該新素性項目を素性定義情報22に追加しない。
Here, the new element
以下、図8に示すフローチャートに従って、本実施形態に係る情報処理装置10の処理の流れを説明する。
Hereinafter, the processing flow of the
ステップS10において、ユーザは、過去データDB20に過去データ群を格納すると共に、初期素性定義情報22aを記憶部12に記憶させる。
In step S10, the user stores the past data group in the
ステップS12において、過去データ分類部24は、過去データDB20に格納された過去データ群を学習データ群と検証データ群とに分類する。
In step S12, the past
ステップS14において、素性生成部26は、初期素性定義情報22aに基づいて、ステップS10で過去データDB20に格納された各過去データについて、複数の素性項目と各素性項目に対する複数の値からなる素性を生成する。
In step S14, the
ステップS16において、予測部28は、ステップS14で学習データ群に基づいて生成された各素性と、各学習データに含まれる売上実績値とに基づいて、予測モデルを構築する。
In step S16, the
ステップS18において、予測部28は、ステップS16で構築した予測モデルと、ステップS14で検証データ群に基づいて生成された各素性とに基づいて、各検証データに対する売上予測値を予測する。
In step S18, the
ステップS20において、誤差算出部30は、各検証データについて、売上実績値と、ステップS18で算出された売上予測値との誤差を算出する。
In step S20, the
ステップS22において、誤差算出部30は、今回のステップS20で算出された全検証データについての複数の誤差の平均値(以下「今回全平均誤差」と記載する)が、前回のステップS20で算出された全検証データについての複数の誤差の平均値(以下「前回全平均誤差」と記載する)よりも小さく、且つ、今回全平均誤差と前回全平均誤差との差分が閾値以下であるか否かを判断する。当該条件を満たす場合は処理を終了し、満たさない場合はステップS24に進む。今回は、初回処理のため、前回平均誤差の値が存在しないことから、ステップS24へ進む。ステップS22の詳細については後述する。
In step S22, the
ステップS24において、素性組合せ定義部32は、初期素性定義情報22aに基づいて、複数の素性項目と、当該複数の素性項目に対する複数の値からなる複数の素性組合せを定義する。
In step S24, the feature
ステップS26において、素性組合せ誤差算出部34は、ステップS24で定義された素性組合せについて、ステップS20で算出された各検証データに対応する複数の誤差のうち、当該素性組合せに該当する複数の検証データについての複数の誤差を抽出し、抽出した複数の誤差の平均値(平均誤差)を算出する。これをステップS24で定義された各素性組合せについて行い、各素性組合せに対応する平均誤差が算出される。
In step S26, the feature combination
ステップS28において、新素性項目追加部36は、ステップS24において定義された複数の素性組合せのうち、ステップS26で算出された平均誤差が最大である素性組合わせを特定する。そして、特定された素性組合わせに基づいて、新素性項目及び当該新素性項目に対する取り得る値を生成する。
In step S28, the new feature
ステップS30において、新素性項目追加部36は、ステップS28で生成された新素性項目及び当該新素性項目に対する取り得る値を素性定義情報22に追加する。これにより、更新素性定義情報22bが生成される。
In step S30, the new feature
ステップS30の処理後、再度ステップS14へ戻り、再度のステップS14において、素性生成部26は、ステップS30で生成された更新素性定義情報22bに基づいて、各過去データについて新たな素性を生成する。以後、再度ステップS16からステップS22まで、新たな素性に基づいて、同様の処理が行われる。
After the processing of step S30, the process returns to step S14 again, and in step S14 again, the
このように、本実施形態では、ステップS14からステップS30の処理が繰り返され、素性定義情報22に順次新素性項目が追加されていく。これにより、予測部28が構築する予測モデルの予測精度が順次向上していくことが期待される。
As described above, in the present embodiment, the processes of steps S14 to S30 are repeated, and new feature items are sequentially added to the
ステップS22に示されている条件が、当該繰り返し処理の終了条件となっている。上述の通り、ステップS22の条件は、今回全平均誤差が前回全平均誤差よりも小さく、且つ、今回全平均誤差と前回全平均誤差との差分が閾値以下であるか否かという条件である。換言すれば、今回全平均誤差は前回全平均誤差よりも小さくなったが、全平均誤差が前回に対してあまり変わらなくなった場合に、繰り返し処理を終了する。 The condition shown in step S22 is the end condition of the iterative process. As described above, the condition of step S22 is whether or not the current total average error is smaller than the previous total average error and the difference between the current total average error and the previous total average error is equal to or less than the threshold value. In other words, the total average error this time is smaller than the previous total average error, but when the total average error does not change much from the previous time, the iterative process ends.
これは、新素性項目追加処理の繰り返し回数と全平均誤差との関係は、一般に図9に示す関係を有していることに基づくものである。図9に示すように、新素性項目追加処理の繰り返し回数が比較的少ないときは、1回の新素性項目追加処理によって全平均誤差が比較的大きく減少するが、新素性項目追加処理の繰り返し回数が比較的多くなってくると、1回の新素性項目追加処理によって全平均誤差があまり変わらなくなってくる。したがって、今回全平均誤差と前回全平均誤差との差分が閾値以下となったときは、全平均誤差がそれ以上劇的に減少しないと判断できることから、新素性項目追加処理の繰り返し処理を終了する。 This is based on the fact that the relationship between the number of repetitions of the new feature item addition process and the total average error generally has the relationship shown in FIG. As shown in FIG. 9, when the number of repetitions of the new feature item addition process is relatively small, the total average error is relatively greatly reduced by one new feature item addition process, but the number of repetitions of the new feature item addition process is relatively small. When the number of new features becomes relatively large, the total average error does not change much by one new feature item addition process. Therefore, when the difference between the total average error this time and the total average error last time is less than the threshold value, it can be judged that the total average error does not decrease dramatically, and the iterative processing of the new feature item addition process is terminated. ..
なお、新素性項目追加処理の繰り返し処理の終了条件としては、上記以外の条件を採用することもできる。例えば、素性定義情報22に含まれる素性項目の数が所定数に達したことを条件としてもよいし、新素性項目追加処理の繰り返し処理の回数が所定回数に達したことを条件としてもよい。
Conditions other than the above can be adopted as the end condition of the iterative process of the new feature item addition process. For example, it may be a condition that the number of feature items included in the
<第2実施形態>
第2実施形態は、第1実施形態を基本としながらも、第1実施形態に比して素性組合せ定義部32の処理内容が異なるものである。第1実施形態においては、素性組合せ定義部32は、素性定義情報22が有する素性項目と取り得る値との間で実現可能な組み合わせの全てを定義していた。これによれば、全ての素性組合せを漏れなく特定素性組合せの候補とすることができる一方、定義される素性組合せの数が膨大になる場合があり、素性組合せ定義部32、素性組合せ誤差算出部34、あるいは新素性項目追加部36の処理量が多くなってしまう場合がある。
<Second Embodiment>
Although the second embodiment is based on the first embodiment, the processing content of the feature
このことに鑑み、第2実施形態においては、素性組合せ定義部32が、平均誤差が大きくなる可能性が低い素性組合せを定義しないことで、定義される素性組合せの数が低減される。これにより、新素性項目追加処理における処理量が低減される。以下、第2実施形態における素性組合せ定義部32の処理について説明する。
In view of this, in the second embodiment, the feature
まず、第2実施形態においては、素性定義情報22において、複数の素性項目間において階層関係を定義しておく。当該階層関係の定義は、予めユーザなどによって行われてよい。
First, in the second embodiment, the
図10に、本実施形態における階層関係の例が示されている。図10の例では、第1層として素性項目「年」、第2層として素性項目「月」、第3層として素性項目「週」、第4層として素性項目(曜日)が定義されている。このように、複数の素性項目間における階層関係は、各素性項目の実際の概念に即した階層となっている。もちろん、図10に示した階層関係は一例であり、複数の素性項目間における階層関係は様々な態様で定義することができる。 FIG. 10 shows an example of the hierarchical relationship in this embodiment. In the example of FIG. 10, the feature item "year" is defined as the first layer, the feature item "month" is defined as the second layer, the feature item "week" is defined as the third layer, and the feature item (day of the week) is defined as the fourth layer. .. In this way, the hierarchical relationship between the plurality of feature items is a hierarchy that matches the actual concept of each feature item. Of course, the hierarchical relationship shown in FIG. 10 is an example, and the hierarchical relationship between a plurality of feature items can be defined in various ways.
素性組合せ定義部32は、素性定義情報22において定義された階層関係に基づいて、素性組合せを定義する。具体的には、まず、素性組合せ定義部32は、素性組合せに含まれる一方の素性項目を選択する。次いで、階層関係において、当該一方の素性項目が属する層に隣接する層に属する素性項目を他方の素性項目として選択する。そして、当該一方の素性項目(及び当該素性項目に対する値)と、当該他方の素性項目(及び当該素性項目に対する値)とを組み合わせて素性組合せを定義する。換言すれば、第2実施形態においては、素性組合せ定義部32は、一方の素性項目と、当該一方の素性項目が属する層に隣接しない層に属する素性項目との素性組合せは定義しない。
The feature
図10の例を用いて説明する。素性組合せ定義部32は、例えば、第1層に属する素性項目「年」と、第2層に属する素性項目「月」との素性組合せは定義するが、第1層に属する素性項目「年」と、第3層に属する素性項目「週」との素性組合せは定義しない。具体的には、素性項目「年」に対する値「2015」と、素性項目「月」に対する値「3」との素性組合せは定義するが、素性項目「年」に対する値「2015」と、素性項目「週」に対する値「4」との組み合わせは定義しない。
This will be described with reference to the example of FIG. The feature
例えば、過去データにおいて、階層が離れた項目である関連項目「年」と「週」との組み合わせが売上に特に影響を与えること(例えば2015年の毎月第4週のみ突発的に売上が変動すること)は比較的少ないと言える。したがって、互いに階層が離れた素性項目を含む素性組合せの平均誤差が大きくなる可能性は低いと言える。したがって、素性組合せ定義部32が、階層が離れた互いに階層が離れた素性項目を含む素性組合せを定義しないことによって、平均誤差が大きくなる可能性の高い素性組合せを残しつつ、定義される素性組合せの数を低減させることができる。
For example, in historical data, the combination of related items "year" and "week", which are items that are separated from each other, has a particular effect on sales (for example, sales fluctuate suddenly only in the 4th week of every month in 2015). It can be said that there are relatively few things. Therefore, it can be said that it is unlikely that the average error of the feature combinations including the feature items whose layers are separated from each other becomes large. Therefore, the feature
第2実施形態において、新素性項目が素性定義情報22に追加された場合、追加された新素性項目の階層は、当該新素性組合せに含まれる2つの素性項目のうち深い方の層とされる。例えば、第1層にある素性項目「年」に対する値「2015」と、第2層にある素性項目「月」に対する値「3」との素性組合せに基づく新素性項目「2015年の3月か」が定義された場合、当該新素性項目の階層は、第1層と第2層のうちより深い方の層である第2層となる。
In the second embodiment, when a new feature item is added to the
これにより、さらなる新素性項目の追加処理により、第2層にある素性項目「2015年の3月か」と、第3層にある素性項目「週」との素性組合せが可能になる。このようにして、階層関係に沿って、3つ以上の素性項目を含む素性組合せを定義することも可能である。 As a result, the feature item "March 2015?" In the second layer and the feature item "week" in the third layer can be combined by further additional processing of the feature item. In this way, it is also possible to define a feature combination including three or more feature items along the hierarchical relationship.
<第3実施形態>
第3実施形態は、第1実施形態を基本としながらも、第1実施形態及び第2実施形態に比して素性組合せ定義部32の処理内容が異なるものである。第1実施形態及び第2実施形態においては、素性組合せに含まれる複数の値は、同一の過去データ(注目過去データ)に関する値として定義されていた。例えば、図6に示した素性組合せP1は、ある1つの注目過去データの素性項目「月」に対する値が「12」であり、且つ、素性項目「週」に対する値が「3」である、ということを意味するものである。
<Third Embodiment>
Although the third embodiment is based on the first embodiment, the processing content of the feature
過去データ群が時系列に並ぶ複数の過去データから構成される場合、複数の過去データの関連項目に対する値を考慮して予測値を予測した方が、予測精度が向上する場合がある。本実施形態のように、過去データ群が日々蓄積される複数の過去データから構成される場合、例えば、予測対象日の前日が休日か平日か、あるいは、予測対象日の後日が休日か平日かなどが、予測対象日の売上予測に影響する場合がある。このような場合は、例えば予測対象日の前日あるいは後日が休日が否かということを含めて考慮して予測モデルを構築することで、当該予測モデルの予測精度をより向上させることができる。 When the past data group is composed of a plurality of past data arranged in a time series, the prediction accuracy may be improved by predicting the predicted value in consideration of the values for the related items of the plurality of past data. When the past data group is composed of a plurality of past data accumulated daily as in the present embodiment, for example, whether the day before the forecast target date is a holiday or a weekday, or the day after the forecast target date is a holiday or a weekday. Etc. may affect the sales forecast on the forecast target date. In such a case, the prediction accuracy of the prediction model can be further improved by constructing the prediction model in consideration of whether or not the day before or after the prediction target day is a holiday.
このことに鑑み、第3実施形態においては、素性組合せ定義部32は、素性定義情報22において定義された素性項目群から選択された素性項目に対する、注目過去データに関する値と、同じく素性項目群から選択された素性項目に対する、当該注目過去データとは異なる過去データに関する値とを含む素性組合せを定義する。
In view of this, in the third embodiment, the feature
例えば、第3実施形態において、素性組合せ定義部32は、素性項目「休日か平日か」に対する注目過去データ(当日)の値「0(平日)」、素性項目「休日か平日か」に対する前日の値「1(平日)」という素性組合せを定義する。また、素性組合せに含まれる2つの素性項目が同一である必要はなく、例えば、素性項目「休日か平日か」に対する当日の値「0(平日)」、素性項目「曜日」に対する前日の値「1(日曜)」という素性組合せを定義するようにしてもよい。また、素性組合せに含まれる複数の値は、時系列において連続する過去データの値に関するものである必要はなく、当日の値と、例えば2日前、1週間前などの値であってもよい。
For example, in the third embodiment, the feature
このような素性組合せが定義され、素性組合せ誤差算出部34により当該素性組合せに対する平均誤差が最大となれば、当該素性組合せに基づく新素性項目「当日が平日で前日が休日か」などが素性定義情報22に追加される。これにより、予測部28は、「当日が平日で前日が休日か」など、複数の過去データにおける関連項目に対する値を考慮した、より予測精度が向上した予測モデルを構築することができる。
If such a feature combination is defined and the average error for the feature combination is maximized by the feature combination
<第4実施形態>
第4実施形態は、第1実施形態を基本としながらも、素性定義情報22で定義された各素性項目についての、対象項目(本実施形態では売上)の予測値に対して与える影響の大きさを示す寄与度に基づく処理が行われる点において第1実施形態と異なるものである。
<Fourth Embodiment>
Although the fourth embodiment is based on the first embodiment, the magnitude of the influence on the predicted value of the target item (sales in this embodiment) for each feature item defined in the
各素性項目に対する寄与度は、予測部28により算出される。寄与度算出の基本的な方法は以下の通りである。まず、予測部28は、上述の通り、素性生成部26が生成した学習データ群に関する素性群と、学習データ群に含まれる売上実績値に基づいて予測モデルを構築し、当該予測モデルと、検証データに関する素性に基づいて、当該検証データに対する売上予測値を算出する。次いで、当該検証データに関する素性において、注目素性項目に対する値をランダムに変更して変更素性を生成する。そして、予測部28は、予測モデルと変更素性に基づいて、当該検証データに対する売上予測値を算出する。ここで算出された、変更素性に基づく売上予測値と、事前に算出された売上予測値との差が大きい程、注目素性項目の寄与度が高い、ということになる。したがって、予測部28は、変更素性に基づく売上予測値と、事前に算出された売上予測値との差が大きい程、当該注目素性項目の寄与度を高く算出する。
The degree of contribution to each feature item is calculated by the
このような処理によって、素性定義情報22に各素性項目の寄与度を示す情報が付され、寄与度付素性定義情報22−2が生成される。図11に、寄与度付素性定義情報22−2の例が示されている。
By such processing, information indicating the contribution degree of each feature item is attached to the
素性組合せ定義部32は、各素性項目の寄与度に基づいて素性組合せを生成する。具体的には、予め寄与度閾値を定めておき、素性組合せを定義するにあたり、寄与度が当該寄与度閾値以下である素性項目を選択しないようにする。寄与度が低い素性項目を含む素性組合せについて、素性組合せ誤差算出部34が平均誤差を算出した場合、当該平均誤差が大きくなる可能性は低いといえる。したがって、寄与度閾値以下の素性項目を含む素性組合せを定義しないことによって、平均誤差が大きくなる可能性の高い素性組合せを残しつつ、定義される素性組合せの数を低減させることができる。
The feature
また、第1実施形態では、新素性項目追加部36は、各素性組合せについて算出された平均誤差に基づいて、特定素性組合せを特定していたが、第4実施形態では、さらに、各素性組合せに含まれる素性項目の寄与度に基づいて、特定素性組合せを特定する。例えば、ある素性組合せの平均誤差と、当該素性組合せに含まれる複数の素性項目についての複数の寄与度の平均値又は合算値との積を、当該素性組合せの指標値として算出する。そして、各素性組合せについて算出された指標値に基づいて特定素性組合せを特定する。指標値に基づく特定素性組合せ方法としては、例えば、複数の素性組合せのうち、指標値が最大の素性組合せを特定素性組合せとしてもよいし、各素性組合せの指標値が降順となるように複数の素性組合せに対して順位付けを行った上で、当該順位付けにおける上位にある複数の素性組合せ(例えば1〜3位など)を特定素性組合せとしてもよいし、予め指標閾値を設けておき、当該指標閾値以上の指標値が算出された全ての素性組合せを特定素性組合せとしてもよい。
Further, in the first embodiment, the new feature
寄与度を考慮して特定素性組合せを特定することで、寄与度が高い素性項目を含む素性組合せに基づいて生成された新素性項目が素性定義情報22に追加され易くなる。これにより、予測部28により構築される予測モデルの予測精度がより向上され得る。
By specifying the specific feature combination in consideration of the contribution degree, the new feature item generated based on the feature combination including the feature item having a high contribution degree can be easily added to the
以上、本発明に係る実施形態を説明したが、本発明は上記実施形態に限られるものではなく、本発明の趣旨を逸脱しない限りにおいて種々の変更が可能である。 Although the embodiments according to the present invention have been described above, the present invention is not limited to the above-described embodiments, and various modifications can be made without departing from the spirit of the present invention.
10 情報処理装置、12 記憶部、14 制御部、20 過去データDB、22 素性定義情報、24 過去データ分類部、26 素性生成部、28 予測部、30 誤差算出部、32 素性組合せ定義部、34 素性組合せ誤差算出部、36 新素性項目追加部。 10 Information processing device, 12 Storage unit, 14 Control unit, 20 Past data DB, 22 Feature definition information, 24 Past data classification unit, 26 Feature generation section, 28 Prediction section, 30 Error calculation section, 32 Feature combination definition section, 34 Feature combination error calculation unit, 36 new feature item addition section.
Claims (7)
前記各検証データそれぞれについて、前記予測部が予測した各予測値と、前記対象項目に対する実績値との誤差を算出する誤差算出部と、
前記素性定義情報に含まれる素性項目群から選択された複数の素性項目と、当該複数の素性項目に対する値からなる複数の素性組合せそれぞれについて、前記素性組合せに該当する複数の検証データに関する複数の前記誤差の代表値を算出する素性組合せ誤差算出部と、
前記複数の素性組合せの中から、各素性組合せに対応する前記誤差の代表値に基づいて特定された、特定素性組合せにより定義される新素性項目を生成し、前記素性定義情報に追加する新素性項目追加部と、
を備えることを特徴とする情報処理装置。 A training data group that is a part of a past data group including past actual values for a target item to be predicted and a related item group related to the target item, and a candidate for an item to be used for prediction among the related item groups. A prediction unit that predicts each predicted value for the target item of each verification data that is a part of the past data group and is the target of verification, based on the prescriptive definition information in which the predisposition item group is defined.
For each of the verification data, an error calculation unit that calculates an error between each prediction value predicted by the prediction unit and an actual value for the target item, and
For each of the plurality of feature items selected from the feature item group included in the feature definition information and the plurality of feature combinations consisting of the values for the plurality of feature items, the plurality of verification data corresponding to the feature combination are described above. The feature combination error calculation unit that calculates the representative value of the error, and the feature combination error calculation unit.
From the plurality of feature combinations, a new feature item defined by the specific feature combination specified based on the representative value of the error corresponding to each feature combination is generated and added to the feature definition information. Item addition part and
An information processing device characterized by being equipped with.
ことを特徴とする請求項1に記載の情報処理装置。 In the new feature item addition unit, after the new feature item is specified, the average value of the errors related to the verification data group calculated based on the pseudo-feature definition information to which the new feature item is provisionally added is the new feature. The new feature item is added to the feature definition information when it is smaller than the average value of the errors related to the verification data group calculated based on the feature definition information before the item is provisionally added.
The information processing apparatus according to claim 1.
前記素性組合せ誤差算出部は、一方の素性項目と、前記階層関係において当該一方の素性項目が属する階層に隣接する層に属する他方の素性項目とを組み合わせて前記素性組合せを定義する、
ことを特徴とする請求項1に記載の情報処理装置。 A plurality of feature items included in the feature item group have a hierarchical relationship.
The feature combination error calculation unit defines the feature combination by combining one feature item and the other feature item belonging to a layer adjacent to the layer to which the one feature item belongs in the hierarchical relationship.
The information processing apparatus according to claim 1.
前記素性組合せには、前記素性項目群から選択された素性項目に対する注目過去データに関する値と、前記素性項目群から選択された素性項目に対する前記注目過去データ以外の過去データに関する値とが含まれる、
ことを特徴とする請求項1に記載の情報処理装置。 The past data group is composed of a plurality of past data arranged in a time series.
The feature combination includes a value related to past data of interest for a feature item selected from the feature item group and a value related to past data other than the past data of interest for a feature item selected from the feature item group.
The information processing apparatus according to claim 1.
前記素性組合せ誤差算出部は、前記素性組合せを定義するにあたり、寄与度が閾値以下である素性項目を選択しない、
ことを特徴とする請求項1に記載の情報処理装置。 The prediction unit calculates the degree of contribution indicating the magnitude of the influence of the value on each feature item on the value of the target item for each feature item included in the feature item group.
In defining the feature combination, the feature combination error calculation unit does not select a feature item whose contribution is equal to or less than the threshold value.
The information processing apparatus according to claim 1.
ことを特徴とする請求項5に記載の情報処理装置。 The new feature item addition unit identifies the specific feature combination based on the representative value of the error corresponding to each feature combination and the contribution of a plurality of feature items included in each feature combination.
The information processing apparatus according to claim 5.
予測の対象となる対象項目及び前記対象項目に関連する関連項目群、に対する過去の実績値を含む過去データ群の一部である学習データ群と、前記過去データ群の一部である検証データ群の前記関連項目群に対する各値と、前記関連項目群のうち予測に用いる項目の候補である素性項目群が定義された素性定義情報とに基づいて、前記検証データ群に含まれる各検証データの前記過去データ群の一部であり検証の対象となる各検証データの対象項目に対する各予測値を予測する予測部と、
前記各検証データそれぞれについて、前記予測部が予測した各予測値と、前記対象項目に対する実績値との誤差を算出する誤差算出部と、
前記素性定義情報に含まれる素性項目群から選択された複数の素性項目と、当該複数の素性項目に対する値からなる複数の素性組合せそれぞれについて、前記素性組合せに該当する複数の検証データに関する複数の前記誤差の代表値を算出する素性組合せ誤差算出部と、
前記複数の素性組合せの中から、各素性組合せに対応する前記誤差の代表値に基づいて特定された、特定素性組合せにより定義される新素性項目を生成し、前記素性定義情報に追加する新素性項目追加部と、
として機能させることを特徴とする情報処理プログラム。 Computer,
A training data group that is a part of a past data group including past actual values for a target item to be predicted and a related item group related to the target item, and a verification data group that is a part of the past data group. The verification data included in the verification data group is based on the respective values for the related item group and the identity definition information in which the identity item group that is a candidate for the item used for prediction in the related item group is defined. A prediction unit that predicts each predicted value for the target item of each verification data that is a part of the past data group and is the target of verification, and
For each of the verification data, an error calculation unit that calculates an error between each prediction value predicted by the prediction unit and an actual value for the target item, and
For each of the plurality of feature items selected from the feature item group included in the feature definition information and the plurality of feature combinations consisting of the values for the plurality of feature items, the plurality of verification data corresponding to the feature combination are described above. The feature combination error calculation unit that calculates the representative value of the error, and the feature combination error calculation unit.
From the plurality of feature combinations, a new feature item defined by the specific feature combination specified based on the representative value of the error corresponding to each feature combination is generated and added to the feature definition information. Item addition part and
An information processing program characterized by functioning as.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017089817A JP6972641B2 (en) | 2017-04-28 | 2017-04-28 | Information processing equipment and information processing programs |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017089817A JP6972641B2 (en) | 2017-04-28 | 2017-04-28 | Information processing equipment and information processing programs |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018190044A JP2018190044A (en) | 2018-11-29 |
JP6972641B2 true JP6972641B2 (en) | 2021-11-24 |
Family
ID=64479991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017089817A Active JP6972641B2 (en) | 2017-04-28 | 2017-04-28 | Information processing equipment and information processing programs |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6972641B2 (en) |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09134289A (en) * | 1995-11-08 | 1997-05-20 | Toshiba Corp | Inductive inference device provided with inference model update function and inference model update method for inductive inference device |
JP2003168064A (en) * | 2001-12-03 | 2003-06-13 | Japan Inst Of Systems Research | Method for analyzing relation between elements and computer utilizing the method |
JP4890806B2 (en) * | 2005-07-27 | 2012-03-07 | 富士通株式会社 | Prediction program and prediction device |
JP5011830B2 (en) * | 2006-06-09 | 2012-08-29 | 富士通セミコンダクター株式会社 | DATA PROCESSING METHOD, DATA PROCESSING PROGRAM, RECORDING MEDIUM CONTAINING THE PROGRAM, AND DATA PROCESSING DEVICE |
JP5130851B2 (en) * | 2007-09-27 | 2013-01-30 | 富士通株式会社 | Model creation support system, model creation support method, model creation support program |
JP2011095946A (en) * | 2009-10-29 | 2011-05-12 | Mitsubishi Electric Corp | Prediction error-evaluating device, prediction error-evaluating method, and prediction error-evaluating program |
JP2016004525A (en) * | 2014-06-19 | 2016-01-12 | 株式会社日立製作所 | Data analysis system and data analysis method |
JP6554828B2 (en) * | 2015-03-06 | 2019-08-07 | 富士通株式会社 | Information processing apparatus, information processing method, and program |
JP6384590B2 (en) * | 2015-03-26 | 2018-09-05 | 日本電気株式会社 | Learning model generation system, method and program |
US10592817B2 (en) * | 2015-07-13 | 2020-03-17 | International Business Machines Corporation | Parameter-dependent model-blending with multi-expert based machine learning and proxy sites |
-
2017
- 2017-04-28 JP JP2017089817A patent/JP6972641B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2018190044A (en) | 2018-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6344395B2 (en) | Payout amount prediction device, payout amount prediction method, program, and payout amount prediction system | |
Venkatesh et al. | Cash demand forecasting in ATMs by clustering and neural networks | |
CN108320171B (en) | Hot-sold commodity prediction method, system and device | |
JP6459968B2 (en) | Product recommendation device, product recommendation method, and program | |
CN109685583B (en) | Supply chain demand prediction method based on big data | |
Aghdaie et al. | Synergies of data mining and multiple attribute decision making | |
JP6344396B2 (en) | ORDER QUANTITY DETERMINING DEVICE, ORDER QUANTITY DETERMINING METHOD, PROGRAM, AND ORDER QUANTITY DETERMINING SYSTEM | |
US11151480B1 (en) | Hyperparameter tuning system results viewer | |
WO2012045496A2 (en) | Probabilistic data mining model comparison engine | |
WO2020198520A1 (en) | Process and system including an optimization engine with evolutionary surrogate-assisted prescriptions | |
CN107016571A (en) | Data predication method and its system | |
JP6330901B2 (en) | Hierarchical hidden variable model estimation device, hierarchical hidden variable model estimation method, payout amount prediction device, payout amount prediction method, and recording medium | |
Win et al. | Predicting customer class using customer lifetime value with random forest algorithm | |
JP2006252011A (en) | Environmental load evaluation device, environmental load evaluation method and program recording medium | |
CN115409292A (en) | Short-term load prediction method for power system and related device | |
CN116579804A (en) | Holiday commodity sales prediction method, holiday commodity sales prediction device and computer storage medium | |
CN113326432A (en) | Model optimization method based on decision tree and recommendation method | |
JP6972641B2 (en) | Information processing equipment and information processing programs | |
US11568177B2 (en) | Sequential data analysis apparatus and program | |
Kanwal et al. | An attribute weight estimation using particle swarm optimization and machine learning approaches for customer churn prediction | |
Gunjal et al. | Fusing clustering and machine learning techniques for Big-Mart sales predication | |
Rebala et al. | Clustering | |
CN113537731A (en) | Design resource capacity evaluation method based on reinforcement learning | |
CN114519073A (en) | Product configuration recommendation method and system based on atlas relation mining | |
CN114662009A (en) | Industrial internet factory collaborative recommendation algorithm based on graph convolution |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200228 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210112 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210209 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210407 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20211005 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211018 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6972641 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |