JP3952043B2 - 分析装置 - Google Patents

分析装置 Download PDF

Info

Publication number
JP3952043B2
JP3952043B2 JP2004174923A JP2004174923A JP3952043B2 JP 3952043 B2 JP3952043 B2 JP 3952043B2 JP 2004174923 A JP2004174923 A JP 2004174923A JP 2004174923 A JP2004174923 A JP 2004174923A JP 3952043 B2 JP3952043 B2 JP 3952043B2
Authority
JP
Japan
Prior art keywords
condition
record
counter
records
value
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
Application number
JP2004174923A
Other languages
English (en)
Other versions
JP2004272936A (ja
Inventor
豊久 森田
章 前田
幸康 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2004174923A priority Critical patent/JP3952043B2/ja
Publication of JP2004272936A publication Critical patent/JP2004272936A/ja
Application granted granted Critical
Publication of JP3952043B2 publication Critical patent/JP3952043B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、データ(特に大規模な)の解析を行う技術分野に属する。その中でも特に、データにおける因果関係やデータ中の規則性を求めるデータマイニングの技術分野に属する。
大規模なデータをもとに、そこから因果関係や規則性を求めたりする場合に、データマイニングと呼ばれる手法がある。この手法として、例えば、非特許文献1がある。ここでは、最大k個までの条件の組合せの同時生起を求めるために、まず、すべての条件について、それが生起する回数を全レコードを参照して求め、さらに、そこで回数が予め定めた閾値より大きかった条件の中から2個が同時に生起する回数を全レコードを参照して求める、ということをk個の条件数まで行なう。
これにより、全レコードに占める回数の割合が一定値以上であるk個までの条件の組合せを得ることができる。
Rakesh Agrawal, Ramakrishnan Srikant,"Fast Algorithms for Mining AssociationRules",Proceedings of the 20th VLDB Conference Santiago, Chile(1994)
上記非特許文献1には以下のような課題がある。非特許文献1にあるように、この手法は最大k条件の同時生起を考慮するのに、k回にわたって全レコードを読む必要がある。
このため、第1に、計算の途中で止めてみても、少ない条件数の結果が得られるだけであり、例えば100個のデータに関する計算を全体の計算時間の半分で止めても、50個分の完全な答えが得られるわけではない。計算を途中で止めた場合に、参照したレコード数に対応した完全な結果が欲しい場合があるが、これは、そのような要求には応えられない。
第2に、閾値以上の条件の種類自体がレコード集合に対応しているので、レコードが追加されたり削除されたりした場合には、追加・削除分だけの再計算では済まず、もう一度すべてのレコードを読み直した上で、閾値以上の条件の種類を見つける必要がある。つまりレコードが次々と更新されるような状況には対応できない。
第3に、全レコードを読んで回数を求めるところを並列化しようとすれば、配分が適切ではない場合、計算終了時刻がそれぞれのプロセッサで異なることが起こり得、待ち状態となるプロセッサが生じ、時間と計算資源の無駄となる。
第4に、回数の閾値は、条件を確定するために使われるため、計算が始まった後に変更ができない。閾値をより低く設定変更するときには、計算を全く最初からやり直す必要が生じる。
したがって、本発明の第1の目的は、計算を途中で止めることができるようにすることと、その際に、参照したレコード数に対応した完全な出力結果を得られるようにすることである。また、本発明の第2の目的は、レコードが次々と更新されるようなときに、すべての計算をやり直さなくても、更新されたデータの分だけ処理すれば、正確な結果が得られるようにすることである。また、本発明の第3の目的は、並列処理を行なう際に、適切なレコード配分を行なうようにすることである。また、本発明の第4の目的は、データマイニング処理に関わる閾値等のパラメータを変更しても、それが、レコードの読み直しの必要を生じさせないようにすることである。
本発明は、条件に対応する回数を算出するカウンタを持ち、レコードを1度読むことで対応するカウンタをすべて更新できるようにした。既に参照したレコードは、参照後は利用しないで済むようにした。また、計算を途中でやめるように指示を入力する手段を持ってもよい。また、どこまで計算して止めたかわかるように、止めたレコードの位置がわかるようにしてもよい。
また、本発明は、レコードが追加・削除されたときに、対応するカウンタの値のみを更新する手段を提供してもよい。また、次々と入力されるレコードに対して、最新のレコードから何個前から何個前までを計算対象とするかを指定する手段を持ち、上述のカウンタの値を更新する手段を用いて、計算対象のレコードのみがカウントされている出力結果を常に得られるようにしてもよい。また、上述の計算対象の区間を動的に変化させられるようにしてもよい。
また、本発明は、並列処理を行なう際に、それぞれのプロセッサの処理能力を表す数値から終了時刻が同時になるようにレコード数を配分してもよい。また、早く終了したプロセッサが他のプロセッサの担当のレコードを通信によって獲得し、処理を肩代りすることによって全体の終了時刻を早めてもよい。また、並列処理に関与するプロセッサと、それぞれのプロセッサの処理能力と残りレコード数を管理するサーバを置くことによって、途中でプロセッサが増えたときにも同時に計算が終了するようにしてもよい。また、あるプロセッサが自らが算出したカウンタの値を、足算をするサーバに送信し、残りのレコードを他のプロセッサに配分することによって処理を終了し、並列処理から脱退することを可能にしてもよい。また、本発明は、カウンタの値を用いた計算は、すべての回数の集計を終了した後に行なうようにしてもよい。
以上述べたように、本発明によれば、データマイニングの計算を途中で止めることができる。また、その際に、参照したレコード数に対応した完全な出力結果が得られる。また、一度止めた計算を再開することができる。また、タイムスタンプを参照することで、結果が新しいものかどうか、また、どれくらい新しいものかを知ることができる。
また、本発明によれば、レコードが次々と更新されるようなときに、すべての計算をやり直さなくても、更新されたデータの分だけ処理すれば、正確な結果が得られる。またデータマイニングの結果を逐次に得ることができる。また、対象となっているレコードの対象区間を計算の途中で動的に変更できる。
また、本発明によれば、並列処理を行なう際に、適切なレコード配分を行うことで、全体の計算が早く終わる。また、並列処理するプロセッサの計算の途中での追加や削除が可能となる。
また、本発明によれば、計算に関わるパラメータを、レコードの読み直しなしに変更できる。
以下に、図面を用いて本発明の実施例を説明する。
以下、本発明の実施の形態の一例を詳細に説明する。図1に本発明の実施の形態の構成図を示す。本発明では、入力装置100、レコード入力装置101、カウンタ初期化装置102、カウンタ103、カウンタ選択装置104、カウンタ更新装置105、更新レコードID記憶装置106、終了指示入力装置107、終了指示判定装置108、出力装置109が、バス110を介して相互接続されている。また、レコード入力装置101は、通信線112を介してレコードデータ記憶装置111と接続されている。
以下、図2に示すフローチャートを利用して、本発明の実施の形態の一例を詳細に説明する。ステップ201では、レコード入力装置のレコード読み出し位置を初期化する。これにより、次にどのレコードをレコードデータ記憶装置111から読み出せばよいかが決まる。ここでは、データの先頭レコードを指す。ここで、レコードは、図3に示すような形式で表される。
ステップ202では、カウンタの初期化を行なう。カウンタ初期化装置102がカウンタ103を初期化する。ここでは、必要なカウンタを生成し、すべてのカウンタの内容を0にする。カウンタの例を図4に示す。ステップ203では、レコード入力装置101が通信線112を介してレコードデータ記憶装置111からレコードを1つ入力する。
ステップ204では、すべてのカウンタの中から、条件が該当するカウンタをカウントアップする。カウンタ選択装置104がカウンタ103の中から適切なカウンタを選択し、そのカウンタに対して、カウンタ更新装置105がカウンタの値を更新する。この場合は1増やす。ステップ205では、最新レコードID記憶装置にある最新レコードIDを現在の最新の値に更新する。レコードIDとしては、タイムスタンプが実施可能である。ステップ206では、終了指示判定装置108が、終了指示入力装置107からの終了指示があるかどうかを判定し、指示がある場合には、ステップ208に移り、指示がない場合には、ステップ207に移る。図5に、終了指示入力装置107の例を示す。
ステップ207では、全レコードが読み出されたかどうかをチェックし、読まれたときには、ステップ208に移り、まだ残りがある場合にはステップ203に移る。ステップ208では、結果を出力する。ここでは、上位N個のカウンタの条件部とそのカウンタの値と、最新レコードIDを出力する。ここで、Nの値は予め定めておく。この実施の形態によれば、計算を途中で止めることができ、さらに、その時点でのすべての条件数における上位の条件が出力できる。
また、最新レコードIDのタイムスタンプを参照することで、結果が現在でも最新のものか、であるとか、どのくらい新しいまたは古いものかということを知ることができる。また、この実施の形態は以下のように変更して実施することも可能である。
第1に、ステップ203におけるレコードの読み込みは1レコードずつでなく、予め定められた複数のレコードずつであってもよい。そのときには、ステップ204のカウントアップは複数のレコードに対して行ない、ステップ205においては最新のレコードIDに更新するようにする。これにより、レコードデータ記憶装置111から通信線112を介してレコード入力装置101にレコードを入力する際の効率の調整が行なえ、より速い処理が可能となる。
第2に、ステップ205における最新レコードIDは、タイムスタンプではなく、レコードを一意に表すレコードIDでもよい。
第3に、ステップ205における最新レコードIDは、単に、処理したレコードに通算でつけられた数でもよい。この場合は、ステップ205での処理は、カウンタを1増やす、という処理と等価になる。
第4に、この一連の処理は、初期値をカウンタ0から始めなくてもよい。すなわち、何度か過去に行なった途中結果を継続するような処理として実施することも可能である。ステップ208における結果の出力では、最新レコードIDに加えて、全条件のカウンタの値も出力する。この結果を元に、ステップ01では、次のレコードを読みに行くように読み出し位置を設定し、ステップ02では、カウンタを過去の結果に初期化する。これにより、途中で終了した結果を用いて、それを継続することができる。これは、時間を適当に区切って、そこまでの結果を出力し、さらに、必要に応じてより多くのレコードを参照してその処理を継続する、ということを可能にする。
第5に、これまでの実施例は同時生起であったが、これを、ある特徴を満たすときに特徴的な条件を見つける、というように変更することも可能である。カウンタの構造を図6にあるように、すべての条件に対して、その条件が満たされていたときに、結論が満たされていた場合のカウンタと、結論が満たされていなかった場合のカウンタの2種類を設ける。ステップ202のカウンタの初期化では、このようなカウンタを生成し、初期化する。また、ステップ204では、対応するカウンタについて、結論が満たされている場合には「結論○」の方のカウンタを増やし、結論が満たされていない場合には「結論×」の方のカウンタを増やす。また、ステップ208では、単にカウンタの大きいものをとってくるだけではなく、数1に示す式を用いて、その値が大きいものを出力する。
Figure 0003952043
以上によれば、ある特殊な条件を満たすときに特徴的な条件が得られる。これは、その特殊な条件の起こる確率が少なくても抽出できる。また、その特殊な条件の起こる確率に関わらず、その特殊な条件と同時に生起する条件を定量的に抽出できる。
第6に、ステップ208での上位N個のNは予め定めておかず、ステップ208において対話的に入力して、結果を出力するように変更できる。そのために、入力装置100から対話的にNを入力して、それに対して出力を行なうようにすればよい。そのときに、必要なだけその処理を繰り返すこともできる。このようにすれば、パラメータを替えた解析結果をレコードの読み直しなしに実現できる。
第7に、第4の変更例において再開するときに、得られた最新レコードIDのタイムスタンプによって、現在の最新のデータベースとの差分データがジャーナルによってわかるので、それを利用してデータを元に戻してデータマイニングを再開することも実施可能である。
次に、本発明の第2の実施の形態について詳細に説明する。図7に本発明の実施の形態の構成図を示す。本実施の形態では、入力装置700、レコード入力装置701、カウンタ初期化装置702、カウンタ703、カウンタ選択装置704、カウンタ更新装置705、区間変更装置706、区間データ記憶装置707、終了指示入力装置708、終了指示判定装置709、出力装置710がバス711を介して相互接続されている。また、オンライン処理システム715がネットワーク716に接続されている。また、オンラインデータ記憶装置712が通信線A713を介してレコード入力装置701に接続されており、さらに、通信線B714を介してネットワーク716に接続されている。
オンライン処理システム715はデータをオンラインに処理し、その結果をオンラインデータ記憶装置712に記憶する。バス711及びそれにつながる装置はオンラインデータ記憶装置712のデータをレコード入力装置701を介してのみ利用できるようにしてある。
以下、図8に示すフローチャートを利用して、本発明の実施の形態の一例を詳細に説明する。ステップ801では、レコード入力装置のレコード読み出し位置を初期化する。これにより、次にどのレコードをレコードデータ記憶装置712から読み出せばよいかが決まる。ここでは、データの先頭レコードを指す。
ステップ802では、カウンタの初期化を行なう。カウンタ初期化装置702がカウンタ703を初期化する。ここでは、必要なカウンタを生成し、すべてのカウンタの内容を0にする。
ステップ803では、レコード入力装置701が通信線A713を介してオンラインデータ記憶装置712からレコードを入力する。ここで、入力されるレコードは、区間データ記憶装置707に記憶された区間内にあって、かつ、まだ入力されていないレコードすべてである。図9に示すように、時間軸において、区間データというものが定義される。これはデータマイニングに利用されるデータの時間区間を定義するものである。その区間の現在に遠い方の端点を端点Aとし、現在に近い方の端点を端点Bとすると、入力すべきデータは、レコード読み出し位置から端点Bまでの間のデータである。レコード読み出し位置が区間内にないときは入力を見送る。
ステップ804では、すべてのカウンタの中から、必要なカウンタを更新する。カウンタ選択装置704がカウンタ703の中から適切なカウンタを選択し、そのカウンタに対して、カウンタ更新装置705がカウンタの値を更新する。ここでは、古いデータを捨て、新しいデータを取り込む処理を行なう。図10に示すように、1回前の端点A、端点Bを保存しておき、それぞれ、ここでは、端点A'、端点B'と呼ぶことにすると、端点A'から端点Aまでの間のデータが古くなり捨てられるデータであり、端点B'から端点Bまでの間のデータが新しく採用されたデータとなる。参考までに、端点B'の1個現在側のデータが読み出し位置となっていたデータである。前者の古いデータに対しては、対応するデータを再び読み出し、対応する条件のカウンタを選択してこれを1減らし、後者の新しいデータに対しては、対応する条件のカウンタを選択してこれを1増やす処理を行なう。また、次の処理のために、端点Aを端点A'として、また、端点Bを端点B'として区間データ記憶装置707に保存する。
ステップ805では、区間変更装置706から区間変更の指示があったかどうかを判定し、区間変更の指示があった場合は、ステップ806に進み、区間変更の指示がなかった場合は、ステップ807に進む。区間変更の指示は、区間変更装置706で行なう。
ステップ806では、区間変更を行なう。区間変更の内容は、区間変更装置において図11にあるように画面上の区間の位置をマウス等の入力装置で変更することによって指示する。これにより、端点Aと端点Bを変更して区間データ記憶装置707に記憶する。
ステップ807では、今まで読み込んだデータにおけるデータマイニングの結果を出力する。結果は、予め上位N個のカウンタを出力する、というように指定しておく。カウンタの条件部とカウンタの値を出力する。
ステップ808では、終了指示が終了指示入力装置708から入力されたかどうかを終了指示判定装置709で判定して、終了が指示されているときには、ステップ809に移り、指示されていないときには、ステップ803に移る。終了指示入力装置708は図12のように、実現できる。
ステップ809では、結果を出力する。ここでは、区間データ記憶装置707の区間データと、カウンタ703のカウンタの値を出力する。
この実施の形態によれば、データを次々と追加・削除しながら、ある定められた時間区間のデータを対象にデータマイニングを実行することができる。また、データマイニングの結果を逐次に得ることができる。また、時間区間自体を動的に変更できる。また、動的な時間区間の変更を利用すれば、カウンタの内容が全くの0の状態から定常状態までのスタートアップを全く同じこのアルゴリズムで実現できる。
また、この実施の形態は以下のように変更して実施することも可能である。第1に、この一連の処理は、初期値をカウンタ0から始めなくてもよい。すなわち、何度か過去に行なった途中結果を継続するような処理として実施することも可能である。ステップ809における結果の出力では、カウンタの値と区間データを出力しているので、過去の実行結果のこの出力から初期値をステップ801及びステップ802で設定して再開することが可能である。これにより、オンラインのデータマイニングの途中での実行停止とその再開が可能となる。
第2に、これまでの実施例は単なる同時生起であったが、これを、ある特徴を満たすときに特徴的な条件を見つける、というように変更することも可能である。カウンタの構造を図6にあるように、すべての条件に対して、その条件が満たされていたときに、結論が満たされていた場合のカウンタと、結論が満たされていなかった場合のカウンタの2種類を設ける。ステップ802のカウンタの初期化では、このようなカウンタを生成し、初期化する。また、ステップ804では、対応するカウンタについて、結論が満たされている場合には「結論○」の方のカウンタを更新し、結論が満たされていない場合には「結論×」の方のカウンタを更新する。また、ステップ807では、単にカウンタの大きいものをとってくるだけではなく、数1に示す式を用いて、その値が大きいものを出力する。以上によれば、ある特殊な条件を満たすときに特徴的な条件が得られる。これは、その特殊な条件の起こる確率が少なくても抽出できる。また、その特殊な条件の起こる確率に関わらず、その特殊な条件と同時に生起する条件を定量的に抽出できる。
第3に、ステップ807での上位N個のNは予め定めておかず、ステップ807において対話的に入力して、結果を出力するように変更できる。そのために、入力装置700から対話的にNを入力して、それに対して出力を行なうようにすればよい。そのときに、必要なだけその処理を繰り返すこともできる。このようにすれば、パラメータを替えた解析結果をレコードの読み直しなしに実現できる。
第4に、ステップ807の結果の出力において、上位N個のカウンタの条件部とカウントの値を出力するだけではなく、それに加えて、任意の条件に対して、ヒストグラムを出力し、それに、古いデータで捨てられたデータの度数、新しく入ったデータの度数、それらの差し引きのデータの度数がヒストグラムの形で重畳表示されるようにすることもできる。図13にそれを例示する。図中の横軸の変数は入力装置700によって変更が可能である。
次に、本発明の第3の実施の形態について詳細に説明する。図14に本発明の実施の形態の構成図を示す。ネットワーク1401に、管理サーバA1402、計算サーバB1404、計算サーバC1406、計算サーバD1408が接続されている。また、管理サーバA1402には、レコードデータ記憶装置A1403が接続されており、計算サーバB1404には、レコードデータ記憶装置B1405が接続されており、計算サーバC1406には、レコードデータ記憶装置C1407が接続されており、計算サーバD1408には、レコードデータ記憶装置D1409が接続されている。実際には、計算サーバとレコードデータ記憶装置の組は2個以上であればいくつでも実施可能である。
次に、管理サーバAでのアルゴリズムの流れをフローチャートで図15に示す。ステップ1501では、管理サーバAが計算サーバを決定する。図14の例では、計算サーバは、計算サーバB1404、計算サーバC1406、計算サーバD1408の3つである。
ステップ1502では、管理サーバAが、それぞれの計算サーバから、計算サーバの処理能力をネットワーク1401を介した通信によって取得する。計算サーバの処理能力は、単位時間あたりの処理レコード数で表される。
ステップ1503では、管理サーバAが、それぞれの計算サーバに対してレコードデータを配分する。配分は、レコード数が処理能力に比例するようにする。元々は管理サーバAに接続されているレコードデータ記憶装置Aに記憶されていたレコードをこの数にしたがって、それぞれの計算サーバに送り、それぞれの計算サーバは自分に接続されているレコードデータ記憶装置にそのレコードを保存する。管理サーバA1402が保持している計算サーバに関するデータを図16に示す。図16のように、計算サーバの一覧と、それぞれについて、処理能力が数値で表されており、初期状態では、残りレコード数の値は、最初に送信したレコード数となっている。この表形式で管理サーバAは計算サーバの情報を記憶する。
ステップ1504では、計算サーバから計算終了通知が来ているかどうかを判定する。来ている場合には、ステップ1505に移り、来ていない場合には、ステップ1506に移る。
ステップ1505では、すべての計算サーバから計算終了通知が来ているかどうかを判定する。すべての計算サーバから計算終了通知が来ている場合にはステップ1509に移り、少なくとも一つでも計算終了通知が来ていない計算サーバがあるときにはステップ1508に移る。
ステップ1506では、計算サーバの追加・削除通知が来ているかどうか判定する。来ている場合には、ステップ1507に移り、来ていない場合には、ステップ1504に移る。
ステップ1507では、計算サーバの追加・削除処理を行なう。計算サーバの追加については、図16で示した計算サーバの表を垂直方向に増やす処理を行なう。計算サーバ名には、計算サーバの名前を入れ、処理能力を入れ、残りレコード数は0とする。計算サーバの削除については、残りレコードを任意の計算サーバに送信し、自計算サーバのカウンタの内容をすべて管理サーバAに送信し、図16で示す表の該当するサーバの欄を削除する。カウンタには図4に示すように、全ての条件に対応するレコードデータの回数が記されている。
ステップ1508では、レコードデータの再配分を行なう。図16に示す表において、残りレコード数をすべての計算サーバから通信によって取得し、最新の値に更新する。残りレコード数の合計を計算し、それを処理能力に比例配分した値を計算し、その値が残りレコード数より少ない場合は、その分だけ、多いところにレコードデータを送信し、その分の自らのレコードを削除する。逆に、その値が残りレコード数より多い場合は、その分だけ、他からレコードデータを取得し、自らのレコードに追加する。図16に示す表は最新の値に更新する。
ステップ1509では、図16の表に示してある計算サーバすべてからカウンタの内容を取得し、合計する。ステップ1510では、カウンタの合計で上位N個の条件部とカウンタの値を出力する。Nの値は予め定めておく。
次に、それぞれの計算サーバでのアルゴリズムの流れをフローチャートで図17に示す。ステップ1701では、ステップ1503で管理サーバAが送信したレコードを受信する。受信したレコードは自らに接続されているレコードデータ記憶装置に記憶する。
ステップ1702では、レコードをレコードデータ記憶装置から計算サーバに入力する。
ステップ1703では、対応する条件のカウンタの値を更新する。カウンタは、図4のように、条件部に対してその回数を記録できるようになっている。予めすべての条件部のカウンタを用意しておく。
ステップ1704では、レコードデータ記憶装置のレコードをすべて参照したかどうか判定する。すべて参照した場合には、ステップ1705に移り、残りがある場合にはステップ1702に移る。ステップ1705では、計算終了通知を管理サーバAに送信する。ステップ1504では、ここで送信された計算終了通知を取得することになる。
ステップ1706では、レコード受信が起こったかどうかを判定する。これは、ステップ1507、ステップ1508の後で、他の計算サーバからレコードが送信されてくる場合に、レコード受信が生ずることとなる。レコード受信が起こった場合には、ステップ1702に戻り、起こらなかった場合にはステップ1707に移る。ステップ1707ではカウンタの内容を管理サーバAに送信する。
以上の実施の形態によれば、終了時刻が同時になるようにレコードをやりとりできる。また、先に計算が終了した計算サーバが他のまだ終わっていない計算サーバのレコードデータを取得して計算を肩代りすることで、全体の終了時刻を早めることができる。また、途中で計算サーバの追加・削除が動的にできる。
以上の実施の形態は次のように変更して実施することも可能である。第1に、この一連の処理は、初期値をカウンタ0から始めなくてもよい。すなわち、何度か過去に行なった途中結果を継続するような処理として実施することも可能である。ステップ1510における結果の出力で、カウンタの値すべてを出力しているので、過去の実行結果のこの出力から管理サーバAのカウンタの初期値を設定しておけば、新たなデータを追加してカウンタの計算を継続することが可能である。これにより、データマイニングの途中での実行停止とその再開が可能となる。
第2に、これまでの実施例は同時生起であったが、これを、ある特徴を満たすときに特徴的な条件を見つける、というように変更することも可能である。カウンタの構造を図6にあるように、すべての条件に対して、その条件が満たされていたときに、結論が満たされていた場合のカウンタと、結論が満たされていなかった場合のカウンタの2種類を設ける。管理サーバAとすべての計算サーバでは、カウンタはこのような形式で持つようにする。また、ステップ1703では、対応するカウンタについて、結論が満たされている場合には「結論○」の方のカウンタを更新し、結論が満たされていない場合には「結論×」の方のカウンタを更新する。
また、ステップ1510では、単にカウンタの大きいものをとってくるだけではなく、数1に示す式を用いて、その値が大きいものを出力する。以上によれば、ある特殊な条件を満たすときに特徴的な条件が得られる。これは、その特殊な条件の起こる確率が少なくても抽出できる。また、その特殊な条件の起こる確率に関わらず、その特殊な条件と同時に生起する条件を定量的に抽出できる。
第3に、ステップ1510での上位N個のNは予め定めておかず、ステップ1510において対話的に入力して、結果を出力するように変更できる。このようにすれば、パラメータを替えた解析結果をレコードの読み直しなしに実現できる。
第4に、ステップ1508において管理サーバAはすべての計算サーバから残りレコード数のみを取得するだけではなく、最近の処理能力の値も取得する。これにより、処理能力が時間とともに変化するような場合にでも適切なレコードの配分が行なえ、より早い計算の終了が期待できる。
以上述べた3つの実施の形態のすべてに共通する実施の変更例について述べる。第1に、図3に示したようなテーブル形式のデータではなく、図18で示すようなトランザクションデータが入力される場合にも対応が可能である。前者が、集計データであるのに対して、後者は、何らかのイベントに対応した情報だけが記述されている。図18で示す例は、スーパのレジなどで用いられるPOSにおいて、一人の客が買った商品が顧客IDとともに記されている。商品の組合せを問題にするときに、顧客IDとすべての商品の組合せについての条件の組合せをカウンタとして生成しておく。そのカウンタの例を図19に示す。このようにすれば、テーブル形式のデータを持たなくても、トランザクションデータから直接に、対応するカウンタの更新を行なえば、前述の3つの実施の形態をそのまま実施できる。
第2に、上述の3つの実施の形態はレコードを1パスで読んで処理するような手法であったが、一度1パスで処理を終了し、その後に、条件を変えてさらに1パスの処理を繰り返すことにより、得られる結果を詳細化することができる。その処理を図20で説明する。
ステップ2001にある処理Aは、これまで説明してきた3つの実施の形態での処理が入る。すなわち、レコードが与えられて、一連のデータマイニング処理をして結果が出力されるまでを表す。ステップ2002では、これで処理を終了するかどうかを判定し、終了するときはこれで処理を終了し、そうでないときにはステップ2003に移る。
ステップ2003では、条件の変更を行ない、ステップ2001に移る。ここで条件の変更について説明する。処理Aが1度終わると、有意な条件がいくつか出力される。この有意な条件に限って、カテゴリ化の閾値を変更してより詳細な条件を求める。ここでカテゴリ化とは、例えば、年齢を10代、20代、30代というような離散的なカテゴリに分ける処理のことである。また、カテゴリ化の閾値を変更してより詳細な条件を求めるとは、例えば最初の処理Aで、20代という年齢が条件として有意になったとき、2回目では、これを20代前半と20代後半に分けるようなことが考えられる。このようにすれば、何度か処理Aを繰り返すことにより、より詳細な結果出力が期待できる。
また、上述の実施の形態を次のように変更もできる。条件の変更の際に、有意な条件を満たすレコードのみをピックアップし、レコードの全体集合自体を小さくする。そして小さくなったレコード集合に対して、処理Aを繰り返すことにすると、まったく同じ結果をより高速に得ることができる。
第3に、上記で説明したすべての方法をコンピュータで読み取り可能なプログラムに格納し、記憶した媒体とすることもできる。
第4に、上記で説明したすべての方法をコンピュータで読み取り可能なプログラムに格納し、ネットワークを通じて配布するシステムも実施可能である。
本発明の第1の実施の形態の構成図である。 本発明の第1の実施の形態のフローチャートである。 レコード形式の例を示す図である。 カウンタの第1の例を示す図である。 終了指示入力装置の表示例である。 カウンタの第2の例を示す図である。 本発明の第2の実施の形態の構成図である。 本発明の第2の実施の形態のフローチャートである。 区間データを示す図である。 区間データの更新を示す図である。 区間変更装置の例を示す図である。 終了指示入力装置の例を示す図である。 差分データの重畳表示の例を示す図である。 本発明の第3の実施の形態の構成図である。 管理サーバAのフローチャートである。 計算サーバの表を例示する図である。 計算サーバのフローチャートである。 トランザクションデータの例を示す図である。 カウンタの例を示す図である。 詳細化処理のフローチャートである。
符号の説明
100・・・入力装置、101・・・レコード入力装置、102・・・カウンタ初期化装置、103・・・カウンタ、104・・・カウンタ選択装置、105・・・カウンタ更新装置、106・・・最新レコードID記憶装置、107・・・終了指示入力装置、108・・・終了指示判定装置、109・・・出力装置、110・・・バス、111・・・レコードデータ記憶装置、112・・・通信線

Claims (5)

  1. 分析装置であって、
    複数の属性の値を記述したレコードを複数集めたデータを格納したレコードデータ記憶装置から前記レコードを入力するレコード入力手段と、
    入力したレコードの属性の組合せで現わされる第1の条件を規定した条件部と、該第1の条件を満たし、かつ第2の条件を満たすレコードの数をカウントする第1のカウンタ部と、該第1の条件を満たし、かつ第2の条件を満たさないレコードの数をカウントする第2のカウンタ部とを有するカウンタを複数生成するカウンタ初期化装置と、
    前記レコード入力手段から入力されたレコードが、前記複数のカウンタのいずれかに規定された第1の条件と整合する場合に、該整合する条件を有するカウンタを選択し、該選択したカウンタの第2の条件を参照して前記第1のカウンタ部あるいは前記第2のカウンタ部のいずれかの値を更新する更新手段と、
    入力されたレコード数、前記第1のカウンタ部の値、前記第2のカウンタ部の値に基づき、全レコード数中の前記第1の条件が満たされる確率と前記第1の条件が満たされた中でさらに第2の条件が満たされる確率と前記第1の条件が満たされた中でさらに第2の条件が満たされる確率を全レコード数中の前記第2の条件が満たされる確率によって除算した値の対数との積算により与えられる評価値を生成し、該評価値が大きいカウンタの条件を出力する出力手段とを有し、
    前記全レコード数中の前記第1の条件が満たされる確率は、前記第1のカウンタ部の値と前記第2のカウンタ部の値の合算値を前記全レコード数によって除算した値であり、
    前記第1の条件が満たされた中でさらに第2の条件が満たされる確率は、前記第1のカウンタ部の値を前記第1のカウンタ部の値と前記第2のカウンタ部の値の合算値によって除算した値であり、
    前記全レコード数中の前記第2の条件が満たされる確率は、前記第1のカウンタ部の値を前記全レコード数によって除算した値であることを特徴とする分析装置。
  2. 請求項1記載の分析装置であって、
    前記評価値は、
    評価値=P(a)α・P(b|a)・log(P(b|a)/P(b))
    但し、P(a)は全レコード数中の前記第1の条件が満たされる確率、P(b|a)は前記第1の条件が満たされた中でさらに第2の条件が満たされる確率、P(b)は全レコード数中の前記第2の条件が満たされる確率、αは任意の定数で計算されることを特徴とする分析装置。
  3. 請求項1記載の分析装置であって、
    前記レコードの入力の終了を検出する手段を有し、
    前記出力手段は、前記検出手段が終了を検出したことに応じて、前記条件を出力することを特徴とする分析装置。
  4. 請求項1記載の分析装置であって、
    さらに、入力対象のレコードの区間を格納する区間記憶手段と、
    前記区間における条件ごとの生起回数を格納する格納手段と、を備え、
    前回実行時の区間(第1のレコード区間)と、前記区間記憶手段に記憶される区間(第2のレコード区間)に重複区間があり、第2のレコード区間より前であって第1のレコード区間内である旧区間と、第1のレコード区間より後であって第2のレコード区間内にある新区間が存在する場合に、
    前記更新手段は、前記格納手段に格納された旧区間に対応するデータを再び読み出し、対応する条件のカウンタを選択してこれに減算処理を施し、新区間に対応するデータに関しては、対応する条件のカウンタを選択してこれに加算処理を施すことでカウンタの値を更新することを特徴とする分析装置。
  5. 請求項1記載の分析装置であって、
    更に最後に入力したレコードを特定する情報を記憶する手段を備え、
    前記出力手段は該記憶手段に基づき最後に入力したレコードを特定する情報も出力する分析装置。
JP2004174923A 2004-06-14 2004-06-14 分析装置 Expired - Fee Related JP3952043B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004174923A JP3952043B2 (ja) 2004-06-14 2004-06-14 分析装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004174923A JP3952043B2 (ja) 2004-06-14 2004-06-14 分析装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP15333397A Division JP4038255B2 (ja) 1997-06-11 1997-06-11 大規模データ分析方法

Publications (2)

Publication Number Publication Date
JP2004272936A JP2004272936A (ja) 2004-09-30
JP3952043B2 true JP3952043B2 (ja) 2007-08-01

Family

ID=33128766

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004174923A Expired - Fee Related JP3952043B2 (ja) 2004-06-14 2004-06-14 分析装置

Country Status (1)

Country Link
JP (1) JP3952043B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7617186B2 (en) * 2004-10-05 2009-11-10 Omniture, Inc. System, method and computer program for successive approximation of query results

Also Published As

Publication number Publication date
JP2004272936A (ja) 2004-09-30

Similar Documents

Publication Publication Date Title
CN111339071B (zh) 一种多源异构数据的处理方法及装置
CN112527848B (zh) 基于多数据源的报表数据查询方法、装置、系统及存储介质
US20160203156A1 (en) Method, apparatus and system for data analysis
CN108399186A (zh) 一种数据采集方法及装置
JPH11338855A (ja) データ分解装置、その方法、及び記録媒体
CN106529917B (zh) 一种工作流处理方法和装置
US20230207087A1 (en) Prescription order distribution method, system, device and storage medium
JP2009251874A (ja) 時系列データ保存装置および時系列データ保存方法
CN110471945A (zh) 活跃数据的处理方法、系统、计算机设备和存储介质
JP2023029604A (ja) 特許情報処理装置、特許情報処理方法、およびプログラム
CN113656407A (zh) 一种数据拓扑生成方法、装置、电子设备及存储介质
CN112738172A (zh) 区块链节点的管理方法、装置、计算机设备和存储介质
CN105117489B (zh) 一种数据库管理方法、装置及电子设备
CN112182295A (zh) 基于行为预测的业务处理方法、装置及电子设备
CN113268403A (zh) 时间序列的分析预测方法、装置、设备及存储介质
JP2003016094A (ja) 情報フィルタリングに用いるプロファイル管理方法、および、プロファイル管理プログラム
CN113434607A (zh) 基于图数据的行为分析方法、装置、电子设备和存储介质
CN115203192B (zh) 一种基于可视化数据的清洗方法、装置及相关组件
CN107623583B (zh) 数据交互处理方法、装置及系统
JP3952043B2 (ja) 分析装置
CN110909072B (zh) 一种数据表建立方法、装置及设备
CN108537654B (zh) 客户关系网络图的渲染方法、装置、终端设备及介质
JP4038255B2 (ja) 大規模データ分析方法
CN108880835B (zh) 数据分析方法及装置、计算机存储介质
CN115908036A (zh) 基于局部拓扑信息的识别社交网络关键节点的方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040614

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070312

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: 20070403

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070416

LAPS Cancellation because of no payment of annual fees