(57)【要約】  本発明は、目的変数の変動に対して寄与するその他変数の組み合わせを効率的に特定し、説明変数（要因）として抽出することを目的とする。  本発明に係る要因抽出システムは、事象変数の組み合わせとその組み合わせがイベントデータ内に存在するか否かを表す２値数とによって構成される共変複合変数を定義し、共変複合変数と目的変数との間の相関を求めることにより、寄与要因を抽出する。
2015097773.tif 000002
【特許請求の範囲】
【請求項１】
目的変数に対して寄与する要因を抽出する要因抽出システムであって、  第１構成要素と第１要素値のセットが１以上組み合わさって構成されたイベントを複数記述したイベントデータを、前記第１構成要素と前記第１要素値の第１セットを第２構成要素とし、前記第２構成要素によって表されるイベントが前記イベントデータ内に存在するか否かを２値数で表した値を第２要素値とする事象変数を記述した事象変数データへ変換する、事象変数変換部、  前記事象変数データを、前記事象変数を構成する前記第２構成要素をさらに１以上組み合わせた第２セットを第３構成要素とし、前記第３構成要素によって表されるイベントが前記イベントデータ内に存在するか否かを２値数で表した値を第３要素値とする共変複合変数を記述した共変複合変数データへ変換する、共変複合変数変換部、  前記目的変数と前記共変複合変数との間の相関を求めることにより、前記目的変数に対する前記第３構成要素の寄与度を求め、その寄与度が所定閾値以上である前記第３構成要素を出力する寄与変数選択部、  を備えることを特徴とする要因抽出システム。
【請求項２】
前記共変複合変数変換部は、前記第２構成要素と前記第３構成要素との間の相関関係を前記イベントデータに基づき機械学習し、前記第２構成要素に対する相関度が所定閾値以上である前記第３構成要素を特定することにより、前記第２構成要素と前記第２要素値のセットを前記第３構成要素と前記第３要素値のセットに変換する  ことを特徴とする請求項１記載の要因抽出システム。
【請求項３】
前記事象変数変換部は、前記イベントデータが記述している全ての前記イベントについて前記第１構成要素と前記第１要素値を取得することにより、前記イベントデータ内に存在する前記第１構成要素と前記第１要素値との組み合わせを全て抽出し、その抽出した全ての組み合わせを前記第２構成要素として前記事象変数を生成する  ことを特徴とする請求項１記載の要因抽出システム。
【請求項４】
前記事象変数変換部は、    前記イベントデータが記述している前記第１要素値が数値である場合は、前記数値に対応する前記第１構成要素を複数の数値範囲に分割することにより、前記イベントデータを前記第１構成要素と前記数値範囲との組み合わせに変換し、    さらに前記数値が前記複数の数値範囲のいずれに含まれるかを判定することにより、前記数値を前記第２構成要素と前記第２要素値の組み合わせに変換する  ことを特徴とする請求項３記載の要因抽出システム。
【請求項５】
前記事象変数変換部は、    前記イベントデータが記述している前記第１要素値が文字列である場合は、前記イベントデータ内に存在する前記文字列を全て抽出することにより、前記イベントデータを前記第１構成要素と前記文字列との組み合わせに変換し、    さらに前記第１構成要素と前記文字列との組み合わせが前記イベントデータ内に含まれるか否かを判定することにより、前記文字列を前記第２構成要素と前記第２要素値の組み合わせに変換する  ことを特徴とする請求項３記載の要因抽出システム。
【請求項６】
前記共変複合変数変換部は、前記事象変数データが記述している前記第２構成要素が、１つの前記イベント内における被測定物の移動軌跡を表している場合は、前記事象変数データが記述している全ての前記移動軌跡を前記第３構成要素として採用する  ことを特徴とする請求項１記載の要因抽出システム。
【請求項７】
前記要因抽出システムはさらに、前記寄与変数選択部が選択した前記第３構成要素を出力する要因ラベル出力部を備える  ことを特徴とする請求項１記載の要因抽出システム。
【請求項８】
前記要因抽出システムはさらに、前記寄与変数選択部が選択した前記第３構成要素を出力する要因ラベル出力部を備え、  前記要因ラベル出力部は、前記第３構成要素が前記移動軌跡を表している場合は、その移動軌跡を画像化したものを前記第３構成要素として出力する  ことを特徴とする請求項６記載の要因抽出システム。
【請求項９】
前記共変複合変数変換部は、１以上の前記第２構成要素と前記第３構成要素との間の第１結合度を、前記前記第２構成要素から前記第３構成要素を学習する過程において機械学習するとともに、前記第３構成要素から前記第２構成要素を逆学習する過程において前記第３構成要素と前記第２構成要素との間の第２結合度を機械学習することを繰り返すことにより、前記事象変数データを前記共変複合変数データへ変換する  ことを特徴とする請求項１記載の要因抽出システム。
【請求項１０】
前記共変複合変数変換部は、前記第２結合度を機械学習する過程において、前記第２結合度の値を所定規則にしたがって減算することにより、前記減算を実施しない場合と比較して、前記第３構成要素と結合する前記第２構成要素の個数を削減する  ことを特徴とする請求項９記載の要因抽出システム。
【請求項１１】
目的変数に対して寄与する要因を抽出する要因抽出方法であって、  第１構成要素と第１要素値のセットが１以上組み合わさって構成されたイベントを複数記述したイベントデータを、前記第１構成要素と前記第１要素値の第１セットを第２構成要素とし、前記第２構成要素によって表されるイベントが前記イベントデータ内に存在するか否かを２値数で表した値を第２要素値とする事象変数を記述した事象変数データへ変換する、事象変数変換ステップ、  前記事象変数データを、前記事象変数を構成する前記第２構成要素をさらに１以上組み合わせた第２セットを第３構成要素とし、前記第３構成要素によって表されるイベントが前記イベントデータ内に存在するか否かを２値数で表した値を第３要素値とする共変複合変数を記述した共変複合変数データへ変換する、共変複合変数変換ステップ、  前記目的変数と前記共変複合変数との間の相関を求めることにより、前記目的変数に対する前記第３構成要素の寄与度を求め、その寄与度が所定閾値以上である前記第３構成要素を出力する寄与変数選択ステップ、  を有することを特徴とする要因抽出方法。
【発明の詳細な説明】
【技術分野】
【０００１】  イベントの構成要素について記述したイベントデータから、目的変数に寄与する説明変数を抽出するための技術に関する。
【背景技術】
【０００２】  近年、ＢＩＧＤＡＴＡと呼ばれる社会の大量の情報を有効活用して、これまで人が勘と経験で実施してきた意思決定を支援するシステムの開発が急速に発展してきている。これら意思決定支援システムの多くは、ユーザが着目する目的変数（例えば店舗売上などのユーザが操作したいと考えている変数）の変動に対して寄与する変数（説明変数）が何であるかをデータの中から見つけ出すことを基本機能としている。【０００３】  本技術分野の背景技術として、例えば下記特許文献１がある。同文献においては、目的変数に対する説明変数の寄与度を計算することにより、目的変数に対して効果的に寄与する説明変数を特定している。寄与度を計算する手法としては、重回帰分析（ＭＲ：Ｍｕｌｔｉｐｌｅ  Ｒｅｇｒｅｓｓｉｏｎ  Ａｎａｌｙｓｉｓ）や部分最小二乗回帰分析（ＰＬＳ：Ｐａｒｔｉａｌ  Ｌｅａｓｔ  Ｓｑｕａｒｅｓ  Ｒｅｇｒｅｓｓｉｏｎ  Ａｎａｌｙｓｉｓ）を用いている。【０００４】  説明変数は通常、イベントの構成要素とその要素値を記述したイベントデータを蓄積するデータテーブルから抽出される。しかし必ずしもテーブルに蓄積された変数そのものではなく、テーブルに蓄積された変数に対して何らかの処理を施して作成した変数を新たな説明変数とすることもある。これにより例えば、元の変数とは時間的・空間的縮尺の異なる新たな説明変数を自動生成し、利用者の負担なく様々な観点で意思決定しやすい要因を抽出することができる。【０００５】  下記特許文献２においては、テーブルに蓄積された変数を元にして、事前に定めたルール・集計方法にしたがって新たな変数を作成し、それを新たに説明変数として追加している。ルール・集計方法の例として、時系列を表す変数があれば１時間ごとに纏めて平均をとる集約演算などがある。同文献においては上記のように説明変数を追加した後、目的変数に対する説明変数の寄与度を計算することにより、目的変数に対して効果的に寄与する説明変数を特定している。【０００６】  下記特許文献３においては、ある目的変数（プラントの運転指標変数）の値を説明変数群（プラントの運転条件変数）の値によって予測する際に、説明変数同士が持つ相関関係を保ったまま、目的変数の値を予測している。具体的には、（ａ）一般に多変量解析において広く用いられている線形変換方式である、主成分回帰分析（ＰＣＲ：Ｐｒｉｎｃｉｐａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｒｅｇｒｅｓｓｉｏｎ  Ａｎａｌｙｓｉｓ）もしくは部分最小二乗回帰分析を用いることにより、説明変数群を互いに無相関かつ元の説明変数の数より少ない成分へ変換する工程、（ｂ）成分の値から目的変数の値を予測する（重回帰分析などを用いる）工程、（ｃ）成分の値から説明変数群の値を予測する工程、を実施している。これら工程により、目的変数の値が最適化されるときの説明変数群の値を求めている。【０００７】  下記非特許文献１は、本発明に関連して後述する学習手法について記載している。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００６−３１８２６３号公報
【特許文献２】特開２０１２−２７８８０号公報
【特許文献３】特開２０１２−７４００７号公報
【非特許文献】
【０００９】
【非特許文献１】Y. Bengio、A. Courville、P. Vincent、 “Representation Learning: A Review and New Perspectives”、IEEE Transactions on Pattern Analysis and Machine Intelligence、Vol. 35、No. 8、pp. 1798-1828、2013
【発明の概要】
【発明が解決しようとする課題】
【００１０】  データの分析により人の意思決定を支援する用途において、特許文献１〜３に記載されている技術を適用する場合、目的変数に対して寄与する説明変数を１つずつしか抽出できないという課題がある。【００１１】  例えば特許文献１〜３記載の方法の場合、説明変数の寄与度を求めるにあたって、（ａ）目的変数と単一の説明変数との間の線形関係を求める方式、または、（ｂ）目的変数と説明変数群との間の線形結合関係を求める方式を用いている。換言すると前者は、目的変数ｙと説明変数ｘに対して、ある係数ａを用いて、ｙ＝ａｘのように目的変数と説明変数との間の数量関係を表している。後者は、目的変数ｙと説明変数のベクトルＸ＝（ｘ１，ｘ２，・・・ｘＮ）に対して、あるベクトルＰ＝（ｐ１，ｐ２，・・・ｐＮ）を用いてｙ＝ＰＸ（ｙ＝ｐ１ｘ１＋ｐ２ｘ２＋・・・＋ｐＮｘＮ）のように、目的変数と説明変数群との間の数量関係を表している。前者の代表的な解析手法例は単回帰分析であり、後者の代表的な解析手法例は重回帰分析や主成分回帰分析や部分最小二乗回帰分析である。この場合、ａやｐ１，・・・ｐＮなどの係数が大きな値となる説明変数が、目的変数に対して効果的に寄与する説明変数であることになる。【００１２】  上記のような目的変数と説明変数との間の線型結合関係を求める方式を用いる方式においては、目的変数の変動に対して複数の説明変数の組み合わせ効果が寄与している場合、その組み合わせを特定することが困難である。説明変数の組み合わせをユーザが手動で作成してその組み合わせの寄与度を求めることも考えられるが、説明変数の候補数が大きくなるとその組み合わせ総数は飛躍的に増加し、現実的には不可能であると考えられる。【００１３】  本発明は、上記のような課題を解決するためになされたものであり、目的変数の変動に対して寄与するその他変数の組み合わせを効率的に特定し、説明変数（要因）として抽出することを目的とする。
【課題を解決するための手段】
【００１４】  本発明に係る要因抽出システムは、事象変数の組み合わせとその組み合わせがイベントデータ内に存在するか否かを表す２値数とによって構成される共変複合変数を定義し、共変複合変数と目的変数との間の相関を求めることにより、寄与要因を抽出する。
【発明の効果】
【００１５】  本発明に係る要因抽出システムによれば、目的変数に対して効果的に寄与する複数の説明変数の組み合わせを自動的に特定することができる。
【図面の簡単な説明】
【００１６】
【図１】従来方式において、目的変数に対して寄与する説明変数を抽出する方法を模式的に示した図である。
【図２】本発明に係る要因抽出システムの処理概要を説明する図である。
【図３】実施形態１に係る要因抽出システム３００の構成図である。
【図４】イベントデータテーブル３０１の構成とデータ例を示す図である。
【図５】事象変数テーブル３０４の構成とデータ例を示す図である。
【図６】共変複合変数テーブル３０７の構成とデータ例を示す図である。
【図７】目的変数テーブル３０２の構成とデータ例を示す図である。
【図８】寄与変数テーブル３０９の構成とデータ例を示す図である。
【図９Ａ】要因ラベル３１１の例を示す図である。
【図９Ｂ】事象変数テーブル３０４と目的変数テーブル３０２との間の対応関係を示す図である。
【図９Ｃ】事象変数テーブル３０４と要因ラベル画像９２１との間の対応関係について説明する図である。
【図１０】事象変数変換部３０３の詳細構成図である。
【図１１Ａ】イベントデータテーブル３０１と事象変数テーブル３０４との間の対応関係を例示する図である。
【図１１Ｂ】イベントデータテーブル３０１と事象変数テーブル３０４との間の対応関係を示す別例である。
【図１１Ｃ】イベントデータテーブル３０１と事象変数テーブル３０４との間の対応関係を示す別例である。
【図１２】事象変数変換部３０３がイベントデータテーブル３０１を事象変数テーブル３０４に変換する処理のフローチャートである。
【図１３Ａ】共変複合ネットワーク１３０１の構成を示す図である。
【図１３Ｂ】学習後の共変複合ネットワーク１３０１の例を示す図である。
【図１４】共変複合変数生成部３０５および共変複合変数解釈部３０６の詳細構成図である。
【図１５Ａ】共変複合変数テーブル３０７のキー部３０７０が座標の組み合わせを表す文字列である例を示す。
【図１５Ｂ】キー部３０７０が人やモノを組み合わせた文字列である例を示す。
【図１５Ｃ】キー部３０７０が人やモノを組み合わせている例である。
【図１６】ＲＢＭの例を示す図である。
【図１７】共変複合変数生成部３０５が事象変数テーブル３０４を共変複合変数テーブル３０７に変換する処理のフローチャートである。
【図１８】共変複合変数解釈部３０６の処理を説明するフローチャートである。
【図１９】寄与変数選択部３０８の処理について説明するフローチャートである。
【図２０】要因ラベル出力部３１０の処理フローを示すフローチャートである。
【図２１】実施形態２における共変複合変数生成部３０５の詳細構成図である。
【発明を実施するための形態】
【００１７】＜説明変数の組み合わせ総数について＞  以下では本発明の課題に対する理解を促進するため、まず説明変数の組み合わせ総数について説明し、その後に本発明の実施形態について説明する。
【００１８】  図１は、従来方式において、目的変数に対して寄与する説明変数を抽出する方法を模式的に示した図である。図１において、目的変数１０１に対して寄与する説明変数を説明変数群１０２から抽出している。寄与度１０３は、目的変数１０１に対する各説明変数の寄与の強さを表した数値である。寄与度１０３は、単回帰分析、重回帰分析、主成分回帰分析、部分最小二乗回帰分析などによって求めることができる。図１に示す例においては、目的変数１０１に対して最も寄与する説明変数１０４が抽出されている。つまり、「１秒あたりの処理数＝係数ａ×運搬数」という線形関係の傾向が強いことを示している。
【００１９】  図１に示す方式においては、目的変数１０１の変動に対して複数の説明変数の組み合わせが寄与している場合、その組み合わせを寄与要因として抽出することができない。例えば、「運搬数と総重量がともに低いか、またはともに高い場合に、１秒あたりの処理数に変動を与えやすい」といった例がこれにあたる。このような複数の説明変数の組み合わせのうち寄与度が高いものを特定するためには、組み合わせを実際に作成して寄与度を求めることを繰り返す必要がある。
【００２０】  説明変数の総数が２〜３程度であれば、その組み合わせを手動で作成することも考えられる。しかし、説明変数の総数をＵ、組み合わせる変数の数をＶとすると、組み合わせ総数はＵＣＶであり、ＵやＶが大きくなると組み合わせを手動で作成することは現実的には不可能である（例えば、Ｕ＝１０００、Ｖ＝１０のとき、組み合わせは２．６５×１０１４通りになる）。
【００２１】  なお、ｙ＝ａ１ｘ１＋ａ２ｘ２＋ａ３ｘ３で表される線形結合は、３つの説明変数ｘ１〜ｘ３の線型結合が目的変数ｙに対して寄与していることを表しているが、これは目的変数ｙに対する説明変数ｘ１、ｘ２、ｘ３のそれぞれ寄与度をそれぞれの係数ａ１、ａ２、ａ３で表しているのであって、説明変数ｘ１、ｘ２、ｘ３の組み合わせが目的変数に寄与していることを表しているのではないことに留意されたい。
【００２２】＜実施の形態１＞  図２は、本発明に係る要因抽出システムの処理概要を説明する図である。ここでは、イベントデータ２０２がシステムに対して与えられ、指定した目的変数２０１に寄与する説明変数（寄与要因）を抽出することを想定する。
【００２３】  イベントデータ２０２は、イベントの内容を記述したデータである。イベントは、「作業開始時間」や「作業者」などの構成要素と、各構成要素の要素値（数値、文字列、符号（文字列として取り扱われる数字列）など）とのセットが１以上組み合わさって構成される。イベントデータ２０２は、１以上のイベントを例えばテーブル形式で保持する。
【００２４】  最初の工程において、システムはイベントデータ２０２を事象変数２０３に変換する。事象変数２０３は、「作業開始時間＝“ｌｏｗ”」や「作業者=“西”」などのような構成要素とその要素値のセットごとに、そのセットによって表される事象がイベントデータ２０２内に記述されている（その事象が発生した）場合は”１”、記述されていない（その事象が発生しなかった）場合は“０”を保持する。
【００２５】  次の工程において、システムは事象変数２０３を共変複合変数２０４に変換する。共変複合変数２０４は、「作業開始時間＝“ｌｏｗ”かつ作業者=“西”」などのような１以上の事象変数２０３の組み合わせについて、その組み合わせがイベントデータ２０２内に記述されている場合は“１”、記述されていない場合は“０”を保持する。
【００２６】  次の工程において、システムは目的変数２０１に対する寄与度が高い共変複合変数２０４を選択する。次の工程において、システムは選択された共変複合変数２０４を用いて、要因ラベルを出力する。ここでいう要因ラベルとは、選択した共変複合変数２０４をユーザが容易に目視確認できるようにするため、当該共変複合変数２０４が表す事象の組み合わせを文字列として表現したものである。
【００２７】  図３は、本発明の実施形態１に係る要因抽出システム３００の構成図である。要因抽出システム３００は、事象変数変換部３０３、共変複合変数生成部３０５、共変複合変数解釈部３０６、寄与変数選択部３０８、要因ラベル出力部３１０を備える。また必要に応じて、図示する各テーブルを生成し、ハードディスクなどの記憶装置に格納する。要因抽出システム３００は、イベントデータテーブル３０１を入力とし、要因ラベル３１１を出力する。以下、要因抽出システム３００の各構成要素について説明する。
【００２８】  図４は、イベントデータテーブル３０１の構成とデータ例を示す図である。イベントデータテーブル３０１は、キー部３０１０とバリュー部３０１１を有する。キー部３０１０は、各フィールド（列）の意味を表す文字列を保持する。キー部３０１０はイベントの構成要素に相当する。バリュー部３０１１は、各レコードの各フィールドの値を示す文字列、数値、符号などを保持する。バリュー部３０１１は構成要素の要素値に相当する。バリュー部３０１１の１行が１レコード（１件のイベント）に相当する。
【００２９】  図４の“滞在位置”は、複数の座標セットからなるカラムであるため、バリュー部３０１１は複数の座標値を連結した動線によって構成することができる。あるいは図４に例示するように、座標空間の全座標値をキー部３０１０において列挙しておき、作業者が動線上で通過した座標値のみ“１”とし、通過していない座標値は“０”とすることにより、同様の動線を表すことができる。以下では後者を採用し、処理の便宜上“滞在位置”についてはイベントデータテーブル３０１と事象変数テーブル３０４は同様のデータ構造となっている。
【００３０】  図５は、事象変数テーブル３０４の構成とデータ例を示す図である。事象変数変換部３０３は、イベントデータテーブル３０１を事象変数テーブル３０４に変換する。この処理の詳細については後述する。事象変数テーブル３０４は、キー部３０４０とバリュー部３０４１を有する。キー部３０４０はさらに、事象名部３０４２と事象値部３０４３を有する。
【００３１】  事象名部３０４２と事象値部３０４３は、イベントテーブル３０１におけるキー部３０１０とバリュー部３０１１の組み合わせを列挙したものである。例えば事象名部３０４２＝“作業者”と事象値部３０４３＝“平山”の組み合わせは、イベントテーブル３０１内において「作業者が平山であった」という事象が記述されていることを示す。事象名部３０４２＝“滞在位置”と事象値部３０４３＝“（１，１）”の組み合わせは、イベントテーブル３０１内において「滞在位置（１，１）を通った」という事象が記述されていることを示す。バリュー部３０４１が数値である場合は、全ての数値を列挙すると事象値部３０４３の個数が膨大になるため、バリュー部３０４１の値を適当な個数の階級に区分してもよい。図５においては、事象名部３０４２＝“作業開始時刻”については３つの区分に集約されている。この処理については後述する。
【００３２】  バリュー部３０４１は、事象名部３０４２と事象値部３０４３の組み合わせによって表される事象がイベントデータテーブル３０１内に記述されている場合は“１”を保持し、記述されていない場合は“０”を保持する。例えば図５に示す例においては、第１レコードと第４レコードは「作業者が西であった」とう事象が発生したことを示し、第２レコードと第４レコードは「作業者が平山であった」という事象が発生したことを示している。
【００３３】  図５の“滞在位置”は図４の“滞在位置”のデータ構造を前提としているので、これに準じて図４と同様のデータ構造によって記述した。これに対し図４の“滞在位置”において、先に説明したようにバリュー部３０１１が複数の座標値を連結した動線によって構成されている場合、事象値部３０４３はその動線を表す複数の座標値セットとなり、バリュー部３０４１はその動線がイベントデータテーブル３０１内に記述されているか否かを“０”または“１”によって表す。
【００３４】  図６は、共変複合変数テーブル３０７の構成とデータ例を示す図である。共変複合変数生成部３０５と共変複合変数解釈部３０６は、事象変数テーブル３０４を共変複合変数テーブル３０７に変換する。共変複合変数は、本発明において新規に導入する変数であり、事象変数テーブル３０４が保持している各レコードによって表される１以上の事象の組み合わせがイベントデータテーブル３０１内に存在するか否かを表す変数である。共変複合変数の詳細については後述する。共変複合変数テーブル３０７は、キー部３０７０とバリュー部３０７１を有する。
【００３５】  キー部３０７０は、事象変数テーブル３０４における事象名部３０４２と事象値部３０４３のセットをさらに１以上組み合わせた文字列を保持する。キー部３０７０は例えば、“作業開始時間”＝“ｌｏｗ”＆“作業者”＝“西”のように、事象名部３０４２と事象値部３０４３のセットを“＆”によって連結した文字列となる。ただし３列目に示すデータ例のように、事象名部３０４２が同一であるセットを複数連結する場合、同一の事象名部３０４２を繰り返す必要はない。すなわち、“滞在位置”＝“（１．１）”＆“滞在位置”＝“（２．１）”などのようにする必要はなく、“滞在位置”＝“（１．１）”＆ “（２．１）”とすれば足りる。
【００３６】  バリュー部３０７１は、キー部３０７０が表す事象（すなわち、事象変数テーブル３０４における事象名部３０４２と事象値部３０４３のセットによって表される事象をさらに１以上組み合わせた複合事象）がイベントデータテーブル３０１内に記述されている場合は“１”を保持し、記述されていない場合は“０”を保持する。
【００３７】  寄与共変選択部３０８は、目的変数テーブル３０２を入力パラメータとして、共変複合変数テーブル３０７を寄与変数テーブル３０９に変換する。これらテーブルについて以下に説明する。
【００３８】  図７は、目的変数テーブル３０２の構成とデータ例を示す図である。目的変数テーブル３０２は、イベントデータテーブル３０１が記述しているイベントの構成要素（フィールド）のうち、目的変数（例えばユーザが最適化しようとしている変数）とすべきものを抽出したものである。本テーブルのキー部は目的変数の名称を示す文字列を保持し、バリュー部は変数の値を保持する。バリュー部の値は数値であり、連続値、離散値などその形式は問わない。
【００３９】  図８は、寄与変数テーブル３０９の構成とデータ例を示す図である。寄与変数選択部３０８は、目的変数テーブル３０２の各列が示す目的変数（図７においては１つ）に対する共変複合変数テーブル３０７の各列が示す共変複合変数の寄与度を計算し、寄与度が閾値以上となる共変複合変数のみを残し、寄与変数テーブル３０９に格納する。寄与度としては、例えば相関係数、重回帰分析における重回帰係数などを用いることができる。２つの数列の類似度を計算できる方法であればその他適当な係数を用いてもよい。寄与変数テーブル３０９は共変複合変数テーブル３０７と同様に、キー部３０９０とバリュー部３０９１を有する。
【００４０】  図９Ａは、要因ラベル３１１の例を示す図である。要因ラベル出力部３１０は、寄与変数テーブル３０９のキー部３０９０から要因ラベル３１１を生成して出力する。要因ラベル３１１は、目的変数２０１に対する寄与度が高い事象を表す文字列であり、寄与変数テーブル３０９のキー部３０９０が保持している文字列を列ごとに出力したものである。
【００４１】  図９Ａの要因ラベル文字列９１０はキー部３０９０の１列目を出力したものであり、要因ラベル文字列９２０はキー部３０９０の２列目を出力したものである。要因ラベル３１１はさらに、例えば画像形式で出力することもできる。要因ラベル画像９２１は、要因ラベル文字列９２０のうち事象値部３０４３の内容に対応する座標値を線分で接続して移動経路を示す画像としたものである。必要に応じて画像形式で要因ラベル３１１を出力することにより、要因ラベル３１１を視認したユーザは、それがどのような事象であったかを理解しやすくなる。
【００４２】  図９Ｂは、事象変数テーブル３０４と目的変数テーブル３０２との間の対応関係を示す図である。図９Ａに例示した要因ラベル文字列９１０によれば、「作業開始時間＝“ｌｏｗ”かつ作業者=“西”」である事象は目的変数に対する寄与度が高いことを示している。このことは「西という作業者は、午前中の作用効率が高い」ことを表している。このことは、事象変数テーブル３０４においてこれら事象に対応するバリュー部３０４１が１となっているレコードは、目的変数テーブル３０２における対応する数値も良好であることを示唆している。すなわち、「作業者」に対する制御変数として「作業開始時間」を調整することにより、目的変数を改善できることが示されたといえる。
【００４３】  図９Ｃは、事象変数テーブル３０４と要因ラベル画像９２１との間の対応関係について説明する図である。事象変数テーブル３０４が作業者の滞在位置座標を表している場合、これを要因ラベル画像９２１として表示することにより、事象の組み合わせが作業者の動線を表していることが容易に分かる。つまり、滞在位置という局所的な事象を組み合わせることにより、動線という大局的な事象を表現し、さらに画像化によってこれを容易に把握することができる。
【００４４】  図１０は、事象変数変換部３０３の詳細構成図である。事象変数変換部３０３は、データ読込部３０３０６、データ分割部３０３０７、値タイプ判定部３０３０８、値域分割部３０３０９、分布ＤＢ（ＤａｔａＢａｓｅ）３０３１０、値域ラベル追加部３０３１１、数値振り分け部３０３１２、列結合部３０３１３、パターン抽出部３０３１４、文字列ラベル追加部３０３１５、文字列振り分け部３０３１６を有する。分布ＤＢ３０３１０には分布パラメータ入力部３０３０４が接続され、値域分割部３０９には分割パラメータ入力部３０３０５が接続されている。これら入力部は事象変数変換部３０３の一部として構成してもよい。
【００４５】  データ読込部３０３０６はイベントデータテーブル３０１を読み込み、データ分割部３０３０７に送る。データ分割部３０３０７は、イベントデータを列単位に分割し、値タイプ判定部３０３０８に送る。
【００４６】  値タイプ判定部３０３０８は、各列の値が数値／文字列／符号のいずれであるかを判定する。数値と判定されたデータは、値域分割部３０３０９に送られ、文字列または符号と判定されたデータはパターン抽出部３０３１４に送られる。例えば、アラビア数字や数値を表す記号（−（マイナス符号）、＋（プラス符号）、ｉ（虚数を示す符号）、小数点、平方根など）が含まれている場合は数値とみなし、文字が含まれている場合は符号とみなすことができる。また後述するように、イベントデータと分布関数とを比較して、分布関数に近い場合は数値とみなすことができる。
【００４７】  値域分割部３０３０９は、分布ＤＢ３０３１０を参照し、値タイプ判定部３０３０８から受け取ったデータを値域（階級）に分割する。分布ＤＢ３０３１０は、典型的な分布関数、すなわち、正規分布、ラプラス分布、ロジスティック分布などの分布形状を表現するパラメータを格納している。ユーザは分布パラメータ入力部３０３０４を介して、この分布形状のパラメータを入力することができる。分布パラメータとは、正規分布の場合は、平均値μと分散値σのことである。ポアソン分布の場合は、所定区間において発生する事象の期待発生回数λである。データをいくつに分割するかについてのパラメータは、分割パラメータ入力部３０３０５を介して入力することができる。具体的には、（ａ）分割区間毎に含まれるイベントデータ数が等しくなるように区間数を定める、（ｂ）イベントデータの平均値と分散値を計算し、その平均値と分散値に基づいて分割する、（ｃ）ユーザが指定した値を区間の区切りとして分割する、（ｄ）イベントデータの値範囲を等分割する、などの方法を採ることができる。
【００４８】  値域ラベル追加部３０３１１は、値域分割部３０３０９が分割した各分割区間に対して値域ラベルを追加する。値域ラベルを追加する手順については後述する。数値振り分け部３０３１２は、値タイプ判定部３０３０８が数値として判定したイベントデータを該当する値域ラベルに割り振り、列結合部３０３１３に送る。列結合部３０３１３は、各列を結合して事象変数テーブル３０４に格納する。列結合部３０３１３による処理は、図５に示す例に即して述べると、事象値部３０４３＝“ｌｏｗ”〜“ｈｉｇｈ”の３列を結合して単一の事象名部３０４２に対応させることに相当する。
【００４９】  パターン抽出部３０３１４は、イベントデータを行方向に走査し、同じ表記の文字列／符号パターンを抽出する。文字列ラベル追加部３０３１５は、パターン抽出部３０３１４が抽出した文字列／符号パターンに対して文字列ラベルを追加する。文字列ラベルを追加する処理については後述する。文字列振り分け部３０３１６は、値タイプ判定部３０３０８が文字列／符号として判定したイベントデータを該当する文字列／符号パターンに対応付け、列結合部３０３１３に送る。列結合部３０３１３は、数値の場合と同様に各列を結合して事象変数テーブル３０４に格納する。
【００５０】  図１１Ａは、イベントデータテーブル３０１と事象変数テーブル３０４との間の対応関係を例示する図である。ここでは値タイプ判定部３０３０８が数値と判定するデータ例を取り上げる。
【００５１】  図１１Ａに示す例において、イベントデータテーブル３０１のキー部３０１０は”温度”という構成要素を示している。レコード１のバリュー部３０１１は１６、レコード２のバリュー部３０１１は８０、レコード３のバリュー部３０１１は５０であり、合計Ｍ個のレコードが格納されている。一方、事象変数データ３０４の事象値部３０４３は、”温度Ｌ”、”温度Ｍ”、”温度Ｈ”の３つである。事象変数テーブル３０４の各レコードはイベントデータテーブル３０１の各レコードに対応する。すなわち事象変数変換部３０３は、イベントデータテーブル３０１内の各レコードにおけるバリュー部３０１１の各値を３つの値域に分割し、各レコードが属する値域に対応するバリュー部３０４１を１とし、その他のバリュー部３０４１を０とする。
【００５２】  図１１Ａに示すバリュー部３０１１の各値を値域に分割する手順を説明する。ユーザは分割パラメータ入力部３０３０５を介して、キー部３０１０＝“温度”であるバリュー部３０１１については、０≦Ｘ＜３３、３３≦Ｘ＜６６、６６≦Ｘ≦１００の３区間に分割するようあらかじめ指示することができる。また、値域ラベル追加部３０３１１が付与する各区間のラベル”温度Ｌ”、”温度Ｍ”、”温度Ｈ”も併せて指示することができる。したがって、”１６”は”温度Ｌ”に、”８０”は”温度Ｈ”に、”５０”は”温度Ｍ”にそれぞれ属することになる。
【００５３】  図１１Ｂは、イベントデータテーブル３０１と事象変数テーブル３０４との間の対応関係を示す別例である。ここでは値タイプ判定部３０３０８が文字列と判定するデータ例を取り上げる。
【００５４】  図１１Ｂに示す例において、キー部３０１０は”作業者”という構成要素を示している。この列に含まれるバリュー部３０１１は”鈴木”、”田中”、”鈴木”であり、全て文字列で構成されている。パターン抽出部３０３１４は、重複要素を取り除いて”鈴木”、”田中”の２つの文字列パターンを抽出する。文字列ラベル追加部３０３１５は、”作業者＝鈴木”、”作業者＝田中”の２つの文字列ラベルが付いた事象値部３０４３を生成する。文字列振り分け部３０３１６は、イベントデータテーブル３０１内の各バリュー部３０１１に対応する事象値部３０４３を有するバリュー部３０４１を１とし、その他のバリュー部３０４１を０とする。
【００５５】  図１１Ｃは、イベントデータテーブル３０１と事象変数テーブル３０４との間の対応関係を示す別例である。ここでは値タイプ判定部３０３０８が符号と判定するデータ例を取り上げる。図１１Ｃに示す例においては、図１１Ｂと同様の処理が実施される。
【００５６】  図１２は、事象変数変換部３０３がイベントデータテーブル３０１を事象変数テーブル３０４に変換する処理のフローチャートである。以下、図１２の各ステップについて説明する。
【００５７】（図１２：ステップＳ１２０１〜Ｓ１２０２）  データ読込部３０３０６は、イベントデータテーブル３０１を読み込む（Ｓ１２０１）。データ読込部３０３０６は、変換結果を格納する変数をクリア、すなわち行数＝０、列数＝０とする（Ｓ１２０２）。
【００５８】（図１２：ステップＳ１２０３）  データ分割部３０３０７は、イベントデータを列単位に分割する。データ分割部３０３０７は、分割した列の数を変数Ｎに代入し、１つの列の長さ（＝イベントデータの個数＝レコード数）を変数Ｍに代入する。データ分割部３０３０７は、列をカウントするための変数ｉを初期化する。
【００５９】（図１２：ステップＳ１２０４）  値タイプ判定部３０３０８は、イベントデータのｉ番目の列を行方向に走査し、当該列に含まれる要素が全て数値であるか、または、文字列／符号で構成されるかを判定する。全ての要素が数値で構成される場合はステップＳ１２０７へ進み、文字列または符号で構成される場合はステップＳ１２０５へ進む。
【００６０】（図１２：ステップＳ１２０５〜Ｓ１２０６）  パターン抽出部３０３１４は、各列のバリュー部３０１１から重複要素を取り除いて文字列パターン（または符号パターン）を抽出する（Ｓ１２０５）。文字列ラベル追加部３０３１５は抽出結果に基づき文字列ラベルを生成する（Ｓ１２０６）。
【００６１】（図１２：ステップＳ１２０７〜Ｓ１２０８）  図１１Ａで例示した手法にしたがって、値域分割部３０３０９は各列のバリュー部３０１１を値域に分割し（Ｓ１２０７）、値域ラベル追加部３１１は各区間に文字列ラベルを割り当てる（Ｓ１２０８）。
【００６２】（図１２：ステップＳ１２０９）  数値振り分け部３０３１２（または文字列振り分け部３０３１６）は、列番号ｉを１つ増やし、ｉの値がイベントデータテーブル３０１の列数Ｎ以下であるか否かを判定する。ｉがＮ以下である（未処理の列が残っている）場合はステップＳ１２０４に戻り、全列について処理済であればステップＳ１２１０へ進む。
【００６３】（図１２：ステップＳ１２１０〜Ｓ１２１１）  列結合部３０３１３は、文字列ラベルを横方向に順次結合し、事象変数テーブル３０４に格納する。列結合部３０３１３は、結合した事象変数を事象変数テーブル３０４に格納する。なお、ステップＳ１２０６とＳ１２０８において文字列ラベルを生成し、ステップＳ１２１０において文字列ラベルを結合する処理手順を説明したが、文字列ラベルを生成すると同時にこれを事象変数と結合して、事象変数と文字列ラベルのセットを逐次的に列方向へ拡張してもよい。
【００６４】  図１３Ａは、共変複合ネットワーク１３０１の構成を示す図である。共変複合変数生成部３０５と共変複合変数解釈部３０６は、図１３に例示する共変複合ネットワーク１３０１を用いて、事象変数テーブル３０４を共変複合変数テーブル３０７に変換する。以下図１３を用いて、共変複合ネットワーク１３０１およびこれを用いた変換手順について説明する。
【００６５】  共変複合ネットワーク１３０１は、複数のノードが重み付リンクによって接続された機械学習のためのネットワークであり、共変複合ノード群１３１０と事象ノード群１３２０を持つ。共変複合ノード群１３１０は、あらかじめユーザが定めた任意個数の共変複合ノードを持つ。事象ノード群１３２０は、事象変数テーブル３０４の列数と等しい数の事象ノードを持つ。共変複合ノードと事象ノードは、それぞれ０または１の値をとる変数ノードである。事象ノード群１３２０には、事象変数テーブル３０４の各レコード値が投入され、共変複合ネットワーク１３０１はこれを用いた以下に説明するように機械学習を実施する。
【００６６】  各共変複合ノードは複合リンク１３３０を介して全ての事象ノードと結合し、各事象ノードは複合リンク１３３０を介して全ての共変複合ノードと結合している。複合リンク１３３０は、共変複合ノードの数をＡ、事象ノードの数をＢとすると、Ａ×Ｂ本存在する。複合リンク１３３０は、共変複合ノードと事象ノードとの間の結合強さを示す、複合重み値１３４０を持つ。
【００６７】  各共変複合ノードは、当該共変複合ノードの１になりやすさを示す共変複合ノードバイアス値１３１２を持つ。各事象ノードは、当該事象ノードの１になりやすさを示す、事象ノードバイアス値１３２２を持つ。記載の便宜上、図１３においてはそれぞれ右端ノードのみバイアス値を図示した。
【００６８】  共変複合ネットワーク１３０１は、事象ノード群１３２０の値から共変複合ノード群１３１０の値を計算し、共変複合ノード群１３１０の値から事象ノード群１３２０の値を計算する、相互計算による機械学習機構を持つ。すなわち、事象変数テーブル３０４の各行から事象ノード群１３２０に対して事象変数データが入力されると、事象ノード群１３２０の値と、それぞれの事象ノードが持つ複合重み１３４０および共変複合ノードバイアス１３１２とを用いた計算によって、共変複合ノード群１３１０の値が決まり、各共変複合ノードは０もしくは１の値をとる。さらに逆方向の計算として、共変複合ノード群１３１０の値と、各共変複合ノードが持つ複合重み１３４０および事象ノードバイアス１３２２とを用いた計算によって、事象ノード群１３２０の値が決まり、それぞれの事象ノードは０もしくは１の値をとる。
【００６９】  機械学習が進むにともない、事象ノードまたは複数の事象ノードの組み合わせが１である傾向が強い場合、その事象ノードまたは複数の事象ノードの組み合わせと接続された共変複合ノードもこれにともなって１に収束する。事象変数テーブル３０４の各列はその列が表す事象がイベントデータテーブル３０１内に存在しているか否か（すなわちその事象が起こったか否か）を表しているため、共変複合ノードの値が１になる場合は、これと接続されている事象変数テーブル３０４の各列が表している事象が同時に起こっていることを表している。すなわち共変複合ノードは、接続された事象ノードによって表される事象の組み合わせが存在する場合に１となり、存在しない場合に０となる。
【００７０】  共変複合ネットワーク１３０１を用いて事象変数テーブル３０４の傾向を機械学習することにより、事象の組み合わせを表す共変複合変数を生成することができる。この共変複合変数は、相互に頻繁に発生する事象の組み合わせを表現するように構成することが望ましい。換言すると、頻繁に相互に１の値をとる複数の事象ノードの組み合わせによって共変複合ノードを構成するという条件の下、複合重み１３４０、共変複合ノードバイアス１２１２、事象ノードバイアス１３２２を機械学習によって調整する必要がある。
【００７１】  上記を実施するための機械学習手法として、共変複合ノード群１３１０と事象ノード群１３２０との間の相互計算の機構を用いて、事象ノード群１３２０に対して事象変数テーブル３０４のレコードが入力された際に共変複合ノード群１３１０の値を計算し、さらに再び事象ノード群１３２０の値を相互計算し、入力された事象ノード群１３２０の値と相互計算の結果得られた事象ノード群１３２０の値とが同じになるように、上記各パラメータを調整する方法がある。具体的な手法として、一般には自己組織化する機械学習方式がよく知られており、本実施形態においては例えば制約付きボルツマンマシン（Ｒｅｓｔｒｉｃｔｅｄ  Ｂｏｌｔｚｍａｎｎ  Ｍａｃｈｉｎｅ）を用いる。
【００７２】  図１３Ｂは、学習後の共変複合ネットワーク１３０１の例を示す図である。複合重み１３３０のうち値の低いものはネットワーク１３０１の振る舞いに影響が小さいことを利用して、ある閾値以下の複合重み１３３０を持つ複合リンク１３３０を削除している。この例においては、機械学習の結果、共変複合ノード１３１１は事象ノード「作業開始時間=“ｌｏｗ”」「作業者=“西”」「滞在位置=“（１，１）”」の組み合わせによって構成され、共変複合ノード１３１２は事象ノード「作業開始時間=“ｍｉｄ”」「総重量=“ｌｏｗ”」「運搬数=“２”」の組み合わせによって構成され、共変複合ノード１３１３は事象ノード「滞在位置=“（１，１）”」 「滞在位置=“（１，２）”」の組み合わせによって構成されている。
【００７３】  本実施形態１においては共変複合パラメータの学習のためＲＢＭを用いているが、事象ノード群の（０，１）の状態と共変複合ノードの（０，１）の状態を相互に一意に計算することができ、入力された事象ノード群１３２０の値と相互計算の結果得られた事象ノード群１３２０の値との差が小さくなるようにパラメータを学習する方式であれば、その他の学習手法を用いることもできる。例えば、オートエンコーダ（Ａｕｔｏ  Ｅｎｃｏｄｅｒ）などを用いることもできる。
【００７４】  図１４は、共変複合変数生成部３０５および共変複合変数解釈部３０６の詳細構成図である。図１４において、複合パラメータＤＢ３０５７と３０６２は記載の便宜上分けているが、これらは共変複合変数生成部３０５と共変複合変数解釈部３０６との間で共有してもよい。
【００７５】  事象バリュー読込部３０５１は、共変複合変数生成部３０５に対する入力である事象変数テーブル３０４のバリュー部３０４１を読み込む。
【００７６】  学習用データ変換部３０５２は、バリュー部３０４１が格納している値を、機械学習用のベクトルデータに変換する。具体的には、バリュー部３０４１の第ｋ行目について、第ｉ列目の値をｘｋｉとした学習用ベクトルデータｘｋ＝（ｘｋ１，・・・ｘｋＮ）に変換する（Ｎはテーブルの列数、ｋ＝１〜Ｒ、Ｒはテーブルの行数）。学習用ベクトルデータｘｋはテーブルの行数Ｒだけ作成される。
【００７７】  複合パラメータ学習部３０５３は、共変複合ネットワークの複合パラメータ（＝複合重み１３４０、共変複合ノードバイアス１３１２、事象ノードバイアス１３２２）を計算する。本実施形態１においてはＲＢＭ学習則にしたがって複合パラメータを計算する。ＲＢＭの学習則については後述する。
【００７８】  入力用データ変換部３０５４は、バリュー部３０４１を共変複合変数テーブル３０７のバリュー部３０７１に変換するためのベクトルデータに変換する。具体的には、学習用データ変換部３０５２と同様の機能を用いて、ｙｋ＝（ｙｋ１，・・・ｙｋＮ）に変換する（Ｎはテーブルの列数、ｋ＝１〜Ｒ、Ｒはテーブルの行数）。入力用ベクトルデータｙｋはテーブルの行数だけ作成される。
【００７９】  複合データ変換部３０５５は、複合パラメータＤＢ３０５７と、入力用データ変換部３０５４から得られたベクトルデータｙｋを用いて、バリュー部３０４１を共変複合変数テーブル３０７のバリュー部３０７１に変換する。変換ルールとしては、ＲＢＭの順方向計算則を用いる。ＲＢＭの順方向計算則については後述する。共変複合バリュー書出部３０５６は、変換によって得られたバリュー部を共変複合変数テーブル３０７のバリュー部３０７１に格納する。
【００８０】  事象キー読込部３０６１は、事象変数テーブル３０４のキー部３０４０を読み込む。
【００８１】  共変複合キー生成部３０６３は、読み込んだキー部３０４０と複合パラメータＤＢ３０６２を用いて、共変複合変数テーブル３０７のキー部３０７０を生成する。キー部３０７０は、組み合わせるキー部３０４０を区切り文字“＆”で文字列として連結することによって生成される。共変複合変数がどの事象変数の組み合わせにより生成されたかは、ＲＢＭの逆方向計算則を用いて判定することができる。ＲＢＭの逆方向計算則については後述する。
【００８２】  共変複合キー画像生成部３０６５は、共変複合キー生成部３０６３が生成したキー部３０７０の文字列のうち画像化することができるものを画像化する。以下ではこの画像をキー画像と呼ぶ。画像化処理の例については後述する。共変複合キー書出部３０６４は、生成されたキー部３０７０およびキー画像を共変複合変数テーブル３０７のキー部３０７０に書き出す。
【００８３】  図１５Ａは、共変複合変数テーブル３０７のキー部３０７０が座標の組み合わせを表す文字列である例を示す。共変複合キー画像生成部３０６５は、文字列内に存在する座標に対応するｐｉｘｅｌを塗りつぶしたキー画像を生成している。この例によれば、例えば作業者が滞在した位置座標の組み合わせを画像表示することにより、当該座標の組み合わせがＬ字型の動線を意味していることが容易に理解できる。
【００８４】  図１５Ｂは、キー部３０７０が人やモノを組み合わせた文字列である例を示す。共変複合キー画像生成部３０６５は、人やモノの持つ属性をグラフの各軸として、キー部３０７０が含む人やモノをプロットしたキー画像を生成している。この例によれば、作業者の属性である在勤年数と勤務開始時間をグラフの軸とすることにより、当該キー部３０７０が在勤年数の長い作業者群を意味していることが容易に理解できる。
【００８５】  図１５Ｃは、キー部３０７０が人やモノを組み合わせている例である。共変複合キー画像生成部３０６５は、人やモノの位置のマップ情報が存在する場合に、マップ上にキー部３０７０が含む人やモノをプロットしたキー画像を生成している。この例によれば、座席表をマップ情報とすることにより、当該キー部３０７０がエリア中央部の座席群を意味していることが容易に理解できる。
【００８６】  以下ではＲＢＭの学習則、順方向計算則、逆方向計算則について説明する。詳細は、例えば非特許文献１などに詳しく述べられている。ここでは、共変複合変数生成部３０５および共変複合変数解釈部３０６の処理を述べるため必要な最小限の説明に留める。
【００８７】  図１６は、ＲＢＭの例を示す図である。ＲＢＭは、図１６に示すようなニューラルネットワークである。可視層素子ｖ＝（ｖ１,・・・ｖＮ）および隠れ層素子ｈ＝（ｈ１,・・・ｈＭ）はデータ入出力用の確率変数ベクトルであり、重み係数行列Ｗ＝（Ｗｉｊ）、隠れ層バイアスｂ＝（ｂ１,・・・ｂＬ）、可視層バイアスｃ＝（ｃ１,・・・ｃＮ）はパラメータである。可視層素子ｖおよび隠れ層素子ｈの値は、相互に下記式（１）（２）によって計算することができる。
【００８８】  P（vi=1|h）=σ（ci+Σj Wij hj）、i=1 to N  （１）  P（hj=1|v）=σ（bj+Σi Wij vi）、j=1 to M  （２）  σ（x）=1/（1+exp（-x））  （３）
【００８９】  式（１）はＲＢＭの逆方向計算則であり、式（２）はＲＢＭの順方向計算則である。
【００９０】  パラメータである重み係数行列Ｗ、隠れ層バイアスｂ、可視層バイアスｃは、下記式（４）〜（６）にしたがって、学習用ベクトルデータｘｋを可視層素子ｖに与えて反復計算をすることにより、求められる。
【００９１】  Wij=Wij+ηΔWij  （４）  bi=bi+ηΔbi  （５）  cj=cj+ηΔcj  （６）
【００９２】  ηは学習係数である。更新量ΔWij、Δbi、Δcjは、下記式（７）〜（９）によって得られる。
【００９３】  ΔWij=P（hj=1|v）vi - P（hj=1|v^）v^i  （７）  Δbi=vi - v^i  （８）  Δcj= P（hj=1|v） - P（hj=1|v^）  （９）
【００９４】  v^iは式（１）（２）を用いて、可視層素子の値viを１度遷移させたときの可視層素子の値である。v^=（v^1,…, v^N）である。式（４）〜（９）はＲＢＭの学習則である。
【００９５】  図１７は、共変複合変数生成部３０５が事象変数テーブル３０４を共変複合変数テーブル３０７に変換する処理のフローチャートである。以下、図１７の各ステップについて説明する。
【００９６】（図１７：ステップＳ１７０１〜Ｓ１７０２）  事象バリュー読込部３０５１は、事象変数テーブル３０４のバリュー部３０４１を読み込む（Ｓ１７０１）。学習用データ変換部３０５２は、読み込んだテーブル内の値を、複合パラメータ学習用のベクトルデータｘｋに変換する。
【００９７】（図１７：ステップＳ１７０３）  複合パラメータ学習部３０５３は、複合パラメータ（＝複合重み１３４０、共変複合ノードバイアス１３１２、事象ノードバイアス１３２２）を計算する。具体的には、上記式（４）〜（９）の入力である可視層素子ｖに対して学習用ベクトルデータｘｋを与えて、式（４）〜（９）の反復計算によって複合パラメータＷ、ｂ、ｃを得る。得られた複合パラメータは、複合パラメータＤＢ３０５７に格納する。
【００９８】（図１７：ステップＳ１７０４）  入力用データ変換部３０５４は、バリュー部３０４１を共変複合変数テーブル３０７のバリュー部３０７１に変換するためのベクトルデータに変換する。具体的には、入力用ベクトルデータｙｋが作成される。
【００９９】（図１７：ステップＳ１７０５）  複合データ変換部３０５５は、ステップＳ１７０５で作成された入力用ベクトルデータｙｋを、共変複合ベクトルデータに変換する。具体的には、上記式（２）の入力である可視層素子ｖに対して入力用ベクトルデータｙｋを与えることにより得られた隠れ層素子ｈの値を、共変複合ベクトルデータｄｋ＝（ｄｋ１,・・・ｄｋＭ）（ｋ＝１〜Ｒ）として受け取る。
【０１００】（図１７：ステップＳ１７０６）  共変複合バリュー書出部３０５６は、ステップＳ１７０５で得られた共変複合ベクトルデータｄｋを、共変複合変数テーブル３０７のバリュー部３０７１に書き出す。具体的には、ｄｋをバリュー部３０７１の第ｋ行目に書き出す。このとき、第ｋ行目の第ｊ列目の値をｄｋｊとする。
【０１０１】  図１８は、共変複合変数解釈部３０６の処理を説明するフローチャートである。以下、図１８の各ステップについて説明する。
【０１０２】（図１８：ステップＳ１８０１）  事象キー読込部３０６１は、事象変数テーブル３０４からキー部３０４０を読み込む。
【０１０３】（図１８：ステップＳ１８０２）  共変複合キー生成部３０６３は、共変複合変数テーブル３０７のキー部３０７０を生成する。キー部３０７０は、当該共変複合変数を構成している事象変数群のキー部３０４０を文字列連結することによって生成される。ある共変複合変数が、どの事象変数群の組み合わせによって構成されているかについては、ＲＢＭの逆方向計算則の式（１）を用いて判定することができる。
【０１０４】（図１８：ステップＳ１８０２：補足）  共変複合変数テーブル３０７の第ｊ列目の共変複合変数が、どの事象変数の組み合わせによって構成されているかを知りたいとする。このとき、式（１）の入力である隠れ層素子ｈに対して、ｊ番目の要素のみを“１”とし、それ以外を“０”としたベクトルを与える。その結果得られた可視層素子ｖのうち“１”となっている要素に対応する事象変数群が、当該共変複合変数を構成している事象変数である。
【０１０５】（図１８：ステップＳ１８０３〜Ｓ１８０４）  共変複合キー画像生成部３０６５は、生成されたキー部３０７０のうち画像化できるものについて、キー画像を生成する（Ｓ１８０３）。共変複合キー書出部３０６４は、生成されたキー部３０７０およびキー画像を共変複合変数テーブル３０７のキー部３０７０に格納する。キー画像はユーザがキー部３０７０を視覚的に把握し易くするためのものであるため、例えばユーザが明示的に指示したときにキー画像を生成してもよい。
【０１０６】  図１９は、寄与変数選択部３０８の処理について説明するフローチャートである。寄与変数選択部３０８は、共変複合変数テーブル３０７（Ｓ１９０１）と目的変数テーブル（Ｓ１９０２）を読み込む。寄与変数選択部３０８は、目的変数テーブル３０２のバリュー部の数値に対する、共変複合変数テーブル３０７のバリュー部３０７１の各数値の寄与度を計算する（Ｓ１９０３）。寄与変数選択部３０８は、共変複合変数テーブル３０７の各列のうち閾値以上の寄与度を得たもののみを、寄与変数テーブル３０９に格納する（Ｓ１９０４）。
【０１０７】  図２０は、要因ラベル出力部３１０の処理フローを示すフローチャートである。要因ラベル出力部３１０は、寄与変数テーブル３０９を読み込む（Ｓ２００１）。要因ラベル出力部３１０は、読み込んだ寄与変数テーブル３０９のキー部に格納されているすべての寄与変数テーブルキーを要因ラベル３１１として出力する（Ｓ２００２）。
【０１０８】＜実施の形態１：まとめ＞  本実施形態１に係る要因抽出システム３００は、イベントデータテーブル３０１を事象変数テーブル３０４に変換し、さらにこれを共変複合変数テーブル３０７に変換する。共変複合変数テーブル３０７を用いることにより、目的変数に対して効果的に寄与する複数の事象の組み合わせを自動的に特定することができる。すなわち、事象の組み合わせを手作業によって作成して寄与度を求める必要がなくなるので、寄与要因を効率的に特定し、目的変数を改善するための意思決定に役立てることができる。
【０１０９】  本実施形態１に係る要因抽出システム３００は、イベントデータテーブル３０１を事象変数テーブル３０４に変換することにより、イベントデータの構成要素（すなわち個々の事象）の組み合わせ毎に目的変数に対する寄与度を求めることができる。これに対し例えば特許文献１〜３においては、目的変数に対して寄与する説明変数が見つかったとしても、目的変数と説明変数との間の連続値対連続値の回帰関係が見つかるのみであり、実際に目的変数を変動させるためにどのようなアクションをとればよいのかユーザは理解しづらい。例えば図１に示す例において、目的変数１０１に対して寄与する説明変数１０４「運搬数」が抽出されているが、この「運搬数」をどのように変化させれば目的変数１０１を調整できるのか容易に理解することができない。本実施形態１に係る要因抽出システム３００によれば、図９Ａ〜図９Ｃで例示したように、どのような事象や行動の組み合わせが目的変数に対して寄与するのかを容易に理解することができる。
【０１１０】＜実施の形態２＞  実施形態１においては、事象変数の組み合わせによって共変複合変数を構成する例を説明した。これにより、事象の組み合わせを基準として目的変数を改善するための意思決定を支援することができる。ただし、目的変数に対して寄与する説明変数の組み合わせ個数があまりに多くなると（例えば数百、数千の事象の組み合わせ）、意思決定を却って妨げることになりかねない。そこで本発明の実施形態２においては、共変複合変数を構成する事象変数の組み合わせを効果的に削減する構成例について説明する。その他の構成は実施形態１と同様であるため、以下では上記と関連する共変複合変数生成部３０５について主に説明する。
【０１１１】  図２１は、本実施形態２における共変複合変数生成部３０５の詳細構成図である。本実施形態２においては、ユーザはパラメータ入力部３０５８を介して後述するパラメータを入力し、複合パラメータ学習部３０５３はこれを用いて複合パラメータを学習する。その他の構成は実施形態１と同様である。したがってステップＳ１７０３における動作を除いて図１７のその他ステップも実施形態１と同様である。
【０１１２】  複合パラメータ学習部３０５３は、共変複合ノード群１３１０と接続される事象ノード群１３２０の個数が効果的に削減されるように、複合パラメータを学習する。これを実現するためには、式（１）に示すＲＢＭの逆方向計算則において、ある隠れ層ノードｈｊに”１”が与えられた際に”１”となる可視層ノードｖｉの数が少なくなるように、複合パラメータを学習すればよい。すなわち、式（１）の出力値を小さくするように、パラメータであるＷｉｊもしくはｃｉの値を調整した上で反復計算を進めればよい。複合パラメータ学習部３０５３は、上記考え方にしたがって、例えばＲＢＭの学習則の式（４）〜（６）と併行して、下記式（１０）に例示する反復計算を実施する。１回の反復計算ごとに、式（４）〜（６）の計算を１回、式（１０）の計算を１回それぞれ実施する。
【０１１３】  ci = ci - η（P（vi=1|h） - p/N）  i=1 to N （１０）
【０１１４】  式（１０）の最終項におけるｐはパラメータであり、ユーザがパラメータ入力部３０５８を介して指定することができる。式（１０）を用いる場合は、例えば共変複合ノードと接続される事象ノードの個数の目標平均値を指定する。
【０１１５】  P（vi=1|h）は、隠れ層がｈであるとき可視層素子ｖｉが１になる確率である。式（１０）を用いることにより、隠れ層の値が与えられたとき可視層が１になる確率を小さく補正するようにＲＢＭが学習される。すなわち、共変複合ネットワーク１３０１の相互計算機構において相互計算を実施する際に、ある共変複合ノードが“１”となったときこれとともに“１”となる事象ノードの数が少なくなるように、共変複合ネットワーク１３０１の複合パラメータが計算されることになる。
【０１１６】  式（１０）は、ｃｉの値を小さくすることによって式（１）の出力値を小さくし、これにより共変複合ノード群１３１０と接続される事象ノード群１３２０の個数を削減している。式（１）において“１”の値をとる可視層の数が少なくするようにＷｉｊもしくはｃｉの値を調整することができれば、その他の計算式を用いてもよい。
【０１１７】＜実施の形態２：まとめ＞  本実施形態２に係る要因抽出システム３００によれば、共変複合ノードをより少ない事象ノードの組み合わせによって構成することができる。これにより、共変複合変数を構成する事象変数の個数がより少なくなり、ユーザが意思決定しやすい要因ラベル３１１を出力することができる。
【０１１８】  本発明は上記した実施形態の形態に限定されるものではなく、様々な変形例が含まれる。上記実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることもできる。また、ある実施形態の構成に他の実施形態の構成を加えることもできる。また、各実施形態の構成の一部について、他の構成を追加・削除・置換することもできる。
【０１１９】  上記各構成、機能、処理部、処理手段等は、それらの一部や全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に格納することができる。
【符号の説明】
【０１２０】  ３００：要因抽出システム、３０１：イベントデータテーブル、３０２：目的変数テーブル、３０３：事象変数変換部、３０４：事象変数テーブル、３０５：共変複合変数生成部、３０６：共変複合変数解釈部、３０７：共変複合変数テーブル、３０８：寄与変数選択部、３０９：寄与変数テーブル、３１０：要因ラベル出力部、３１１：要因ラベル。
【図１】
2015097773.tif 000003
【図２】
2015097773.tif 000004
【図３】
2015097773.tif 000005
【図４】
2015097773.tif 000006
【図５】
2015097773.tif 000007
【図６】
2015097773.tif 000008
【図７】
2015097773.tif 000009
【図８】
2015097773.tif 000010
【図９Ａ】
2015097773.tif 000011
【図９Ｂ】
2015097773.tif 000012
【図９Ｃ】
2015097773.tif 000013
【図１０】
2015097773.tif 000014
【図１１Ａ】
2015097773.tif 000015
【図１１Ｂ】
2015097773.tif 000016
【図１１Ｃ】
2015097773.tif 000017
【図１２】
2015097773.tif 000018
【図１３Ａ】
2015097773.tif 000019
【図１３Ｂ】
2015097773.tif 000020
【図１４】
2015097773.tif 000021
【図１５Ａ】
2015097773.tif 000022
【図１５Ｂ】
2015097773.tif 000023
【図１５Ｃ】
2015097773.tif 000024
【図１６】
2015097773.tif 000025
【図１７】
2015097773.tif 000026
【図１８】
2015097773.tif 000027
【図１９】
2015097773.tif 000028
【図２０】
2015097773.tif 000029
【図２１】
2015097773.tif 000030
【国際調査報告】
2015097773.tif 000031
2015097773.tif 000032
2015097773.tif 000033
2015097773.tif 000034