JP3652913B2 - Correlation analyzer and recording medium - Google Patents
Correlation analyzer and recording medium Download PDFInfo
- Publication number
- JP3652913B2 JP3652913B2 JP6593499A JP6593499A JP3652913B2 JP 3652913 B2 JP3652913 B2 JP 3652913B2 JP 6593499 A JP6593499 A JP 6593499A JP 6593499 A JP6593499 A JP 6593499A JP 3652913 B2 JP3652913 B2 JP 3652913B2
- Authority
- JP
- Japan
- Prior art keywords
- correlation
- item
- counting
- statistical
- statistical processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 claims description 74
- 238000010219 correlation analysis Methods 0.000 claims description 55
- 238000010586 diagram Methods 0.000 description 12
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000007418 data mining Methods 0.000 description 4
- 235000008429 bread Nutrition 0.000 description 3
- 235000014121 butter Nutrition 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 238000005065 mining Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000012559 user support system Methods 0.000 description 2
- 238000004880 explosion Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Images
Landscapes
- Complex Calculations (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、データベースなどに記録された大量のデータの処理に係り、そのデータに含まれる属性間の相関ルールを生成するデータマイニングと統計処理を行う相関分析装置及び記録媒体に関する。
【0002】
【従来の技術】
以下、従来例を説明する。
§1:データマイニングと相関分析の説明
データマイニングとは、データベース中に格納された大量のデータの中から、有益な情報を見い出すための技術である。データマイニングの代表的な例として、相関分析がある。相関分析は、データの属性値の全相関関係を網羅的に調べ、属性間に存在する規則性を相関ルールとして見い出す手法であり、文献1(「R.Agrawal and R.Srikant,^Fast Algorithm for Mining Association Rules" 」及び対応した特開平8−263346号公報(大規模データベース内の順次パターンをマイニングするためのシステムおよび方法」に記述される効率的な手法が提案されている。なお、前記文献1の詳細は次の通りである。
【0003】
文献1:「掲載書名:Proceedings of the 20th International Conference on Very Large Data Bases ,掲載書出版社:Morgan Kaufman Publishing ,ISBN:1-55860-153-8,発行年月:1994,9,掲載ページ:487-499 ,論文名:Fast Algorithms for Mining Association Rules, 論文著者:R.Agrawal and R.Srikant,」
【0004】
§2:相関ルールの説明・・・図8のA図参照
図8は従来例の説明図(その1)であり、A図はアイテムとトランザクションの説明図である。前記文献1によれば、相関ルールは次のように定義される。先ず、アイテムの集合Iを、I={i1,i2,・・・im}とする。また、トランザクションの集合Dを、D={t1,t2,・・・tn}とする。
【0005】
例えば、小売店での売り上げデータに対応させると、図8のA図に示したように、1枚のレシート(レシート1、2、・・・nのいずれか1枚)がトランザクションt(t1、t2、・・・tn)に対応し、レシート中の購入された商品(販売品目A、B、C・・・M等)1つ1つがアイテムiに対応する。ここで、或るアイテムの組み合わせXについて、もし、s%のトランザクションがXを含めば、Xのサポートはs%であると定義する。
【0006】
相関ルールは、X→Yで定義され、ルールの確信度とルールのサポートの2つの値を持つ。ルールのサポートは、X∩Yのサポートであり、ルールの確信度は(X∩Yのサポート)/(Xのサポート)で定義される。例えば、「パン→バター確信度30%サポート8%」といった相関ルールは、「パンを購入した客の内30%がバターも一緒に購入しており、パンとバターを両方一緒に購入した客は全体の8%である」ことを意味する。
【0007】
トランザクション中に含まれる相関ルールを全て求めようとすると、組み合わせ爆発を起こし易いことが知られており、処理に多くの時間と多量のメモリやディスクといった計算機資源を必要とする。このため、ユーザがサポートの最小値及び確信度の最小値を与えて、与えた条件を満たす相関ルールのみを求める方式が用いられている。
【0008】
つまり、相関分析とは、トランザクションの集合の中から、ユーザによって与えられたサポートと確信度を満たす全ての相関ルールを求める処理である。相関分析処理は、元データ中から与えられたサポートの最小値を満たす全てのアイテムの組み合わせの出現回数を得る「数え上げ処理」と、得られたアイテムの組み合わせと出現回数から与えられた確信度の最小値を満たす全ての相関ルールを生成する「ルール生成処理」の2つの処理からなる。
【0009】
前者の「数え上げ処理」については処理に時間がかかることが知られている。できるだけ不要な組み合わせ生成を行わない方法として、前記文献1では、長さ1のアイテムの組み合わせについて与えられたサポートの最小値を満たすものについて数え上げを行い(ステップ1)、その結果に基づいて与えられたサポートの最小値を満たす長さ2のアイテムの組み合わせを数え上げ(ステップ2)、更に、その結果に基づいたサポートの最小値を満たす長さ3のアイテムの組み合わせを数え上げ(ステップ3)、与えられたサポートの最小値を満たすアイテムの組み合わせがなくなるまで、長さkを増加させて処理を繰り返す(ステップk)方式が取られている。
【0010】
ここでは、与えられたサポートの最小値を満たすアイテムの組み合わせ全体の集合をLと表記する。前記集合Lは、サポートの最小値を満たすアイテムの組み合わせについて、「アイテムの組み合わせ、出現回数であるカウント」を1組として保持するものである。
【0011】
前記文献1に示されているように、Lが求まれば、先程の相関ルールの定義によって条件付き確率を計算して簡単に相関ルールを生成することができる。例えば、Lが「AB」であれば、相関ルールA→Bと、B→Aが得られるので、これらのルールについて与えられた確信度を計算してユーザが与える最小値を満たしているかを調べれば良い。
【0012】
しかし、従来提案されていた相関分析の手法では、相関ルールを算出することのみが考慮され、相関ルールの算出と一緒に統計処理を行うことが考慮されていなかった。
【0013】
§3:具体例による相関分析の説明・・・図8のB図、図9参照
図8のB図はデータ例である。また、図9は従来例の説明図(その2)であり、A図は装置の説明図である。相関分析で得られたルールについて、ルール中のアイテム群が含まれている全てのトランザクションについて、別の属性値に関する統計値を得る場合の処理の効率が悪い。以下、この点に関して具体例により説明する。
【0014】
例えば、図8のB図に示したデータがあったとする。このデータ例において、日付は商品の販売日を示し、気温は商品の販売日の最高気温[℃]、販売時刻(24時間表記)はその品目(アイテム)を販売した時刻について時間帯を示している。
【0015】
このデータに対して、ユーザがサポートの最小値を50%、確信度の最小値を50%と指示した場合、従来の方式によって相関ルールを生成すると以下のルールが生成される。
【0016】
A→B サポート=50%、確信度=60%
B→A サポート=50%、確信度=100%
更に、これらのルール中に含まれるアイテムを販売した際の気温の平均を求める。まず、生成したルールから「AB」を取り出す。次に、元のデータベースを再び読んで、各トランザクション中に「AB」が含まれるかどうかを調べる。日付1及び日付3について「AB」が含まれることが分かったので、日付1と日付3の気温をそれぞれ、20度と30度として取り出し、2つの気温の平均値=(20+30)/2=25を求め、相関ルールと合わせて次のように出力する。
【0017】
A→B サポート=50%、確信度=60%、平均気温=25度
B→A サポート=50%、確信度=100%、平均気温=25度
従来の相関分析装置としては、例えば図9に示した装置を使用する。この装置は、パーソナルコンピュータ、ワークステーション等の各種コンピュータにより実現される装置であり、データベース1と、相関分析処理を行う相関分析処理部2と、ワークメモリ3と、結果ファイル4と、統計処理を行う統計処理部5を備えている。
【0018】
この装置により相関分析処理を行う場合、先ず、データベース1のデータを取り出して相関分析処理部2へ送り、この相関分析処理部2で相関分析を行い、その結果得られた相関ルールをワークメモリ3に格納し、該ワークメモリ3のデータを結果ファイル4に格納する。また、統計処理部5は、前記結果ファイル4に格納された相関ルールを用いてデータベース1から必要なデータを取り出し、統計処理を行って結果ファイル4に格納する。このようにして結果ファイル4には相関ルールと統計値が得られる。
【0019】
【発明が解決しようとする課題】
前記のような従来のものにおいては、次のような課題があった。
【0020】
すなわち、従来の相関分析では、相関分析処理部2の処理で生成した相関ルール(結果ファイル4に格納されたルール)中のアイテム群が含まれるトランザクションをデータベース1から全て取り出して、その中の該当する属性について統計処理部5が統計処理を行い、相関ルールと合わせて出力(例えば、表示)することになる。
【0021】
例えば、全トランザクション数がm個で、ルールの総数がn個であるとすると、mn個の組み合わせについて突き合わせを行い、該当する属性について統計処理を行う必要がある。この場合、相関分析処理部2による相関分析処理に加えて、更にもう一度、統計処理部5によりデータベース1のデータをスキャンして統計処理を行うため処理効率が悪い。
【0022】
本発明は、このような従来の課題を解決し、生成したルール中に含まれるアイテム群が含まれるトランザクションについて、属性値に関して効率良く統計値を生成することを目的とする。また、本発明は、相関ルールを求める際に、サポートと確信度に加えて、属性値に関する統計値での絞り込みを可能にすることを目的とする。
【0023】
【課題を解決するための手段】
図1は本発明の原理説明図である。本発明は前記の目的を達成するため、次のように構成した。
【0024】
(1) :与えられたデータ(例えば、データベース1のデータ)に対し、相関分析を適用して相関ルールを生成すると共に、統計処理を行い、前記相関ルールと統計処理結果とを合わせて出力する相関分析装置であって、アイテム単位で属性データの記憶を行う記憶部と、前記相関分析でアイテムの出現回数を数え上げる際に、アイテムの出現した際に、該アイテムの出現回数をカウントすると共に、前記記憶部に該アイテムに対応する属性データとして蓄積される数え上げ処理を行い、数え上げ処理の完了後、該数え上げ処理による各アイテムの出現回数を元に、所定条件を示すアイテムを相関ルールとして抽出すると共に、該相関ルールとされたアイテムに対応する属性データを前記記憶部から抽出し、該抽出した属性データを元に統計情報を出力する数え上げ/統計処理手段6を備えている。
【0025】
(2) :前記(1) の相関分析装置において、前記数え上げ/統計処理手段6は、複数の属性値について同時に統計処理を行い、相関ルールと合わせて指定した統計処理値を得る機能を備えている。
【0026】
(3) :前記(1) の相関分析装置において、前記数え上げ/統計処理手段6は、前記相関ルールのサポートの最小値の条件及び確信度の最小値が、ユーザによって与えられた条件を満たすものに関して、相関ルールと一緒に統計値を得る機能を備えている。
【0027】
(4) :前記(1) の相関分析装置において、前記数え上げ/統計処理手段6は、前記属性の統計値がユーザによって与えられた条件を満たすものに関して、相関ルールと一緒に統計値を得る機能(絞り込み処理、或いはフィルタリング処理機能)を備えている。
【0029】
(作用)
前記構成に基づく本発明の作用を、図1に基づいて説明する。
(a) :数え上げ/統計処理手段6は、データベース1を検索して相関分析を行う。この相関分析では、アイテムの出現回数を数え上げるが、この時、アイテムの組み合わせの出現回数と一緒に元データ(データベース1から検索したデータ)中の属性値(例えば、商品を販売する場合であれば、その時の最高気温、販売時刻等)も保持して処理を行い、相関ルールと一緒に統計値(例えば、商品の販売数量等)を得る。
【0030】
前記のようにして相関分析と統計処理を一緒に行い、相関ルールを生成して、該相関ルールと統計値を結果ファイル4へ格納する。そして、このようにすれば、相関ルールを生成するのと一緒に属性値についての統計処理を効率良く行うことができる。
【0031】
(b) :数え上げ/統計処理手段6は、複数の属性値について同時に統計処理を行い、相関ルールと合わせて指定した統計処理値を得る。このようにすれば、相関ルールを生成するのと一緒に複数の属性値についての統計処理を同時に行うことができ、処理の効率を向上できる。
【0032】
(c) :数え上げ/統計処理手段6は、相関ルールのサポートの最小値の条件及び確信度の最小値が、ユーザによって与えられた条件を満たすものに関して、相関ルールと一緒に統計値を得る。このようにすれば、相関分析を行う際に、ユーザが指定したサポートの最小値と確信度の最大値を満たす相関ルールを生成するのと一緒に、属性値についての統計値を得ることができ、処理の効率を向上できる。
【0033】
(d) :数え上げ/統計処理手段6は、前記属性の統計値がユーザによって与えられた条件を満たすものに関して、相関ルールと一緒に統計値を得る。このようにすれば、相関分析を行う際に、ユーザが指定した属性値についての統計値のうち、指定された条件を満たすものについて相関ルールと合わせて求める(絞り込み処理、或いはフィルタリング処理を行う)ことができ、処理の効率を向上できる。
【0034】
(e) :記録媒体のプログラムを読み出して実行する(例えば、相関分析装置内のCPUが実行する)ことにより、相関分析でアイテムの出現回数を数え上げる際に、アイテムの組み合わせの出現回数と一緒に元データ中の属性値も保持して処理を行い、相関ルールと一緒に統計値を得る手順を実行する。このようにすれば、相関ルールを生成するのと一緒に属性値についての統計処理を効率良く行うことができる。
【0035】
【発明の実施の形態】
以下、発明の実施の形態を図面に基づいて詳細に説明する。
【0036】
§1:相関分析装置の構成と、処理の概要説明・・・図2参照
図2は装置説明図である。図2に示した装置は、相関分析を行うための相関分析装置の1例であり、パーソナルコンピュータ、ワークステーション等の任意のコンピュータにより実現する。この装置は、装置本体と、該装置本体に接続されたデータベース1と、結果ファイル4を備えている。そして、装置本体には、組み合わせ生成部11と、数え上げ/統計処理部12と、ワークメモリ3と、相関ルール生成部13等を備えている。
【0037】
この場合、前記データベース1と結果ファイル4は、別々の記憶手段に格納しても良いし、一緒の記憶手段に格納しても良く、例えば、ハードデイスク装置のディスク媒体に格納する。また、前記組み合わせ生成部11と、数え上げ/統計処理部12と、相関ルール生成部13は、装置本体内に設けたCPU(図示省略)により実行されるプログラムで実現する。
【0038】
この装置では、組み合わせ生成部11がデータベース1内のデータから組み合わせを生成し、それに基づいて、数え上げ/統計処理部12が数え上げと統計処理とを行い、その結果のデータをワークメモリ3に格納する。そして、相関ルール生成部13がワークメモリ3のデータを取り出して相関ルールを生成し、結果ファイル4に格納し、その後、結果ファイル4のデータ(相関ルール+統計値)は表示等により出力する。このようにして、結果ファイル4には、相関ルールと統計値が格納される。
【0039】
この相関分析装置は、データベース1中のデータに対して相関分析を適用し、相関ルールを生成する際に、一緒に指定された属性についての統計値を求める処理を合わせて行うものである。従来の相関分析とは異なり、アイテムの出現頻度の数え上げに加えて、属性の値についての統計処理を合わせて行うため、従来必要であったデータベース1からのデータの再度の読み込みと突き合わせは不要となる。
【0040】
§2:フローチャートによる処理の説明
(1) :全体の処理・・・図3参照
図3は全体の処理フローチャートである。以下、図3に基づいて全体の処理を説明する。なお、S1〜S8は各処理ステップを示す。この処理では、アイテムの組み合わせの長さkを指標として処理を行う。先ず、k=1から処理を開始して、長さkのラージアイテムセットを数え上げていく。そして、生成した結果の数がk+1以上ある場合は、k=k+1として処理を継続し、結果の数がk+1以上ない場合は処理を終了する(終了条件)。具体的には次の通りである。
【0041】
先ず、パラメータkをk=1とし(S1)、長さkの組み合わせ生成と統計処理を行う(S2)。この場合、組み合わせ生成部11がデータベース1のデータを検索して長さkの組み合わせを生成し、数え上げ/統計処理部12が統計処理を行う。
【0042】
その後、数え上げ/統計処理部12では、数え上げ結果はk+1より多いかどうかを判断し(S3)、多い場合は、k=k+1とし(S4)、前記S2の処理から繰り返して行う。このようにして処理を行い、数え上げ結果がk+1より多くなくなれば、数え上げ/統計処理部12が処理結果のデータをワークメモリ3に格納する。そして、相関ルール生成部13がワークメモリ3のデータを基に、相関ルール生成処理を行う(S5)。
【0043】
その後、相関ルール生成部13が相関ルール生成処理は終了したかを判断し(S6)、相関ルール生成処理が終了しなければ、ユーザが与える確信度の条件を満たしているかを判断する(S7)。その結果、ユーザが与える確信度の条件を満たしていなければ前記S5の処理から繰り返して行う。
【0044】
また、前記S7の処理で、ユーザが与える確信度の条件を満たしていれば、相関ルール生成部13は、生成した相関ルールを結果ファイル4に出力し(S8)、再び前記S5の処理から繰り返して行う。一方、前記S6の処理で、相関ルール生成処理が終了した場合は、全ての処理を終了する。
【0045】
このようにして処理を行い、結果ファイル4には、相関ルールと統計値のデータが格納される。従って、この結果ファイル4のデータは、例えばディスプレイ装置(図示省略)に表示してオペレータに知らせる。
【0046】
(2) :長さkの組み合わせ生成処理と統計処理の説明・・・図4参照
図4は長さkの組み合わせ生成と統計処理のフローチャートである。以下、図4に基づいて、長さkの組み合わせ生成処理と統計処理(前記S2の処理)を詳細に説明する。なお、S10〜S16は各処理ステップを示す。
【0047】
この処理では、トランザクションからアイテムの組み合わせの候補を生成し、数え上げを行って行く。全てのトランザクションについて、アイテムの組み合わせを数えたら、与えられたサポートの最小値の条件を満たしているかどうかを調べる。条件を満たしたアイテムについては、指定された属性値に対して統計処理を行う。具体的には次の通りである。
【0048】
先ず、組み合わせ生成部11は、データベース1を検索して、トランザクション先頭を読み出す(S10)。そして、組み合わせ生成部11は、前記トランザクションから組み合わせを生成する。次に、前記生成したトランザクションを基に、数え上げ/統計処理部12が数え上げを行い、k≧2(kが2以上)なら統計情報もリストとしてワークメモリ3に登録する(S11)。なお、kが2未満、すなわちk=1なら統計にならないので、統計処理は不要である。
【0049】
このようにして、トランザクションリストが空になるまで(S12)、前記S10、S11の処理を行い、トランザクションリストが空になると、数え上げ/統計処理部12は数え上げた組み合わせを取り出す(S13)。そして、サポートの最小値を満たすか否かを判断し(S14)、サポートの最小値を満たすものについて、リストから統計値を計算し、合わせてワークメモリ3に出力する(S15)。
【0050】
その後、数え上げ/統計処理部12は、まだ処理していない組み合わせがあるか否かを判断し(S16)、まだ処理していない組み合わせがあれば、前記S13の処理から繰り返して行う。また、前記S14の処理で、サポートの最小値を満たしていない場合には、前記S15の処理を行うことなく、S16の処理を行う。このようにして、長さkの組み合わせ生成処理と、統計処理を行う。
【0051】
(3) :前記処理の補足説明
前記処理において、長さ2以上(k≧2)のアイテムの組み合わせの数え上げ(カウント)を行う各ステップ(S10〜S12)で、従来の▲1▼:アイテムの組み合わせ、▲2▼:アイテムの組み合わせのカウント、に加えて、▲3▼:アイテムの組み合わせが含まれるトランザクション中の別の属性値を、ワークメモリ3にリスト形式で保持して数え上げを行う。カウントには、そのアイテムの組み合わせがトランザクション中で出現した回数をワークメモリ3に保持する。また、属性値は、指定された属性値の値をワークメモリ3に保持する。
【0052】
そして、各ステップ(S10〜S12)が終了して、長さkのアイテムの組み合わせについて数え上げが終了したら、数え上げたアイテムの組み合わせが、ユーザが与えるサポートの最小値を満たしたかどうかを調べる(前記S14参照)。更に、サポートの最小値を満たしたアイテムの組み合わせについては、ワークメモリ3に保存していた属性値に対して指定された統計処理を行い(前記S15参照)、「アイテムの組み合わせ、出現回数、統計処理した値」をL′としてワークメモリ3へ出力する。
【0053】
すなわち、その後の処理で、相関ルール生成部13が前記L′から相関ルールを生成する際、ユーザが与える確信度の最小値を満たすルールについては、ルールに加えて統計処理した値を合わせて出力する。
【0054】
また、単一の属性値についての統計演算のみでなく、複数の属性値についての統計処理を相関分析と合わせて行うことができる。その場合には、従来の▲1▼:アイテムの組み合わせ、▲2▼:アイテムの組み合わせのカウント、に加えて、▲3▼:アイテムの組み合わせが含まれるトランザクション中の別の属性値をそれぞれワークメモリ3に保持する。
【0055】
この場合の処理は、単一の属性値と同様に行うことができ、各ステップが終了して長さkのアイテムの組み合わせについて数え上げが終了したら、数え上げたアイテムの組み合わせが、ユーザが与えるサポートの最小値を満たすかどうかを調べる(前記S14参照)。
【0056】
サポートの最小値を満たしたアイテムの組み合わせについて、k≧2の場合に保存していた複数の属性値に対して指定された統計処理を行う(前記S15参照)。この際、複数の属性値について別々の統計演算を施すことが可能である。結果は、「アイテムの組み合わせ、出現回数、統計演算した値1、統計演算した値2、・・・」をL″として出力する。
【0057】
(4) :統計値による絞り込み処理の説明・・・図5参照
図5は統計値による絞り込み処理フローチャートである。以下、図5に基づいて、統計値による絞り込み処理を説明する。なお、S21〜S28は各処理ステップを示す。
【0058】
従来のサポートと確信度による相関ルールの絞り込みに加えて、或る属性値又は複数の属性値について統計処理した値が、指定する範囲に含まれる場合にのみ相関ルールを生成する。このような絞り込み処理を図5の処理フローチャートに基づいて説明する。
【0059】
先ず、組み合わせ生成部11は、データベース1を検索して、トランザクション先頭を読み出す(S21)。そして、組み合わせ生成部11は、前記トランザクションから組み合わせを生成する。次に、前記生成したトランザクションを基に、数え上げ/統計処理部12が数え上げを行い、k≧2なら統計情報もリストとしてワークメモリ3に登録する(S22)。
【0060】
このようにして、トランザクションリストが空になるまで(S23)、前記S21、S22の処理を行い、トランザクションリストが空になると、数え上げ/統計処理部12は数え上げた組み合わせをワークメモリ3から取り出す(S24)。そして、サポートの最小値を満たすか否かを判断し(S25)、サポートの最小値を満たすものについて、リストから統計値を計算し、統計値が条件を満たすかどうかを判断する(S26)。
【0061】
その結果、統計値が条件を満たせば、相関ルールと統計値を合わせてワークメモリ3に出力する(S27)。その後、数え上げ/統計処理部12は、まだ処理していない組み合わせがあるか否かを判断し(S28)、まだ処理していない組み合わせがあれば、前記S24の処理から繰り返して行う。また、前記S25の処理で、サポートの最小値を満たしていない場合、及び前記S26の処理で、統計値が条件を満たしていない場合には、前記S28の処理を行う。このようにして、統計値による絞り込み処理を行う。
【0062】
(5) :その他の説明
前記のようにして生成された相関ルールに含まれるアイテムが含まれるトランザクション中の別の属性値に対して統計処理を合わせて行う際に、既に相関ルールが生成されていたとする。この場合、相関ルール中に含まれるアイテムが分かっているので、前記各アイテムの出現回数を求める処理は不要となる。
【0063】
また、相関ルールに含まれるアイテム数の最大値も容易に求めることができるので、相関ルール中に含まれるアイテムが出現するトランザクションについて、アイテム数の最大値までの数え上げと統計処理を行うだけでよい。場合によっては、ステップ毎に実行するので、2からアイテム数の最大値までの長さの組み合わせを一度に実行して、数え上げと統計処理を行うことによって高速化することが可能である。
【0064】
前記のように、相関ルールの生成時に、合わせて統計処理(統計演算)を適用することにより、統計処理のためのデータのスキャンが不要となる。また、データm個、ルールn個の場合にmn回数必要な突き合わせ処理のコストを低減できる。また、サポートと確信度による相関ルールの絞り込み処理に加えて、属性値を元にした絞り込み処理を行うことができる。
【0065】
§3:具体的な処理例の説明・・・図6参照
図6は処理説明図であり、A図は数え上げ結果例、B図は属性値を含めた数え上げ例1、C図は属性値を含めた数え上げ例2である。以下、図6に基づいて具体的な処理例を説明する。
【0066】
(1) :例1
以下に説明する例1は、図8のB図に示した従来例のデータを使用する。そして、ユーザが与えるサポートの最小値を50%、確信度の最小値を50%とする。また、最高気温の平均値を合わせて求めるように、ユーザが指示を行うものとする。
【0067】
(処理1)
先ず、数え上げ/統計処理部12は、各アイテムの出現回数を求める。この(処理1)においては、従来の手法と同様に求める。日付1のデータから、販売品目のAとBについて数え上げを行う。Aについての出現回数(カウント)を1としてワークメモリ3に保持する。次に、Bについても、同様に出現回数を1としてワークメモリ3に保持する。
【0068】
日付2のデータからは、販売品目のAとDについての数え上げを行う。初めに、Aについてカウントを1増加させて2とし、Dについてのカウントを1とする。日付3と日付4についても、同様に数え上げを行う。その結果、Aについての出現回数は3で、Bについての出現回数は2、Cについては出現回数が1、Dの出現回数は1が得られる。なお、(処理1)での数え上げの結果については、図6のA図に示したようにワークメモリ3に保持できる。
【0069】
すなわち、アイテムAの出現回数=3、アイテムBの出現回数=2、アイテムCの出現回数=1、アイテムDの出現回数=1のように数え上げ結果をワークメモリ3に保持する。この場合、ユーザのサポートの最小値が50%であるから、全トランザクション数4のうち2つ以上で出現しているものだけを残せばよい。従って、AとBのみが条件を満たす。
【0070】
(処理2)
続いて、数え上げ/統計処理部12は、長さ2のアイテムの組み合わせの数え上げを行う。前記(処理1)の結果として、販売品目のAとBのみ得られているので、AとBのみを利用して長さ2の組み合わせを生成する。日付1では、組み合わせABを生成して、その出現回数を1として、最高気温=20をワークメモリ3に保持しておく。
【0071】
日付2では、前記(処理1)の結果に含まれるアイテムがAしかないので、長さ2の組み合わせは生成できない。日付3では、組み合わせABを生成し、出現回数を1増加させて2とする。更に、最高気温に30を追加して、リスト20、30を得る。日付4では、前記S1の結果に含まれるアイテムがないので、長さ2の組み合わせは生成できない。
【0072】
S2の数え上げについては、図6のB図に示すように、長さ2のアイテムの組み合わせとカウントに加えて、指定された属性値も一緒にワークメモリ3に保持する。この場合、ワークメモリ3には、アイテムABについて、出現回数=2、最高気温=20、30が保持される。
【0073】
前記(処理1)と同様に、ユーザが指定したサポートの最小値が50%であるから、全トランザクション数4のうち、2つ以上で出現しているものだけを結果として残す。従って、ABは条件を満たしているので、最高気温として保持している2つの値についての平均値を計算し、(20+30)/2=25を得る。
【0074】
(処理3)
日付1〜4について、長さ3の組み合わせを生成することがないので、数え上げは終了する。以上によって、得られたアイテムの組み合わせ群L′は、「A」「B」「AB」となる。L′に基づいて相関ルールを求めることができる。既に長さ2以上のアイテムの組み合わせを数え上げる際には、指定した属性値の統計情報を求めているので、合わせて出力を行う。その結果次のような相関ルールを得る。
【0075】
A→B:サポート=50%、確信度=66%、最高気温の平均値=25
B→A:サポート=50%、確信度=100%、最高気温の平均値=25
A→Bについてのサポートは、「AB」の出現回数/全トランザクション数=2/4=50%
A→Bについての確信度は、「AB」の出現回数/「A」の出現回数=2/3=66.6%
B→Aについてのサポートは、「AB」の出現回数/全トランザクション数=2/4=50%
B→Aについての確信度は、「AB」の出現回数/「B」の出現回数=2/2=100%
【0076】
(2) :例2
以下に説明する例2は、図8のB図に示した従来例のデータを使用する。そして、ユーザが指示するサポートの最小値を50%、確信度の最小値を50%とする。また、最高気温の平均値と販売時刻の平均値を合わせて求めるように、ユーザが指示を行うものとする。
【0077】
(処理1)
先ず、数え上げ/統計処理部12は、アイテムの出現回数を求める。日付1のデータから、販売品目のAとBについて数え上げを行う。Aについての出現回数(カウント)を1とし、Bについても同様に出現回数を1とする。日付2のデータからは、AとDについての数え上げを行う。はじめに、Aについてのカウントを1増加させて2とし、Dについてのカウントを1とする。日付3と日付4についても同様に数え上げを行う。
【0078】
その結果、Aについての出現回数は3で、Bについての出現回数は2、Cについての出現回数は1で、Dについての出現回数は1となる。この場合、ユーザが指示したサポートの最小値が50%であるから、全トランザクション数4のうち2つ以上で出現しているものだけを残せばよい。従って、AとBのみが条件を満たす。
【0079】
(処理2)
次に、数え上げ/統計処理部12は、長さ2のアイテムの組み合わせの数え上げを行う。前記(処理1)での結果として販売品目のAとBのみが得られているので、AとBのみを利用して長さ2の組み合わせを生成する。日付1では、組み合わせABを生成して、その出現回数を1として、最高気温に20を、販売時刻に10を追加する。日付2では、前記(処理1)の結果に含まれるアイテムがAしかないので、長さ2の組み合わせは生成できない。
【0080】
日付3では、組み合わせABを生成し、出現回数を1増加させて2とする。更に、最高気温に30を追加して、販売時刻に15を追加する。日付4では、前記(処理1)の結果に含まれるアイテムがないので、長さ2の組み合わせは生成できない。長さ2の組み合わせについては、図6のC図(属性値を含めた数え上げ例2)に示したように、数え上げ結果をワークメモリ3に保持する。すなわち、アイテムABの出現回数=2、最高気温=20、30、販売時刻=10、15をワークメモリ3に保持する。
【0081】
前記(処理1)と同様に、ユーザのサポートの最小値が50%であるから、全トランザクション数4のうち2つ以上で出現しているものだけを結果として残す。従って、ABは条件を満たしているので、最高気温リストから平均値を計算して(20+30)/2=25を得て、かつ、販売時刻の平均(10+15)/2=12.5を得る。
【0082】
(処理3)
次に、日付1〜日付4について、長さ3の組み合わせを生成することができないので、数え上げを終了する。以上によって得られたアイテムの組み合わせ群L′は、「A」「B」「AB」となる。そして、前記L′に基づいて相関ルールを求めることができ、次のようになる。
【0083】
A→B:サポート=50%、確信度=66%、最高気温の平均値=25、販売時刻の平均値=12.5
B→A:サポート=50%、確信度=100%、最高気温の平均値=25、販売時刻の平均値=12.5
A→Bについてのサポートは、「AB」の出現回数/全トランザクション数=2/4=50%
A→Bについての確信度は、「AB」の出現回数/「A」の出現回数=2/3=66.6%
B→Aについてのサポートは、「AB」の出現回数/全トランザクション数=2/4=50%
B→Aについての確信度は、「AB」の出現回数/「B」の出現回数=2/2=100%
【0084】
(3) :例3
以下に説明する例3は、図8のB図に示した従来例のデータを使用する。そして、ユーザが指示するサポートの最小値を50%、確信度の最小値を50%とし、最高気温の平均値が30以上である相関ルールを求めるように指定を行うものとする。
【0085】
前記例1と同様にして処理を行い、次の相関ルールを得る。
【0086】
A→B:サポート=50%、確信度=100%、最高気温の平均値=25
B→A:サポート=50%、確信度=100%、最高気温の平均値=25
これらのルール中の最高気温の平均値は、指定された30以上という条件を満たしていないので、結果の相関ルールとしては出力しない。すなわち、相関分析を行う際に属性値によって絞り込み(フィルタリング処理)を行うことができる。
【0087】
§4:具体的な装置例と記録媒体の説明・・・図7参照
図7は具体的な装置例である。図2に示した相関分析装置は、例えば、図7に示した装置により実現することができる。この装置例は、パーソナルコンピュータ、ワークステーション等の任意のコンピュータにより実現する装置であり、装置本体と、該装置本体に接続されたディスプレイ装置22、キーボード23、フレキシブルディスクドライブ(フロッピィディスクドライブ)(以下、「FDD」と記す)24、CD−ROMドライブ25、ハードディスク装置(以下「HDD」と記す)26等を備えている。
【0088】
そして、前記コンピュータ本体21には、装置内の各種制御等を行うCPU(中央演算処理装置)27、プログラムや各種パラメータ等のデータを格納しておくためのROM(不揮発性メモリ)28、CPU27がワーク用として使用するメモリ29、外部のI/O装置とのインタフェース制御を行うインタフェース制御部30、外部との通信制御を行う通信制御部31等を備えている。
【0089】
そして、前記図2に示した相関分析装置が行う相関分析処理(数え上げ/統計処理、及び相関ルール生成処理等)は、予めHDD26のハードディスク(記録媒体、或いは記憶媒体)、或いはROM28に格納(記録、或いは記憶)しておいたプログラムをCPU27の制御により読み出し、前記CPU27が前記プログラムを実行することにより行う。
【0090】
しかし、本発明は、このような例に限らず、例えば、HDD26のハードディスクに、次のようにしてプログラムを格納し、このプログラムをCPU27が実行することで前記相関分析処理を行うことも可能である。
【0091】
▲1▼:他の装置で作成されたフレキシブルディスク(フロッピィディスク)に格納されているプログラム(他の装置で作成したプログラムデータ)を、FDD24により読み取り、HDD26の記録媒体(ハードディスク)に格納する。
【0092】
▲2▼:CD−ROMに格納されているデータを、CD−ROMドライブ25により読み取り、HDD26の記録媒体(ハードディスク)に格納する。
【0093】
▲3▼:LAN等の通信回線を介して他の装置から伝送されたプログラム等のデータを、通信制御部31を介して受信し、そのデータをHDD26の記録媒体(ハードディスク)に格納する。
【0094】
【発明の効果】
以上説明したように、本発明によれば次のような効果がある。
(1) :生成したルール中に含まれるアイテム群が含まれるトランザクションについて、属性値に関して効率良く統計値を生成することができる。また、相関ルールを求める際に、サポートと確信度に加えて、属性値に関する統計値での絞り込みを可能にでき、処理効率が向上する。
【0095】
(2) :数え上げ/統計処理手段は、与えられたデータを基に相関分析を行うが、この相関分析では、アイテムの出現回数を数え上げる際、アイテムの組み合わせの出現回数と一緒に元データ中の属性値も保持して処理を行い、相関ルールと一緒に統計値を得る。このようにすれば、相関ルールを生成するのと一緒に属性値についての統計処理を効率良く行うことができる。
【0096】
(3) :数え上げ/統計処理手段は、複数の属性値について同時に統計処理を行い、相関ルールと合わせて指定した統計処理値を得る。このようにすれば、相関ルールを生成するのと一緒に複数の属性値についての統計処理を同時に行うことができ、処理の効率を向上できる。
【0097】
(4) :数え上げ/統計処理手段は、前記相関ルールのサポートの最小値の条件及び確信度の最小値が、ユーザによって与えられた条件を満たすものに関して、相関ルールと一緒に統計値を得る。このようにすれば、相関分析を行う際に、ユーザが指定したサポートの最小値と確信度の最大値を満たす相関ルールを生成するのと一緒に、属性値についての統計値を得ることができ、処理の効率を向上できる。
【0098】
(5) :数え上げ/統計処理手段は、前記属性の統計値がユーザによって与えられた条件を満たすものに関して、相関ルールと一緒に統計値を得る。このようにすれば、相関分析を行う際に、ユーザが指定した属性値についての統計値のうち、指定された条件を満たすものについて相関ルールと合わせて求めることができ、処理の効率を向上できる。
【0099】
(6) :記録媒体のプログラムを読み出して実行する(例えば、相関分析装置内のCPUが実行する)ことにより、相関分析でアイテムの出現回数を数え上げる際に、アイテムの組み合わせの出現回数と一緒に元データ中の属性値も保持して処理を行い、相関ルールと一緒に統計値を得る手順を実行する。このようにすれば、相関ルールを生成するのと一緒に属性値についての統計処理を効率良く行うことができる。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】本発明の実施の形態における装置説明図である。
【図3】本発明の実施の形態における全体の処理フローチャートである。
【図4】本発明の実施の形態における長さkの組み合わせ生成と統計処理のフローチャートである。
【図5】本発明の実施の形態における統計値による絞り込み処理フローチャートである。
【図6】本発明の実施の形態における処理説明図である。
【図7】本発明の実施の形態における具体的な装置例である。
【図8】従来例の説明図(その1)である。
【図9】従来例の説明図(その2)である。
【符号の説明】
1 データベース
2 相関分析処理部
3 ワークメモリ
4 結果ファイル
5 統計処理部
6 数え上げ/統計処理手段
11 組み合わせ生成部
12 数え上げ/統計処理部
13 相関ルール生成部
21 コンピュータ本体
22 ディスプレイ装置
23 キーボード
24 フレキシブルディスクドライブ(FDD)
25 CD−ROMドライブ
26 ハードディスク装置(HDD)
27 CPU(中央演算処理装置)
28 ROM(読み出し専用メモリ)
29 メモリ
30 インタフェース制御部
31 通信制御部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to processing of a large amount of data recorded in a database or the like, and relates to a correlation analysis apparatus and a recording medium for performing data mining and statistical processing for generating a correlation rule between attributes included in the data.
[0002]
[Prior art]
A conventional example will be described below.
§1: Explanation of data mining and correlation analysis
Data mining is a technique for finding useful information from a large amount of data stored in a database. A typical example of data mining is correlation analysis. Correlation analysis is a method that comprehensively examines all correlations of attribute values of data and finds the regularity existing between attributes as a correlation rule. Reference 1 (“R. Agrawal and R. Srikant, ^ Fast Algorithm for An efficient method described in "Mining Association Rules""and the corresponding Japanese Patent Application Laid-Open No. 8-263346 (system and method for mining sequential patterns in a large-scale database) has been proposed. Details of 1 are as follows.
[0003]
Reference 1: “Publication Title: Proceedings of the 20th International Conference on Very Large Data Bases, Publication Publisher: Morgan Kaufman Publishing, ISBN: 1-55860-153-8, Publication Date: 1994, 9, Publication Page: 487 -499, Paper title: Fast Algorithms for Mining Association Rules, Paper author: R. Agrawal and R. Srikant, "
[0004]
§2: Explanation of association rules: See Fig. 8A
FIG. 8 is an explanatory diagram of a conventional example (part 1), and FIG. 8A is an explanatory diagram of items and transactions. According to the
[0005]
For example, when corresponding to sales data at a retail store, as shown in FIG. 8A, one receipt (any one of
[0006]
The association rule is defined as X → Y, and has two values, rule certainty and rule support. The rule support is support of X サ ポ ー ト Y, and the certainty of the rule is defined by (support of X∩Y) / (support of X). For example, an association rule such as “bread →
[0007]
If it is attempted to obtain all the association rules included in the transaction, it is known that a combination explosion is likely to occur, and the processing requires a lot of time and a large amount of computer resources such as a memory and a disk. For this reason, a method is used in which a user gives a minimum value of support and a minimum value of certainty and obtains only an association rule that satisfies the given conditions.
[0008]
That is, the correlation analysis is a process for obtaining all correlation rules satisfying the support and certainty given by the user from a set of transactions. The correlation analysis process is a “counting process” that obtains the number of occurrences of all the combinations of items that satisfy the minimum support value given from the original data, and the confidence level given from the combination of the obtained items and the number of occurrences. It consists of two processes of “rule generation process” for generating all correlation rules that satisfy the minimum value.
[0009]
It is known that the former “counting process” takes time. As a method for avoiding generation of unnecessary combinations as much as possible, in the above-mentioned
[0010]
Here, a set of all combinations of items satisfying a given minimum support value is denoted as L. The set L holds “a combination of items, a count that is the number of appearances” as one set for a combination of items that satisfy the minimum support value.
[0011]
As shown in the above-mentioned
[0012]
However, conventionally proposed correlation analysis methods consider only the calculation of correlation rules, and do not consider performing statistical processing together with the calculation of correlation rules.
[0013]
§3: Explanation of correlation analysis by specific example: see Fig. 8B and Fig. 9
FIG. 8B is an example of data. FIG. 9 is an explanatory diagram of the conventional example (part 2), and FIG. 9A is an explanatory diagram of the apparatus. Regarding the rule obtained by the correlation analysis, the processing efficiency when obtaining a statistical value related to another attribute value for all transactions including the item group in the rule is poor. Hereinafter, this point will be described with a specific example.
[0014]
For example, assume that there is data shown in FIG. 8B. In this data example, the date indicates the sale date of the product, the temperature indicates the maximum temperature [° C.] on the sale date of the product, and the sales time (24-hour notation) indicates the time zone for the time when the item (item) is sold. Yes.
[0015]
If the user instructs the minimum support value to be 50% and the certainty value is 50% for this data, the following rule is generated when the association rule is generated by the conventional method.
[0016]
A → B support = 50%, certainty = 60%
B → A Support = 50%, certainty = 100%
Furthermore, the average of the temperature at the time of selling the item contained in these rules is calculated | required. First, “AB” is extracted from the generated rule. The original database is then read again to see if “AB” is included in each transaction. Since it was found that “AB” was included for
[0017]
A → B Support = 50%, confidence = 60%, average temperature = 25 ° C
B → A Support = 50%, confidence = 100%, average temperature = 25 ° C
As a conventional correlation analyzer, for example, the apparatus shown in FIG. 9 is used. This apparatus is an apparatus realized by various computers such as a personal computer and a workstation, and performs a
[0018]
When correlation analysis processing is performed by this apparatus, first, data in the
[0019]
[Problems to be solved by the invention]
The conventional apparatus as described above has the following problems.
[0020]
That is, in the conventional correlation analysis, all transactions including the item group in the correlation rules (rules stored in the result file 4) generated by the processing of the correlation
[0021]
For example, if the total number of transactions is m and the total number of rules is n, it is necessary to match mn combinations and perform statistical processing on the corresponding attributes. In this case, in addition to the correlation analysis processing by the correlation
[0022]
An object of the present invention is to solve such a conventional problem and efficiently generate a statistical value regarding an attribute value for a transaction including an item group included in a generated rule. Another object of the present invention is to make it possible to narrow down a statistical value related to an attribute value in addition to support and certainty when obtaining an association rule.
[0023]
[Means for Solving the Problems]
FIG. 1 is a diagram illustrating the principle of the present invention. In order to achieve the above object, the present invention is configured as follows.
[0024]
(1): Apply correlation analysis to given data (for example, data in database 1) to generate a correlation rule, perform statistical processing, and output the correlation rule and the statistical processing result together In the correlation analysis device, the storage unit that stores attribute data in units of items, and when counting up the number of appearances of an item in the correlation analysis, when an item appears, the number of appearances of the item is counted, Accumulated as attribute data corresponding to the item in the storage unit Count After the completion of the counting process, based on the number of appearances of each item in the counting process, an item indicating a predetermined condition is extracted as a correlation rule, and attribute data corresponding to the item set as the correlation rule is Counting / statistical processing means 6 is provided for extracting from the storage unit and outputting statistical information based on the extracted attribute data.
[0025]
(2): In the correlation analysis apparatus of (1), the counting / statistical processing means 6 has a function of performing statistical processing on a plurality of attribute values at the same time and obtaining a specified statistical processing value together with the correlation rule. Yes.
[0026]
(3): In the correlation analyzer of (1), the counting / statistical processing means 6 is such that the minimum value condition and the minimum certainty factor of the correlation rule support satisfy the conditions given by the user. With respect to, it has a function to obtain statistical values together with association rules.
[0027]
(4): In the correlation analysis apparatus according to (1), the counting / statistical processing means 6 is a function for obtaining a statistical value together with a correlation rule for a case where the statistical value of the attribute satisfies a condition given by a user. (Narrowing processing or filtering processing function).
[0029]
(Function)
The operation of the present invention based on the above configuration will be described with reference to FIG.
(a): The counting / statistical processing means 6 searches the
[0030]
As described above, correlation analysis and statistical processing are performed together to generate a correlation rule, and the correlation rule and statistical value are stored in the
[0031]
(b): The counting / statistical processing means 6 performs statistical processing on a plurality of attribute values at the same time, and obtains a statistical processing value designated in accordance with the association rule. In this way, statistical processing for a plurality of attribute values can be performed simultaneously with the generation of the association rule, and the processing efficiency can be improved.
[0032]
(c): The enumeration / statistical processing means 6 obtains a statistical value together with the correlation rule with respect to the condition that the minimum value of the support of the correlation rule and the minimum value of the certainty satisfy the condition given by the user. In this way, when performing a correlation analysis, it is possible to obtain a statistical value for the attribute value while generating a correlation rule that satisfies the minimum support value and the maximum certainty value specified by the user. , Processing efficiency can be improved.
[0033]
(d): The enumeration / statistical processing means 6 obtains a statistical value together with the association rule regarding the attribute whose statistical value satisfies the condition given by the user. In this way, when performing the correlation analysis, among the statistical values for the attribute values specified by the user, those that satisfy the specified conditions are obtained together with the correlation rule (restriction processing or filtering processing is performed). And the processing efficiency can be improved.
[0034]
(e): When the number of occurrences of an item is counted in correlation analysis by reading and executing the program of the recording medium (for example, executed by the CPU in the correlation analysis device), together with the number of occurrences of the combination of items Processing is also performed while retaining attribute values in the original data, and a procedure for obtaining statistical values together with the association rules is executed. In this way, it is possible to efficiently perform statistical processing on attribute values together with generating association rules.
[0035]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described in detail below with reference to the drawings.
[0036]
§1: Correlation analyzer configuration and processing overview description ... See FIG.
FIG. 2 is an explanatory diagram of the apparatus. The apparatus shown in FIG. 2 is an example of a correlation analysis apparatus for performing correlation analysis, and is realized by an arbitrary computer such as a personal computer or a workstation. This apparatus includes an apparatus main body, a
[0037]
In this case, the
[0038]
In this apparatus, the combination generation unit 11 generates a combination from data in the
[0039]
This correlation analysis apparatus applies a correlation analysis to data in the
[0040]
§2: Explanation of processing by flowchart
(1): Overall processing: See FIG.
FIG. 3 is an overall process flowchart. The overall process will be described below with reference to FIG. In addition, S1-S8 shows each process step. In this processing, processing is performed using the length k of the combination of items as an index. First, the process is started from k = 1, and a large item set having a length k is counted. If the number of generated results is equal to or greater than k + 1, the process is continued as k = k + 1. If the number of results is not equal to or greater than k + 1, the process ends (end condition). Specifically, it is as follows.
[0041]
First, the parameter k is set to k = 1 (S1), and a combination of length k is generated and statistical processing is performed (S2). In this case, the combination generation unit 11 searches the data in the
[0042]
Thereafter, the counting / statistical processing unit 12 determines whether or not the counting result is larger than k + 1 (S3), and when it is larger, k = k + 1 is set (S4), and the process is repeated from the process of S2. When the processing is performed in this way and the counting result becomes less than k + 1, the counting / statistical processing unit 12 stores the processing result data in the
[0043]
Thereafter, the correlation
[0044]
If the certainty condition given by the user is satisfied in the process of S7, the correlation
[0045]
Processing is performed in this way, and the
[0046]
(2): Description of length k combination generation processing and statistical processing ... see FIG.
FIG. 4 is a flowchart of the length k combination generation and statistical processing. The length k combination generation process and the statistical process (the process of S2) will be described in detail below with reference to FIG. S10 to S16 indicate each processing step.
[0047]
In this process, item combination candidates are generated from transactions and counted up. For all transactions, after counting the item combinations, check to see if the minimum support requirement is met. For items that satisfy the conditions, statistical processing is performed on the specified attribute value. Specifically, it is as follows.
[0048]
First, the combination generation unit 11 searches the
[0049]
In this way, the processes of S10 and S11 are performed until the transaction list becomes empty (S12). When the transaction list becomes empty, the counting / statistical processing unit 12 takes out the counted combination (S13). Then, it is determined whether or not the minimum support value is satisfied (S14), and for those satisfying the minimum support value, a statistical value is calculated from the list and output to the work memory 3 (S15).
[0050]
Thereafter, the counting / statistical processing unit 12 determines whether there is a combination that has not yet been processed (S16). If there is a combination that has not yet been processed, the counting / statistical processing unit 12 repeats the processing from S13. If the minimum support value is not satisfied in the process of S14, the process of S16 is performed without performing the process of S15. In this way, the length k combination generation process and the statistical process are performed.
[0051]
(3): Supplementary explanation of the above process
In the above processing, in each step (S10 to S12) of counting (counting) combinations of items having a length of 2 or more (k ≧ 2), conventional (1): item combination, (2): item combination (3): Another attribute value in a transaction including a combination of items is stored in the
[0052]
When each step (S10 to S12) is finished and the counting of the combination of items of length k is finished, it is checked whether the counted combination of items satisfies the minimum value of support given by the user (S14). reference). Further, for the combination of items satisfying the minimum support value, the specified statistical processing is performed on the attribute value stored in the work memory 3 (see S15), and “item combination, number of appearances, statistics The processed value "is output to the
[0053]
That is, in the subsequent processing, when the correlation
[0054]
In addition to statistical calculation for a single attribute value, statistical processing for a plurality of attribute values can be performed together with correlation analysis. In that case, in addition to the conventional {circle over (1)}: item combination, {circle over (2)}: item combination count, {circle over (3)} another attribute value in the transaction including the item combination is stored in the work memory. Hold at 3.
[0055]
The processing in this case can be performed in the same way as a single attribute value, and when each step is completed and counting of the combination of items of length k is completed, the combination of the counted items is supported by the user. It is checked whether or not the minimum value is satisfied (see S14).
[0056]
For the combination of items satisfying the minimum support value, the specified statistical processing is performed for a plurality of attribute values stored when k ≧ 2 (see S15). At this time, it is possible to perform different statistical calculations on a plurality of attribute values. As a result, “item combination, number of appearances, statistically
[0057]
(4): Explanation of narrowing-down process using statistical values ... See Fig. 5
FIG. 5 is a flowchart of a narrowing process using statistical values. Hereinafter, the narrowing-down process using statistical values will be described with reference to FIG. S21 to S28 indicate each processing step.
[0058]
In addition to the narrowing down of the association rule based on the conventional support and the certainty factor, the association rule is generated only when the statistical processing value for a certain attribute value or a plurality of attribute values is included in the designated range. Such a narrowing-down process will be described based on the process flowchart of FIG.
[0059]
First, the combination generation unit 11 searches the
[0060]
In this way, the processes of S21 and S22 are performed until the transaction list becomes empty (S23). When the transaction list becomes empty, the counting / statistical processing unit 12 takes out the counted combination from the work memory 3 (S24). ). Then, it is determined whether or not the minimum support value is satisfied (S25). For those satisfying the minimum support value, a statistical value is calculated from the list, and it is determined whether or not the statistical value satisfies the condition (S26).
[0061]
As a result, if the statistical value satisfies the condition, the correlation rule and the statistical value are combined and output to the work memory 3 (S27). Thereafter, the counting / statistical processing unit 12 determines whether there is a combination that has not yet been processed (S28). If there is a combination that has not yet been processed, the counting / statistical processing unit 12 repeats the processing from S24. If the minimum support value is not satisfied in the process of S25, and if the statistical value does not satisfy the condition in the process of S26, the process of S28 is performed. In this way, the narrowing process based on the statistical value is performed.
[0062]
(5): Other explanation
Assume that a correlation rule has already been generated when statistical processing is performed on another attribute value in a transaction including an item included in the correlation rule generated as described above. In this case, since the items included in the association rule are known, the process for obtaining the number of appearances of each item is not necessary.
[0063]
In addition, since the maximum value of the number of items included in the correlation rule can be easily obtained, it is only necessary to count up to the maximum number of items and perform statistical processing for the transaction in which the item included in the correlation rule appears. . Depending on the case, since it is performed for each step, it is possible to increase the speed by executing a combination of lengths from 2 to the maximum value of the number of items at once, and performing counting and statistical processing.
[0064]
As described above, by applying statistical processing (statistical calculation) together when generating an association rule, it is not necessary to scan data for statistical processing. Moreover, the cost of the matching process which requires mn times in the case of m data and n rules can be reduced. Further, in addition to the correlation rule narrowing process based on support and certainty, a narrowing process based on attribute values can be performed.
[0065]
§3: Description of specific processing example ... See FIG.
FIG. 6 is an explanatory diagram of processing. FIG. 6A shows an example of counting results, FIG. 6B shows a counting example 1 including attribute values, and FIG. 6C shows a counting example 2 including attribute values. Hereinafter, a specific processing example will be described with reference to FIG.
[0066]
(1): Example 1
Example 1 described below uses the data of the conventional example shown in FIG. 8B. The minimum support value given by the user is 50%, and the minimum confidence value is 50%. Further, it is assumed that the user gives an instruction so as to obtain the average value of the maximum temperatures together.
[0067]
(Process 1)
First, the counting / statistical processing unit 12 calculates the number of appearances of each item. In this (processing 1), it calculates | requires similarly to the conventional method. From the
[0068]
From the
[0069]
That is, the
[0070]
(Process 2)
Subsequently, the counting / statistical processing unit 12 counts the combinations of items having a length of 2. As a result of the above (Processing 1), since only sales items A and B are obtained, a combination of
[0071]
On
[0072]
As for the counting of S2, as shown in FIG. 6B, in addition to the combination and count of items of
[0073]
Similar to (Process 1), since the minimum value of support specified by the user is 50%, only those appearing in two or more of the total number of
[0074]
(Process 3)
Since the combination of
[0075]
A → B: Support = 50%, certainty factor = 66%, average value of maximum temperature = 25
B → A: Support = 50%, certainty factor = 100%, average value of maximum temperature = 25
Support for A → B is the number of occurrences of “AB” / number of all transactions = 2/4 = 50%
The certainty about A → B is the number of appearances of “AB” / number of appearances of “A” = 2/3 = 66.6%
Support for B → A is the number of occurrences of “AB” / number of all transactions = 2/4 = 50%
The certainty factor for B → A is the number of appearances of “AB” / number of appearances of “B” = 2/2 = 100%
[0076]
(2): Example 2
Example 2 described below uses the data of the conventional example shown in FIG. 8B. The minimum support value specified by the user is set to 50%, and the minimum confidence value is set to 50%. Further, it is assumed that the user gives an instruction so as to obtain the average value of the maximum temperature and the average value of the sales time together.
[0077]
(Process 1)
First, the counting / statistical processing unit 12 obtains the number of appearances of an item. From the
[0078]
As a result, the number of appearances for A is 3, the number of appearances for B is 2, the number of appearances for C is 1, and the number of appearances for D is 1. In this case, since the minimum value of support instructed by the user is 50%, it is sufficient to leave only those appearing in two or more of the total number of
[0079]
(Process 2)
Next, the counting / statistical processing unit 12 counts the combinations of items having a length of 2. Since only sales items A and B are obtained as a result of the (Process 1), a combination of
[0080]
On
[0081]
As in the above (Processing 1), since the minimum value of user support is 50%, only those appearing in two or more of the total number of
[0082]
(Process 3)
Next, since a combination of
[0083]
A → B: Support = 50%, certainty factor = 66%, average value of maximum temperature = 25, average value of sales time = 12.5
B → A: Support = 50%, certainty factor = 100%, average value of maximum temperature = 25, average value of sales time = 12.5
Support for A → B is the number of occurrences of “AB” / number of all transactions = 2/4 = 50%
The certainty about A → B is the number of appearances of “AB” / number of appearances of “A” = 2/3 = 66.6%
Support for B → A is the number of occurrences of “AB” / number of all transactions = 2/4 = 50%
The certainty factor for B → A is the number of appearances of “AB” / number of appearances of “B” = 2/2 = 100%
[0084]
(3): Example 3
Example 3 described below uses the data of the conventional example shown in FIG. 8B. Then, it is assumed that the minimum value of the support specified by the user is 50%, the minimum value of the certainty is 50%, and the correlation rule having an average maximum temperature of 30 or more is obtained.
[0085]
Processing is performed in the same manner as in Example 1 to obtain the following correlation rule.
[0086]
A → B: Support = 50%, certainty factor = 100%, average value of maximum temperature = 25
B → A: Support = 50%, certainty factor = 100%, average value of maximum temperature = 25
Since the average value of the maximum temperature in these rules does not satisfy the specified condition of 30 or more, it is not output as a result correlation rule. That is, it is possible to narrow down (filtering process) by attribute values when performing correlation analysis.
[0087]
§4: Description of specific device example and recording medium ... See FIG.
FIG. 7 shows a specific example of the apparatus. The correlation analysis apparatus shown in FIG. 2 can be realized by the apparatus shown in FIG. 7, for example. This device example is a device realized by an arbitrary computer such as a personal computer or a workstation. The device main body, a
[0088]
The computer
[0089]
The correlation analysis processing (counting / statistical processing, correlation rule generation processing, etc.) performed by the correlation analyzer shown in FIG. 2 is stored (recorded) in the hard disk (recording medium or storage medium) of the
[0090]
However, the present invention is not limited to such an example. For example, the correlation analysis process can be performed by storing a program in the hard disk of the
[0091]
{Circle around (1)} A program (program data created by another device) stored in a flexible disk (floppy disk) created by another device is read by the
[0092]
(2): The data stored in the CD-ROM is read by the CD-
[0093]
(3): Data such as a program transmitted from another device via a communication line such as a LAN is received via the communication control unit 31, and the data is stored in a recording medium (hard disk) of the HDD.
[0094]
【The invention's effect】
As described above, the present invention has the following effects.
(1): A statistical value can be efficiently generated for an attribute value for a transaction including an item group included in the generated rule. In addition, when obtaining an association rule, in addition to support and certainty, it is possible to narrow down by statistical values related to attribute values, thereby improving processing efficiency.
[0095]
(2): The counting / statistical processing means performs a correlation analysis based on the given data. In this correlation analysis, when counting up the number of occurrences of an item, the number of occurrences of the combination of items is included in the original data. The attribute value is also stored and processed, and a statistical value is obtained together with the association rule. In this way, it is possible to efficiently perform statistical processing on attribute values together with generating association rules.
[0096]
(3): The enumeration / statistical processing means performs statistical processing on a plurality of attribute values at the same time, and obtains a statistical processing value specified together with the association rule. In this way, statistical processing for a plurality of attribute values can be performed simultaneously with the generation of the association rule, and the processing efficiency can be improved.
[0097]
(4): The enumeration / statistical processing means obtains a statistical value together with the correlation rule with respect to the minimum value condition of the correlation rule support and the minimum confidence value satisfying the condition given by the user. In this way, when performing a correlation analysis, it is possible to obtain a statistical value for the attribute value while generating a correlation rule that satisfies the minimum support value and the maximum certainty value specified by the user. , Processing efficiency can be improved.
[0098]
(5): The enumeration / statistical processing means obtains a statistical value together with the association rule regarding the attribute whose statistical value satisfies the condition given by the user. In this way, when performing correlation analysis, among the statistical values for the attribute values specified by the user, those that satisfy the specified conditions can be obtained together with the correlation rule, and the processing efficiency can be improved. .
[0099]
(6): When the number of occurrences of an item is counted in correlation analysis by reading and executing the program of the recording medium (for example, executed by the CPU in the correlation analysis device), together with the number of occurrences of the combination of items Processing is also performed while retaining attribute values in the original data, and a procedure for obtaining statistical values together with the association rules is executed. In this way, it is possible to efficiently perform statistical processing on attribute values together with generating association rules.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating the principle of the present invention.
FIG. 2 is an explanatory diagram of an apparatus according to an embodiment of the present invention.
FIG. 3 is an overall processing flowchart according to the embodiment of the present invention.
FIG. 4 is a flowchart of length k combination generation and statistical processing in the embodiment of the present invention;
FIG. 5 is a flowchart of a narrowing process using statistical values according to the embodiment of the present invention.
FIG. 6 is an explanatory diagram of processing according to the embodiment of the present invention.
FIG. 7 is a specific apparatus example according to the embodiment of the present invention.
FIG. 8 is an explanatory diagram (part 1) of a conventional example.
FIG. 9 is an explanatory diagram (part 2) of a conventional example.
[Explanation of symbols]
1 Database
2 Correlation analysis processor
3 Work memory
4 Result files
5 statistical processing department
6 Counting / statistical processing means
11 Combination generator
12 Counting / Statistical Processing Department
13 Association rule generator
21 Computer body
22 Display device
23 Keyboard
24 Flexible disk drive (FDD)
25 CD-ROM drive
26 Hard Disk Drive (HDD)
27 CPU (Central Processing Unit)
28 ROM (read only memory)
29 memory
30 Interface control unit
31 Communication control unit
Claims (5)
アイテム単位で属性データの記憶を行う記憶部と、
前記相関分析でアイテムの出現回数を数え上げる際に、アイテムの出現した際に、該アイテムの出現回数をカウントすると共に、前記記憶部に該アイテムに対応する属性データとして蓄積される数え上げ処理を行い、数え上げ処理の完了後、該数え上げ処理による各アイテムの出現回数を元に、所定条件を示すアイテムを相関ルールとして抽出すると共に、該相関ルールとされたアイテムに対応する属性データを前記記憶部から抽出し、該抽出した属性データを元に統計情報を出力する数え上げ/統計処理手段と、
を備えていることを特徴とした相関分析装置。A correlation analysis device that applies correlation analysis to given data to generate a correlation rule, performs statistical processing, and outputs the correlation rule and the statistical processing result together,
A storage unit for storing attribute data in item units;
When counting up the number of appearances of an item in the correlation analysis, when an item appears, count the number of appearances of the item, and perform a counting process accumulated as attribute data corresponding to the item in the storage unit, After completion of the counting process, based on the number of appearances of each item by the counting process, an item indicating a predetermined condition is extracted as a correlation rule, and attribute data corresponding to the item set as the correlation rule is extracted from the storage unit A counting / statistical processing means for outputting statistical information based on the extracted attribute data;
A correlation analyzer characterized by comprising:
複数の属性値について同時に統計処理を行い、相関ルールと合わせて指定した統計処理値を得る機能を備えていることを特徴とする請求項1記載の相関分析装置。The counting / statistical processing means includes:
The correlation analysis apparatus according to claim 1, further comprising a function of simultaneously performing statistical processing on a plurality of attribute values to obtain a statistical processing value specified in association with a correlation rule.
前記相関ルールのサポートの最小値の条件及び確信度の最小値が、ユーザによって与えられた条件を満たすものに関して、相関ルールと一緒に統計値を得る機能を備えていることを特徴とする請求項1記載の相関分析装置。The counting / statistical processing means includes:
The function of obtaining a statistical value together with an association rule with respect to a condition for the minimum value of the support of the association rule and the minimum value of the certainty satisfying a condition given by a user. 1. The correlation analyzer according to 1.
前記属性の統計値がユーザによって与えられた条件を満たすものに関して、相関ルールと一緒に統計値を得る機能を備えていることを特徴とする請求項1記載の相関分析装置。The counting / statistical processing means includes:
The correlation analysis apparatus according to claim 1, further comprising a function of obtaining a statistical value together with a correlation rule for the attribute statistical value satisfying a condition given by a user.
前記相関分析でアイテムの出現回数を数え上げる際に、アイテムの出現した際に、該アイテムの出現回数をカウントすると共に、前記記憶部に該アイテムに対応する属性データとして蓄積される処理を行い、数え上げ処理の完了後、該数え上げ処理による各アイテムの出現回数を元に、所定条件を示すアイテムを相関ルールとして抽出すると共に、該相関ルールとされたアイテムに対応する属性データを前記記憶部から抽出し、該抽出した属性データを元に統計情報を出力する数え上げ/統計処理手段の機能を実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。It has a storage unit that stores attribute data in units of items, applies correlation analysis to the given data, generates correlation rules, performs statistical processing, and combines the correlation rules with the statistical processing results Output to the correlation analyzer
When counting up the number of occurrences of an item in the correlation analysis, when an item appears, the number of appearances of the item is counted, and the processing is stored as attribute data corresponding to the item in the storage unit, and the number is counted After completion of the process, based on the number of appearances of each item by the counting process, an item indicating a predetermined condition is extracted as a correlation rule, and attribute data corresponding to the item determined as the correlation rule is extracted from the storage unit A computer-readable recording medium recording a program for realizing the function of counting / statistical processing means for outputting statistical information based on the extracted attribute data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6593499A JP3652913B2 (en) | 1999-03-12 | 1999-03-12 | Correlation analyzer and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6593499A JP3652913B2 (en) | 1999-03-12 | 1999-03-12 | Correlation analyzer and recording medium |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000259612A JP2000259612A (en) | 2000-09-22 |
JP3652913B2 true JP3652913B2 (en) | 2005-05-25 |
Family
ID=13301298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6593499A Expired - Fee Related JP3652913B2 (en) | 1999-03-12 | 1999-03-12 | Correlation analyzer and recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3652913B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002163440A (en) * | 2000-11-28 | 2002-06-07 | Nippon Telegr & Teleph Corp <Ntt> | Method and device for correlative item detection |
JP6070688B2 (en) * | 2012-02-27 | 2017-02-01 | 日本電気株式会社 | Event correlation rule detection system, event correlation rule detection method, and event correlation rule detection program |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5819266A (en) * | 1995-03-03 | 1998-10-06 | International Business Machines Corporation | System and method for mining sequential patterns in a large database |
JP3466054B2 (en) * | 1997-04-18 | 2003-11-10 | 富士通株式会社 | Grouping and aggregation operation processing method |
JP3469460B2 (en) * | 1998-04-27 | 2003-11-25 | 富士通株式会社 | Group-by processing apparatus and method |
-
1999
- 1999-03-12 JP JP6593499A patent/JP3652913B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000259612A (en) | 2000-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gan et al. | Fast utility mining on sequence data | |
CN109325182B (en) | Information pushing method and device based on session, computer equipment and storage medium | |
US20080177728A1 (en) | Identifying the items most relevant to a current query based on items selected in connection with similar queries | |
JP3600611B2 (en) | Information processing apparatus, information processing method, and information processing program | |
WO2003034279A1 (en) | Information searching method, information searching program, and computer-readable recording medium on which information searching program is recorded | |
JP3652913B2 (en) | Correlation analyzer and recording medium | |
Chand et al. | Target oriented sequential pattern mining using recency and monetary constraints | |
US20070282808A1 (en) | Search processing method and apparatus | |
JP3246433B2 (en) | Cryptographic strength evaluation support apparatus and machine-readable recording medium recording program | |
JP5622880B2 (en) | Item recommendation system, item recommendation method, and item recommendation program | |
JP5555238B2 (en) | Information processing apparatus and program for Bayesian network structure learning | |
JP2006155344A (en) | Data analyzer, data analysis program, and data analysis method | |
JP2004110327A (en) | Time series correlation extracting device | |
JPH11213004A (en) | Data processor, its method and storage medium storing data processing program | |
Tsai et al. | A time-interval sequential pattern change detection method | |
JP3558267B2 (en) | Document search device | |
CN113076322A (en) | Commodity search processing method and device | |
Cunha et al. | An ALNS metaheuristic for the family multiple traveling salesman problem | |
JP2006350749A (en) | Document filtering device, document filtering method, program, and recording medium | |
Tang | A simple approach of data mining in excel | |
JP4568320B2 (en) | Processing procedure generation apparatus and processing procedure generation method | |
US20050071352A1 (en) | System and method for association itemset analysis | |
Parmar et al. | Survey on high utility oriented sequential pattern mining | |
JP2004152175A (en) | Time series data retrieval device, time series data retrieval method, program and record medium | |
JP4786358B2 (en) | Job execution time estimation system, job execution time estimation method, and job execution time estimation program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040224 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040426 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20041012 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041209 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20041214 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050222 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050224 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080304 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090304 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100304 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100304 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110304 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110304 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120304 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130304 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130304 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140304 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |