本発明は、データベース及びデータウェアハウスを対象にしたデータ解析方法及びシステムに関し、特にデータベースのレコードを解析してレコードに含まれるデータの出現順序の規則性を明らかにするデータマイニングに関する。
膨大なデータを解析することによって、その中に埋もれた有用なパターンを抽出するデータマイニングの基本技術として頻出アイテムセット抽出がある。頻出アイテムセットとは、データベース中のレコードにおいてユーザが指定した頻度以上のレコード数に含まれるアイテム(項目)の組合せであり、頻出アイテムセットとその頻度から相関ルールの導出などが可能となる。頻出アイテムセット抽出方法には、例えば特許文献1,2や非特許文献1に記載された方法がある。
アイテムセットではデータの出現順序が考慮されないが、データの時間軸上の出現順序パターンを解析するものに時系列パターンがある。例えば、バスケット分析ではPOSデータと顧客情報から、「商品Aを購入し、次に商品BとCを購入した顧客は、次に商品Dを購入する」のような顧客購買パターンを知ることが可能であり、商品の販売戦略に活用できる。また、Webサイトのアクセスログからユーザの典型的なアクセスパターンを知ることが可能であり、異常なアクセスパターンの検出に活用出来る。
時系列パターンを抽出する研究は、データマイニングの分野で行われてきた。例えば、特許文献3、非特許文献2,3,4に記載の方法がある。これら従来手法では、アイテムの組合せとタイムスタンプ(時刻)又は出現順序を示す識別子からなるデータベースから、ユーザによって予め設定された支持度(出現頻度の全データに対する割合)の最小値(最小支持度)以上となる時系列パターンを抽出する。時系列パターンはアイテムの組合せ(アイテムセット)の出現順序を含んだパターンであり、1以上のn個のアイテムセットからなる時系列パターンはIS1→…→ISnで示される。ここで、IS1,…,ISnはアイテムセットであり、アイテムセットは1以上のアイテムからなる。ある時系列パターンの支持度は、全データベース中でその時系列パターンを含むデータの割合である。最小支持度以上となる時系列パターンは頻出時系列パターンと呼ばれ、時系列パターンの部分的な時系列パターンは部分時系列パターンと呼ばれる。頻出時系列パターン抽出は、候補となる時系列パターン(候補時系列パターン)の作成とデータベーススキャンによるデータベース中に現れる該候補時系列パターンの頻度の数え上げとの繰り返し、又は、データベースを縮約した木構造を辿ることによって候補時系列パターンの作成と同時に頻度の数え上げ、又は、データベースから作成したビットマップの結合演算の繰り返しなどによって行われる。これら従来技術は、データベース中のデータの出現順序をそのまま捕らえた時系列パターンを抽出する。
ノイズを考慮した時系列パターン抽出手法として、特許文献4の手法がある。特許文献4の手法は、データベース中のデータがノイズによって別のデータに置き換えられる場合を考慮し、時系列パターンの頻度をデータベース中の出現頻度でなく、事前に与えられた各データが別のデータに置き換えられる確率情報を用いて、本来の出現頻度を算出する方法である。特許文献4は、データの出現順序の乱れでなく、データの置き換えを考慮して時系列パターンを抽出する方法である。
特開平8−287106号公報
米国特許第5,794,209号明細書
特開平8−263346号公報
米国特許第6,691,110号明細書
J.Han, J.Pei, Y.Yin, "Mining Frequent Patterns without Candidate Generation", in proceedings of ACM SIGMOD International Conference on Management of Data,2000
R.Agrawal, R.Srikant, "Mining Sequential Patterns: Generalizations and Performance Implements", in proceedings of International Conference on Extending Database Technology, 1996
J.Pei, J.Han, A.Behzad, H.Pinto, "PrefixSpan: Mining Sequential Patterns Efficiently by Prefix Projected Pattern Growth", in proceedings of International Conference on Data Enginerring, 2001
J.Ayres, J.Flannick, J.Gehrke, T.Yiu, "Sequential Pattern Mining using a Bitmap Representation", in proceedings of ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, 2002
データ収集技術の発展により、データベース中のデータの出現順序と実際の発生順序に乱れが生じる場合がある。例えば、OSのシステムログは様々な機能が非常に短い時間間隔で膨大なデータを記録するため、実際のイベントの発生順序とデータベース中のデータの出現順序が一致しない場合がある。これはデータベース中のデータのタイムスタンプは該データが記録された時刻であり、イベントが発生した時刻でないことが原因である。また、時系列パターンを利用する場面では、データの出現順序が違うが、同じ内容を示す場合がある。
例えば、医療分野の臨床データでは、同じ内容の同じ目的での患者への処置でも、手技や処方の順序は患者によって違いがあり、データ解析においては、その順序の違いを無視することが重要となる場合がある。ウェブアクセスログのクリックストリームにおいても、同じ目的でもユーザによってページのアクセス順序に違いが生じる場合がある。これらを全く別のアクセスパターンと考えた場合、有用なアクセスパターンを見逃す場合がある。従来技術は、データベース中のデータの出現順序を出現した順序通りの時系列パターンとして数え上げるのみであるため、この問題に対応することが出来ない。
このように従来技術は、データの出現順序が違うが同一のデータが出現し、同一のデータに至る時系列パターンを全て抽出することが出来ない場合があるという問題がある。特許文献3、非特許文献2,3,4を用いた場合、最小支持度を満たす時系列パターンのみが抽出され、最小支持度を満たさない時系列パターンは抽出されない。例えば、データベースのレコード数が100件であり、時系列パターンA→B→C→Dが20件、A→C→B→Dが8件含まれるとする。最小支持度が10%の場合、従来手法では、時系列パターンA→B→C→Dは抽出されるが、A→C→B→Dは抽出されない。本来は、時系列パターンA→B→C→DとA→C→B→Dは、同じデータDに至る時系列パターンとして結果を出力しなければならない。従来手法ではA→C→B→Dが抽出されないため、全ての結果が抽出されない。特許文献4の手法は、本発明とは目的、処理手順、得られる結果が異なる。
本発明の第一の目的は、シーケンスの識別子とタイムスタンプ(時刻)又は順序関係を示す識別子と1以上のアイテム(データ項目)とからなるレコードの集合であるデータベースから、データの出現順序の乱れを許容した上で時系列パターンを抽出する方法及びシステムを提供することである。
本発明の第二の目的は、時系列パターングループ及び時系列パターングループに属する全ての時系列パターンを抽出する方法及びシステムを提供することである。
本発明の第三の目的は、時系列パターングループ抽出及び時系列パターングループに属する時系列パターン導出の処理量を低減する方法を提供することである。
本発明では、データの出現順序の乱れを許容した上で時系列パターンを抽出するため、末尾の1以上のアイテムセットからなる部分時系列パターンが一致し、その他の部分時系列パターンを構成するアイテムの種類が一致する時系列パターンを1つのグループとしてまとめた時系列パターングループを抽出する。時系列パターングループに含まれる時系列パターンはデータの出現順序は異なるが、同一のデータの出現によって、同一の結果に至る時系列パターンとなる。
本発明による時系列パターン抽出方法の1つの特徴は、シーケンスの識別子とタイムスタンプ(時刻)又は順序関係を示す識別子と1以上のアイテム(データ項目)とからなるレコードの集合であるデータベースから、末尾から1以上の部分時系列パターンが一致し、該一致する部分時系列パターンより前に現れるアイテムの種類が一致する時系列パターンを1つのグループとしてまとめた時系列パターングループを抽出することである。
本発明の別の特徴は、前記データベースから、所定の支持度の最小値である最小支持度と1つの時系列パターングループにまとめられた時系列パターンの種類数の最大値である最大グループサイズを満たす全ての時系列パターングループを抽出することである。
本発明の別の特徴は、ある時系列パターンを末尾とする時系列パターングループを、末尾として指定された時系列パターンを含むシーケンスレコードの該時系列パターンの最後の出現位置よりも前に現れるアイテムの組合せからアイテムパターンを抽出し、抽出されたアイテムパターンと末尾として指定された時系列パターンを組み合わせることによって時系列パターングループを作成する処理と、末尾として指定された時系列パターンを含むシーケンスレコードの該時系列パターンの最後の出現位置よりも前に現れる部分時系列パターンから、該アイテムパターンに含まれないアイテムを削除することによって時系列パターンを導出する処理と、によって抽出することである。
本発明の別の特徴は、ある時系列パターンを末尾とする時系列パターングループが抽出されたとき、該時系列パターングループ抽出処理において抽出されたアイテムパターンを該末尾として指定された時系列パターンの前に追加することによって作成された時系列パターンを末尾とする時系列パターングループ抽出処理と、該末尾として指定された時系列パターンの先頭のアイテムセットに追加することによって作成された時系列パターンを末尾とする時系列パターングループ抽出処理とを繰り返すことによって時系列パターングループを抽出することである。
本発明の別の特徴は、ある時系列パターンを末尾とする時系列パターングループ抽出処理において抽出されるアイテムパターンを頻出アイテムパターンに限定することによって、時系列パターンの作成と時系列パターン導出を行うアイテムパターンの種類数を限定すること、導出された時系列パターンの種類数が最大グループサイズを超えない時系列パターングループのみ出力することによって、所定の最小支持度と最大グループサイズの条件を共に満たす時系列パターングループを全て抽出することである。
データベース中のアイテムは、離散値又は離散値に対応付けることが出来る値であることが好ましい。
最大グループサイズの設定は省略しても良く、その場合には最大グループサイズを無限大として処理を行うことによって、所定の最小支持度を満たす全ての時系列パターングループを抽出する。
本発明によると、データの出現順序の乱れを許容した上で時系列パターンを抽出することが可能となる。
最小支持度と最大グループサイズが設定された場合、本発明によって最小支持度と最大グループサイズを共に満たす全ての時系列パターングループを抽出することが可能となる。
また、本発明のある時系列パターンを末尾とする時系列パターングループ抽出処理において抽出されるアイテムパターンを頻出アイテムパターンに限定すること、ある時系列パターンを末尾とする時系列パターングループ抽出後に抽出されたアイテムセットを利用して作成した該末尾とする時系列パターンを含む時系列パターングループ抽出処理を続けて行うこと、によって解析処理量を低減することが可能となる。
以下、図面を参照して本発明の実施の形態を説明する。
はじめに、本発明において利用する用語を定義する。データベースはレコードの集合からなり、レコードはシーケンスの識別子(シーケンスID)とタイムスタンプ又は順序関係を示す識別子とアイテム(項目)の組合せからなる。アイテムは離散値であり、アイテムの組合せをアイテムセットと呼ぶ。アイテムセットを構成するアイテムの数を長さと呼ぶ。アイテムが連続値の場合、範囲分割などによって区分けし、各区分けに特定の離散値を割り当てることにより、連続値を離散値に対応付けることが可能である。また、離散値をグループに分類し、各分類を特定の離散値に対応付けることにより、アイテムに含まれない離散値に対応付けることも可能である。また、あるアイテムセットISaとISbについて、ISaを構成するアイテムが全てISbに含まれている場合、ISbはISaを含むと表現し、ISa⊆ISbと表現する。データベースの例を表1に示す。
例えば、小売業における購買履歴データの場合、1レコードはある顧客の1回の買い物を意味し、シーケンスIDは顧客番号、タイムスタンプは購買日時、アイテムの組合せは購入商品のリストとなる。
データベースのレコードのアイテムの組合せを各々のシーケンスIDについてタイムスタンプ又は順序関係を示す識別子の順にソートした順列を、シーケンスレコードと呼ぶ。表1のデータベースをシーケンスレコード形式としたデータベースを表2に示す。
時系列パターンはアイテムセットの重複順列であり、1以上のn個のアイテムセットIS1,…,ISnから構成される時系列パターンはIS1→…→ISnと表現される。ある時系列パターンは、データベース中で該時系列パターンが現れるシーケンスレコードの数である支持回数と、該支持回数のデータベースの全シーケンスレコード数に対する割合である支持度を評価値として持つ。ここで、シーケンスレコードの数は、異なるシーケンスIDの種類数と等しい。表2に示したデータベースの例では、シーケンスレコード数は5であり、例えば、時系列パターンC,D→Aの支持回数は2、支持度は0.4となる。
ここで、シーケンスレコードと時系列パターンは等しい情報を示すが、本発明においてはデータベースに含まれるレコードによる時系列パターンをシーケンスレコードと呼ぶこととする。シーケンスレコードと時系列パターンは等しい特性を持つが、シーケンスレコードは評価値を持たない。ある時系列パターンSA=A1→…→AnとSB=B1→…→Bmについて、Ai1⊇B1、…、Aim⊇Bmを満たす整数i1<…<imが存在するとき、SAはSBを含むと表現し、SBはSAの部分時系列パターンである。例えば、時系列パターンC→D,E→Hは時系列パターンG→C,H→I→D,E,F→Hの部分時系列パターンであるが、時系列パターンC→Eは時系列パターンC,E→Fの部分時系列パターンではない。
また、アイテムセットもデータベース中で該アイテムセットを含むレコードのシーケンスIDの種類数である支持回数と該支持回数の全シーケンスレコード数に対する割合である支持度を評価値として持つ。表2に示したデータベースの例では、例えばアイテムセットA,Bの支持回数は2、支持度は0.4となる。
アイテムセットはレコード毎のアイテムの組合せであるが、シーケンスレコード単位でのアイテムの組合せをアイテムパターンと呼ぶ。アイテムパターンもデータベース中で該アイテムパターンを含むシーケンスレコード数である支持回数と該支持回数の全シーケンスレコード数に対する割合である支持度を評価値として持つ。表2に示したデータベースの例では、例えばアイテムパターンA,Bの支持回数は4、支持度は0.8となる。
時系列パターンのうち、1以上のアイテムセットからなる末尾の部分時系列パターンが一致し、該部分時系列パターンよりも前に現れるアイテムの種類(アイテムパターンと呼ぶ)が一致する時系列パターンを1つのグループとし、時系列パターングループと呼び、該時系列パターンは該時系列パターングループに属すると表現する。時系列パターンはアイテムの組合せと時系列パターンから、{アイテムの組合せ}→時系列パターンの形で表現される。該時系列パターンは該時系列パターングループに属する全ての時系列パターンに一致する1以上のアイテムセットからなる末尾の部分時系列パターン、該アイテムの組合せは該時系列パターングループに属する時系列パターンの全ての時系列パターンに一致する部分時系列パターンより前に現れるアイテムの組合せである。時系列パターングループは支持度とグループサイズの評価値を持つ。時系列パターングループの支持度は、該時系列パターングループに含まれる時系列パターンの支持回数の総和の全シーケンスレコード数に対する割合である。時系列パターングループのグループサイズは、該時系列パターングループに含まれる時系列パターンの種類数である。表2に示したデータベースの例においては、末尾の部分時系列パターンがAであり、アイテムパターンがB,Cである時系列パターングループ{B,C}→Aでの支持度は0.6、グループサイズは2であり、該時系列パターングループに属する時系列パターンB→C→A(支持度0.4)、C→B→A(支持度0.2)となる。
時系列パターングループ抽出処理は、解析対象のデータベースから支持度の最小値である最小支持度とグループサイズの最大値である最大グループサイズを共に満たす時系列パターングループとその時系列グループパターンに含まれる時系列パターンを全て抽出することである。
また、最小支持度の値を満たすアイテムセット、アイテムパターンをそれぞれ頻出アイテムセット、頻出アイテムパターンと呼ぶ。
図1は、本発明の第1の実施形態のシステム構成例を示す図である。このシステムは、処理部101と記憶部102とデータ格納部103を有する。処理部と記憶部はコンピュータからなり、解析対象のデータベースはデータ格納部に格納されている。処理部101は頻出アイテムセット抽出部111、時系列パターングループ抽出部112を備え、解析対象データベースと最小支持度と最大グループサイズをデータあるいはファイルなどの形式で入力値情報(121)として、頻出アイテムについてアイテムセットと頻度と支持度の組を表形式又はリスト形式などで頻出アイテムセット情報(122)として、頻出アイテムパターンについて時系列パターングループ表現形式とアイテムパターンと頻度と支持度の組を表形式又はリスト形式などで頻出アイテムパターン情報(123)として、時系列パターングループについて時系列パターングループ表現形式と支持度とグループサイズの組、時系列パターングループに属する時系列パターンについて時系列パターングループ表現形式と時系列パターンと支持度の組を表形式又はリスト形式などで時系列パターングループ情報(124)として記憶部102に保持する。また、処理部101には、キーボードやマウスなどを備える入力部104、及びディスプレイやプリンタ等からなる出力部105が接続されている。
図2は、本発明のユーザインタフェースの例を示している。このユーザインタフェース201は、解析対象のデータベースを指定する解析データベース指定部202、抽出する時系列パターングループの最小支持度を入力する最小支持度入力部203、最大グループサイズを入力する最大グループサイズ入力部204、処理の実行を指令する実行ボタン205、抽出された時系列パターングループをその評価値と属する時系列パターンと共に表示する結果表示部206からなる。ユーザは解析対象のデータベースを解析データベース指定部202で指定し、抽出する時系列パターングループの支持度の最小値を最小支持度入力部203に、時系列パターングループに含まれる時系列パターンの種類数であるグループサイズの最大値を最大グループサイズ入力部204にそれぞれ入力する。実行ボタン205によって、時系列パターングループ抽出処理を開始する。抽出された時系列パターングループは時系列パターングループ毎に時系列パターングループ、該時系列パターングループの支持度とグループサイズ、及び、該時系列パターングループに属する時系列パターン、該時系列パターンの支持度が結果表示部206に表示される。
なお、結果表示部206では表形式を用いて時系列パターングループを表示したが、時系列パターン、時系列パターングループを構成するアイテムセット、アイテムパターンをノードとする遷移図によって表示しても構わない。
また、解析データベース指定部202と最小支持度入力部203と最大グループサイズ入力部204と実行ボタン205が入力部104に、結果表示部206が出力部105に対応している。
図3は、本発明の時系列パターングループ抽出処理におけるユーザによる操作とシステムによる動作のフローを示した図である。はじめに、ユーザは解析対象のデータベースを指定し、抽出する時系列パターングループの最小支持度と最大グループサイズを入力する(301)。次に、実行を指示する(302)ことによって、時系列パターングループ抽出処理を開始する。システムは実行指示と同時に解析対象データベース、最小支持度、最大グループサイズを取得し、時系列パターングループ抽出処理を開始する(303)。はじめに、解析対象データベースをデータ格納部103から読み出し、頻出アイテムセットを抽出する(304)。頻出アイテムセットを抽出する処理手順の詳細は後述する。次に、抽出された頻出アイテムセットを用いて時系列パターングループを抽出する(305)。時系列パターングループを抽出する処理手順の詳細は後述する。最後に、抽出された時系列パターングループを出力部105に出力する(306)。ユーザは出力部105に出力された時系列パターングループをチェックすること(307)によって、時系列パターングループ抽出処理を終了する。
図4は、時系列パターングループ抽出の全体処理手順を説明するフローチャートである。はじめにユーザは解析対象のデータベースを入力部104にて指定し(401)、さらに、抽出する時系列パターングループの最小支持度と最大グループサイズを入力部104に入力する(402)。処理部101は、入力された解析対象データベース、最小支持度、最大グループサイズを記憶部102に保持する。記憶部102では、解析対象データベースをデータベース名やファイル名として、最小支持度と最大グループサイズを数値として保持する。次に、頻出アイテムセット抽出部111はデータ格納部103に格納されたデータベースからシーケンスレコードを読み出し、最小支持度を満たすアイテムセットである頻出アイテムセットを抽出し(403)、記憶部102に頻出アイテムセット情報122として保持する。ここで、頻出アイテムセット抽出に利用される最小支持度の値は時系列パターングループ抽出のために入力された最小支持度と等しく、頻出アイテムセット抽出処理は特許文献1、2、非特許文献1などの従来手法において頻度の数え上げをシーケンスレコード単位とすることによって抽出可能である。その後、時系列パターングループ抽出部112は、各頻出アイテムについて、該頻出アイテムを末尾に含む時系列パターングループを抽出し(405)、抽出された時系列パターングループと該時系列パターンに属する時系列パターンを出力部105に出力する。
時系列パターングループ抽出処理(405)は、特定の時系列パターンを末尾とする時系列パターングループ導出処理を繰り返すことによって、最小支持度及び最大グループサイズの条件を満たす全ての時系列パターングループを抽出する。図5は、特定の時系列パターンを末尾とする時系列パターングループを導出する処理(801)の手順の詳細を説明するフローチャートである。特定の時系列パターンとしてStailが指定された場合、はじめにStailを含むシーケンスレコードについて、Stailの最後の出現位置より前に現れるアイテムの組合せから、頻出アイテムパターンを抽出する(501)。頻出アイテムパターンを抽出する処理手順の詳細は後述する。頻出アイテムパターンとStailの組合せが時系列パターングループとなる。次に、抽出した各頻出アイテムパターンについて、該頻出アイテムパターンとStailを組み合わせることによって時系列パターングループを作成し、さらに、Stailを含むシーケンスレコードから、Stailより前に現われ、該頻出アイテムパターンに含まれるアイテムからなる部分時系列パターンを取り出し、該取り出した部分時系列パターンとStailを組み合わせることによって、該時系列パターングループに属する時系列パターンを導出する(503)。各時系列パターングループについて、該導出された時系列パターンの種類数が最大グループサイズ以下となる場合、時系列パターングループとして出力する(505)。
図6は、特定の時系列パターンを末尾とする時系列パターングループ導出処理における頻出アイテムパターン抽出処理(501)の手順の詳細を説明するフローチャートである。特定の時系列パターンをStailとするとき、Stailを含む各シーケンスレコードについて、はじめにStailの出現する最後の位置よりも前に現れる全てのアイテムを選出し(602)、該選出したアイテムから作成可能な全てのアイテムパターンを作成し(603)、頻出アイテムパターン情報122として、Stailとアイテムパターンと頻度の組を登録する。新規に登録する場合は頻度は1となり、既に登録済みの場合には頻度を1増加させることによって、アイテムパターンの頻度を数え上げる(604)。Stailを含む全てのシーケンスレコードに対する処理が終了した時点で、各アイテムパターンの頻度から支持度を計算し(607)、支持度が最小支持度未満となるアイテムパターンについて、頻出アイテムパターン情報122からStailと該アイテムパターンと頻度の組み合わせを削除する(609)。全てのアイテムパターンに対する処理が終了した時点で、頻出アイテムパターンのみが頻出アイテムパターン情報123として記憶部に残ることとなるため、Stailを末尾とする時系列パターングループ導出処理における頻出アイテムパターン抽出処理を終了する。
図6の処理手順において、Stailの出現する最後の位置よりも前に現れるアイテムとして選出されたアイテムのリストは特許文献1、2、非特許文献1におけるトランザクションデータと等しいため、特許文献1、2、非特許文献1など従来の頻出アイテムセット抽出処理手法によって、頻出アイテムパターン抽出のためのアイテムパターンの頻度を数え上げることが可能であることは言うまでもない。
図7は、特定の時系列パターンを末尾とする時系列パターングループ導出処理における頻出アイテムパターンからの時系列パターン導出処理(503)の手順の詳細を説明するフローチャートである。特定の時系列パターンStailを末尾とし、頻出アイテムパターンFpatとから構成される時系列パターングループ{Fpat}→Stailに属する時系列パターンを導出するとする。Stailを含むシーケンスレコードsrについて、srからStailが最後に出現する位置よりも前の部分を切り出し、時系列パターンSrestとする(702)。次に、SrestからFpatに含まれないアイテムを全て削除する(703)。残ったSrestについて、Fpatに含まれるがSrestに含まれないアイテムが存在する場合、次のレコードシーケンスの処理を行う。Fpatに含まれる全てのアイテムがSrestに含まれる場合、srからStailが出現する最後の位置よりも前にあり、Fpatに含まれるアイテムのみからなる時系列パターンが抽出されたことになるため、SrestとStailからSrest→Stailなる時系列パターンを作成し、記憶部102の時系列パターングループ情報124として、時系列パターングループ{Fpat}→Stailと時系列パターンSrestと頻度の組を登録する。新規に登録する場合は頻度は1となり、既に登録済みの場合には頻度を1増加させることによって、時系列パターンの頻度を数え上げる(705)。Stailを含む全てのシーケンスレコードの処理が終了した時点で、導出されたそれぞれの時系列パターンについてその支持度を計算し(706)、{Fpat}→Stailに属する時系列パターン導出処理を終了する。
図7の処理手順では、ある時系列パターングループに属する時系列パターンを全て抽出した後に最大グループサイズの条件を判定する手順としたが、図7に示した時系列パターン導出手順において、時系列パターングループに属する時系列パターン数の数え上げを時系列パターンの作成と同時に行い、該時系列パターン数が最大グループサイズを超えた時点で時系列パターン導出処理を中止しても良いことは言うまでもない。
図8は、ある時系列パターンを末尾に含む時系列パターングループを抽出する処理(405,804,808)の手順を詳細に説明するフローチャートである。部分時系列パターンが1つのアイテムセットの場合、該アイテムセットを末尾とする時系列パターングループ抽出処理となるが、その処理手順は等しい。ある時系列パターンStailを末尾に含む時系列パターングループを抽出するとする。はじめに、前述した手順によってStailを末尾とする時系列パターングループを導出する(801)。Stailを末尾とする時系列パターングループ導出処理801において、長さ2以上の頻出アイテムパターンが抽出された場合、長さ2以上の頻出アイテムパターンに含まれるアイテムPitemから、Pitem→Stailなる時系列パターンを作成し、Pitem→Stailを末尾に含む時系列パターンを抽出する(804)。長さ2以上の頻出アイテムパターンに含まれる全てのアイテムについて同様の処理を行う。次に、Stailの先頭のアイテムセットを含む頻出アイテムセットFsetについて、Stailの先頭のアイテムセットをFsetに置き換えた時系列パターンStail’を作成し(807)、Stail’を末尾に含む時系列パターンを抽出する(808)。Stailの先頭のアイテムセットを含む全ての頻出アイテムセットについて同様の処理を行う。
Stailの先頭のアイテムセットを含む全ての頻出アイテムセットの処理が終了した時点で、ある時系列パターンStailを末尾に含む時系列パターングループを抽出する処理を終了する。
以上が、本発明の解析方法である。このように解析処理において、ある頻出アイテム、及び、該頻出アイテムを末尾に含む時系列パターングループ抽出を続けて行うことによって、メモリ上で処理するシーケンスレコードの読み出し処理の繰り返しを回避することが出来る。さらに、時系列パターングループに属する時系列パターン導出処理において頻出アイテムパターンに限定すること、時系列パターングループ抽出処理において長さ2以上の頻出アイテムパターンが抽出された場合と先頭のアイテムセットを含む頻出アイテムセットが存在する場合に限定することによって、解析処理負荷を低減することが出来る。
なお、最大グループサイズの入力を省略することが可能であり、その場合は最大グループサイズを無限大に設定することによって、時系列パターングループの抽出が可能であることは言うまでもない。
また、最小支持度と最大グループサイズの設定はユーザの入力である必要はなく、システムやプログラムによって設定することも可能であることは言うまでもない。
第2の実施形態として、表1と表2に示したデータベースを例に取り、各処理部において行われる処理を説明する。ここで、最小支持度を0.4、最大グループサイズを3とする。
処理部101における頻出アイテムセット抽出処理では、データベースからシーケンスレコードを読み出し、各レコードに含まれるアイテムからアイテムセットを作成し、シーケンス数を数え上げることによって表3に示す頻出アイテムセットが抽出される。
次に、処理部101における時系列パターングループ抽出処理に移る。時系列パターングループ抽出処理では、頻出アイテムから作成される時系列パターンを末尾とする時系列パターングループを抽出する。まず、アイテムAを末尾に含む時系列パターングループ抽出処理が行われる。
はじめに、アイテムAを末尾とする時系列パターングループが抽出される。データベースから、アイテムAを含むシーケンスレコードを読み出し、アイテムAが最後に出現する位置よりも前に現れる頻出アイテムの組合せから、頻出アイテムパターンを抽出する。例えば、シーケンスID1の場合、アイテムAより前に現れるアイテムとして、BとCが取り出され、これらから作成可能な全てのアイテムの組合せが作成され、頻度が数え上げられる。同様にシーケンスID2,3,4ではそれぞれ、BとCとD、AとBとCとD、CとDが取り出され、これらから作成可能な全てのアイテムの組合せを作成し、頻度を数え上げることによって、表4に示す頻出アイテムパターンが抽出される。
その後、各頻出アイテムパターンについて、該頻出アイテムパターンとアイテムAから時系列パターングループを作成し、該時系列パターングループに属する時系列パターンを導出する。1つのアイテムからなる頻出アイテムパターンの場合、(頻出アイテムパターン)→Aの時系列パターンのみであることが明らかであるため、データベースからシーケンスレコードを読み出す必要はない。例えば、頻出アイテムパターン{B}の支持度は0.6であることから、時系列パターンB→A(支持度 0.6)をデータベースからシーケンスレコードを読み出すことなく抽出出来る。同様に、頻出アイテムパターン{C}と{D}についてもそれぞれ、時系列パターンC→A(支持度 0.6)、D→A(支持度 0.6)が抽出される。
アイテム数が2以上の頻出アイテムパターンについては、データベースからシーケンスレコードを読み出し、該アイテムパターンを構成するアイテムからなる部分時系列パターンを取り出すことによって、時系列パターングループに属する時系列パターンを抽出する。例えば、頻出アイテムパターン{B,C}の場合、時系列パターングループ{B,C}→Aが作成され、アイテムAを含むシーケンスレコードからアイテムAの最後の出現位置よりも前の部分時系列パターンを取り出し、頻出アイテムパターンB,Cに含まれないアイテムを削除した残りが頻出アイテムパターンB,Cのアイテムを全て含む場合に時系列パターンを作成する。例えば、シーケンスID2から、アイテムAが現れる最後の位置より前の部分時系列パターンB→C,Dが取り出され、頻出アイテムパターンB,Cに含まれないアイテムDを削除することによって、部分時系列パターンB→Cが作成される。また、シーケンスID5から、アイテムAが現れる最後の位置より前の部分時系列パターンC,D→Eが取り出され、頻出アイテムパターンB,Cに含まれないアイテムDとEを削除することによって、部分時系列パターンCが作成されるが、該部分時系列パターンはアイテムBを含まないため、時系列パターンを作成しない。その他、アイテムAを含むシーケンスID1と3のシーケンスレコードについて同様に処理することによって、それぞれ時系列パターンC→B→A、B→C→Aが作成される。時系列パターンB→C→A、C→B→Aの頻度がそれぞれ2と1であることから、時系列パターングループ{B,C}→Aの支持度は0.6、グループサイズは2であり、該時系列パターングループに属する時系列パターンとして、B→C→A(支持度 0.4)とC→B→A(支持度 0.2)が抽出され、出力部に出力される。同様にして、頻出アイテムパターン{B,D}、{C,D}、{B,C,D}から、それぞれ時系列パターングループ{B,D}→A(支持度 0.4、グループサイズ2)、属する時系列パターンB→D→A(支持度 0.2)とD→B→A(支持度 0.2)、{C,D}→A(支持度 0.6、グループサイズ 2)、属する時系列パターンC,D→A(支持度 0.4)とD→C→A(支持度 0.2)、{B,C,D}→A(支持度 0.4、グループサイズ 2)、属する時系列パターンB→C,D→A(支持度 0.2)とD→B→C→A(支持度 0.2)が抽出され、出力部に出力される。
アイテムAを末尾とする時系列パターングループ導出処理において、長さ2以上の頻出アイテムパターン{B,D}、{C,D}、{B,C,D}が抽出されたため、これらアイテムパターンに含まれるアイテムB,C,DをアイテムAの前に追加することによって作成される時系列パターンと該時系列パターンを末尾に含む時系列パターンを末尾とする時系列パターングループ抽出処理を行う。例えば、アイテムBを追加する場合、時系列パターンB→Aが作成され、時系列パターンB→AとB→Aを末尾に含む時系列パターンを末尾とする時系列パターン抽出処理が行われるが、時系列パターンB→Aを末尾とする時系列パターン導出処理の場合、B→Aの前に現れるアイテムから頻出アイテムパターンが抽出されないため、B→AとB→Aを末尾に含む時系列パターンを末尾とする時系列パターン抽出処理を終了する。また、アイテムCを追加する場合、時系列パターンC→Aが作成され、C→AとC→Aを末尾に含む時系列パターンを末尾とする時系列パターン抽出処理が行われる。C→Aを末尾とする時系列パターングループ導出処理では、頻出アイテムパターンとして{B}(支持度 0.4)が抽出されるため、時系列パターングループ{B}→C→A(支持度 0.4、グループサイズ 1)、属する時系列パターンB→C→A(支持度 0.4)が抽出されるが、アイテム数が2以上の頻出アイテムパターンが抽出されなかったため、該時系列パターンを末尾とする時系列パターングループ抽出処理を終了する。同様にして、アイテムDを追加した場合の処理が行われ、時系列パターングループ{C}→D→A(支持度 0.4、グループサイズ 1)、属する時系列パターンC→D→A(支持度 0.4)が抽出される。
また、アイテムAを含む頻出アイテムセットA,Bが存在するため、A,BとA,Bを末尾に含む時系列パターンを末尾とする時系列パターングループ抽出処理が行われる。アイテムセットA,Bを末尾とする時系列パターングループ導出処理では、頻出アイテムパターンとして{D}(支持度 0.4)が抽出されるため、時系列パターングループ{D}→A,B(支持度 0.4、グループサイズ 1)、属する時系列パターンD→A,B(支持度 0.4)が抽出される。長さ2以上の頻出パターンが抽出されず、アイテムセットA,Bを含む頻出アイテムセットが存在しないため、A,BとA,Bを末尾に含む時系列パターンを末尾とする時系列パターングループ抽出処理を終了する。
以上の処理によって、アイテムAを末尾に含む時系列パターングループ、つまり、アイテムA、及び、Aを含む頻出アイテムセットを末尾とする全ての頻出時系列パターングループと該時系列パターングループに属する時系列パターンを抽出することが出来る。
本実施例の場合、アイテムB,C,Dについて同様に処理することによって、全ての時系列パターングループと該時系列パターングループに属する時系列パターンを抽出し、出力部に出力する。出力部に出力される時系列パターングループと時系列パターンを表5に示す。
ここで、時系列パターングループ抽出処理において、アイテム数の少ないアイテムセットからアルファベット順で処理を行う例を示したが、処理順序はランダム、支持度の小さい順とした場合にも同様の処理によって時系列パターングループの抽出が可能であることは言うまでもない。一般的には、アイテム数が少なく、支持度の小さいアイテムセットから順に時系列パターングループ抽出処理を行うことが望ましい。
本発明の第3の実施形態として、抽出する時系列パターングループの末尾の時系列パターンが指定された場合を示す。
図9は、本発明の第3の実施形態におけるユーザインタフェースの例を示している。このユーザインタフェース901は、解析対象のデータベースを指定する解析データベース指定部902、抽出する時系列パターングループの最小支持度を入力する最小支持度入力部903、最大グループサイズを入力する最大グループサイズ入力部904、処理の実行を指令する実行ボタン905、抽出された時系列パターングループをその評価値と属する時系列パターンと共に表示する結果表示部906、及び、抽出する時系列パターングループの末尾の部分時系列パターンを指定する末尾時系列パターン入力部907を有する。解析データベース指定部902、最小支持度入力部903、最大グループサイズ入力部904、実行ボタン905、及び結果表示部906は、それぞれ図2に示した解析データベース指定部202、最小支持度入力部203、最大グループサイズ入力部204、実行ボタン205、及び結果表示部206と等しい。本実施例では、解析対象のデータベース、最小支持度、最大グループサイズの他に末尾時系列パターンを入力することによって、入力した末尾時系列パターンを末尾とする時系列パターングループのみを抽出する。
図10は、末尾時系列パターンが指定された場合の時系列パターングループ抽出処理におけるユーザによる操作とシステムによる動作のフローを示した図である。はじめに、ユーザは解析対象のデータベースを指定し、抽出する時系列パターングループの最小支持度と最大グループサイズ、及び、抽出する時系列パターングループの末尾の時系列パターンを入力する(1001)。次に、実行を指示する(1002)ことによって、時系列パターングループ抽出処理を開始する。システムは、実行指示と同時に解析対象データベース、最小支持度、最大グループサイズ、末尾時系列パターンを取得し、時系列パターングループ抽出処理を開始する(1003)。末尾時系列パターンを末尾とする時系列パターン導出処理を行い、時系列パターングループと該時系列パターングループに属する時系列パターンを抽出する(1004)。最後に、抽出された時系列パターングループを出力部105に出力する(1005)。ユーザは出力部105に出力された時系列パターングループをチェックすること(1006)によって、時系列パターングループ抽出処理を終了する。
図11は、末尾時系列パターンを指定された場合の時系列パターングループ抽出の全体処理手順を説明するフローチャートである。はじめにユーザは解析対象のデータベースを入力部104にて指定し(1101)、抽出する時系列パターングループの最小支持度と最大グループサイズを入力部104に入力し(1102)、さらに、抽出する時系列パターングループの末尾の時系列パターンを入力部104に入力する(1103)。処理部101は、入力された解析対象データベース、最小支持度、最大グループサイズ、末尾時系列パターンを記憶部102に保持する。記憶部102では解析対象データベースをデータベース名やファイル名として、最小支持度と最大グループサイズを数値として、末尾時系列パターンを文字列やアイテムセットのリストとして保持する。末尾の時系列パターンが指定された場合は頻出アイテムセット抽出部111の処理は行わず、時系列パターングループ抽出部112の処理が開始される。時系列パターングループ抽出部112は、入力された末尾の時系列パターンについて、該時系列パターンを末尾とする時系列パターングループ導出処理を行い(1104)、導出された時系列パターングループと該時系列パターンに属する時系列パターンを出力部105に出力する。
以上によって、末尾の時系列パターンが指定された場合の時系列パターングループ抽出が行われる。
図12は、本発明の第4の実施形態のシステム構成例を示す図である。このシステムは処理装置1201、記憶装置1202、データ格納装置1203、入力装置1204、出力装置1205がバス又はネットワークである通信路1206を介して相互接続されている。各装置の処理は第1の実施形態と同じであり、処理装置1201は処理部101、記憶装置1202は記憶部102、データ格納装置1203はデータ格納部103、入力装置1204は入力部104、出力装置1205は出力部105の処理を行うことによって、時系列パターンを抽出することが出来る。
タイムスタンプ(時刻)又は順序関係を示す情報を含むデータ系列を解析対象とし、データの出現順序を伴うデータの関連性を解析するソフトウェア、サービスに本発明を適用出来る。汎用のデータマイニングソフトウェア、統計解析ソフトウェアの時系列パターンマイニング機能に本発明を追加することも出来る。
本発明の第1の実施形態におけるシステム構成例を示す図。
本発明の第1の実施形態におけるユーザインタフェース例を示す図。
本発明の第1の実施形態におけるユーザ操作とシステム動作の関連を示したフロー図。
本発明における時系列パターングループ抽出処理の概要を示すフローチャート。
本発明におけるある特定の時系列パターンを末尾とする時系列パターングループ導出処理を示すフローチャート。
本発明における頻出アイテムパターン抽出処理を示すフローチャート。
本発明における頻出アイテムパターンからの時系列パターン導出処理を示すフローチャート。
本発明における特定の時系列パターン及び該特定の時系列パターンを末尾に含む時系列パターンを末尾とする時系列パターングループ抽出処理を示すフローチャート。
本発明の第3の実施形態におけるユーザインタフェース例を示す図。
本発明の第3の実施形態におけるユーザ操作とシステム動作の関連を示す図。
本発明における末尾時系列パターンが指定された場合の時系列パターングループ抽出処理の概要を示すフローチャート。
本発明の第4の実施形態のシステム構成例を示す図。
符号の説明
101…処理部、102…記憶部、103…データ格納部、104…入力部、105…出力部、1201…処理装置、1202…記憶装置、1203…データ格納装置、1204…入力装置、1205…出力装置、1206…通信路