(57)【要約】【課題】ＣＦＤルールの成立度を検定可能とする。【解決手段】コンピュータは、検定対象の条件付関数従属性のルールを入力し、検定に用いるデータベースにアクセスし、前記データベースにおける前記ルールの前提部と帰結部に関する充足、非充足の組み合せのパタンの頻度情報、又は、前記データベースにおける前記ルールの前提部の異なる値組の種類の数と帰結部の異なる値組の種類の数を取得するデータベース参照手段と、前記データベース参照手段で取得した、前記ルールに関する各パタンの頻度情報、又は、前記ルールの前提部と帰結部の値組の種類の数から、前記ルールの検定値を算出する検定値算出手段と、前記検定値算出手段で算出した検定値と予め定められた所定の値とを比較し、前記ルールが偶発的に成立したものでないか否かを判定するルール検定手段とを備る。【選択図】図１
2014149793.tif 000002
【特許請求の範囲】
【請求項１】
検定対象の条件付関数従属性のルールを入力し、検定に用いるデータベースにアクセスし、前記データベースにおける前記ルールの前提部と帰結部に関する充足、非充足の組み合せのパタンの頻度情報、又は、前記データベースにおける前記ルールの前提部の異なる値組の種類の数と帰結部の異なる値組の種類の数を取得するデータベース参照手段と、
前記データベース参照手段で取得した、前記ルールに関する各パタンの頻度情報、又は、前記ルールの前提部と帰結部の値組の種類の数から、前記ルールの検定値を算出する検定値算出手段と、
前記検定値算出手段で算出した検定値と予め定められた所定の値とを比較し、前記ルールが偶発的に成立したものでないか否かを判定するルール検定手段と、
を備えた、ことを特徴とするルール成立度検定システム。
【請求項２】
前記データベース参照手段でアクセスする前記データベースの指定、及び、前記検定対象のルール、前記ルール検定手段で参照する前記所定の値を入力として受付ける入力受付手段を備えた請求項１記載のルール成立度検定システム。
【請求項３】
指定されたデータベースのデータをサンプリングし、サンプリングしたデータをサンプルデータベースに格納するデータサンプリング手段と、
前記サンプルデータベースから、予め定められた所定の支持率閾値及び確信度閾値を満たすルールを抽出するルール発見手段と、
を備え、
前記ルール発見手段で発見された前記ルールを、前記検定対象のルールとして、前記検定に用いるデータベースに対して、前記データベース参照手段、前記検定値算出手段、前記ルール検定手段により検定を行う、ことを特徴とする請求項１記載のルール成立度検定システム。
【請求項４】
前記ルール検定手段によって偶発的に成立したものでないと判定されたルールの集合に対して順位付けした結果を出力するルールランキング手段を備えた、ことを特徴とする請求項１又は２記載のルール成立度検定システム。
【請求項５】
データ処理装置によるルール成立度検定方法であって、
検定対象の条件付関数従属性のルールを入力し、検定に用いるデータベースにアクセスし、前記データベースにおける前記ルールの前提部と帰結部に関する充足、非充足の組み合せのパタンの頻度情報、又は、前記データベースにおける前記ルールの前提部の異なる値組の種類の数と帰結部の異なる値組の種類の数を取得し、
取得した前記ルールに関する各パタンの頻度情報、又は、前記ルールの前提部と帰結部の値組の種類の数から、前記ルールの検定値を算出し、
前記検定値と予め定められた所定の値とを比較し、前記ルールが偶発的に成立したものでないか否かを判定する、
ことを特徴とするルール成立度検定方法。
【請求項６】
指定されたデータベースのデータをサンプリングし、サンプリングしたデータをサンプルデータベースに格納し、
前記サンプルデータベースから、予め定められた所定の支持率閾値及び確信度閾値を満たすルールを抽出し、
前記抽出したルールを前記検定対象のルールとし、前記検定に用いるデータベースから、前記ルールに関する前記各パタンの頻度情報、又は、前記ルールの前提部と帰結部の値組の種類の数を取得し、
前記ルールの検定値を算出し、
前記検定値と、前記所定の値とを比較し、前記ルールが偶発的に成立したものでないか否かを判定する、ことを特徴とする請求項５記載のルール成立度検定方法。
【請求項７】
偶発的に成立したものでないと判定されたルールの集合に対して順位付けした結果を出力装置から出力する、ことを特徴とする請求項５又は６記載のルール成立度検定方法。
【請求項８】
コンピュータにルール成立度検定処理を実行させるプログラムであって、
前記ルール成立度検定処理が、検定対象の条件付関数従属性のルールを入力し、検定に用いるデータベースにアクセスし、前記データベースにおける前記ルールの前提部と帰結部に関する充足、非充足の組み合せのパタンの頻度情報、又は、前記データベースにおける前記ルールの前提部の異なる値組の種類の数、帰結部の異なる値組の種類の数を取得するデータベース参照処理と、
前記データベース参照処理で取得した前記ルールに関する各パタンの頻度情報、又は、前記ルールの前提部と帰結部の値組の種類の数から、前記ルールの検定値を算出する検定値算出処理と、
前記検定値算出手段で算出した検定値と予め定められた所定の値とを比較し、前記ルールが偶発的に成立したものでないか否かを判定するルール検定処理と、
を含む、ことを特徴とするプログラム。
【請求項９】
前記ルール成立度検定処理が、
指定されたデータベースのデータをサンプリングし、サンプリングしたデータをサンプルデータベースに格納するデータサンプリング処理と、
前記サンプルデータベースから、予め定められた所定の支持率閾値及び確信度閾値を満たすルールを抽出するルール発見処理と、
をさらに含み、
前記ルール発見処理で発見された前記ルールを、前記検定対象のルールとして、前記検定に用いるデータベースに対して、前記データベース参照処理、前記検定値算出処理、前記ルール検定処理により、検定を行う、ことを特徴とする請求項８記載のプログラム。
【請求項１０】
前記ルール成立度検定処理が、
前記ルール検定処理によって偶発的に成立したものでないと判定されたルールの集合に対して順位付けした結果を出力するルールランキング処理をさらに含む、ことを特徴とする請求項８又は９記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はルール成立度検定システムと方法およびプログラムに関し、特にデータマイニング等に適用して好適なシステムと方法およびプログラムに関する。
【背景技術】
【０００２】
本明細書では、ルールとして、条件付関数従属性（Conditional Functional Dependency：CFD）ルールを扱う。CFDルールは、アソシエーションルール（Association Rule:相関ルール）、関数従属性(Functional Dependency：FD）ルールを包含するものとする。アソシエーションルールとは、ある事象（X）のもとである事象（A）が発生する関係を表し例えばX→Aと表記され、Xを条件部（前提部ともいう）、Aを帰結部という。関数従属性は、２つの属性集合間の従属性を表し、一方の属性集合の値（値集合）によって他方の属性集合の値（値集合）が関数的に決定される制約をいう。
【０００３】
条件付関数従属性（ＣＦＤ）は、属性集合間の従属性を表す関数従属性が、条件によって指定されたタプル集合について成立することを表し、条件部(前提部)、帰結部への属性値の指定からなる。タプル（tuple:組）とは、関係（relation）を表(table)で表したときの行と同義であり、属性は表の列である。
【０００４】
条件部は、データの部分集合（タプル集合）を指定し、例えば属性X1、属性X1の属性値x1に対して「X1=x1」と表される。前提部は、属性のみの指定からなり、例えば、属性X2に対して、例えば「X2＝_」などと表せる。‘_’は、unnamed variableであり、任意の値にマッチすることを表す。帰結部には、属性と属性値の指定からなるもの（例：以下のルール１）と、属性のみの指定のもの（例：以下のルール２）がある。属性Y、属性Yの属性値yに対してルール１では、「Y＝y」、ルール２では、「Y＝_」と表せる。なお、帰結部に属性値指定がある場合には、前提部は省略される。また、前提部、帰結部は、複数の属性とその属性値指定の組からなることもある。以下にCFDルールの例φ1、φ2を示す。
【０００５】
φ1： (X1 → A, (x1 || a))
φ2： ([X1, X2] → A,(x1, _ || _))
【０００６】
CFDルールφ1が成り立つとき、条件部に当てはまるタプル集合において帰結部が指定された値である。すなわち、CFDルールφ1は、条件X1 = x1を満たすタプル集合の全てのタプルｔにおいて、t[A] = aであることを表している。なお、tはタプル変数であり、t[A]は、タプルｔの属性Aの値がaであることを表している。パタンタプル(x1 || a)の記号||の左側の‘x1’は条件部の属性値、記号||の右側の‘a’は帰結部の属性値である。
【０００７】
CFDルールφ2が成り立つとき、条件部に当てはまるタプル集合において、前提部と帰結部で指定された属性間に従属性があることを表している。(x1, _ || _)の記号||の左側のｘ１と‘_’は条件部と前提部の属性値、記号||の右側は、帰結部の属性値‘_’である。CFDルールφ2では、条件X1 = x1を満たすタプル集合の中から任意のタプルペアt1、t2に関して、属性X2の属性値が一致すれば、属性Aの属性値が一致することを表している。すなわち、条件X1=x1を満たす任意のタプルペアt1、t2に関して、t1[X2] = t2[X2]であれば、t1[A] = t2[A]が成り立つ。
【０００８】
CFDルールφ1に対する違反、つまり、条件X1 = x1を満たすタプルで、t1[A]≠ａである場合を、単独のタプルによる違反と呼ぶ。CFDルールφ2に対する違反、つまり、条件X1 = x1を満たすタプルで、t1[X2] = t2[X2]であるが、t1[A] = t2[A]とはならない場合を、複数タプルによる違反と呼ぶ。ここで、最頻の１種類の値以外の値をとる行を、違反行とする（最頻の値が複数ある場合は、任意の値を最頻とする）。
【０００９】
こうした違反を、例えば確信度(confidence)等で定められた行数(タプル数)のみ許容して成立するCFDルールを全て列挙するアルゴリズムを、CFD発見アルゴリズムともいう。なお、ＣＦＤルールの支持度（support）は、条件部（前提部）、及び帰結部がマッチするタプル数（又は割合）である。確信度(confidence)は、条件部（前提部）が成り立つタプル数の中でルールが成立するタプル数の割合である。支持度(support)、確信度(confidence)を用いてCFDルールを発見するCFD発見アルゴリズムとして、例えば非特許文献４には、constant CFDを発見するCFDMiner、constant CFDおよびvariable CFDを発見するCTANE（Levelwiseアルゴリズム）、FastCFD（Depth First（深さ優先）アルゴリズム）等が開示されている。CFDの支持度(support)は、条件部（前提部）、及び帰結部がマッチするタプル数（又は割合）である。確信度(confidence)は、条件部（前提部）が成り立つタプル数の中でルールが成立するタプル数の割合である。CFD (X → A, tp）のパタンタプルtｐがconstant（定数）のみとるときconstant CFDといい、tpの右辺がunnamed variable ‘_’のとき、variable  CFDという
【００１０】
データを分析してその中の相関関係やルール（例えばCFDルール）を探し出すデータマイニングでは、例えば、データベース内にテーブル形式で記憶保持されるデータ集合から規則性を表すルールの抽出が行われる。
【００１１】
データマイニングにおいて、分析対象のデータ集合において、偶然成り立つが、一般性を欠いた偶発的ルールが大量に抽出される場合がある。
【００１２】
この問題に対応したデータマイニングシステムが、例えば特許文献１、特許文献２及び特許文献３等に開示されている。特許文献１には、エキスパートユーザによる関連付けを基に信頼性の高いアソシエーションルール集合を得るシステム、方法が開示されている。このシステムは、エキスパートデータベース項目のアソシエーションルールを確立する基礎として、参照としての項目と、対応する“エキスパートな”ユーザによって特定された関係項目との間の前方リンクのアソシエーションを最初に定義するために、トランザクションデータレコードの評価を提供する。次に、前方リンクアソシエーションは、参照項目と関係項目との間の後方リンクアソシエーションルールを特定するために評価される。後方にリンク付けされたアソシエーションの深さ及び強度を反映する個々の後方リンクアソシエーションルールと一致する後方リンクの重みが特定され、且つ、前方リンクアソシエーションに関連付けられ、エキスパートデータベースに集められたアソシエーションルールを引き続いて評価するための強化基礎を提供する。
【００１３】
特許文献２には、複数の条件節を持つルールを深さ優先で探索すると、親ルールより評価値が大きくない、冗長なルールを排除できない場合がある、という課題を解決するための手段として、条件節数の小さいルールから順に広さ優先で探索し、採用されたルールは採用ルールリストに格納していき、個々のルールの採否を評価する際に、その時点の採用ルールリストから評価中のルールの親ルールを検索し、この評価中のルール以上の評価値を持つ親ルールが存在する場合はこの評価中のルールを採用しない特徴ルール発見方法が開示されている。すなわち、特許文献２には、広さ優先探索によるアソシエーションルールマイニングにおいて、任意の評価指標に関して評価値が、親ルールより下回る子ルールを冗長ルールとして排除する方法が開示されている。前述したように、アソシエーションルールは、データに内在する規則性を「X→Y」という形式で表したものである。ここで、分析対象データは、複数のアイテムを含んだトランザクションの集合であり、Ｘ、Ｙは、それぞれアイテムの集合である。個々のアソシエーションルールは、支持度（support）と確信度（confidence）という２つの量に基づいて評価され、これらの値が予め設定された閾値以上であるルールを発見することを目的とする。全アイテムの集合I＝｛I1, I2, ・・・Im｝、Iの部分集合をアイテムセットと呼ぶ。０≠X、Y⊂I、X∩Y＝０をみたすX、YのアソシエーションルールX→Yに関して、アイテムセットXの支持度sup(X)はXを含むトランザクションの割合、ルールX⇒Yの支持度sup(X⇒Y)はsup(X∪Y)、確信度conf(X⇒Y)は例えばsup(X∪Y)/sup(X)で与えられる。
【００１４】
ここで、ルール右辺（IF THENのTHEN節）が同じであり、左辺のルール（IF節：条件節）に、ａｎｄ条件が追加されたルールを、あるルールの子ルールという。親ルールと子ルールの例は以下のようなものとなる。
【００１５】
親ルール：IF A THEN X
【００１６】
子ルール：IF A AND B THEN X
【００１７】
非特許文献１と非特許文献２には、それぞれ関数従属性の成立度合いを評価する方法、アソシエーションルールの成立度合いを評価する方法が開示されている。
【００１８】
非特許文献３には、大規模データに対する計算量の増大、支持度閾値や確信度閾値によるルール抽出が最適解を導出しないという問題に対し、アイテムセットのカイ二乗値の値を用い、この値が上界に満たないアイテムセットのスーパーセットを抽出対象から除外することにより、枝刈りを実現した、高速なアソシエーションルールマイニングの方法が開示されている。また、特許文献３では、効率的に相関の高いアイテムセットを高速に得る方法が開示されている。各々がトランザクションに対応するアイテムセット間に形成される、条件と結論との間の結合ルールから、相関の高い結合ルールを抽出する方法において、トランザクション集合が空集合となるようなアイテムセットを抽出対象から除外して、探索空間を縮小する。次いで、段階的に要素が追加されるようにアイテムセットが生成され、その際に、結合ルールの相関を評価するためのニ変数の凸関数である評価関数f(x, y)を利用した上界値max{f(y(I), y(I)), f(x(I) - y(I), 0)}と閾値とを比較することにより、当該アイテムセットと目的となるアイテムセットとの間の相関が十分ありアイテムセットが有意なものであるか否かが判断される。
【００１９】
特許文献３では、カイ二乗値により有意な相関のあるアイテムセットを抽出するため、ある程度、偶発的ルールを除外することが出来る。しかしながら、カイ二乗値による検定は、標本数が少ない場合、すなわち、アイテムセットAを含むトランザクション数が少ない場合に、検出力が弱い。また、特許文献３の手法では、閾値が更新されるため、最初に設定した評価指標閾値を満たす全ルールを列挙することは出来ない。図１２に示すように、特許文献３のデータマイニングシステムは、データベース（ＤＢ）１８、初期的データ生成部２０と、アイテムセット生成／枝刈り処理部２２と、ルール抽出／出力部２６と、ルール記憶部２８と、制御部１６を備えている。制御部１６に設定された支持度閾値、確信度閾値などのパラメータに従って、データベース１８から初期的データが生成される。
【００２０】
次に、単一のアイテムからなるアイテムセット（１−アイテムセット）が作られる（例：{a1}、{a2}、{a3}）。
【００２１】
次に、単一アイテムセットを組み合わせて大きさ２のアイテムセット（２−アイテムセット）が生成される（例：{a1, a2}，{a1, a3}，{a2, a3}）。
【００２２】
アイテムセット生成／枝刈り処理部２２により、支持度（support）閾値や他の指標に満たないアイテムセットを削除する枝刈りが行われる。このようにアイテムセット群の生成と枝刈りを繰り返し、アイテムセットの大きさが、与えられたアイテムセットサイズ閾値又はデータベース（ＤＢ）の全属性数に到達するか、支持度閾値等の指標を満たすアイテムセットがなくなった時点でアイテムセット生成／枝刈り処理部２２での処理が終了する。
【００２３】
そして、得られたアイテムセットから生成されたルール群の中で確信度(confidence)閾値を満たすものは、ルール抽出／出力部２６から抽出／出力される。
【先行技術文献】
【特許文献】
【００２４】
【特許文献１】特表２００５−５２５６４２号公報
【特許文献２】特開２００４−３２６６４１号公報
【特許文献３】特開２００３−７６９３７号公報
【非特許文献】
【００２５】
【非特許文献１】Giannella and Robertson, Information Systems - Special issue: ADBIS 2002: Advances in databases and information systems, "On approximation measures for functional dependencies", 2003.
【非特許文献２】Webb, Journal of Machine Learning (2007) 68: 1-33, "Discovering Significant Patterns", 2007.
【非特許文献３】Morishita and Sese, PODS 2000 Proceedings of the 19th ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems, "Traversing Itemset Lattices with Statistical Metric Pruning", 2000.
【非特許文献４】Fan et al., IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, "Discovering Conditional Functional Dependencies", 2011.
【非特許文献５】Li et al., The Computer Journal, "Effective Pruning for the Discovery of Conditional Functional Dependencies", Oxford, 2012．
【非特許文献６】Sergey Brin, Rajeev Motwani, Jeffrey D. Ullman, Shalom Tsur: Dynamic Itemset Counting and Implication Rules for Market Basket Data. SIGMOD Conference 1997: pp255-264.
【発明の概要】
【発明が解決しようとする課題】
【００２６】
以下に関連技術の分析を与える。
【００２７】
特許文献１では、エキスパートデータベースに、判断材料となる関連付けが充分に登録されていることが前提とされる。このため、工数、人手コストが嵩む。また、アソシエーションルールマイニングにおける抽出条件である支持度閾値、確信度閾値を満たす全ルールを得ることが出来ない。すなわち、エキスパートデータベースやユーザ指定の任意の評価指標などアドホックな指標を導入してルールの絞込みを行っているため、例えば、客観的な基準値を満たす全ルールを列挙できるという保証はない。
【００２８】
特許文献２では、アソシエーションルールマイニングにおける抽出条件である支持度の閾値、確信度の閾値に加えて、任意の評価指標を満たす全ルールを列挙することはできるものの、例えば偶発的に成立しているルールを除外することはできない。
【００２９】
また、特許文献３には、標準的な指標である支持度と確信度閾値に加えて、ルール成立度の統計的有意性（カイ二乗値による検定等）を満たすルール群を抽出するという方法が提案されている。しかしながら、カイ二乗値による検定は標本数が少ない場合には検出力が弱い。このため、データベースのデータ行の部分集合に対して成立するルールである条件付関数従属性の検定には適さない。
【００３０】
非特許文献１と非特許文献２には、関数従属性の成立度合いを評価する方法、アソシエーションルールの成立度合いを評価する方法が開示されている。しかしながら、非特許文献１と非特許文献２には、条件付関数従属性の成立度合いを評価又は検定する方法は開示されていない。
【００３１】
以上の通り、関連技術等には、条件付関数従属性の成立度の検定に好適な手法は提案されていない。
【００３２】
したがって、本発明は、上記問題点に鑑みて創案されたものであって、その目的は、条件付関数従属性ルールの成立度を検定可能とするシステム、方法、プログラムを提供することにある。
【課題を解決するための手段】
【００３３】
本発明の側面の１つによれば、検定対象の条件付関数従属性のルールを入力し、検定に用いるデータベースにアクセスし、前記データベースにおける前記ルールの前提部と帰結部に関する充足、非充足の組み合せのパタンの頻度情報、又は、前記データベースにおける前記ルールの前提部の異なる値組の種類の数と帰結部の異なる値組の種類の数を取得するデータベース参照手段と、前記データベース参照手段で取得した、前記ルールに関する各パタンの頻度情報、又は、前記ルールの前提部と帰結部の値組の種類の数から、前記ルールの検定値を算出する検定値算出手段と、前記検定値算出手段で算出した検定値と予め定められた所定の値とを比較し、前記ルールが偶発的に成立したものでないか否かを判定するルール検定手段とを備えたシステムが提供される。
【００３４】
本発明の別の側面によれば、データ処理装置によるルール成立度検定方法であって、
検定対象の条件付関数従属性のルールを入力し、検定に用いるデータベースにアクセスし、前記データベースにおける前記ルールの前提部と帰結部に関する充足、非充足の組み合せのパタンの頻度情報、又は、前記データベースにおける前記ルールの前提部の異なる値組の種類の数と帰結部の異なる値組の種類の数を取得し、
取得した前記ルールに関する各パタンの頻度情報、又は、前記ルールの前提部と帰結部の値組の種類の数から、前記ルールの検定値を算出し、
前記検定値と予め定められた所定の値とを比較し、前記ルールが偶発的に成立したものでないか否かを判定する、ルール成立度検定方法が提供される。
【００３５】
本発明のさらに別の側面によれば、コンピュータにルール成立度検定処理を実行させるプログラムであって、前記ルール成立度検定処理が、検定対象の条件付関数従属性のルールを入力し、検定に用いるデータベースにアクセスし、前記データベースにおける前記ルールの前提部と帰結部に関する充足、非充足の組み合せのパタンの頻度情報、又は、前記データベースにおける前記ルールの前提部の異なる値組の種類の数、帰結部の異なる値組の種類の数を取得するデータベース参照処理と、
前記データベース参照処理で取得した前記ルールに関する各パタンの頻度情報、又は、前記ルールの前提部と帰結部の値組の種類の数から、前記ルールの検定値を算出する検定値算出処理と、
前記検定値算出手段で算出した検定値と予め定められた所定の値とを比較し、前記ルールが偶発的に成立したものでないか否かを判定するルール検定処理と、
を含むプログラムが提供される。本発明によれば、該プログラムを記録したコンピュータで読み出し可能な媒体（半導体メモリ、磁気／光ディスク等）が提供される。
【発明の効果】
【００３６】
本発明によれば、条件付関数従属性ルールが、偶発的に成立したものでないか否かの成立度を検定することができる。
【図面の簡単な説明】
【００３７】
【図１】本発明の第１の実施形態の構成を例示する図である。
【図２】第１の実施形態の動作を示す流れ図である。
【図３】第２の実施形態の構成を例示する図である。
【図４】第３の実施形態の構成を例示する図である。
【図５】入力データの例を示す図である。
【図６】サンプルデータの例を示す図である。
【図７】評価用データベースの例を示す図である。
【図８】評価対象ルール集合の例を示す図である。
【図９】図７のデータにおけるパタン頻度の算出例を示す図である。
【図１０】評価対象ルールに対する検定結果の例を示す図である。
【図１１】評価対象ルールのランキング例を示す図である。
【図１２】関連技術を示す図（特許文献３の図６の写し）である
【発明を実施するための形態】
【００３８】
本発明のいくつかの好ましい形態の一つによれば、データ処理装置（コンピュータ１００）は、検定対象のCFDルールを入力し、検定に用いるデータベース（図１の１１０）にアクセスし、前記データベースにおける前記ルールの前提部と帰結部に関する充足、非充足の組み合せのパタンの頻度情報、又は、前記データベースにおける前記ルールの前提部の異なる値組の種類の数、帰結部の異なる値組の種類の数を取得するデータベース参照手段（図１の１０２）と、前記データベース参照手段で取得した前記ルールに関する各パタンの頻度情報、又は、前記ルールの前提部と帰結部の値組の種類の数から、前記ルールの検定値を算出する検定値算出手段（図１の１０３）と、前記検定値算出手段で算出した検定値と予め定められた所定の値とを比較し、前記ルールが、偶発的に成立したものでないか否かを判定するルール検定手段（図１の１０４）とを備えている。本発明の一形態によれば、前記データベース参照手段（１０２）でアクセスする前記データベース（１１０）、及び、検定対象のルール、前記ルール検定手段（１０４）で参照する前記所定の値を入力として受け付ける入力受付手段（１０１）を備える。
【００３９】
本発明の別の一形態によれば、指定されたデータベース（図３の２１０）のデータをサンプリングし、サンプルリングしたデータをサンプルデータベース（図３の２１２）に格納するデータサンプリング手段(図３の２０２)と、前記サンプルデータベース（図３の２１２）から、予め定められた所定の支持度閾値及び確信度閾値を満たすルールを抽出するルール発見手段（図３のCFD発見手段２０３）とを備え、前記ルール発見手段（２０３）で発見された前記ルールを前記検定対象のルールとして、前記検定に用いるデータベース（図３の２１３）に対して、前記データベース参照手段（図３の２０４）、前記検定値算出手段（図３の２０５）、前記ルール検定手段（図３の２０６）により検定を行う構成としてもよい。
【００４０】
本発明のさらに別の一形態によれば、前記ルール検定手段（図４の３０６）によって有意に成立すると判定されたルールの集合に対して順位付けした結果を出力装置から出力するルールランキング手段（図４の３０７）を備えた構成としてもよい。
【００４１】
このように、本発明によれば、条件付関数従属性ルールが偶発的に成立したものでないことの検定を行うものであり、入力された条件付関数従属性ルールの成立度合いを、例えば統計的に検定する。条件付関数従属性ルールの発見（CFD発見）結果から得たルール集合から、例えば統計的に有意に成立するもののみを抽出することで、有意に成立する条件付関数従属性を過不足無く得るようにしている。本発明によれば、支持度、確信度閾値に加えて、ルール成立度の統計的有意性を満たすルール群を抽出することで、偶発的なルールを除いたルールを列挙することができる。また条件付関数従属性ルールの発見過程で、偶々ルールとして発見されてしまうルールを除くことができる。
【００４２】
＜実施形態１＞
図１を参照すると、実施形態のシステムは、プログラム制御により動作するコンピュータ（中央処理装置；プロセッサ；データ処理装置）１００と、データベース１１０を備える。コンピュータ（中央処理装置；プロセッサ；データ処理装置）１００は、入力受付手段１０１と、データベース参照手段１０２、検定値算出手段１０３、ルール検定手段１０４とを含む。これらの手段はコンピュータ１００上で実行されるプログラムによりその機能、処理が実現される。これらの手段はそれぞれ概略つぎのように動作する。
【００４３】
入力受付手段１０１は、
・検定対象のCFDルール、
・検定に用いるデータベース、
・有意水準の値（パラメータ）
を入力として受け付ける。検定に用いるデータベースの指定は、データベースサーバのURL（Uniform Resource Locator）やネットワークアドレス等の識別情報、データベース名等であってもよい。これらの情報は、ユーザが入力受付手段１０１に入力するようにしてもよい。あるいは、入力受付手段１０１が所定のファイル等から読み出すようにしてもよいし、入力受付手段１０１が不図示のネットワーク等を介して入力するようにしてもよい。
【００４４】
データベース参照手段１０２は、入力受付手段１０１で指定されたデータベース（検定に用いるデータベース）１１０にアクセスし、
・ルールの前提部を満たすデータ行数、
・ルールの前提部を満たさないデータ行数、
・ルールの帰結部を満たすデータ行数、
・ルールの帰結部を満たさないデータ行数、
・ルールの前提部を満たし、且つ、帰結部を満たすデータ行数、
・ルールの前提部を満たすが帰結部を満たさないデータ行数、
・ルールの前提部を満たさないが帰結部を満たすデータ行数、
・ルールの前提部を満たさず帰結部も満たさないデータ行数、
あるいは、
・ルールの前提部の値組の頻度と帰結部の値組の頻度を取得する。
【００４５】
検定値算出手段１０３は、次式(1)又は(2)の式で検定値ｓを算出する。
【００４６】
s1 = Σ(i=1..Freq(X∩¬A)) [｛Freq(X)! * Freq(¬X)! * Freq(A)! * Freq(¬A)!｝/｛N! * (Freq(X∩A)+i)! * (Freq(X∩¬A)-i)! * Freq(¬X∩A)! * Freq(¬X∩¬A)!}]
・・・(1)
【００４７】
s2 = (numDiffType(X) *  NF) / numDiffType(A)               ・・・(2)
【００４８】
式(1)のs1は、「Fisher's exact test（フィッシャーの正確確立検定）」と呼ばれる統計的検定法に基づく確率である。式(1)において、Nはデータの全行数である。！は階乗を表す演算子である（N!は、データの全行数Nの階乗である）。
Σ(i=1..Freq(X∩¬A))は、i=1からi=Freq(X∩¬A)（Xが成り立ち且つAが成り立たないデータ行数）の総和である。
分子のFreq(X)はパタンX（前提部）の頻度（Xが成り立つデータ行数）、
Freq(¬X)はパタン¬Xの頻度（Xが成り立たないデータ行数）、
Freq(A)はパタンA（帰結部）の頻度（Aが成り立つデータ行数）、
Freq(¬A)はパタン¬Aの頻度（Aが成り立たないデータ行数）
である。
【００４９】
分母のFreq(X∩A)+iはパタンX∩Aの頻度＋i（Xが成り立ち、且つAが成り立つデータ行数Freq(X∩A)にｉを加算した値）、
Freq(X∩¬A)-iはパタン(X∩¬A)の頻度−ｉ（Xが成り立ち且つAが成り立たないデータ行数Freq(X∩¬A)からｉを減算した値）、
Freq(¬X∩A)はパタン(¬X∩A)の頻度（Xが成り立たず、且つAが成り立つデータ行数）、
Freq(¬X∩¬A)はパタン(¬X∩¬A)の頻度（Xが成り立たず、且つ、Aが成り立たないデータ行数）である。
【００５０】
式(1)は、非特許文献２のAppendixに開示された検定値とは異なる。非特許文献２の式は、頻出パタン又はアソシエーションルール等の成立度合いの検定に用いることのできる式であり、与えられたルールについて対象データが観察される確率を計算している。本実施形態では、関数従属性又は条件付関数従属性の成立度合いを検定するものであるため、前提部である属性集合Xがマッチしているもののみ計算の対象となる。そこで、上式(1)の分母の「Freq(¬X∩A)!」および「Freq(¬X∩¬A)!」には、非特許文献２の式と異なり±iの項が無い。
【００５１】
式(2)のs2において、numDiffType(A)は、属性集合Aにおける異なる値組の種類の数、、numDiffType(X)は、属性集合Xにおける異なる値組の種類の数である。CFDの左辺（LHS）の属性の取りうる値のバリエーションが多く、右辺（RHS）の属性の取りうる値のバリエーションが少ない場合、意味のないCFDである可能性が高い。極端な場合、左辺の属性Xがユニークである場合(全部値が異なる)、右辺の属性Aが何であっても、CFDルールとなる。この場合、s2の値が大きくなるように設定されている。NFは正規化項である。具体的な算出方法は実施例で説明する。
【００５２】
ルール検定手段１０４は、得られた検定値ｓと、入力された有意水準の値ｐを比較し、ｓ＜ｐの場合、真（TRUE）（帰無仮説を有意水準ｐで棄却し、対立仮説（ルールは成立する）を採択する）、ｓ≧ｐの場合、偽（FALSE）（帰無仮説を有意水準の値ｐで採択、対立仮説（ルールは成立する）を棄却）を返す。検定量として式(2)のs2を使う場合、s2は統計量でないため、値pは、意味のあるルールであるか否かを決めるための閾値とする。この場合、ルール検定手段１０４は、s2＜pの場合、真（ルールは成立する）、s2≧pの場合、偽（ルールは成立しない）を返す。
【００５３】
図２のフローチャートを参照して、図１の実施の形態の全体の動作について説明する。
【００５４】
入力受付手段１０１が検定対象の条件付関数従属性ルール、検定に用いるデータベース、値ｐ（上式（１）を用いる場合、ｐは有意水準の値、上式（２）を用いる場合、ルールが偶発的でなく意味のあるルールであることの閾値）をユーザから受け付ける（ステップＡ１）。
【００５５】
データベース参照手段１０２が、指定されたデータベース（検定で用いるデータベース）１１０にアクセスし、
・ルールの前提部を満たすデータ行数、
・ルールの前提部を満たさないデータ行数、
・ルールの帰結部を満たすデータ行数、
・ルールの帰結部を満たさないデータ行数、
・ルールの前提部を満たし、且つ、帰結部を満たすデータ行数、
・ルールの前提部を満たすが、帰結部を満たさないデータ行数、
・ルールの前提部を満たさないが、帰結部を満たすデータ行数、
・ルールの前提部を満たさず、且つ、帰結部も満たさないデータ行数、
あるいは、
・ルールの前提部の値組の頻度、帰結部の値組の頻度を取得する（ステップＡ２）。
【００５６】
検定値算出手段１０３が、上式（１）又は（２）を用いて検定値ｓを算出する（ステップＡ３）。
【００５７】
ルール検定手段１０４は、検定値算出手段１０３で得られた検定値ｓと、入力された有意水準の値ｐとを比較する（ステップＡ４）。
【００５８】
ルール検定手段１０４は、ｓ＜ｐの場合には、真（TRUE）とｓの値を検定結果として不図示の出力装置等に出力し（ステップＡ５）、ｓ≧ｐの場合、偽（FALSE）とｓの値を検定結果として不図示の出力装置等に出力する（ステップＡ６）。ｓ＜ｐの場合、ルール成立と判断する。
【００５９】
本実施形態の作用効果について説明する。本実施形態では、CFDルールに対して、検定に用いるデータベース１１０にアクセスしてパタンの頻度情報を取得し、式（１）に従い、統計的な検定値ｓ１を算出し、有意水準を満たすか否かの検定を行う。この結果、統計的に有意であるルールを列挙することができる。あるいは、CFDルールの前提部の異なる値組の種類の数と帰結部の異なる値組の種類の数を取得し、式（２）に従い、ｓ２を算出し、ルールが偶発的なものでないか否かの検定を行うことで、偶発的でない意味のあるルールを列挙することができる。
【００６０】
＜実施形態２＞
図３を参照すると、第２の実施形態は、プログラム制御により動作するコンピュータ（中央処理装置；プロセッサ；データ処理装置）２００、全データ格納用のデータベース２１０、サンプルデータ格納用のサンプルデータベース２１２、検定に用いるデータベース（評価用データベース）２１３を備えている。
【００６１】
コンピュータ２００は、入力受付手段２０１と、データサンプリング手段２０２と、CFD発見手段２０３と、データベース参照手段２０４、検定値算出手段２０５、ルール検定手段２０６とを含む。入力受付手段２０１と、データベース参照手段２０４、検定値算出手段２０５、ルール検定手段２０６は、図１の前記第１の実施形態の入力受付手段１０１と、データベース参照手段１０４、検定値算出手段１０５、ルール検定手段１０６と同じである。以下では、主に、図１の前記第１の実施形態との相違点について説明する。
【００６２】
データサンプリング手段２０２は、例えば乱数又はｋ行（ｋ＞２の所定の整数）に１行というサンプリング規則を用いて、入力データを格納したデータベース２１０からサンプルデータを取得し、サンプルデータをサンプルデータベース２１２に格納する。
【００６３】
CFD発見手段２０３は、サンプルデータベース２１２から、与えられた支持度（support）の閾値、確信度(confidence)の閾値を満たすCFDルールを抽出する。CFD発見手段２０３は、例えば非特許文献４や非特許文献５等に開示されているCFD発見アルゴリズムを用いることで、支持度、確信度がそれぞれ予め定められた閾値以上のCFDルールを抽出する。
【００６４】
データベース参照手段２０４は、指定された評価用データベース２１３にアクセスし、前記第１の実施形態と同様、
・ルールの前提部を満たすデータ行数、
・ルールの前提部を満たさないデータ行数、
・ルールの帰結部を満たすデータ行数、
・ルールの帰結部を満たさないデータ行数、
・ルールの前提部を満たし、且つ、帰結部を満たすデータ行数、
・ルールの前提部を満たすが、帰結部を満たさないデータ行数、
・ルールの前提部を満たさないが、帰結部を満たすデータ行数
・ルールの前提部を満たさず、帰結部も満たさないデータ行数、
あるいは、
・ルールの前提部の値組の頻度、帰結部の値組の頻度を取得する。
【００６５】
検定値算出手段２０５、ルール検定手段２０６は、前記第１の実施形態の検定値算出手段１０３、ルール検定手段１０４と同一である。
【００６６】
次に、本実施形態の動作について説明する。
【００６７】
入力受付手段２０１が、入力データを格納したデータベース２０１、検定に用いるデータベース（評価用データベース）２１３、値ｐ（上式（１）を用いる場合、ｐは有意水準の値、上式（２）を用いる場合、ルールが偶発的でなく意味のあるルールであることの閾値）のほか、さらに、
・データサンプリング手段２０２によるサンプルデータベース２１２へのサンプリング率とサンプリング方法の指定、
・CFD発見手段２０３においてCFDルール抽出に用いる支持度閾値、確信度閾値、
・オプションとして評価用データベース２１３用のサンプリング率とサンプリング方法の指定、等を受け付ける。これらの情報は、ユーザが入力受付手段２０１に入力するようにしてもよい。あるいは、入力受付手段２０１が所定のファイル等から読み出すようにしてもよいし、入力受付手段２０１が不図示のネットワーク等を介して入力するようにしてもよい。なお、評価用データベース用のサンプリング率とサンプリング方法の指定が不要の場合には、省略してもよい。
【００６８】
次に、データサンプリング手段２０２は、指定されたサンプリング方法とサンプリング率に従ってデータベース２１０からサンプルデータを取得し、サンプルデータベース２１２に格納する。このとき、データサンプリング手段２０２によるサンプルデータベース２１２へのサンプリングの指定に加えて、評価用データベース２１３用のサンプリング率、サンプリング方法の指定が入力受付手段２０１に入力されている場合、データベース２１０からサンプルデータを取得し、評価用データベース２１３に格納する。
【００６９】
CFD発見手段２０３は、サンプルデータベース２１２から、支持度閾値、確信度閾値を満たすCFDルール集合を抽出する。
【００７０】
第２の実施形態において、データベース参照手段２０４、検定値算出手段２０５、ルール検定手段２０６は、前記第１の実施形態と同様に動作する。
【００７１】
次に、第２の実施形態の作用効果について説明する。第２の実施形態では、データサンプリング手段２０２を備え、より少数のデータ行数を持つデータベースからCFD発見を行う。CFD発見は、必要とされる計算量が多大であり、多数の行を持つデータベースに対して実行すると、メモリ不足に陥る傾向にある。ルールの検定は、比較的計算量が限られた処理である。このため、CFD発見とルールの検定に適切なデータ量を用いて、有意と認められたルールを得ることができる。
【００７２】
＜実施形態３＞
図４を参照すると、本発明の第３の実施形態において、コンピュータ（中央処理装置；プロセッサ；データ処理装置）３００は、入力受付手段３０１、データサンプリング手段３０２、CFD発見手段３０３、データベース参照手段３０４、検定値算出手段３０５、ルール検定手段３０６、ルールランキング手段３０７、データベース３１０、サンプルデータベース３１１、評価用データベース３１２を備えている。
【００７３】
入力受付手段３０１は、
・入力データベースのデータベース３１０、
・ルール検定手段３０５で用いる値ｐ（上式（１）を用いる場合、ｐは有意水準の値、上式（２）を用いる場合、ルールが偶発的でなく意味のあるルールであることの閾値）、
・データサンプリング手段３０２によるサンプルデータベース３１１作成のためのサンプリング率とサンプリング方法の指定、オプションとして評価用データベース３１２用のサンプリング指定（サンプリング率とサンプリング方法）、
・CFD発見手段３０３で用いる支持度閾値、確信度閾値に加えて、
・ランキングスコア指定を受け付ける。
【００７４】
データサンプリング手段３０２、CFD発見手段３０３、データベース参照手段３０４、検定値算出手段３０５、ルール検定手段３０６は、前記第２の実施形態におけるデータサンプリング手段２０２、CFD発見手段２０３、データベース参照手段２０４、検定値算出手段２０５、ルール検定手段２０６と同一である。
【００７５】
ルールランキング手段３０７は、ルール検定手段３０６によって、有意と判定されたルールの集合に対し、検定値又は既存の他の順位付けを行う。既存の順位付け方法には、例えば、Conviction（例えば非特許文献６参照）等がある。Convictionは、以下の式で計算される。
Conviction＝（前提部が成り立つ確率）×（帰結部が成り立つ確率）／（前提部が成り立ち、且つ、帰結部が成り立たない確率）    ・・・(3)
【００７６】
Convictionは、前提部が成り立つなら帰結部が成り立つという論理演算を評価式にしたものである。前提部が成り立つことと帰結部が成り立つことが独立の場合に1を取り、1から離れるほど、前提部が成り立つなら帰結部が成り立つことの真偽性が高いことを表している。
【００７７】
＜実施例＞
次に、実施例として、前記第３の実施形態の具体例を説明する。データベース３１０には、図５に示したようなテーブルがある。テーブルは、５列１０行（５属性、１０タプル）のデータからなる。
【００７８】
入力受付手段３０１は、
・入力データベース３１０のデータベース指定（例：データベースサーバのIP（Internet Protocol）アドレス、データベース名：input_data、テーブル名：main_table）、
・有意水準の値ｐ（０．０５、０．０１など）、
・CFD発見用のデータベース（サンプルデータベース）３１１のデータサンプリング率（ｋ＝３、又は、ｓ＝５など）とサンプリング方法指定（サンプリング方法＝ｋ行に１行抽出、又は、ランダム）、
・評価用データベース３１２用のサンプリング率とサンプリング方法の指定（サンプルデータベース３１１のサンプル用と同様に、ｋ行に１行抽出でｋ＝２など）、支持度閾値（０．２など）、確信度閾値（０．８など）、ランキングスコア指定（Convictionスコア）をユーザから受け付ける。データベースの指定はデータベースサーバＩＰアドレス、ＤＢ名、テーブル名などから成る。使用するＤＢサーバプログラムにより、また、データベースサーバを用いずにＣＳＶ(Comma-Separated Values)ファイルを入力として用いる場合、指定方法が異なる。
【００７９】
データサンプリング手段３０２は、サンプリング方法指定とサンプリング率に従い、データベース３１０からサンプルデータを取得してサンプルデータベース３１１に格納する。図５の例において、ｓ＝５、ランダムサンプリングの場合、例えば図６に示すようなサンプルデータが抽出され、サンプルデータベース３１１に格納される。
【００８０】
評価用データベース３１２のサンプリング方法について、サンプリング方法（＝ｋ行に１行抽出）、ｋ＝２という指定の場合、例えば図７のような評価用データが抽出される。
【００８１】
CFD発見手段３０３は、評価用データベース３１２からサンプルされたデータから支持度閾値、確信度閾値を満たすCFDルール集合を抽出する。図７の評価用データベース３１２から抽出されたルール集合の一例を図８に示す。以下のCFDルールが抽出される。
ルール１：部署＝‘営業部’→オフィス＝‘東京支社’
ルール２：オフィス＝‘東京支社’，氏名→所属クラブ
ルール３：オフィス，所属クラブ→部署
【００８２】
なお、CFDの形式として、(X（前提部）→A（帰結部）、tp)を用いると、ルール１は、（部署→オフィス, tp(‘営業部’||‘東京支社’)）となるが、実施例の説明の容易化のため、前提部、帰結部のそれぞれにおいて、属性とその属性値を＝で対応させた図８の形式を用いる（属性に＝属性値が付加されていない場合、当該属性は値指定のない（unnamed variableである）ことを表している）。
【００８３】
データベース参照手段３０４は、指定された評価用データベース３１２にアクセスし、
・ルールの前提部を満たすデータ行数、
・ルールの前提部を満たさないデータ行数、
・ルールの帰結部を満たすデータ行数、
・ルールの帰結部を満たさないデータ行数、
・ルールの前提部を満たし、且つ、帰結部を満たすデータ行数、
・ルールの前提部を満たすが、帰結部を満たさないデータ行数、
・ルールの前提部を満たさないが、帰結部を満たすデータ行数
・ルールの前提部を満たさず帰、結部も満たさないデータ行数、
あるいは、
・ルールの前提部の値組、帰結部の値組の頻度
を取得する。
【００８４】
図９に、図７の評価用データベースから抽出されたルール２（前提部X＝（オフィス＝‘東京支社’、氏名）、帰結部A＝所属クラブ）において、
ルールの前提部を満たすデータ行（パタンX）、
ルールの前提部を満たさないデータ行（パタン¬X）、
ルールの帰結部を満たすデータ行（パタンA）、
ルールの帰結部を満たさないデータ行（パタン¬A）、
ルールの前提部を満たし且つ帰結部を満たすデータ行（パタンX∩A）、
ルールの前提部を満たすが帰結部を満たさないデータ行（パタンX∩¬A）、
ルールの前提部を満たさないが帰結部を満たすデータ行（パタン¬X∩A）、
ルールの前提部を満たさず帰結部も満たさないデータ行（パタン¬X∩¬A）、
の行数（頻度）の算出結果の一例を示す。図９の第１欄はパタン、第２欄はルール２の例、第３欄は頻度である。
【００８５】
XとAに値指定のあるCFDの場合、X、¬X、A、¬Aパタンはルールの通りである。例えば図８のルール１（X（部署＝‘営業部’）→A（オフィス＝‘東京支社’））というルール１の場合、
Freq(X)は、図７において、部署＝‘営業部’であるデータ行数（＝１）、Freq(¬X)は、部署＝‘営業部’でないデータ行数（＝４）、
Freq(A)は、オフィス＝‘東京支社’であるデータ行数（＝３）、
Freq(¬A)は、オフィス＝‘東京支社’でないデータ行数（＝２）である。
【００８６】
XとAに値指定の無い条件付関数従属性の場合、X、¬Xは、それぞれ、全データ行、０となるが、Aのパタンを具体的に決定する必要がある。Aの具体的なパタンは、異なるXのパタン中で最も頻度の高いAの値をAのパタンとする。異なるXのパタン中で最も頻度の高いAの値が複数ある場合、任意のものが用いる。図９に示す例の場合、
X＝（オフィス＝‘東京支社’，氏名）の中では、
A＝（所属クラブ＝‘ランニング’）
が最も頻度の高いパタンである。
【００８７】
X＝（オフィス＝‘東京支社’，氏名）の中では、
A＝（所属クラブ＝‘ランニング’）、（所属クラブ＝‘テニス’）
の２通りがパタンAの候補となるが、任意のものをパタンAとする。
【００８８】
図７において、図８のルール２のパタンの頻度は、図９に示すように、
・パタンXは、（オフィス＝‘東京支社’、氏名＝‘鈴木’）、（オフィス＝‘東京支社’、氏名＝‘田中’）の頻度３、
・パタン¬Xは、（オフィス＝‘埼玉支社’、氏名＝‘伊藤’）、（オフィス＝‘埼玉支社’、氏名＝‘斎藤’）の頻度２、
・パタンAは、（所属クラブ＝‘ランニング’）、（所属クラブ＝‘バレー’）、（所属クラブ＝‘ダンス’）の頻度３、
・パタン¬Aは、（所属クラブ＝‘テニス’）の頻度１、
・パタンX∩Aは、（オフィス＝‘東京支社’、氏名＝‘伊藤’、所属クラブ＝‘ランニング’）、（オフィス＝‘東京支社’、氏名＝‘田中’、所属クラブ＝‘バレー’）の頻度２、
・パタンX∩¬Aは、（オフィス＝‘東京支社’、氏名＝‘鈴木’、所属クラブ＝‘テニス’）の頻度１、
・パタン¬X∩Aは、（オフィス＝‘埼玉支社’、氏名＝‘鈴木’、所属クラブ＝‘ランニング’）、（オフィス＝‘埼玉支社’、氏名＝‘斎藤’、所属クラブ＝‘ダンス’）の頻度２、
・パタン¬X∩¬Aは頻度０である。
【００８９】
検定値算出手段３０５は、上式（１）又は（２）を用いて検定値ｓ(s1又はs2)を算出する。この値は、図５乃至図９に示した例の場合、具体的には、s1、s2は以下の値となる（ただし、式（２）においてNF＝５とする）。
【００９０】
s1= Σ(i=0..Freq(X∩¬A)) {Freq(X)! * Freq(¬X)! * Freq(A)! *Freq(¬A)!}
/{N! * (Freq(X∩A)+i)! * (Freq(X∩¬A)-i)! * Freq(¬X∩A)! * Freq(¬X∩¬A)!}
＝Σ (i=0..1) ｛3! *2! *3! * 1!｝ /｛5! * (2+i)! * (1-i)! * 1! * 0! ｝
＝ 0.3 + 0.1 
＝ 0.4            ・・・(4)
【００９１】
s2 ＝ （numDiffType(X)×NF）/ numDiffType(A)
＝ (1×5)/1
＝ 5              ・・・(5)
【００９２】
図９の例においては、s1の値は0.4（0の階乗は1とする）、s2の値は5となる。ルール検定手段３０６は、検定値ｓと、入力された有意水準の値ｐ（例えばｐ＝5％＝0.05）を比較し、ｓ＜ｐの場合、真（TRUE：対立仮説棄却：ルール成立）、ｓ≧ｐの場合、偽（FALSE：対立仮説採択：ルール不成立）をｓの値と共に出力する。この判定結果の例は、例えば図１０に示すようなものとなる。但し、図１０の値（ｓ１の値）は、図９の例に従って計算したものでなく、あくまで例示のために示したものである。
【００９３】
図１０に示す例では、図８のルール１、２、３の中でルール１、３が有意に成り立つ。なお、統計量が棄却域に入った場合に、当該統計量を有意といい、帰無仮説は棄却され、対立仮説（この場合、「ルールが成立する」）が成り立つ。一方、検定値としてs2を用いる場合、s2＝５は、意味があるルールであるか否かを判別するための閾値ｐ（例えば５）よりも小でないため（s2>=p）、ルールは不成立とする。
【００９４】
ルールランキング手段３０７は、ルール検定手段３０６によって有意と判定されたルールの集合に対し、指定された順位付け方法で順位付けを行う。ランキングスコアの指定が、非特許文献６に開示されているConvictionの場合（式（３））、順位付け結果（ランキングスコア）は、具体的には、例えば図１１に示したようなものになる。データベーステーブル等、表形式のデータから、偶発的に成立しているルールを除外し、有意水準を用いた検定により統計的に有意であるルール、あるいは、偶発的でなく意味のあるルールのみを抽出することが可能となる。抽出されたルールを用いて、データベースのデータの誤り検出・訂正や行うデータ修正手段（不図示）を備えた構成としてもよいことは勿論である。
【００９５】
なお、上記の特許文献、非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素（各請求項の各要素、各実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ乃至選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【００９６】
１６  制御部
１８  データベース（DB）
２０  初期的データ生成部
２２  アイテムセット生成／枝刈り処理部
２６  ルール抽出／出力部
２８  ルール記憶部
１００、２００、３００  コンピュータ
１０１、２０１、３０１  入力受付手段
１０２、２０４、３０４  データベース参照手段
１０３、２０５、３０５  検定値算出手段
１０４、２０６、３０６  ルール検定手段
１１０、２１０、３１０  データベース
２０２、３０２  データサンプリング手段
２０３、３０３  CFD発見手段
２１２、３１１  サンプルデータベース
２１３、３１２  評価用データベース
３０７  ルールランキング手段
【図１】
2014149793.tif 000003
【図２】
2014149793.tif 000004
【図３】
2014149793.tif 000005
【図４】
2014149793.tif 000006
【図５】
2014149793.tif 000007
【図６】
2014149793.tif 000008
【図７】
2014149793.tif 000009
【図８】
2014149793.tif 000010
【図９】
2014149793.tif 000011
【図１０】
2014149793.tif 000012
【図１１】
2014149793.tif 000013
【図１２】
2014149793.tif 000014