(57)【特許請求の範囲】
【請求項１】
与えられたデータに対し、相関分析を適用して相関ルールを生成すると共に、統計処理を行い、前記相関ルールと統計処理結果とを合わせて出力する相関分析装置であって、
アイテム単位で属性データの記憶を行う記憶部と、
前記相関分析でアイテムの出現回数を数え上げる際に、アイテムの出現した際に、該アイテムの出現回数をカウントすると共に、前記記憶部に該アイテムに対応する属性データとして蓄積される数え上げ処理を行い、数え上げ処理の完了後、該数え上げ処理による各アイテムの出現回数を元に、所定条件を示すアイテムを相関ルールとして抽出すると共に、該相関ルールとされたアイテムに対応する属性データを前記記憶部から抽出し、該抽出した属性データを元に統計情報を出力する数え上げ／統計処理手段と、
を備えていることを特徴とした相関分析装置。
【請求項２】
前記数え上げ／統計処理手段は、
複数の属性値について同時に統計処理を行い、相関ルールと合わせて指定した統計処理値を得る機能を備えていることを特徴とする請求項１記載の相関分析装置。
【請求項３】
前記数え上げ／統計処理手段は、
前記相関ルールのサポートの最小値の条件及び確信度の最小値が、ユーザによって与えられた条件を満たすものに関して、相関ルールと一緒に統計値を得る機能を備えていることを特徴とする請求項１記載の相関分析装置。
【請求項４】
前記数え上げ／統計処理手段は、
前記属性の統計値がユーザによって与えられた条件を満たすものに関して、相関ルールと一緒に統計値を得る機能を備えていることを特徴とする請求項１記載の相関分析装置。
【請求項５】
アイテム単位で属性データの記憶を行う記憶部を有し、与えられたデータに対し、相関分析を適用して相関ルールを生成すると共に、統計処理を行い、前記相関ルールと統計処理結果とを合わせて出力する相関分析装置に、
前記相関分析でアイテムの出現回数を数え上げる際に、アイテムの出現した際に、該アイテムの出現回数をカウントすると共に、前記記憶部に該アイテムに対応する属性データとして蓄積される処理を行い、数え上げ処理の完了後、該数え上げ処理による各アイテムの出現回数を元に、所定条件を示すアイテムを相関ルールとして抽出すると共に、該相関ルールとされたアイテムに対応する属性データを前記記憶部から抽出し、該抽出した属性データを元に統計情報を出力する数え上げ／統計処理手段の機能を実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データベースなどに記録された大量のデータの処理に係り、そのデータに含まれる属性間の相関ルールを生成するデータマイニングと統計処理を行う相関分析装置及び記録媒体に関する。
【０００２】
【従来の技術】
以下、従来例を説明する。
§１：データマイニングと相関分析の説明
データマイニングとは、データベース中に格納された大量のデータの中から、有益な情報を見い出すための技術である。データマイニングの代表的な例として、相関分析がある。相関分析は、データの属性値の全相関関係を網羅的に調べ、属性間に存在する規則性を相関ルールとして見い出す手法であり、文献１（「R.Agrawal and R.Srikant,^Fast Algorithm for Mining Association Rules" 」及び対応した特開平８−２６３３４６号公報（大規模データベース内の順次パターンをマイニングするためのシステムおよび方法」に記述される効率的な手法が提案されている。なお、前記文献１の詳細は次の通りである。
【０００３】
文献１：「掲載書名：Proceedings of the 20th International Conference on Very Large Data Bases ，掲載書出版社：Morgan Kaufman Publishing ，ＩＳＢＮ：1-55860-153-8,発行年月：1994,9，掲載ページ：487-499 ，論文名：Fast Algorithms for Mining Association Rules, 論文著者：R.Agrawal and R.Srikant,」
【０００４】
§２：相関ルールの説明・・・図８のＡ図参照
図８は従来例の説明図（その１）であり、Ａ図はアイテムとトランザクションの説明図である。前記文献１によれば、相関ルールは次のように定義される。先ず、アイテムの集合Ｉを、Ｉ＝｛ｉ１，ｉ２，・・・ｉｍ｝とする。また、トランザクションの集合Ｄを、Ｄ＝｛ｔ１，ｔ２，・・・ｔｎ｝とする。
【０００５】
例えば、小売店での売り上げデータに対応させると、図８のＡ図に示したように、１枚のレシート（レシート１、２、・・・ｎのいずれか１枚）がトランザクションｔ（ｔ１、ｔ２、・・・ｔｎ）に対応し、レシート中の購入された商品（販売品目Ａ、Ｂ、Ｃ・・・Ｍ等）１つ１つがアイテムｉに対応する。ここで、或るアイテムの組み合わせＸについて、もし、ｓ％のトランザクションがＸを含めば、Ｘのサポートはｓ％であると定義する。
【０００６】
相関ルールは、Ｘ→Ｙで定義され、ルールの確信度とルールのサポートの２つの値を持つ。ルールのサポートは、Ｘ∩Ｙのサポートであり、ルールの確信度は（Ｘ∩Ｙのサポート）／（Ｘのサポート）で定義される。例えば、「パン→バター確信度３０％サポート８％」といった相関ルールは、「パンを購入した客の内３０％がバターも一緒に購入しており、パンとバターを両方一緒に購入した客は全体の８％である」ことを意味する。
【０００７】
トランザクション中に含まれる相関ルールを全て求めようとすると、組み合わせ爆発を起こし易いことが知られており、処理に多くの時間と多量のメモリやディスクといった計算機資源を必要とする。このため、ユーザがサポートの最小値及び確信度の最小値を与えて、与えた条件を満たす相関ルールのみを求める方式が用いられている。
【０００８】
つまり、相関分析とは、トランザクションの集合の中から、ユーザによって与えられたサポートと確信度を満たす全ての相関ルールを求める処理である。相関分析処理は、元データ中から与えられたサポートの最小値を満たす全てのアイテムの組み合わせの出現回数を得る「数え上げ処理」と、得られたアイテムの組み合わせと出現回数から与えられた確信度の最小値を満たす全ての相関ルールを生成する「ルール生成処理」の２つの処理からなる。
【０００９】
前者の「数え上げ処理」については処理に時間がかかることが知られている。できるだけ不要な組み合わせ生成を行わない方法として、前記文献１では、長さ１のアイテムの組み合わせについて与えられたサポートの最小値を満たすものについて数え上げを行い（ステップ１）、その結果に基づいて与えられたサポートの最小値を満たす長さ２のアイテムの組み合わせを数え上げ（ステップ２）、更に、その結果に基づいたサポートの最小値を満たす長さ３のアイテムの組み合わせを数え上げ（ステップ３）、与えられたサポートの最小値を満たすアイテムの組み合わせがなくなるまで、長さｋを増加させて処理を繰り返す（ステップｋ）方式が取られている。
【００１０】
ここでは、与えられたサポートの最小値を満たすアイテムの組み合わせ全体の集合をＬと表記する。前記集合Ｌは、サポートの最小値を満たすアイテムの組み合わせについて、「アイテムの組み合わせ、出現回数であるカウント」を１組として保持するものである。
【００１１】
前記文献１に示されているように、Ｌが求まれば、先程の相関ルールの定義によって条件付き確率を計算して簡単に相関ルールを生成することができる。例えば、Ｌが「ＡＢ」であれば、相関ルールＡ→Ｂと、Ｂ→Ａが得られるので、これらのルールについて与えられた確信度を計算してユーザが与える最小値を満たしているかを調べれば良い。
【００１２】
しかし、従来提案されていた相関分析の手法では、相関ルールを算出することのみが考慮され、相関ルールの算出と一緒に統計処理を行うことが考慮されていなかった。
【００１３】
§３：具体例による相関分析の説明・・・図８のＢ図、図９参照
図８のＢ図はデータ例である。また、図９は従来例の説明図（その２）であり、Ａ図は装置の説明図である。相関分析で得られたルールについて、ルール中のアイテム群が含まれている全てのトランザクションについて、別の属性値に関する統計値を得る場合の処理の効率が悪い。以下、この点に関して具体例により説明する。
【００１４】
例えば、図８のＢ図に示したデータがあったとする。このデータ例において、日付は商品の販売日を示し、気温は商品の販売日の最高気温［℃］、販売時刻（２４時間表記）はその品目（アイテム）を販売した時刻について時間帯を示している。
【００１５】
このデータに対して、ユーザがサポートの最小値を５０％、確信度の最小値を５０％と指示した場合、従来の方式によって相関ルールを生成すると以下のルールが生成される。
【００１６】
Ａ→Ｂ  サポート＝５０％、確信度＝６０％
Ｂ→Ａ  サポート＝５０％、確信度＝１００％
更に、これらのルール中に含まれるアイテムを販売した際の気温の平均を求める。まず、生成したルールから「ＡＢ」を取り出す。次に、元のデータベースを再び読んで、各トランザクション中に「ＡＢ」が含まれるかどうかを調べる。日付１及び日付３について「ＡＢ」が含まれることが分かったので、日付１と日付３の気温をそれぞれ、２０度と３０度として取り出し、２つの気温の平均値＝（２０＋３０）／２＝２５を求め、相関ルールと合わせて次のように出力する。
【００１７】
Ａ→Ｂ  サポート＝５０％、確信度＝６０％、平均気温＝２５度
Ｂ→Ａ  サポート＝５０％、確信度＝１００％、平均気温＝２５度
従来の相関分析装置としては、例えば図９に示した装置を使用する。この装置は、パーソナルコンピュータ、ワークステーション等の各種コンピュータにより実現される装置であり、データベース１と、相関分析処理を行う相関分析処理部２と、ワークメモリ３と、結果ファイル４と、統計処理を行う統計処理部５を備えている。
【００１８】
この装置により相関分析処理を行う場合、先ず、データベース１のデータを取り出して相関分析処理部２へ送り、この相関分析処理部２で相関分析を行い、その結果得られた相関ルールをワークメモリ３に格納し、該ワークメモリ３のデータを結果ファイル４に格納する。また、統計処理部５は、前記結果ファイル４に格納された相関ルールを用いてデータベース１から必要なデータを取り出し、統計処理を行って結果ファイル４に格納する。このようにして結果ファイル４には相関ルールと統計値が得られる。
【００１９】
【発明が解決しようとする課題】
前記のような従来のものにおいては、次のような課題があった。
【００２０】
すなわち、従来の相関分析では、相関分析処理部２の処理で生成した相関ルール（結果ファイル４に格納されたルール）中のアイテム群が含まれるトランザクションをデータベース１から全て取り出して、その中の該当する属性について統計処理部５が統計処理を行い、相関ルールと合わせて出力（例えば、表示）することになる。
【００２１】
例えば、全トランザクション数がｍ個で、ルールの総数がｎ個であるとすると、ｍｎ個の組み合わせについて突き合わせを行い、該当する属性について統計処理を行う必要がある。この場合、相関分析処理部２による相関分析処理に加えて、更にもう一度、統計処理部５によりデータベース１のデータをスキャンして統計処理を行うため処理効率が悪い。
【００２２】
本発明は、このような従来の課題を解決し、生成したルール中に含まれるアイテム群が含まれるトランザクションについて、属性値に関して効率良く統計値を生成することを目的とする。また、本発明は、相関ルールを求める際に、サポートと確信度に加えて、属性値に関する統計値での絞り込みを可能にすることを目的とする。
【００２３】
【課題を解決するための手段】
図１は本発明の原理説明図である。本発明は前記の目的を達成するため、次のように構成した。
【００２４】
(1) ：与えられたデータ（例えば、データベース１のデータ）に対し、相関分析を適用して相関ルールを生成すると共に、統計処理を行い、前記相関ルールと統計処理結果とを合わせて出力する相関分析装置であって、アイテム単位で属性データの記憶を行う記憶部と、前記相関分析でアイテムの出現回数を数え上げる際に、アイテムの出現した際に、該アイテムの出現回数をカウントすると共に、前記記憶部に該アイテムに対応する属性データとして蓄積される数え上げ処理を行い、数え上げ処理の完了後、該数え上げ処理による各アイテムの出現回数を元に、所定条件を示すアイテムを相関ルールとして抽出すると共に、該相関ルールとされたアイテムに対応する属性データを前記記憶部から抽出し、該抽出した属性データを元に統計情報を出力する数え上げ／統計処理手段６を備えている。
【００２５】
(2) ：前記(1) の相関分析装置において、前記数え上げ／統計処理手段６は、複数の属性値について同時に統計処理を行い、相関ルールと合わせて指定した統計処理値を得る機能を備えている。
【００２６】
(3) ：前記(1) の相関分析装置において、前記数え上げ／統計処理手段６は、前記相関ルールのサポートの最小値の条件及び確信度の最小値が、ユーザによって与えられた条件を満たすものに関して、相関ルールと一緒に統計値を得る機能を備えている。
【００２７】
(4) ：前記(1) の相関分析装置において、前記数え上げ／統計処理手段６は、前記属性の統計値がユーザによって与えられた条件を満たすものに関して、相関ルールと一緒に統計値を得る機能（絞り込み処理、或いはフィルタリング処理機能）を備えている。
【００２９】
（作用）
前記構成に基づく本発明の作用を、図１に基づいて説明する。
(a) ：数え上げ／統計処理手段６は、データベース１を検索して相関分析を行う。この相関分析では、アイテムの出現回数を数え上げるが、この時、アイテムの組み合わせの出現回数と一緒に元データ（データベース１から検索したデータ）中の属性値（例えば、商品を販売する場合であれば、その時の最高気温、販売時刻等）も保持して処理を行い、相関ルールと一緒に統計値（例えば、商品の販売数量等）を得る。
【００３０】
前記のようにして相関分析と統計処理を一緒に行い、相関ルールを生成して、該相関ルールと統計値を結果ファイル４へ格納する。そして、このようにすれば、相関ルールを生成するのと一緒に属性値についての統計処理を効率良く行うことができる。
【００３１】
(b) ：数え上げ／統計処理手段６は、複数の属性値について同時に統計処理を行い、相関ルールと合わせて指定した統計処理値を得る。このようにすれば、相関ルールを生成するのと一緒に複数の属性値についての統計処理を同時に行うことができ、処理の効率を向上できる。
【００３２】
(c) ：数え上げ／統計処理手段６は、相関ルールのサポートの最小値の条件及び確信度の最小値が、ユーザによって与えられた条件を満たすものに関して、相関ルールと一緒に統計値を得る。このようにすれば、相関分析を行う際に、ユーザが指定したサポートの最小値と確信度の最大値を満たす相関ルールを生成するのと一緒に、属性値についての統計値を得ることができ、処理の効率を向上できる。
【００３３】
(d) ：数え上げ／統計処理手段６は、前記属性の統計値がユーザによって与えられた条件を満たすものに関して、相関ルールと一緒に統計値を得る。このようにすれば、相関分析を行う際に、ユーザが指定した属性値についての統計値のうち、指定された条件を満たすものについて相関ルールと合わせて求める（絞り込み処理、或いはフィルタリング処理を行う）ことができ、処理の効率を向上できる。
【００３４】
(e) ：記録媒体のプログラムを読み出して実行する（例えば、相関分析装置内のＣＰＵが実行する）ことにより、相関分析でアイテムの出現回数を数え上げる際に、アイテムの組み合わせの出現回数と一緒に元データ中の属性値も保持して処理を行い、相関ルールと一緒に統計値を得る手順を実行する。このようにすれば、相関ルールを生成するのと一緒に属性値についての統計処理を効率良く行うことができる。
【００３５】
【発明の実施の形態】
以下、発明の実施の形態を図面に基づいて詳細に説明する。
【００３６】
§１：相関分析装置の構成と、処理の概要説明・・・図２参照
図２は装置説明図である。図２に示した装置は、相関分析を行うための相関分析装置の１例であり、パーソナルコンピュータ、ワークステーション等の任意のコンピュータにより実現する。この装置は、装置本体と、該装置本体に接続されたデータベース１と、結果ファイル４を備えている。そして、装置本体には、組み合わせ生成部１１と、数え上げ／統計処理部１２と、ワークメモリ３と、相関ルール生成部１３等を備えている。
【００３７】
この場合、前記データベース１と結果ファイル４は、別々の記憶手段に格納しても良いし、一緒の記憶手段に格納しても良く、例えば、ハードデイスク装置のディスク媒体に格納する。また、前記組み合わせ生成部１１と、数え上げ／統計処理部１２と、相関ルール生成部１３は、装置本体内に設けたＣＰＵ（図示省略）により実行されるプログラムで実現する。
【００３８】
この装置では、組み合わせ生成部１１がデータベース１内のデータから組み合わせを生成し、それに基づいて、数え上げ／統計処理部１２が数え上げと統計処理とを行い、その結果のデータをワークメモリ３に格納する。そして、相関ルール生成部１３がワークメモリ３のデータを取り出して相関ルールを生成し、結果ファイル４に格納し、その後、結果ファイル４のデータ（相関ルール＋統計値）は表示等により出力する。このようにして、結果ファイル４には、相関ルールと統計値が格納される。
【００３９】
この相関分析装置は、データベース１中のデータに対して相関分析を適用し、相関ルールを生成する際に、一緒に指定された属性についての統計値を求める処理を合わせて行うものである。従来の相関分析とは異なり、アイテムの出現頻度の数え上げに加えて、属性の値についての統計処理を合わせて行うため、従来必要であったデータベース１からのデータの再度の読み込みと突き合わせは不要となる。
【００４０】
§２：フローチャートによる処理の説明
(1) ：全体の処理・・・図３参照
図３は全体の処理フローチャートである。以下、図３に基づいて全体の処理を説明する。なお、Ｓ１〜Ｓ８は各処理ステップを示す。この処理では、アイテムの組み合わせの長さｋを指標として処理を行う。先ず、ｋ＝１から処理を開始して、長さｋのラージアイテムセットを数え上げていく。そして、生成した結果の数がｋ＋１以上ある場合は、ｋ＝ｋ＋１として処理を継続し、結果の数がｋ＋１以上ない場合は処理を終了する（終了条件）。具体的には次の通りである。
【００４１】
先ず、パラメータｋをｋ＝１とし（Ｓ１）、長さｋの組み合わせ生成と統計処理を行う（Ｓ２）。この場合、組み合わせ生成部１１がデータベース１のデータを検索して長さｋの組み合わせを生成し、数え上げ／統計処理部１２が統計処理を行う。
【００４２】
その後、数え上げ／統計処理部１２では、数え上げ結果はｋ＋１より多いかどうかを判断し（Ｓ３）、多い場合は、ｋ＝ｋ＋１とし（Ｓ４）、前記Ｓ２の処理から繰り返して行う。このようにして処理を行い、数え上げ結果がｋ＋１より多くなくなれば、数え上げ／統計処理部１２が処理結果のデータをワークメモリ３に格納する。そして、相関ルール生成部１３がワークメモリ３のデータを基に、相関ルール生成処理を行う（Ｓ５）。
【００４３】
その後、相関ルール生成部１３が相関ルール生成処理は終了したかを判断し（Ｓ６）、相関ルール生成処理が終了しなければ、ユーザが与える確信度の条件を満たしているかを判断する（Ｓ７）。その結果、ユーザが与える確信度の条件を満たしていなければ前記Ｓ５の処理から繰り返して行う。
【００４４】
また、前記Ｓ７の処理で、ユーザが与える確信度の条件を満たしていれば、相関ルール生成部１３は、生成した相関ルールを結果ファイル４に出力し（Ｓ８）、再び前記Ｓ５の処理から繰り返して行う。一方、前記Ｓ６の処理で、相関ルール生成処理が終了した場合は、全ての処理を終了する。
【００４５】
このようにして処理を行い、結果ファイル４には、相関ルールと統計値のデータが格納される。従って、この結果ファイル４のデータは、例えばディスプレイ装置（図示省略）に表示してオペレータに知らせる。
【００４６】
(2) ：長さｋの組み合わせ生成処理と統計処理の説明・・・図４参照
図４は長さｋの組み合わせ生成と統計処理のフローチャートである。以下、図４に基づいて、長さｋの組み合わせ生成処理と統計処理（前記Ｓ２の処理）を詳細に説明する。なお、Ｓ１０〜Ｓ１６は各処理ステップを示す。
【００４７】
この処理では、トランザクションからアイテムの組み合わせの候補を生成し、数え上げを行って行く。全てのトランザクションについて、アイテムの組み合わせを数えたら、与えられたサポートの最小値の条件を満たしているかどうかを調べる。条件を満たしたアイテムについては、指定された属性値に対して統計処理を行う。具体的には次の通りである。
【００４８】
先ず、組み合わせ生成部１１は、データベース１を検索して、トランザクション先頭を読み出す（Ｓ１０）。そして、組み合わせ生成部１１は、前記トランザクションから組み合わせを生成する。次に、前記生成したトランザクションを基に、数え上げ／統計処理部１２が数え上げを行い、ｋ≧２（ｋが２以上）なら統計情報もリストとしてワークメモリ３に登録する（Ｓ１１）。なお、ｋが２未満、すなわちｋ＝１なら統計にならないので、統計処理は不要である。
【００４９】
このようにして、トランザクションリストが空になるまで（Ｓ１２）、前記Ｓ１０、Ｓ１１の処理を行い、トランザクションリストが空になると、数え上げ／統計処理部１２は数え上げた組み合わせを取り出す（Ｓ１３）。そして、サポートの最小値を満たすか否かを判断し（Ｓ１４）、サポートの最小値を満たすものについて、リストから統計値を計算し、合わせてワークメモリ３に出力する（Ｓ１５）。
【００５０】
その後、数え上げ／統計処理部１２は、まだ処理していない組み合わせがあるか否かを判断し（Ｓ１６）、まだ処理していない組み合わせがあれば、前記Ｓ１３の処理から繰り返して行う。また、前記Ｓ１４の処理で、サポートの最小値を満たしていない場合には、前記Ｓ１５の処理を行うことなく、Ｓ１６の処理を行う。このようにして、長さｋの組み合わせ生成処理と、統計処理を行う。
【００５１】
(3) ：前記処理の補足説明
前記処理において、長さ２以上（ｋ≧２）のアイテムの組み合わせの数え上げ（カウント）を行う各ステップ（Ｓ１０〜Ｓ１２）で、従来の▲１▼：アイテムの組み合わせ、▲２▼：アイテムの組み合わせのカウント、に加えて、▲３▼：アイテムの組み合わせが含まれるトランザクション中の別の属性値を、ワークメモリ３にリスト形式で保持して数え上げを行う。カウントには、そのアイテムの組み合わせがトランザクション中で出現した回数をワークメモリ３に保持する。また、属性値は、指定された属性値の値をワークメモリ３に保持する。
【００５２】
そして、各ステップ（Ｓ１０〜Ｓ１２）が終了して、長さｋのアイテムの組み合わせについて数え上げが終了したら、数え上げたアイテムの組み合わせが、ユーザが与えるサポートの最小値を満たしたかどうかを調べる（前記Ｓ１４参照）。更に、サポートの最小値を満たしたアイテムの組み合わせについては、ワークメモリ３に保存していた属性値に対して指定された統計処理を行い（前記Ｓ１５参照）、「アイテムの組み合わせ、出現回数、統計処理した値」をＬ′としてワークメモリ３へ出力する。
【００５３】
すなわち、その後の処理で、相関ルール生成部１３が前記Ｌ′から相関ルールを生成する際、ユーザが与える確信度の最小値を満たすルールについては、ルールに加えて統計処理した値を合わせて出力する。
【００５４】
また、単一の属性値についての統計演算のみでなく、複数の属性値についての統計処理を相関分析と合わせて行うことができる。その場合には、従来の▲１▼：アイテムの組み合わせ、▲２▼：アイテムの組み合わせのカウント、に加えて、▲３▼：アイテムの組み合わせが含まれるトランザクション中の別の属性値をそれぞれワークメモリ３に保持する。
【００５５】
この場合の処理は、単一の属性値と同様に行うことができ、各ステップが終了して長さｋのアイテムの組み合わせについて数え上げが終了したら、数え上げたアイテムの組み合わせが、ユーザが与えるサポートの最小値を満たすかどうかを調べる（前記Ｓ１４参照）。
【００５６】
サポートの最小値を満たしたアイテムの組み合わせについて、ｋ≧２の場合に保存していた複数の属性値に対して指定された統計処理を行う（前記Ｓ１５参照）。この際、複数の属性値について別々の統計演算を施すことが可能である。結果は、「アイテムの組み合わせ、出現回数、統計演算した値１、統計演算した値２、・・・」をＬ″として出力する。
【００５７】
(4) ：統計値による絞り込み処理の説明・・・図５参照
図５は統計値による絞り込み処理フローチャートである。以下、図５に基づいて、統計値による絞り込み処理を説明する。なお、Ｓ２１〜Ｓ２８は各処理ステップを示す。
【００５８】
従来のサポートと確信度による相関ルールの絞り込みに加えて、或る属性値又は複数の属性値について統計処理した値が、指定する範囲に含まれる場合にのみ相関ルールを生成する。このような絞り込み処理を図５の処理フローチャートに基づいて説明する。
【００５９】
先ず、組み合わせ生成部１１は、データベース１を検索して、トランザクション先頭を読み出す（Ｓ２１）。そして、組み合わせ生成部１１は、前記トランザクションから組み合わせを生成する。次に、前記生成したトランザクションを基に、数え上げ／統計処理部１２が数え上げを行い、ｋ≧２なら統計情報もリストとしてワークメモリ３に登録する（Ｓ２２）。
【００６０】
このようにして、トランザクションリストが空になるまで（Ｓ２３）、前記Ｓ２１、Ｓ２２の処理を行い、トランザクションリストが空になると、数え上げ／統計処理部１２は数え上げた組み合わせをワークメモリ３から取り出す（Ｓ２４）。そして、サポートの最小値を満たすか否かを判断し（Ｓ２５）、サポートの最小値を満たすものについて、リストから統計値を計算し、統計値が条件を満たすかどうかを判断する（Ｓ２６）。
【００６１】
その結果、統計値が条件を満たせば、相関ルールと統計値を合わせてワークメモリ３に出力する（Ｓ２７）。その後、数え上げ／統計処理部１２は、まだ処理していない組み合わせがあるか否かを判断し（Ｓ２８）、まだ処理していない組み合わせがあれば、前記Ｓ２４の処理から繰り返して行う。また、前記Ｓ２５の処理で、サポートの最小値を満たしていない場合、及び前記Ｓ２６の処理で、統計値が条件を満たしていない場合には、前記Ｓ２８の処理を行う。このようにして、統計値による絞り込み処理を行う。
【００６２】
(5) ：その他の説明
前記のようにして生成された相関ルールに含まれるアイテムが含まれるトランザクション中の別の属性値に対して統計処理を合わせて行う際に、既に相関ルールが生成されていたとする。この場合、相関ルール中に含まれるアイテムが分かっているので、前記各アイテムの出現回数を求める処理は不要となる。
【００６３】
また、相関ルールに含まれるアイテム数の最大値も容易に求めることができるので、相関ルール中に含まれるアイテムが出現するトランザクションについて、アイテム数の最大値までの数え上げと統計処理を行うだけでよい。場合によっては、ステップ毎に実行するので、２からアイテム数の最大値までの長さの組み合わせを一度に実行して、数え上げと統計処理を行うことによって高速化することが可能である。
【００６４】
前記のように、相関ルールの生成時に、合わせて統計処理（統計演算）を適用することにより、統計処理のためのデータのスキャンが不要となる。また、データｍ個、ルールｎ個の場合にｍｎ回数必要な突き合わせ処理のコストを低減できる。また、サポートと確信度による相関ルールの絞り込み処理に加えて、属性値を元にした絞り込み処理を行うことができる。
【００６５】
§３：具体的な処理例の説明・・・図６参照
図６は処理説明図であり、Ａ図は数え上げ結果例、Ｂ図は属性値を含めた数え上げ例１、Ｃ図は属性値を含めた数え上げ例２である。以下、図６に基づいて具体的な処理例を説明する。
【００６６】
(1) ：例１
以下に説明する例１は、図８のＢ図に示した従来例のデータを使用する。そして、ユーザが与えるサポートの最小値を５０％、確信度の最小値を５０％とする。また、最高気温の平均値を合わせて求めるように、ユーザが指示を行うものとする。
【００６７】
（処理１）
先ず、数え上げ／統計処理部１２は、各アイテムの出現回数を求める。この（処理１）においては、従来の手法と同様に求める。日付１のデータから、販売品目のＡとＢについて数え上げを行う。Ａについての出現回数（カウント）を１としてワークメモリ３に保持する。次に、Ｂについても、同様に出現回数を１としてワークメモリ３に保持する。
【００６８】
日付２のデータからは、販売品目のＡとＤについての数え上げを行う。初めに、Ａについてカウントを１増加させて２とし、Ｄについてのカウントを１とする。日付３と日付４についても、同様に数え上げを行う。その結果、Ａについての出現回数は３で、Ｂについての出現回数は２、Ｃについては出現回数が１、Ｄの出現回数は１が得られる。なお、（処理１）での数え上げの結果については、図６のＡ図に示したようにワークメモリ３に保持できる。
【００６９】
すなわち、アイテムＡの出現回数＝３、アイテムＢの出現回数＝２、アイテムＣの出現回数＝１、アイテムＤの出現回数＝１のように数え上げ結果をワークメモリ３に保持する。この場合、ユーザのサポートの最小値が５０％であるから、全トランザクション数４のうち２つ以上で出現しているものだけを残せばよい。従って、ＡとＢのみが条件を満たす。
【００７０】
（処理２）
続いて、数え上げ／統計処理部１２は、長さ２のアイテムの組み合わせの数え上げを行う。前記（処理１）の結果として、販売品目のＡとＢのみ得られているので、ＡとＢのみを利用して長さ２の組み合わせを生成する。日付１では、組み合わせＡＢを生成して、その出現回数を１として、最高気温＝２０をワークメモリ３に保持しておく。
【００７１】
日付２では、前記（処理１）の結果に含まれるアイテムがＡしかないので、長さ２の組み合わせは生成できない。日付３では、組み合わせＡＢを生成し、出現回数を１増加させて２とする。更に、最高気温に３０を追加して、リスト２０、３０を得る。日付４では、前記Ｓ１の結果に含まれるアイテムがないので、長さ２の組み合わせは生成できない。
【００７２】
Ｓ２の数え上げについては、図６のＢ図に示すように、長さ２のアイテムの組み合わせとカウントに加えて、指定された属性値も一緒にワークメモリ３に保持する。この場合、ワークメモリ３には、アイテムＡＢについて、出現回数＝２、最高気温＝２０、３０が保持される。
【００７３】
前記（処理１）と同様に、ユーザが指定したサポートの最小値が５０％であるから、全トランザクション数４のうち、２つ以上で出現しているものだけを結果として残す。従って、ＡＢは条件を満たしているので、最高気温として保持している２つの値についての平均値を計算し、（２０＋３０）／２＝２５を得る。
【００７４】
（処理３）
日付１〜４について、長さ３の組み合わせを生成することがないので、数え上げは終了する。以上によって、得られたアイテムの組み合わせ群Ｌ′は、「Ａ」「Ｂ」「ＡＢ」となる。Ｌ′に基づいて相関ルールを求めることができる。既に長さ２以上のアイテムの組み合わせを数え上げる際には、指定した属性値の統計情報を求めているので、合わせて出力を行う。その結果次のような相関ルールを得る。
【００７５】
Ａ→Ｂ：サポート＝５０％、確信度＝６６％、最高気温の平均値＝２５
Ｂ→Ａ：サポート＝５０％、確信度＝１００％、最高気温の平均値＝２５
Ａ→Ｂについてのサポートは、「ＡＢ」の出現回数／全トランザクション数＝２／４＝５０％
Ａ→Ｂについての確信度は、「ＡＢ」の出現回数／「Ａ」の出現回数＝２／３＝６６．６％
Ｂ→Ａについてのサポートは、「ＡＢ」の出現回数／全トランザクション数＝２／４＝５０％
Ｂ→Ａについての確信度は、「ＡＢ」の出現回数／「Ｂ」の出現回数＝２／２＝１００％
【００７６】
(2) ：例２
以下に説明する例２は、図８のＢ図に示した従来例のデータを使用する。そして、ユーザが指示するサポートの最小値を５０％、確信度の最小値を５０％とする。また、最高気温の平均値と販売時刻の平均値を合わせて求めるように、ユーザが指示を行うものとする。
【００７７】
（処理１）
先ず、数え上げ／統計処理部１２は、アイテムの出現回数を求める。日付１のデータから、販売品目のＡとＢについて数え上げを行う。Ａについての出現回数（カウント）を１とし、Ｂについても同様に出現回数を１とする。日付２のデータからは、ＡとＤについての数え上げを行う。はじめに、Ａについてのカウントを１増加させて２とし、Ｄについてのカウントを１とする。日付３と日付４についても同様に数え上げを行う。
【００７８】
その結果、Ａについての出現回数は３で、Ｂについての出現回数は２、Ｃについての出現回数は１で、Ｄについての出現回数は１となる。この場合、ユーザが指示したサポートの最小値が５０％であるから、全トランザクション数４のうち２つ以上で出現しているものだけを残せばよい。従って、ＡとＢのみが条件を満たす。
【００７９】
（処理２）
次に、数え上げ／統計処理部１２は、長さ２のアイテムの組み合わせの数え上げを行う。前記（処理１）での結果として販売品目のＡとＢのみが得られているので、ＡとＢのみを利用して長さ２の組み合わせを生成する。日付１では、組み合わせＡＢを生成して、その出現回数を１として、最高気温に２０を、販売時刻に１０を追加する。日付２では、前記（処理１）の結果に含まれるアイテムがＡしかないので、長さ２の組み合わせは生成できない。
【００８０】
日付３では、組み合わせＡＢを生成し、出現回数を１増加させて２とする。更に、最高気温に３０を追加して、販売時刻に１５を追加する。日付４では、前記（処理１）の結果に含まれるアイテムがないので、長さ２の組み合わせは生成できない。長さ２の組み合わせについては、図６のＣ図（属性値を含めた数え上げ例２）に示したように、数え上げ結果をワークメモリ３に保持する。すなわち、アイテムＡＢの出現回数＝２、最高気温＝２０、３０、販売時刻＝１０、１５をワークメモリ３に保持する。
【００８１】
前記（処理１）と同様に、ユーザのサポートの最小値が５０％であるから、全トランザクション数４のうち２つ以上で出現しているものだけを結果として残す。従って、ＡＢは条件を満たしているので、最高気温リストから平均値を計算して（２０＋３０）／２＝２５を得て、かつ、販売時刻の平均（１０＋１５）／２＝１２．５を得る。
【００８２】
（処理３）
次に、日付１〜日付４について、長さ３の組み合わせを生成することができないので、数え上げを終了する。以上によって得られたアイテムの組み合わせ群Ｌ′は、「Ａ」「Ｂ」「ＡＢ」となる。そして、前記Ｌ′に基づいて相関ルールを求めることができ、次のようになる。
【００８３】
Ａ→Ｂ：サポート＝５０％、確信度＝６６％、最高気温の平均値＝２５、販売時刻の平均値＝１２．５
Ｂ→Ａ：サポート＝５０％、確信度＝１００％、最高気温の平均値＝２５、販売時刻の平均値＝１２．５
Ａ→Ｂについてのサポートは、「ＡＢ」の出現回数／全トランザクション数＝２／４＝５０％
Ａ→Ｂについての確信度は、「ＡＢ」の出現回数／「Ａ」の出現回数＝２／３＝６６．６％
Ｂ→Ａについてのサポートは、「ＡＢ」の出現回数／全トランザクション数＝２／４＝５０％
Ｂ→Ａについての確信度は、「ＡＢ」の出現回数／「Ｂ」の出現回数＝２／２＝１００％
【００８４】
(3) ：例３
以下に説明する例３は、図８のＢ図に示した従来例のデータを使用する。そして、ユーザが指示するサポートの最小値を５０％、確信度の最小値を５０％とし、最高気温の平均値が３０以上である相関ルールを求めるように指定を行うものとする。
【００８５】
前記例１と同様にして処理を行い、次の相関ルールを得る。
【００８６】
Ａ→Ｂ：サポート＝５０％、確信度＝１００％、最高気温の平均値＝２５
Ｂ→Ａ：サポート＝５０％、確信度＝１００％、最高気温の平均値＝２５
これらのルール中の最高気温の平均値は、指定された３０以上という条件を満たしていないので、結果の相関ルールとしては出力しない。すなわち、相関分析を行う際に属性値によって絞り込み（フィルタリング処理）を行うことができる。
【００８７】
§４：具体的な装置例と記録媒体の説明・・・図７参照
図７は具体的な装置例である。図２に示した相関分析装置は、例えば、図７に示した装置により実現することができる。この装置例は、パーソナルコンピュータ、ワークステーション等の任意のコンピュータにより実現する装置であり、装置本体と、該装置本体に接続されたディスプレイ装置２２、キーボード２３、フレキシブルディスクドライブ（フロッピィディスクドライブ）（以下、「ＦＤＤ」と記す）２４、ＣＤ−ＲＯＭドライブ２５、ハードディスク装置（以下「ＨＤＤ」と記す）２６等を備えている。
【００８８】
そして、前記コンピュータ本体２１には、装置内の各種制御等を行うＣＰＵ（中央演算処理装置）２７、プログラムや各種パラメータ等のデータを格納しておくためのＲＯＭ（不揮発性メモリ）２８、ＣＰＵ２７がワーク用として使用するメモリ２９、外部のＩ／Ｏ装置とのインタフェース制御を行うインタフェース制御部３０、外部との通信制御を行う通信制御部３１等を備えている。
【００８９】
そして、前記図２に示した相関分析装置が行う相関分析処理（数え上げ／統計処理、及び相関ルール生成処理等）は、予めＨＤＤ２６のハードディスク（記録媒体、或いは記憶媒体）、或いはＲＯＭ２８に格納（記録、或いは記憶）しておいたプログラムをＣＰＵ２７の制御により読み出し、前記ＣＰＵ２７が前記プログラムを実行することにより行う。
【００９０】
しかし、本発明は、このような例に限らず、例えば、ＨＤＤ２６のハードディスクに、次のようにしてプログラムを格納し、このプログラムをＣＰＵ２７が実行することで前記相関分析処理を行うことも可能である。
【００９１】
▲１▼：他の装置で作成されたフレキシブルディスク（フロッピィディスク）に格納されているプログラム（他の装置で作成したプログラムデータ）を、ＦＤＤ２４により読み取り、ＨＤＤ２６の記録媒体（ハードディスク）に格納する。
【００９２】
▲２▼：ＣＤ−ＲＯＭに格納されているデータを、ＣＤ−ＲＯＭドライブ２５により読み取り、ＨＤＤ２６の記録媒体（ハードディスク）に格納する。
【００９３】
▲３▼：ＬＡＮ等の通信回線を介して他の装置から伝送されたプログラム等のデータを、通信制御部３１を介して受信し、そのデータをＨＤＤ２６の記録媒体（ハードディスク）に格納する。
【００９４】
【発明の効果】
以上説明したように、本発明によれば次のような効果がある。
(1) ：生成したルール中に含まれるアイテム群が含まれるトランザクションについて、属性値に関して効率良く統計値を生成することができる。また、相関ルールを求める際に、サポートと確信度に加えて、属性値に関する統計値での絞り込みを可能にでき、処理効率が向上する。
【００９５】
(2) ：数え上げ／統計処理手段は、与えられたデータを基に相関分析を行うが、この相関分析では、アイテムの出現回数を数え上げる際、アイテムの組み合わせの出現回数と一緒に元データ中の属性値も保持して処理を行い、相関ルールと一緒に統計値を得る。このようにすれば、相関ルールを生成するのと一緒に属性値についての統計処理を効率良く行うことができる。
【００９６】
(3) ：数え上げ／統計処理手段は、複数の属性値について同時に統計処理を行い、相関ルールと合わせて指定した統計処理値を得る。このようにすれば、相関ルールを生成するのと一緒に複数の属性値についての統計処理を同時に行うことができ、処理の効率を向上できる。
【００９７】
(4) ：数え上げ／統計処理手段は、前記相関ルールのサポートの最小値の条件及び確信度の最小値が、ユーザによって与えられた条件を満たすものに関して、相関ルールと一緒に統計値を得る。このようにすれば、相関分析を行う際に、ユーザが指定したサポートの最小値と確信度の最大値を満たす相関ルールを生成するのと一緒に、属性値についての統計値を得ることができ、処理の効率を向上できる。
【００９８】
(5) ：数え上げ／統計処理手段は、前記属性の統計値がユーザによって与えられた条件を満たすものに関して、相関ルールと一緒に統計値を得る。このようにすれば、相関分析を行う際に、ユーザが指定した属性値についての統計値のうち、指定された条件を満たすものについて相関ルールと合わせて求めることができ、処理の効率を向上できる。
【００９９】
(6) ：記録媒体のプログラムを読み出して実行する（例えば、相関分析装置内のＣＰＵが実行する）ことにより、相関分析でアイテムの出現回数を数え上げる際に、アイテムの組み合わせの出現回数と一緒に元データ中の属性値も保持して処理を行い、相関ルールと一緒に統計値を得る手順を実行する。このようにすれば、相関ルールを生成するのと一緒に属性値についての統計処理を効率良く行うことができる。
【図面の簡単な説明】
【図１】本発明の原理説明図である。
【図２】本発明の実施の形態における装置説明図である。
【図３】本発明の実施の形態における全体の処理フローチャートである。
【図４】本発明の実施の形態における長さｋの組み合わせ生成と統計処理のフローチャートである。
【図５】本発明の実施の形態における統計値による絞り込み処理フローチャートである。
【図６】本発明の実施の形態における処理説明図である。
【図７】本発明の実施の形態における具体的な装置例である。
【図８】従来例の説明図（その１）である。
【図９】従来例の説明図（その２）である。
【符号の説明】
１  データベース
２  相関分析処理部
３  ワークメモリ
４  結果ファイル
５  統計処理部
６  数え上げ／統計処理手段
１１  組み合わせ生成部
１２  数え上げ／統計処理部
１３  相関ルール生成部
２１  コンピュータ本体
２２  ディスプレイ装置
２３  キーボード
２４  フレキシブルディスクドライブ（ＦＤＤ）
２５  ＣＤ−ＲＯＭドライブ
２６  ハードディスク装置（ＨＤＤ）
２７  ＣＰＵ（中央演算処理装置）
２８  ＲＯＭ（読み出し専用メモリ）
２９  メモリ
３０  インタフェース制御部
３１  通信制御部
【図１】
0003652913.tif 000002
【図２】
0003652913.tif 000003
【図３】
0003652913.tif 000004
【図４】
0003652913.tif 000005
【図５】
0003652913.tif 000006
【図６】
0003652913.tif 000007
【図７】
0003652913.tif 000008
【図８】
0003652913.tif 000009
【図９】
0003652913.tif 000010