(57)【要約】【課題】  制約に基づいて属性の選択、及び、データ分析を自動化でき、データ分析に関わる工数を削減できるデータ分析装置の提供を目的とする。【解決手段】  データ分析者が説明変数の中から、分析に使用する属性を選択する時に判断材料として使用する情報を形式的に記述した１以上の制約と、１以上の説明変数と、１以上の前記目的変数とを受け付ける受付部と、前記説明変数から求められた前記制約を満たす１以上の属性の選択パターンに含まれる属性に対して、データ分析をする分析部と、を備えるデータ分析装置。【選択図】  図７
2018088087.tif 000002
【特許請求の範囲】
【請求項１】
データ分析者が説明変数の中から、分析に使用する属性を選択する時に判断材料として使用する情報を形式的に記述した１以上の制約と、１以上の説明変数と、１以上の前記目的変数とを受け付ける受付部と、
前記説明変数から求められた前記制約を満たす１以上の属性の選択パターンに含まれる属性に対して、データ分析をする分析部と、
を備えるデータ分析装置。
【請求項２】
有効となっている前記制約から、前記選択パターンを生成するための選択パターン生成用論理式を生成する生成部と、
前記選択パターン生成用論理式を満たす前記選択パターンを取得する取得部、を備える請求項１に記載のデータ分析装置。
【請求項３】
前記選択パターンの一覧から前記データ分析者が選択した前記選択パターンに基づいて、前記データ分析によって導出された仮説の一覧を表示する表示部、を備える請求項１に記載のデータ分析装置。
【請求項４】
前記制約の種別は、前記分析に使用する属性に、制約の対象属性に含まれる属性を選択しない除去制約、前記対象属性に含まれる前記属性のうち、必ず指定された分の属性を選択する選択制約、前記対象属性から０個又は１個の属性を選択する排他制約、及び、前記対象属性と同じである前提属性がすべて使用されるとき、前記対象属性も一緒にすべて選択する付帯制約である請求項１に記載のデータ分析装置。
【請求項５】
前記説明変数を統計的に分析した結果である出現頻度に基づいて、前記除去制約を生成する統計分析部を備える請求項４記載のデータ分析装置。
【請求項６】
前記属性間の相関関係に基づいて、前記排他制約を生成する統計分析部を備える請求項４に記載のデータ分析装置。
【請求項７】
まだ選択されていない前記選択パターンを生成するための未選択パターン生成用論理式を真にする命題変数の値の組合せから、前記付帯制約を生成する履歴分析部を備える請求項４に記載のデータ分析装置。
【請求項８】
データ分析者が複数の属性から目的変数を選択する時に判断材料として使用する情報を形式的に記述した１以上の制約と、１以上の説明変数と、１以上の前記目的変数とを受け付け、
前記説明変数から求められた前記制約を満たす１以上の属性の選択パターンに含まれる属性に対して、データ分析をするデータ分析方法。
【請求項９】
データを分析する装置をコンピュータに実行させるためのプログラムであって、
データ分析者が複数の属性から目的変数を選択する時に判断材料として使用する情報を形式的に記述した１以上の制約と、１以上の説明変数と、１以上の前記目的変数とを受け付ける受付ステップと、
前記説明変数から求められた前記制約を満たす１以上の属性の選択パターンに含まれる属性に対して、データ分析をする分析ステップと、
を備えるデータ分析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ分析に掛かる工数を削減するためにデータ分析を自動化する装置に関する。
【背景技術】
【０００２】
蓄積したデータを活用して現行業務を改善する動きが活発化している。具体的には、部署ごとの業務履歴や小売店での売上の履歴などのデータに対して、統計学や人工知能などデータ解析技術を適用し、今まで気が付かなかった法則やルール(以下、仮説という)を発見し、業務の改善施策を検討するデータ分析が活発化している。
【０００３】
データ分析は、一般的に、「業務の理解」、「説明変数の理解」、「説明変数の準備」、「モデリング(分析技術の適用)」、「仮説の評価」、「施策の運用」という６つのフェーズから構成されることが多い。
【０００４】
「業務の理解」フェーズでは、分析の目的や要求を把握し、部署や小売店などの分析対象、及び、客単価や作業工数などの業務改善の指標を表す属性(以下、目的変数という)を決める。
【０００５】
次に、「説明変数の理解」フェーズでは、分析に必要なデータ（以下、説明変数という）を収集し、具体的にどのような値が入っているかを確認する。ここで、説明変数とは、部署や小売店などの分析対象の特徴を表す属性の集合をいう。さらに、分析対象は、各属性に対応する個別の値（以下、属性値）を持っている。
【０００６】
「説明変数の準備」フェーズでは、必要に応じて、欠損値の補完や既存の属性を組合せた新たな属性の生成、分析に使用する属性の選択などを行う。
【０００７】
「モデリング」フェーズでは、準備した説明変数に対して、重回帰分析や決定木分析などデータ分析技術を適用する。このとき、データ分析技術は分析結果として、回帰式や決定木などの仮説を出力する。
【０００８】
「仮説の評価」フェーズでは、得られた仮説に基づいて、業務の改善施策を検討する。このとき、施策に繋がる仮説（以下、有用な仮説という）が得られなかったら、作業内容を変更して、もう一度「説明変数の準備」フェーズと「モデリング」フェーズを実施する。
【０００９】
「施策の運用」フェーズでは、「仮説の評価」フェーズで検討した課題を現場に適用し、業務改善できるかを評価する。
【００１０】
データ分析技術の中には、属性の数によって処理時間が爆発的に増加するものがある。このような技術を使う場合には、分析者が、実用時間で処理が終わる範囲内で、属性を選択し、データ分析技術を適用するという試行錯誤を繰り返し実行する必要がある。この試行錯誤は有用な仮説が得られるまで続けるため、データ分析には多くの工数が必要になる。
【００１１】
データ分析の工数を削減する別の方法として、属性値を統計的に分析した結果を用いて、分析への有用さで属性をランク付けすることで属性の選択を支援し、さらに、ランク付けに基づいて分析者が選択した属性に対して、パラメータを変えながら、データ分析技術を繰り返し適用する技術が、たとえば、特許文献１で開示されている。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】米国特許第７、６２７、６２０号明細書
【発明の概要】
【発明が解決しようとする課題】
【００１３】
特許文献１に開示されている技術では、統計的に分析した結果に基づいて、人が選択した属性に対して、パラメータを変えながら繰り返しデータ分析技術を適用できる。しかし、属性の選択は自動化できていないという問題がある。
【００１４】
そこで、本発明は、制約に基づいて属性の選択、及び、データ分析を自動化でき、データ分析に関わる工数を削減できるデータ分析装置の提供を目的とする。
【課題を解決するための手段】
【００１５】
上記目的を達成するために、代表的な本発明のデータ分析装置の一つは、データ分析者が説明変数の中から、分析に使用する属性を選択する時に判断材料として使用する情報を形式的に記述した１以上の制約と、１以上の説明変数と、１以上の前記目的変数とを受け付ける受付部と、前記説明変数から求められた前記制約を満たす１以上の属性の選択パターンに含まれる属性に対して、データ分析をする分析部と、を備えるものである。
【発明の効果】
【００１６】
本発明によれば、制約に基づいて属性の選択、及び、データ分析を自動化でき、データ分析に関わる工数を削減できるデータ分析装置が実現できる。
【図面の簡単な説明】
【００１７】
【図１】本実施例に関わるデータ分析自動化装置１００の構成ブロックの例を示す図。
【図２】本実施例に関わるコンビニの店舗情報２００に重回帰分析を適用した例を示す図。
【図３】本実施例に関わるデータ記憶部１１２のデータクラス構造の例を示す図。
【図４】本実施例に関わる仮説記憶部１１３のデータクラスの構造の例を示す図。
【図５】本実施例に関わる選択パターン記憶部１１４のデータクラスの構造の例を示す図。
【図６】本実施例に関わる制約記憶部１１１のデータクラスの構造の例を示す図。
【図７】本実施例に関わるデータ分析設定画面７００の例を示す図。
【図８】本実施例に関わるデータ読み込み画面８００の例を示す図。
【図９】本実施例に関わる制約管理画面９００の例を示す図。
【図１０】本実施例に関わる制約編集画面１０００の例を示す図。
【図１１】本実施例に関わる分析結果表示画面１１００の例を示す図。
【図１２】本実施例に関わるデータ分析のメインのフローチャートの例を示す図。
【図１３】本実施例に関わる統計情報からの制約生成の処理フローチャートの例を示す図。
【図１４】本実施例に関わる選択パターン生成の処理フローチャートの例を示す図。
【図１５】本実施例に関わる分析ツール適用の処理フローチャートの例を示す図。
【図１６】本実施例に関わる履歴からの制約生成の処理フローチャートの例を示す図。
【発明を実施するための形態】
【００１８】
以下、図面を用いて実施例を説明する。本実施例では、制約に基づいてデータ分析を自動化する装置の例を説明する。なお、以下に説明する実施例は特許請求の範囲にかかる発明を限定するものではなく、また実施例の中で説明されている各構成要素及びその組合せの全てが、課題を解決するための手段として必須であるとは限らない。
【実施例】
【００１９】
図１は、本実施例に関わるデータ分析自動化装置１００の構成ブロックの例を示す図である。データ分析自動化装置１００は、少なくともＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等のプロセッサ１２１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等のメモリ１２２、補助記憶装置１１０、及び、キーボードや表示モニタ等の入出力装置１２３を備えたコンピュータである。データ分析自動化装置１００は、ユーザインタフェース部１０１、統計分析部１０２、選択パターン生成部１０３、データ分析部１０４、履歴分析部１０５、矛盾検証部１０６などの機能ブロックを備える。これらの機能ブロックはコンピュータプログラムとして実現されており、メモリ１２２上でプロセッサ１２１により実行される。また、データ分析自動化装置１００は、制約記憶部１１１、データ記憶部１１２、仮説記憶部１１３、選択パターン記憶部１１４などのデータを補助記憶装置１１０に保管している。これらのデータは、プロセッサ１２１が機能ブロックを実行する際に補助記憶装置１１０から読みだして使用される。
【００２０】
図２は、本実施例に関わるコンビニの店舗情報２００に重回帰分析を適用した例を示す図である。コンビニの店舗情報２００としては、売上、気候、取扱商品などがある。
【００２１】
ここで、分析対象は、コンビニの店舗情報２００の１行に対応している。なお、本実施例では、データ分析技術として重回帰分析を用いたケースで説明するが、本発明自体は、決定木分析や相関ルール等、他のデータ分析ツールにも適用可能な技術である。
【００２２】
重回帰分析を行うツール(以下、単に重回帰分析ツールという)は、目的変数と説明変数を入力として、目的変数と説明変数中の属性との関係を「目的変数 = α×（属性１）＋β×（属性2）・・・」形式の回帰式で導出する。ここで、α及びβは定数である。以降では、仮説とは、重回帰分析ツールが出力する回帰式を指すこととする。
【００２３】
図２の例では、売上を目的変数２０１とし、医療品取扱い、食料品取扱い、周辺人口、所在市面積、平均年収、平均気温、最低気温、最高気温、及び、降水量を説明変数２０２として、重回帰分析ツール２０４に与えることで、例えば「売上 = -0.03×周辺人口-18.27×所在市面積+0.25×平均年収-38709.4」や「売上 = 22,863.72×平均気温+200.81×降水量」を回帰式２０５として得ることができる。
【００２４】
このとき、重回帰分析ツールによっては、各回帰式２０５の評価指標を出力できる。たとえば、相関係数２０６、決定係数２０７は、回帰式の評価指標の例である。相関係数２０６は、説明変数の実際の属性値と回帰式から求められる属性値の相関関係を数値化したものであり、この数値が大きいほど、相関が高いことを表している。決定係数２０７は、回帰式の当てはまりの良さを数値化したものであり、大きいほど目的変数と説明変数の実際の属性値によく当てはまる回帰式であることを表している。
【００２５】
図３は、本実施例に関わるデータ記憶部１１２のデータクラス構造の例を示す図である。データ記憶部１１２は、属性情報３０１、分析対象情報３０２、及び、属性値情報３０３の各データクラスを有する。図３の各データクラス表記は、２つの四角形により構成されている。上の四角形内にはデータクラス名が表されており、下の四角形内には当該データクラスのフィールド名が表されている。
【００２６】
また、データクラス間の関連は、矢印を結んで表している。矢印の始点にあるデータクラスは、終点にあるデータクラスを参照できることを表している。終点の文字列は参照されるデータクラスの役割を表している。さらに、矢印の始点及び終点の数字または「ｎ」は、関連の多重度を表している。ここで、「ｎ」は任意の数を意味する。以下に示す他のデータ構造の図についても同様の表記を用いている。
【００２７】
属性情報３０１は、属性に関する情報として、属性名、型、目的フラグを有する。
【００２８】
属性名は、属性間でユニークな識別子である。図２の例では、属性名は、「医療品取扱い」や「周辺人口」などである。
【００２９】
型は、後述する属性値のデータ型である。図２の例では、属性「食料品取扱い」の「文字列」や属性「最高気温」の「整数」が型である。
【００３０】
目的フラグは、属性が目的変数かどうかを表すフラグであり、目的フラグが「真（以下、ＴＲＵＥという）」の属性は目的変数であり、「偽（以下、ＦＡＬＳＥという）」の属性は説明変数に含まれる属性である。図２の例では、属性「売上」が目的変数なので、目的フラグは「ＴＲＵＥ」になる。以降では、目的変数は、目的フラグが「ＴＲＵＥ」になっている属性を指すこととし、説明変数は、目的フラグが「ＦＡＬＳＥ」になっている１以上の属性の属性すべてを指すこととする。なお、本実施例では、説明変数は、データ記憶部１１２に含まれる属性の中で、ひとつしか存在しないものとする。
【００３１】
属性情報３０１は、母集団として、ｎ個の後述する分析対象情報３０２と関連を持ち、さらに、母集団の属性値の集合として、ｎ個の後述する属性値情報３０３と関連を持っている。このため、属性は、必要に応じて、分析対象に対応する１以上の属性値をすべて取得できる。
【００３２】
分析対象情報３０２は、分析対象に関する情報として、分析対象ＩＤを持つ。分析対象ＩＤは、分析対象間でユニークな識別子である。図２の例では、分析対象ＩＤは、「名古屋店」や「気仙沼店」などである。
【００３３】
分析対象情報３０２は、保有属性として、ｎ個の属性情報３０１と関連を持ち、保有属性の属性値として、ｎ個の後述する属性値情報３０３と関連を持っている。このため、分析対象は、必要に応じで、属性に対応する１以上の属性値をすべて取得できる。
【００３４】
属性値情報３０３は、属性に対する分析対象の値として、属性値を持つ。図２の例では、属性値は、属性「売上」、分析対象「名古屋店」の場合の「７９８，３８４」や、属性「平均気温」、分析対象「那覇店」の場合の「２８」などである。
【００３５】
図４は、本実施例に関わる仮説記憶部１１３のデータクラスの構造の例を示す図である。仮説記憶部１１３は、仮説情報４０１を有する。
【００３６】
仮説情報４０１は、データを分析して導出された仮説に関する情報として、仮説ＩＤ、回帰式、相関係数、決定係数を有する。仮説ＩＤは、仮説間でユニークな識別子である。回帰式は分析ツールの出力結果であり、図２の例では、回帰式２０５の「売上=―０．０３×周辺人口―１８．２７×所在市面積＋０．２５×平均年収―３８７０９．４」である。相関係数及び決定係数は、回帰式の評価指標であり、図２の例では、それぞれ、相関係数２０６の「０．８３」、決定係数２０７の「０．６９」である。
【００３７】
仮説記憶部１１３から出力される１つの仮説情報４０１は、回帰式に含まれる属性として、ｎ個の属性情報３０１と関連を持っているため、仮説は、必要に応じて、回帰式に含まれる１以上の属性をすべて取得できる。
【００３８】
図５は、本実施例に関わる選択パターン記憶部１１４のデータクラスの構造の例を示す図である。選択パターン記憶部１１４は、選択パターン情報５０１を有する。
【００３９】
選択パターン情報５０１は、分析に使用する説明変数中の属性の集合（以下、選択パターンという）に関する情報として、パターンＩＤを有する。パターンＩＤは、選択パターン間でユニークな識別子である。
【００４０】
選択パターン記憶部１１４から出力される１つの選択パターン情報５０１は、使用する属性として、ｎ個の属性情報３０１と関連を持っているため、選択パターンは、必要に応じて、自身に含まれている１以上の属性をすべて取得できる。さらに、選択パターン記憶部１１４から出力される１つの選択パターン情報５０１は、導出された仮説として、ｎ個の仮説情報４０１とも関連を持っているため、選択パターンは、必要に応じて、導出された１以上の仮説をすべて取得できる。
【００４１】
図６は、本実施例に関わる制約記憶部１１１のデータクラスの構造の例を示す図である。制約記憶部１１１は、制約情報６０１を有する。
【００４２】
制約情報６０１は、選択パターンへの制約に関する情報として、制約ＩＤ、有効性、自動生成フラグ、制約種別６０２、選択数を有する。制約ＩＤは、制約間でユニークな識別子である。有効性は、制約が有効化どうかを表すフラグであり、「有効」のとき、その制約は有効な制約といい、「無効」のとき、その制約は無効な制約という。自動生成フラグは、制約が分析者から、入力されたのかそれとも、装置が生成したのかを表すフラグであり、「ＴＲＵＥ」のとき、装置が生成した制約を意味し、「ＦＡＬＳＥ」のとき、分析者が入力した制約を意味する。以降では、自動生成フラグが「ＴＲＵＥ」となっている制約を特に、自動生成された制約という。
【００４３】
制約種別６０２は、制約の内容を表し、４つの制約「除去」、「選択」、「排他」、「付帯」の何れかである。以降では、制約種別６０２が「除去」の制約を除去制約といい、「選択」の制約を選択制約といい、「排他」の制約を排他制約といい、「付帯」の制約を付帯制約ということとする。
【００４４】
選択数は、対象属性の中から選択する属性の数を表し、選択制約のみが使用するフィールドである。ここで、対象属性とは、目的変数の対象になる属性をいう。
【００４５】
制約記憶部１１１から出力される１つの制約６０１は、対象属性として、ｎ個の属性情報３０１と関連を持っているため、制約は、必要に応じて、１以上の対象属性をすべて取得できる。さらに、前提属性としても、ｎ個の属性情報３０１と関連を持っているが、この関連は、付帯制約のみが使用する。すなわち、前提属性とは、対象属性と同じ属性をいう。
【００４６】
また、各制約は、属性が選択パターンに含まれるかどうかを表す命題変数Ｐｉを用いて論理式としても表現できる。ここで、「ｉ」は属性情報３０１の属性名に対応している。さらに、Ｐｉが「ＴＲＵＥ」の場合、Ｐｉに対応する属性が選択パターンに含まれることを意味し、「ＦＡＬＳＥ」の場合、Ｐｉに対応する属性が選択パターンに含まれないことを意味する。
【００４７】
除去制約は「対象属性に含まれる属性を選択しない」ことを意味しており、以下に示す対象属性に含まれる属性に対応する命題変数が「ＴＲＵＥ」にならないことを意味する論理式（１）で表現できる。なお、以降では、除去制約は「ｎоｔ｛対象制約｝」とも記述する
【００４８】
【数１】
2018088087.tif 000003
選択制約は「対象属性に含まれる属性のうち、必ず指定された分の属性を選択する」ことを意味しており、以下に示す、対象属性に含まれる属性に対応する命題変数のうち、選択数分の命題変数が「ＴＲＵＥ」となることを意味する論理式（２）として表現できる。なお、以降では、選択制約は、「Ｓｅｌｅｃｔ（選択数）｛対象属性｝」とも記述する
【００４９】
【数２】
2018088087.tif 000004
ここで、命題変数の集合において、ＴＲＵＥとなる命題変数の数に関する論理式は、一般的に基数制約と呼ばれており、「ａｔ−ｍоｓｔ(対象属性、選択数)」は、「対象属性」に対応する命題変数の中で最大「選択数」個の命題変数が「ＴＲＵＥ」になることを表す基数制約であり、「ａｔ-ｌｅａｓｔ(対象属性、選択数)」は、「対象属性」に対応する命題変数の中で少なくとも「選択数」個の命題変数がＴＲＵＥになることを表す基数制約である。
【００５０】
なお、基数制約の具体的な表現方法については、例えば「Olivier ＢＡＢａｉｌｌｅｕｘ、Ｙａｃｉｎｅ  Ｂｏｕｆｋｈａｄ、“Ｅｆｆｉｃｉｅｎｔ  ＣＮＦ  ｅｎｃｏｄｉｎｇ  ｏｆ  Ｂｏｏｌｅａｎ  Ｃａｒｄｉｎａｌｉｔｙ  Ｃｏｎｓｔｒａｉｎｔｓ”、Ｐｒｉｎｃｉｐｌｅｓ  ａｎｄ  Ｐｒａｃｔｉｃｅ  ｏｆ  Ｃｏｎｓｔｒａｉｎｔ  Ｐｒｏｇｒａｍｍｉｎｇ−ＣＰ  ２００３、ｐｐ１０８−１２２、  ２００３」などに詳しく述べられているので、そちらを参照されたい。
【００５１】
また、基数制約に対応したＳＡＴソルバも存在し、具体的な論理式に変換するのではなく、それらのＳＡＴソルバを活用することも可能である。なお、基数制約に対応したＳＡＴソルバについては、例えば、「山根裕二らの“基数制約の概念を持つＳＡＴソルバの設計と評価”、人工知能学会全国大会論文集２５、ｐｐ１−４、２０１１」などに詳しく述べられているので、そちらを参照されたい。
【００５２】
排他制約は、「対象属性から０〜１個の属性を選択する」ことを意味しており、以下に示す、対象属性に含まれる属性に対応する命題変数のうち、最大１個の命題変数が「ＴＲＵＥ」となることを意味する論理式（３）として表現できる。なお、以降では、排他制約は「ａｔ−ｍоｓｔ−оｎｅ｛対象属性｝」とも記述する
【００５３】
【数３】
2018088087.tif 000005
付帯制約は、「前提属性がすべて使用されるとき、対象属性も一緒にすべて選択する」ことを意味しており、以下に示す、前提属性に含まれる属性に対応する命題変数がすべてＴＲＵＥのとき、対象属性に含まれる属性に対応する命題変数がすべてＴＲＵＥになることを意味する論理式（４）に対応する。なお以降では、付帯制約は、「ｉｍｐｌｉｃａｔｉоｎ（前提属性）｛対象属性｝」とも記述する
【００５４】
【数４】
2018088087.tif 000006
以降において、制約は、除去制約、選択制約、排他制約、付帯制約の何れかを指すこととする。
【００５５】
図７は、本実施例に関わるデータ分析設定画面７００の例を示す図である。この図は、ユーザインタフェース部１０１が入出力装置１２３に表示し、分析者が入力した自動データ分析の設定情報を受け付ける画面の例を示している。すなわち、ユーザインタフェース部が、ユーザからの入力を受け付ける受付部としての機能を有する。
【００５６】
データ分析設定画面７００は、分析パラメータ設定エリア７１０、制約リスト表示エリア７２０、データ表示エリア７３０、データ読み込みボタン７４０、制約管理ボタン７５０、分析実行ボタン７６０を含む。
【００５７】
分析パラメータ設定エリア７１０は、自動分析時のパラメータを表示・入力する領域であり、最大属性数、最小属性数、終了条件、制約自動生成対象、分析周期、分析カバレッジを表示し、統計情報チェックボックス、履歴チェックボックス、終了条件の単位指定コンボボックスを含む。
【００５８】
ユーザインタフェース部１０１が、「最大属性数」、「最小属性数」、「終了条件」、「分析カバレッジ」、「制約自動生成対象」、「分析周期」のタイトル（項目名）、統計情報チェックボックス、履歴チェックボックス、終了条件の単位指定コンボボックスを表示し、分析者が最大属性数、最小属性数、終了条件、制約自動生成対象、分析周期、終了条件の単位を入力する。
【００５９】
最大属性数は、選択パターンに含まれる属性の最大数を意味している。最小属性数は、選択パターンに含まれる属性数の最小数を意味している。終了条件は、制約を満たす全選択パターンに分析を適用した場合以外の分析の終了条件を意味している。
【００６０】
図７では、終了条件の単位として、「時間」が入力されているが、それ以外に、分析回数を表す「回」を指定することも可能である。制約自動生成対象は、統計情報から制約を自動生成するか、また、履歴から制約を自動生成するかを意味しており、それぞれ該当するチェックボックスにチェックを入れることで、自動生成を有効にできる。
【００６１】
分析周期は、履歴からの制約自動生成を行う間隔を意味している。分析カバレッジは、履歴分析部１０５において、分析していない属性の組合せを特定する際に使用する。なお、分析周期及び分析カバレッジは、履歴からの制約自動生成が有効な場合のみ、入力可能である。
【００６２】
図７は、最大属性数として「５属性」、最小属性数として「３属性」、終了条件として「１時間」、が入力され、制約自動生成対象として「統計情報」、「履歴」のチェックボックスにチェックが入り、さらに、分析周期として「１０回」、分析カバレッジとして「２属性」が入力された例である。
【００６３】
制約リスト表示エリア７２０は、制約記憶部１１１に記憶されている制約情報６０１を表示する領域であり、ユーザインタフェース部１０１が制約記憶部１１１に記憶されている制約情報６０１のうち、制約表示条件設定エリア７２１で指定された条件を満たす制約一覧を表示し、制約表示条件設定エリア７２１を含む。分析者が、制約一覧中のいずれかの制約情報６０１を押下すると、ユーザインタフェース部１０１は、制約情報６０１を選択された制約として記憶し、さらに、分析者に制約が選択されていることを示すため、制約の背景色を変更する。
【００６４】
図７は、制約情報６０１の一覧表として、制約ＩＤ１「付帯制約：ｉｍｐｌｉｃａｔｉоｎ（周辺人口）｛平均年収｝」、制約ＩＤ２「選択制約：ｓｅｌｅｃｔ（１）｛周辺人口、最高気温｝」、制約ＩＤ３「｛排他制約：ａｔ−ｍоｓｔ−оｎｅ｛平均年収、最高気温｝｝」を表示させた例である。
【００６５】
制約表示条件設定エリア７２１は、制約の一覧表に表示させる制約情報６０１の条件を指定する領域であり、有効性、種別、対象／前提属性を表示し、「指定しない」、「有効」、「無効」の何れかを選択するラジオボタン、表示させる制約の種別を選択するコンボボックスを含む。ユーザインタフェース部１０１が「有効性」、「種別」、「使用属性」のタイトル（項目名）、ラジオボタン、コンボボックスを表示し、分析者が表示させる制約の有効性、種別、分析に使用する属性（使用属性）を入力する。なお、種別は、「除去制約」「排他制約」、「選択制約」、「付帯制約」の何れかを選択できる。
【００６６】
ユーザインタフェース部１０１は、表示させる制約の条件が分析者によって変更されたことを検知すると、分析者が入力した制約の有効性、種別、使用属性を全て満たす制約の制約情報６０１を制約記憶部１１１から取得し、制約の一覧表に表示させる。なお、有効性の「指定しない」は、表示させる制約の条件に有効性を使用しないことを意味している。
【００６７】
図７は、有効性として「有効」を選択し、種別を選択せず、対象／前提属性を入力しない例である。
【００６８】
データ表示エリア７３０は、データ記憶部１１２から読み込んだ属性情報３０１、分析対象情報３０２、及び属性値情報３０３を表示させる領域であり、ユーザインタフェース部１０１がデータ一覧を表示させる。データ一覧は、各属性情報３０１のうち目的変数としていずれかを選択するラジオボタンを含む。
【００６９】
分析者が、ラジオボタンで、ある属性を目的変数として選択すると、ユーザインタフェース部１０１は、選択された属性に対応する属性情報３０１の目的フラグを「ＴＲＵＥ」に変更し、選択されなかった属性に対応する属性情報３０１の目的フラグを「ＦＡＬＳＥ」に変更する。ここでは、「売上」が目的変数になり、「医療品取扱い」、「食料品取扱い」、「周辺人口」、「所在市面積」、「平均年収」、「平均気温」、「最低気温」、「最高気温」、及び、「降水量」は説明変数になる。
【００７０】
データ読み込みボタン７４０は、ＣＳＶファイルや外部ＤＢからデータ読み込みを行うためのボタンである。分析者がデータ読み込みボタン７４０を押下すると、ユーザインタフェース部１０１は、後述するデータ読み込み画面８００を表示する。
【００７１】
制約管理ボタン７５０は、制約記憶部１１１に記憶された制約の管理を行うためのボタンである。分析者が制約管理ボタン７５０を押下すると、ユーザインタフェース部１０１は、後述する制約管理画面９００を表示する。
【００７２】
分析実行ボタン７６０は、分析パラメータ設定エリア７１０で入力された分析の設定及び制約記憶部１１１に記憶された制約に基づいて、データ記憶部１１２に記憶されたデータに対して、自動的にデータ分析を適用するためのボタンである。分析者が分析実行ボタン７６０を押下すると、ユーザインタフェース部１０１は、後述するデータ分析全体の流れＳ１２００以降に従って、自動的に分析を実施し、分析終了後、後述する分析結果表示画面１１００を表示させる。
【００７３】
図８は、本実施例に関わるデータ読み込み画面８００の例を示す図である。この図では、ユーザインタフェース部１０１が入出力装置１２３に表示する、ＣＳＶファイルやデータベースなどからデータを読み込むためのデータ読み込み画面８００の例を表している。
【００７４】
データ読み込み画面８００は、取得元設定エリア８１０、キャンセルボタン８２０、読み込み実行ボタン８３０を含む。
【００７５】
取得元設定エリア８１０は、データ取得元の情報を表示する領域であり、取得元を表示し、取得元の種類がデータベースかＣＳＶファイルかを選択するラジオボタン（以下、取得元種類選択のラジオボタンという）、制約を生成するかどうかを選択するラジオボタン（以下、制約生成選択のラジオボタンという）を含む。ユーザインタフェース部１０１が「取得元」のタイトル（項目名）、取得元種類選択のラジオボタン、制約生成選択のラジオボタンを表示させ、分析者が、取得元、取得元の種類、制約を生成するかどうかをする。
【００７６】
図８は、取得元として「Ｃ：￥ｄａｔａ￥ｓｅｒｖｉｃｅ＿ｓｔｏｒｅ＿ｄａｔａ．ｃｓｖ」、種類として「ＣＳＶファイル」、制約の生成を「する」と入力された例である。
【００７７】
なお、本装置への入力ファイル及びデータベースには、属性情報３０１の各フィールド及び分析対象情報３０２の各フィールド、属性値情報３０３の各フィールドに対応する情報が機械解釈可能な形で含まれていることを前提とする。
【００７８】
キャンセルボタン８２０は、データ読み込みを実施せずに、データ読み込み画面８００を閉じるためのボタンである。分析者がキャンセルボタン８２０を押下すると、ユーザインタフェース部１０１は、データ読み込み画面８００を閉じる。
【００７９】
読み込み実行ボタン８３０は、データ読み込みを実施し、その後データ読み込み画面８００を閉じるためのボタンである。分析者が読み込み実行ボタン８３０を押下すると、ユーザインタフェース部１０１は、取得元に指定されたファイルまたはデータベースから、属性、分析対象、属性値を読み込み、データ記憶部１１２に、属性情報３０１、分析対象情報３０２、属性値情報３０３を追加する。さらに、分析者が制約の生成を「する」と選択している場合は、データ分析部１０４を用いて、読み込んだデータの統計情報から排他制約、もしくは、除去制約を生成し、生成した制約に対応する制約情報６０１を制約記憶部１１１に追加する。データの読み込み及び制約の生成後、ユーザインタフェース部１０１は、データ読み込み画面８００を閉じる。さらに、ユーザインタフェース部１０１は、データの読み込み及び制約の生成の結果をデータ分析設定画面７００の制約一覧及びデータ一覧に反映させる。
【００８０】
図９は、本実施例に関わる制約管理画面９００の例を示す図である。この図では、ユーザインタフェース部１０１が入出力装置１２３に表示する、本装置が記憶している制約情報６０１を管理するための制約管理画面９００の例を表している。
【００８１】
制約管理画面９００は、制約リスト表示エリア９１０、削除ボタン９２０、修正ボタン９３０、追加ボタン９４０、選択パターン例示エリア９５０、終了ボタン９６０を含む。
【００８２】
制約リスト表示エリア９１０は、図７の制約リスト表示エリア７２０と同一のため、説明を省略する。
【００８３】
削除ボタン９２０は、制約情報６０１を削除するためのボタンである。分析者が削除ボタン９２０を押下すると、ユーザインタフェース部１０１は、押下前に選択された制約情報６０１があれば、選択された制約情報６０１を制約一覧と制約記憶部１１１から削除する。押下前に選択された制約情報６０１がなければ、ユーザインタフェース部１０１は、選択された制約がない旨を出力する。
【００８４】
修正ボタン９３０は、既存の制約情報６０１を修正するためのボタンである。分析者が修正ボタン９３０を押下すると、ユーザインタフェース部１０１は、押下前に選択された制約情報６０１があれば、制約情報６０１を編集対象制約情報として、後述する制約編集画面１０００を表示し、押下前に選択された制約情報６０１がなければ、編集対象制約が選択されていない旨を出力する。
【００８５】
追加ボタン９４０は、新たな制約情報６０１を追加するためのボタンである。分析者が追加ボタン９４０を押下すると、ユーザインタフェース部１０１は、編集対象制約情報として、制約ＩＤと有効性が「有効」、自動生成フラグが「ＦＡＬＳＥ」、制約種別６０２が「選択」の制約情報６０１を生成し、後述する制約編集画面１０００を表示する。このとき、ユーザインタフェース部１０１は、制約記憶部１１１に制約情報６０１が１以上、記憶されていない場合は「０」を、１以上、記憶されている場合は、制約記憶部１１１に記憶されている制約情報６０１の制約ＩＤの最大値に「１」を加えた値を制約ＩＤとする。なお、追加ボタン９４０を押下した時に、生成される制約の種別は、「選択」以外でも構わない。
【００８６】
選択パターン例示エリア９５０は、制約を満たす選択パターンの例を表示するための領域であり、最大属性数、最小属性数、生成個数、選択パターン一覧を表示し、選択パターン例示ボタン９５１を含む。
【００８７】
ユーザインタフェース部１０１が、「最大属性数」、「最小属性数」、「生成個数」のタイトル（項目名）、選択パターン一覧、選択パターン例示ボタン９５１を表示し、分析者が最大属性数、最小属性数、生成個数を入力する。
【００８８】
図９は、最大属性数として「５属性」、最少属性数として「３属性」、生成個数として「１個」を入力し、選択パターンの例示として、「平均年収」、「周辺人口」、「所在市面積」の３つの属性からなる選択パターンを表示させた例である。
【００８９】
選択パターン例示ボタン９５１は、分析者が入力した最大属性数、最小属性数、生成個数に基づいて、制約を満たす選択パターンを生成するためのボタンである。分析者が選択パターン例示ボタン９５１を押下すると、ユーザインタフェース部１０１は、選択パターン生成部１０３を用いて、制約記憶部１１１に記憶された制約情報６０１を満たし、最少属性数以上、最大属性数以下の属性を含む選択パターンを生成個数、生成し、選択パターン一覧に追加する。このとき、選択パターン一覧に既に選択パターンが追加されている場合、ユーザインタフェース部１０１は、既に追加されている選択パターンを削除してから追加する。
【００９０】
終了ボタン９６０は、制約情報６０１の管理を終了するためのボタンである。分析者が終了ボタン９６０を押下すると、ユーザインタフェース部１０１は、制約管理画面９００を閉じる。
【００９１】
図１０は、本実施例に関わる制約編集画面１０００の例を示す図である。この図では、ユーザインタフェース部１０１が入出力装置１２３に表示する、編集対象制約を編集するための制約編集画面１０００の例を表している。
【００９２】
ユーザインタフェース部１０１は、制約表示エリア１０１０、矛盾制約表示エリア１０２０、終了ボタン１０３０を含む。
【００９３】
制約表示エリア１０１０は、編集対象制約情報の表示、または編集を行うための領域であり、制約ＩＤ、制約種別、対象属性、選択数、前提属性、有効性、自動生成フラグを表示し、制約種別を選択するためのコンボボックス、有効性を選択するためのラジオボタン、編集反映ボタン１０１１を含む。
【００９４】
ユーザインタフェース部１０１が、「制約ＩＤ」のタイトル(項目名)と実際の制約ＩＤ、「制約種別」、「対象属性」、「選択数」、「前提属性」、「有効性」のタイトル（項目名）、「自動生成フラグ」のタイトル（項目名）、実際の自動生成フラグ、コンボボックス、ラジオボタンを表示し、分析者が制約種別、対象属性、選択数、前提属性、有効性を入力する。
【００９５】
さらに、選択数は、制約種別として「選択制約」を選択しているときのみ入力可能であり、前提属性は、制約種別として「付帯制約」を選択しているときのみ入力可能である。
【００９６】
また、制約編集画面１０００が表示されたとき、制約表示エリア１０１０には、編集対象制約情報の制約ＩＤ、制約種別、対象属性、選択数、前提属性、有効性、自動生成フラグが表示される。なお、編集対象制約情報が、選択制約以外の場合、選択数は空欄になり、編集対象が付帯制約以外の場合、前提属性は空欄になる。
【００９７】
図１０は、編集対象制約情報として、制約ＩＤに「２」、制約種別に「選択制約」、対象属性に、「周辺人口、最高気温」、有効性に「有効」、自動生成フラグに「ＦＡＬＳＥ」を表示し、分析者が選択数を「１」から「２」に変更した例である。
【００９８】
編集反映ボタン１０１１は編集後の編集対象制約情報の内容を制約記憶部１１１に反映させるためのボタンである。分析者が編集反映ボタン１０１１を押下すると、ユーザインタフェース部１０１は、編集対象制約情報と同じ制約ＩＤを持つ制約記憶部１１１の制約情報６０１を編集対象の制約と一致させる。このとき、編集対象制約と同じ制約ＩＤを持つ制約情報６０１が制約記憶部１１１に存在しない場合、新たな制約として、制約情報６０１を制約記憶部１１１に追加する。さらに、ユーザインタフェース部１０１は、矛盾検証部１０６を用いて、制約記憶部１１１に記憶されている有効な制約情報６０１の中で、編集対象制約と矛盾している制約情報６０１を探し、後述する矛盾制約表示エリア１０２０の矛盾制約リストに表示する。
【００９９】
本実施例では、１以上の制約の集合において、制約の集合に含まれている制約を全て満たす属性の選択パターンが存在していないとき、制約の集合は、矛盾を含んでいるという。
【０１００】
ここで、制約の集合が矛盾を含んでいるか判断するには、集合内に含まれる制約の論理式を論理積で結合した論理式（５）（以下、矛盾検証式という）の充足可能性を判定すれば良い
【０１０１】
【数５】
2018088087.tif 000007
充足可能性とは、与えられた論理式をＴＲＵＥ（真）にする命題変数の値の組合せ（以下、モデルという）が存在するか否かを表す性質である。矛盾検証式が充足可能とは、制約を満たす属性の選び方が存在することを意味している。
【０１０２】
充足可能性は、単純には、すべての変数の値の組合せをチェックすることで判定可能ある。また、ＤＰＬＬ（ＤａｖｉＳ−Ｐｕｔｎａｍ−Ｌｏｇｅｍａｎｎ−Ｌｏｖｅｌａｎｄ）アルゴリズムなど、変数の値の組合せではなく、論理式の構造に着目して、効率的に充足可能性を判定するツールがある。たとえば、ＳＡＴ（ＳａｔｉＳｆｉａｂｉｌｉｔｙ）ソルバは、充足可能性判定を判定するツールの一種であり、選択パターン生成用論理式の充足可能性を判定できる。また、ＳＡＴソルバには、論理式が充足可能だった場合、モデルを取得する機能を備えるものがある。
【０１０３】
制約の集合の矛盾検証式が充足不能の場合、その制約の集合は矛盾を含んでおり制約の集合の矛盾検証式が充足可能の場合、その制約の集合は矛盾を含んでいない。さらに、矛盾検証式が充足不能な制約の集合において、どの属性を集合から除去しても、除去後の制約の集合の矛盾検証式が充足可能となる場合、そのような制約の集合を特に、矛盾検証式が充足不能となる極小な制約の集合という。以降において、矛盾とは、矛盾判定が充足不能となる極小な制約の集合を指すこととする。
【０１０４】
ユーザインタフェース部１０１は、矛盾検証部１０６を用いて、編集対象制約情報と制約記憶部１１１に記憶されている有効な制約情報６０１の中で、編集対象制約情報を含む矛盾を探し、矛盾に含まれる編集対象制約情報以外の制約情報６０１を矛盾制約表示エリア１０２０に編集対象制約と矛盾している制約として表示する。
なお、矛盾を探すには、例えば「Ｔｈａｉ  Ｓｏｎ  Ｈｏａｎｇらの“Ｖａｌｉｄａｔｉｎｇ  ｔｈｅ  Ｃｏｎｓｉｔｅｎｃｙ  ｏｆ  Ｓｐｅｃｉｃａｔｉｏｎ  Ｒｕｌｅｓ”、ｈｔｔｐ：／／ｄｅｐｌｏｙ−ｅｐｒｉｎｔｓ．ｅｃｓ．ｓｏｔｏｎ．ａｃ．ｕｋ／４６５／１／ｒｕｌｅｖａｌ−ｔｅｃｈｒｅｐ．ｐｄｆ」に記載のＭｉｎｉｍａｌ  ＵｎＳａｔ  Ｃｏｒｅを探す方法を用いればよく、詳細はそちらを参照されたい。
【０１０５】
矛盾制約表示エリア１０２０は、編集対象制約情報と矛盾している制約を表示するための領域であり、矛盾制約リスト１０２１、一括無効ボタン１０２２を含む。
【０１０６】
ユーザインタフェース部１０１は、制約記憶部１１１に記憶されている制約情報６０１の中で、制約表示エリア１０１０に表示されている制約と矛盾している制約情報６０１と一括無効ボタン１０２２を表示する。
【０１０７】
矛盾制約リスト１０２１は、編集対象制約情報と矛盾している制約を表示するためのリストであり、１行が、１つ以上の制約情報６０１の集合と対応する。分析者が、制約情報６０１の集合の中の制約情報６０１を押下すると、ユーザインタフェース部１０１は、押下された制約情報６０１を編集対象制約情報として、制約編集画面１０００を表示する。
【０１０８】
一括無効ボタン１０２２は、矛盾制約リスト１０２１中の全制約の集合の何れかに含まれる制約情報６０１の有効性を一括で無効にするためのボタンである。分析者が一括無効ボタン１０２２を押下すると、ユーザインタフェース部１０１は、制約記憶部１１１に記憶されている制約情報６０１の中で、矛盾制約リスト１０２１の制約情報６０１の集合に含まれる制約情報６０１の有効性を「無効」に変更する。
【０１０９】
図１０は、矛盾している制約の集合として、「付帯制約：ｉｍｐｌｉｃａｔｉоｎ(周辺人口){平均年収}」と「排他制約：ａｔ−ｍоｓｔ−оｎｅ{平均年収、最高気温」を持つ集合を表示させている例である。
【０１１０】
終了ボタン１０３０は、制約編集を終了するためのボタンである。分析者が終了ボタン１０３０を押下すると、ユーザインタフェース部１０１は、制約編集画面１０００を閉じる。
【０１１１】
図１１は、本実施例に関わる分析結果表示画面１１００の例を示す図である。この図では、ユーザインタフェース部１０１が入出力装置１２３に表示する、データ分析の結果、得られた仮説を表示するための分析結果表示画面１１００の例を表している。
【０１１２】
分析結果表示画面１１００は分析パラメータ表示エリア１１１０、選択パターン表示エリア１１２０、仮説リスト表示エリア１１３０を含む。
【０１１３】
分析パラメータ表示エリア１１１０は、データ分析設定画面７００の分析パラメータ設定エリア７１０で分析者が入力した結果を表示する領域であり、分析パラメータ設定エリア７１０と内容が同一のため、説明を省略する。
【０１１４】
選択パターン表示エリア１１２０は、選択パターン記憶部１１４に記憶された選択パターン情報を表示するための領域であり、選択パターン一覧を表示し、選択パターン表示条件設定エリア１１２１を含む。分析者が選択パターン一覧中の選択パターン情報５０１を選択すると、ユーザインタフェース部１０１は、仮説記憶部１１３から、選択パターン情報５０１を用いて、導出された仮説情報４０１を探し、後述する仮説リスト表示エリア１１３０の仮説一覧に表示させる。
【０１１５】
図１１は、選択パターンとして、Ｎｏ．１｛周辺人口、所在市面積、平均年収｝とＮｏ．２｛最高気温、降水量、平均年収｝を表示させた例である。
【０１１６】
選択パターン表示条件設定エリア１１２１は、選択パターン一覧に表示させる選択パターン情報５０１の条件を設定するための領域であり、使用属性を表示する。
【０１１７】
ユーザインタフェース部１０１が、「使用属性」のタイトル（項目名）を表示し、分析者が属性を入力する。分析者が属性名を入力すると、ユーザインタフェース部１０１は、選択パターン記憶部１１４から、分析者が入力した属性名を持つ属性を含む選択パターン情報５０１を探し、選択パターン一覧に表示させる。
【０１１８】
図１１は、使用属性として「平均年収」を入力した例である。
【０１１９】
仮説リスト表示エリア１１３０は、データ分析によって導出された仮説を表示するための領域であり、仮説一覧を表示し、仮説表示条件設定エリア１１３１を含む。仮説一覧には、仮説表示条件設定エリア１１３１に入力された条件を満たす仮説情報４０１を表示する。
【０１２０】
図１１は、Ｎｏ．１｛周辺人口、所在市面積、平均年収｝の場合の複数の回帰式として「売上＝−０．０３×周辺人口―１８．２７×所在市面積＋０．２５×平均年収―３８７０９．４」、相関係数として「０．８３」、決定係数として「０．６９」を持つ仮説情報４０１等を表示させた例である。
【０１２１】
仮説表示条件設定エリア１１３１は、仮説一覧に表示させる仮説の条件を設定するための領域であり、属性、相関係数、決定変数を表示させる。
【０１２２】
ユーザインタフェース部１０１が、「属性」、「相関係数」、「決定変数」のタイトル（項目名）を表示し、分析者が、属性、相関係数、決定変数を入力する。属性、相関係数、決定変数が入力されると、ユーザインタフェース部１０１は、選択パターン表示エリア１１２０の選択パターン一覧から分析者によって選択された選択パターン情報５０１を使って、導出された仮説情報４０１のうち、入力された属性を含む、相関係数が入力された範囲内であり、決定変数が入力された範囲内である仮説情報４０１を仮説記憶部１１３から探し、仮説一覧に表示させる。
【０１２３】
図１１は、表示させる仮説の相関係数の下限として、「０．７」を入力し、決定変数の上限として「０．７」を入力した例である。
【０１２４】
すなわち、図１１の分析結果表示画面１１００が、選択パターンの一覧からデータ分析者が選択した選択パターンに基づいて、データ分析によって導出された仮説の一覧を表示する表示部としての機能を有する。
【０１２５】
図１２は、本実施例に関わるデータ分析のメインのフローチャートの例を示す図である。なお、図中の符号Ｓはステップを表す。
【０１２６】
ユーザインタフェース部１０１は、分析者がデータ分析設定画面７００の分析実行ボタン７６０を押下した場合に、処理を実行する（Ｓ１２００）。
【０１２７】
ユーザインタフェース部１０１は、分析パラメータ設定エリア７１０の統計情報チェックボックスにチェックが入っているかを確認する（Ｓ１２０１）。
【０１２８】
当該チェックボックスにチェックが入っている場合、ユーザインタフェース部１０１は、Ｓ１２０２に進み、チェックが入っていない場合、ユーザインタフェース部１０１は、Ｓ１２０３に進む。
【０１２９】
ユーザインタフェース部１０１は、統計分析部１０２を用いて、統計情報から制約を生成する（Ｓ１２０２）。
【０１３０】
ユーザインタフェース部１０１は、選択パターン生成部１０３を用いて、選択パターンをひとつ生成する（Ｓ１２０３）。
【０１３１】
ユーザインタフェース部１０１は、選択パターンの生成に成功したかどうかを確認する（Ｓ１２０４）。
【０１３２】
生成に成功した場合、ユーザインタフェース部１０１は、Ｓ１２０５に進み、生成に失敗した場合、ユーザインタフェース部１０１は、Ｓ１２０９に進む。
【０１３３】
ユーザインタフェース部１０１は、データ分析をするデータ分析部１０４を用いて、生成した選択パターン中に含まれる属性及び属性値に対して、データ分析を適用する（Ｓ１２０５）。
【０１３４】
ユーザインタフェース部１０１は、分析パラメータ設定エリア７１０の履歴チェックボックスがチェックされており、かつ、当該エリアの分析周期を満たしているか確認する（Ｓ１２０６）。
【０１３５】
満たしている場合、ユーザインタフェース部１０１は、Ｓ１２０７に進み、満たしていない場合、ユーザインタフェース部は、Ｓ１２０８に進む。
【０１３６】
ユーザインタフェース部１０１は、履歴分析部１０５を用いて、過去に生成した選択パターンの履歴から、制約を生成する（Ｓ１２０７）。
【０１３７】
ユーザインタフェース部１０１は、分析パラメータ設定エリア７１０の終了条件を満たしているか確認する（Ｓ１２０８）。
【０１３８】
終了条件を満たす場合、ユーザインタフェース部は、Ｓ１２０９に進み、満たさない場合は、Ｓ１２０３に進む。
【０１３９】
ユーザインタフェース部１０１は、分析結果表示画面１１００を表示し（Ｓ１２０９）、処理を終了する（Ｓ１２１０）。
【０１４０】
図１３は、本実施例に関わる統計情報からの制約生成の処理フローチャートの例を示す図である。この図では、統計分析部１０２がデータの統計的な分析結果から制約を生成する処理の流れを表している。
【０１４１】
統計分析部１０２は、ユーザインタフェース部１０１から起動されることで、処理を開始する（Ｓ１３００）。
【０１４２】
統計分析部１０２は、データ記憶部１１２から、説明変数を対象属性集合として取得する。（Ｓ１３０１）
統計分析部１０２は、対象属性集合中の各属性に対して、分析対象ごとの属性値の出現頻度を算出する（Ｓ１３０２）。ここで、出現頻度とは、ユーザインタフェース部１０１が受け付けた説明変数を統計的に分析した結果の値である。
【０１４３】
出現頻度は、「属性値iの出現頻度  ＝属性値iを含む分析対象数／分析対象数」という式で算出できる。ここで、属性値iは、任意の属性値である。
【０１４４】
統計分析部１０２は、出現頻度が閾値を超える属性値を持つ属性（以下、除去対象制約）に対して、属性を選択しないことを意味する除去制約「ｎоｔ｛除去対象制約｝」を生成する（Ｓ１３０３）。ここで、閾値は、固定値でもパラメータとして、分析者が事前に与える形でも良い。
【０１４５】
統計分析部１０２は、説明変数を統計的に分析した結果である出現頻度に基づいて生成した除去制約に対応する制約情報６０１を制約記憶部１１１に追加する（Ｓ１３０４）。このとき、制約ＩＤは、制約記憶部１１１に記憶されている制約情報６０１が使用していない数値とし、有効性は「有効」、自動生成フラグは「ＴＲＵＥ」とする。
【０１４６】
統計分析部１０２は、除去対象属性を対象属性集合から除去する（Ｓ１３０５）。
【０１４７】
統計分析部１０２は、対象属性集合中に含まれる2つの属性の組合せ（以下、属性のペアという）を全て生成する（Ｓ１３０６）。
【０１４８】
統計分析部１０２は、生成した属性のペアごとに、相関係数を算出する（Ｓ１３０７）。
【０１４９】
統計分析部１０２は、相関係数が、閾値を超える属性のペア（排他対象属性ペア）に対して、排他対象属性ペアから、高々1個の属性しか選択しないことを意味する排他制約「ａｔ−ｍｏｓｔ−оｎｅ｛排他対象属性ペア｝」を生成する（Ｓ１３０８）。すなわち、統計分析部１０２は、属性間の相関関係に基づいて、前記排他制約を生成する。
【０１５０】
統計分析部１０２は、生成した排他制約に対応する制約情報６０１を制約記憶部１１１に追加し（Ｓ１３０９）、処理を終了する（Ｓ１３１０）。このとき、制約ＩＤは、制約記憶部１１１に記憶されている制約情報６０１が使用していない数値とし、有効性は「有効」、自動生成フラグは「ＴＲＵＥ」とする。
【０１５１】
図１４は、本実施例に関わる選択パターン生成の処理フローチャートの例を示す図である。この図では、選択パターン生成部１０３が、制約を満たす選択パターンを生成する処理の流れを表している。
【０１５２】
選択パターン生成部１０３は、ユーザインタフェース部１０１から起動されることで、処理を開始する（Ｓ１４００）。
【０１５３】
選択パターン生成部１０３は、制約記憶部１１１から、有効となっている制約情報６０１を全て取得する（Ｓ１４０１）。
【０１５４】
選択パターン生成部１０３は、有効となっている制約情報６０１を使って、選択パターンを生成するための選択パターン生成用論理式を生成する（Ｓ１４０２）。
【０１５５】
選択パターン生成用論理式（６）は、「説明変数から分析パラメータ設定エリア７１０の最大属性数以下の属性を選択することを意味する論理式（７）（以下、最大属性数制約という）」と「説明変数から分析パラメータ設定エリア７１０の最小属性数以上の属性を選択することを意味する論理式（８）（以下、最少属性数制約という）」と「既に生成した選択パターンと同一の選択パターンを生成しないことを意味する論理式（９）（以下、重複禁止制約という）」と「取得した制約情報６０１の論理式表現を論理積で繋げた式」を論理積で繋げた論理式である
【０１５６】
【数６】
2018088087.tif 000008
【０１５７】
【数７】
2018088087.tif 000009
【０１５８】
【数８】
2018088087.tif 000010
【０１５９】
【数９】
2018088087.tif 000011
最大属性数制約は、属性に対応する命題変数のうち、分析パラメータ設定エリア７１０の最大属性数以下の数の命題変数を「ＴＲＵＥ」にすることを意味する基数制約である。
【０１６０】
最少属性数制約は、属性に対応する命題変数のうち、分析パラメータ設定エリア７１０の最小属性数以上の数の命題変数を「ＴＲＵＥ」にすることを意味する基数制約である。
【０１６１】
重複禁止制約は、選択パターン記憶部１１４に記憶されている選択パターンごとの、属性パターンに含まれる属性に対応する命題変数のみが「ＴＲＵＥ」となることを否定する論理式、を論理積で結合した式である。
【０１６２】
選択パターン生成部１０３は、選択パターン生成用論理式の充足可能性を判定する（Ｓ１４０３）。
【０１６３】
充足不能の場合、選択パターン生成部１０３は、「生成失敗」として処理を終了し（Ｓ１４０４）、充足可能の場合、選択パターン生成部１０３は、Ｓ１４０５に進む。
【０１６４】
選択パターン生成部１０３は、ＳＡＴソルバからモデルを取得する（Ｓ１４０５）。
【０１６５】
選択パターン生成部１０３は、モデルから、「ＴＲＵＥ」となっている命題変数を取得し、「ＴＲＵＥ」となっている命題変数と対応する属性の属性情報３０１の集合をデータ記憶部１１２から、選択パターン生成用論理式を満たす選択パターンを取得し（Ｓ１４０６）、処理を終了する（Ｓ１４０７）。
【０１６６】
すなわち、選択パターン生成部１０３は、有効となっている制約から、選択パターンを生成するための選選択パターン生成用論理式を生成する生成部としての機能と、選択パターン生成用論理式を満たす選択パターンを取得する取得部としての機能を有する。
【０１６７】
図１５は、本実施例に関わる分析ツール適用の処理フローチャートの例を示す図である。この図は、データ分析部１０４が、選択パターン生成部１０３で生成した選択パターンに対して、データ分析を適用するフローチャートを表している。
【０１６８】
データ分析部１０４は、ユーザインタフェース部１０１から起動されることで、処理を開始する（Ｓ１５００）。
【０１６９】
データ分析部１０４は、データ記憶部１１２から、選択パターンに含まれる属性情報３０１と関連がある分析対象ごとの属性値情報３０３を取得する（Ｓ１５０１）。
【０１７０】
データ分析部１０４は、データ記憶部１１２から、目的変数の属性情報３０１と目的変数と関連がある分析対象ごとの属性値情報３０３を取得する（Ｓ１５０２）。
【０１７１】
データ分析部１０４は、目的変数の属性情報３０１、目的変数と関連がある分析対象毎の属性値情報３０３、選択パターンに含まれる属性の属性情報３０１、属性と関連がある分析対象ごとの属性値情報に対して、データ分析ツールを適用する（Ｓ１５０３）。このとき、使用するデータ分析ツールは、固定でも、パラメータとして分析者が事前に指定する形でも良い。
【０１７２】
データ分析部１０４は、データ分析ツールの分析結果を仮説として取得する（Ｓ１５０４）。このとき、データ分析ツールが相関係数や決定係数など、仮説の定量的な評価指標を出力しない場合、別の評価用ツールを使って、仮説の定量的な評価指標を取得しても良い。
【０１７３】
データ分析部１０４は、仮説から、仮説情報４０１を生成し、仮説記憶部１１３に記憶する（Ｓ１５０５）。
【０１７４】
データ分析部１０４は、選択パターンから、選択パターン情報５０１を生成し、選択パターン記憶部１１４に記憶し（Ｓ１５０６）、処理を終了する（Ｓ１５０７）。
【０１７５】
図１６は、本実施例に関わる履歴からの制約生成の処理フローチャートの例を示す図。この図は、履歴分析部１０５が、選択パターン記憶部１１４に記憶されている、過去に生成した選択パターンの履歴から、新たな制約を生成するフローチャートを表している。
【０１７６】
履歴分析部１０５は、ユーザインタフェース部１０１から起動されることで、処理を開始する（Ｓ１６００）。
【０１７７】
履歴分析部１０５は、自動生成された付帯制約に対応する制約情報６０１を制約記憶部１１１から削除する（Ｓ１６０１）。
【０１７８】
履歴分析部１０５は、まだ選択されていない選択パターンを生成するための論理式である未選択パターン生成用論理式を生成する（Ｓ１６０２）。ここで、未選択パターン生成用論理式は、「データ記憶部１１２内の属性のうち、分析パラメータ設定エリア７１０の分析カバレッジに指定された数だけ属性を選択することを意味する論理式（選択制約：ｓｅｌｅｃｔ（分析カバレッジに指定された数）｛データ記憶部１１２内の属性｝の論理式表現と等価）」、「過去の選択パターンから、分析パラメータ設定エリア７１０の分析カバレッジに指定された数の属性を選択してできる組合せを除去することを意味する論理式（以下、過去の組合せ除去制約という）」、「制約記憶部１１１に記憶された有効な制約の制約情報６０１の論理式表現を論理積で繋げた式」を論理積で結合した式である。過去の組合せ除去制約は、選択パターン記憶部１１４に記憶された各選択パターンに対する、選択パターン含まれる属性に対応する命題変数のうち、ＴＲＵＥとなる命題変数の数が、分析パラメータ設定エリア７１０の分析カバレッジと等しいことを意味する基数制約（選択制約：ｓｅｌｅｃｔ（分析カバレッジに指定された数）｛選択パターン含まれる属性｝の論理式表現と等価）の否定、を論理積で結合した式である。
【０１７９】
履歴分析部１０５は、未選択パターン生成用論理式の充足可能性を判定する（Ｓ１６０３）。
【０１８０】
充足不能の場合、履歴分析部１０５は処理を終了し（Ｓ１６０４）、充足可能の場合、Ｓ１６０５に進む。
【０１８１】
履歴分析部１０５は、未選択パターン生成用論理式のモデルを取得する（Ｓ１６０５）。
【０１８２】
履歴分析部１０５は、モデルから、ＴＲＵＥとなっている命題変数を取得し、命題変数と対応する全属性の属性情報３０１をデータ記憶部１１２から取得し、取得した属性情報３０１のうち、ひとつを前提属性とし、それ以外を対象属性とする付帯制約「ｉｍｐｌｉｃａｔｉоｎ（前提属性）｛対象属性｝」を生成する（Ｓ１６０６）。すなわち、履歴分析部１０５は、まだ選択されていない選択パターンを生成するための未選択パターン生成用論理式のモデル（与えられた論理式をＴＲＵＥ（真）にする命題変数の値の組合せ）から付帯制約を生成する。
【０１８３】
履歴分析部１０５は、付帯制約に対応する制約情報６０１を生成し、制約記憶部１１１に追加する（Ｓ１６０７）。このとき、制約ＩＤは、制約記憶部１１１に記憶されている制約情報６０１が使用していない数値とし、有効性は「有効」、自動生成フラグは「ＴＲＵＥ」とする。
【０１８４】
履歴分析部１０５は、未選択パターン生成用論理式に対して、論理積を用いて、すでに取得済みのモデルが以降出現しないことを意味するモデル重複禁止制約を結合する（Ｓ１６０８）。モデル重複禁止制約は、モデルでＴＲＵＥとなっている命題変数を論理積で結合しさらに全体を否定した論理式である。
【０１８５】
本実施例の構成によれば、制約に基づいて属性の選択、及び、データ分析を自動化でき、データ分析に関わる工数を削減できるという効果を有する。
【０１８６】
なお、本発明は上記した実施例に限定されるものではなく、マーケティング以外の金融、交通、公共機関などのエンタープライズ系のデータ分析に適用されうる様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【０１８７】
また、上記の各構成は、それらの一部又は全部が、ハードウェアで構成されても、プロセッサでプログラムが実行されることにより実現されるように構成されてもよい。また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０１８８】
１０１  ユーザインタフェース部
１０２  統計分析部
１０３  選択パターン生成部
１０４  データ分析部
１０５  履歴分析部
１０６  矛盾検証部
１１１  制約記憶部
１１２  データ記憶部
１１３  仮説記憶部
１１４  選択パターン記憶部
【図１】
2018088087.tif 000012
【図２】
2018088087.tif 000013
【図３】
2018088087.tif 000014
【図４】
2018088087.tif 000015
【図５】
2018088087.tif 000016
【図６】
2018088087.tif 000017
【図７】
2018088087.tif 000018
【図８】
2018088087.tif 000019
【図９】
2018088087.tif 000020
【図１０】
2018088087.tif 000021
【図１１】
2018088087.tif 000022
【図１２】
2018088087.tif 000023
【図１３】
2018088087.tif 000024
【図１４】
2018088087.tif 000025
【図１５】
2018088087.tif 000026
【図１６】
2018088087.tif 000027