(57)【特許請求の範囲】
【請求項１】
事象と，その事象の属するＩＤと，事象間の順序関係を示す情報の複数の組からなるデータをコンピュータによって解析するデータ解析システムであって，
前記コンピュータは、解析対象の前記データと、解析処理を行う実行プログラムを格納する記憶部と，前記実行プログラムを実行する処理部を有し，
前記処理部は、
同じＩＤを有する事象をその順序関係に従って並べた前記データを時系列データとして前記記憶部に格納する第１のステップと，
前記事象の重複順列からなる時系列パターンについて，前記時系列データ各々において繰り返される回数を数え上げる第２のステップと，
前記繰り返し回数が所定の回数以上となる前記時系列データの数を数え上げる第３のステップと，
数え上げた前記時系列データの数が所定の数以上となる時系列パターンを抽出する第４のステップと， 
を実行することを特徴とするデータ解析システム。
【請求項２】
請求項１記載のデータ解析システムであって，
前記処理部は、
前記時系列データ各々に所定の間隔でチェックポイントを設け，前記第１のステップにおいて，前記時系列データ各々をチェックポイントから次のチェックポイントまでの範囲で前記記憶部に格納するステップと、
前記繰り返し回数が未知の時系列パターンの前記時系列データ各々における繰り返し回数について，前記第２のステップにおいて、前記記憶部に格納された範囲の前記時系列データから繰り返し回数を数え上げるステップと，
数え上げを実施した前記範囲における数え上げ回数と、数え上げが未実施の時系列データにおける該時系列パターンを構成する事象の繰り返し回数とを加算することによって，該時系列パターンの該時系列データにおける繰り返し回数の上限値を算出するステップと，
前記第３のステップにおいて、該繰り返し回数の上限値が所定の回数以上となる時系列パターンの時系列データの数を数え上げるステップと，
数え上げた前記時系列データの数が所定の数以上となる時系列パターンについて，前記ステップを繰り返すステップと，
を実行することを特徴とするデータ解析システム。
【請求項３】
請求項１記載のデータ解析システムであって、
前記時系列データは区切れを有するデータであり、
前記処理部は、
前記区切れ毎に、前記第２のステップと前記第３のステップと前記第４のステップを実行する、
ことを特徴とするデータ解析システム。
【請求項４】
請求項１記載のデータ解析システムであって、
前記時系列データは、Ｗｅｂサイトへのアクセス単位を示すセッション番号を含むアクセスログデータであり、
前記処理部は、
同一の前記セッション番号を有する前記アクセスログデータ毎に、前記第２のステップと前記第３のステップと前記第４のステップを実行する、
ことを特徴とするデータ解析システム。
【請求項５】
請求項１記載のデータ解析システムであって、
前記コンピュータは出力部を更に備え、
前記処理部は、抽出した前記時系列パターンを、前記第２のステップで数え上げられた前記回数と前記第３のステップで数え上げられた前記数と共に前記出力部に出力する、
ことを特徴とするデータ解析システム。
【請求項６】
請求項１記載のデータ解析システムであって、
前記コンピュータは前記所定の回数及び前記所定の数を入力可能な入力部を更に備える、
ことを特徴とするデータ解析システム。
【請求項７】
請求項３記載のデータ解析システムであって、
前記コンピュータは前記区切れを前記時系列データに設定する条件を入力可能な入力部を更に備えた、
ことを特徴とするデータ解析システム。
【請求項８】
事象と、前記事象の属するＩＤと、前記事象間の順序関係を示す情報の組が複数格納されたデータを、処理部と記憶部を備えた計算機で解析するデータ解析方法であって、
同じＩＤを有する前記事象をその順序関係に従って並べたデータを時系列データとし、１以上の前記事象を順方向に並べた重複順列を時系列パターンとし、
前記処理部は、
所定の数以上の前記時系列データにおいて、前記時系列データ各々における所定の回数以上繰り返される前記時系列パターンである頻出繰り返し時系列パターンを抽出するため、
繰り返し回数が未知の前記時系列パターンについて、前記時系列データ各々における繰り返し回数を数え上げるステップと、
前記繰り返し回数が所定の回数以上となる前記時系列データの数を出現頻度として数え上げるステップと、
前記出現頻度が所定の数以上となる前記時系列パターンを抽出するステップと、
を実行することを特徴とするデータ解析方法。
【請求項９】
請求項８記載のデータ解析方法であって、
前記時系列データは区切れが存在するデータであり、
前記処理部は、前記区切れ毎の前記時系列データに対し、前記ステップ各々を実行する、
ことを特徴とするデータ解析方法。
【請求項１０】
請求項８記載のデータ解析方法であって、
前記時系列データは、Ｗｅｂサイトへのアクセス単位を示すセッション番号を有するアクセスログデータであり、
前記処理部は、同一の前記セッション番号を有する前記アクセスログデータ毎に、前記ステップ各々を実行する、
ことを特徴とするデータ解析方法。
【請求項１１】
請求項８に記載のデータ解析方法であって、
前記計算機は表示部を更に備え、
前記処理部は、抽出された前記時系列パターンと対応する前記繰り返し回数と前記出現頻度とを前記表示部に表示する、
ことを特徴とするデータ解析方法。
【請求項１２】
事象と、前記事象の属するＩＤと、前記事象間の順序関係を示す情報の組が複数格納されたデータを、処理部と記憶部を備えた計算機で解析処理するデータ解析方法であって、
前記処理部は、
同じＩＤを有する事象をその順序関係に従って並べたデータを時系列データとし、１以上の事象を順方向に並べた重複順列を時系列パターンとし、所定の数以上の前記時系列データにおいて、前記時系列データ各々における所定の回数以上繰り返される前記時系列パターンである頻出繰り返し時系列パターンを抽出するため、
前記時系列データ各々に、所定の間隔でチェックポイントを設定する第1のステップと、
前記時系列データ各々における繰り返し回数が未知の前記時系列パターンについて、前記時系列データ各々についてチェックポイントから次のチェックポイントまでの範囲で前記時系列パターンが繰り返される回数を数え上げる第２のステップと、
前記時系列データにおける前記時系列パターンの繰り返し回数の上限値を、既に数え上げられたチェックポイントまででの繰り返し回数と、当該チェックポイント以降に現れる各事象の繰り返し回数との和から算出する第３のステップと、
算出された前記上限値が所定の繰り返し回数以上となる時系列データの数を出現頻度として数え上げる第４のステップと、
数え上げた前記出現頻度が所定の数以上となる時系列パターンを抽出する第５のステップと、
抽出された前記時系列パターンについて、前記第２から第５のステップを最後のチェックポイントまで繰り返す第６のステップと、
を実行することを特徴とするデータ解析方法。
【請求項１３】
請求項１２に記載のデータ解析方法であって、
前記計算機は出力部を更に備え、
前記処理部は、
最後のチェックポイントまで処理した時点で、抽出された前記時系列パターンと対応する前記繰り返し回数と前記出現頻度とを前記出力部に出力する、
ことを特徴とするデータ解析方法。
【請求項１４】
請求項１２記載のデータ解析方法であって、
前記時系列データは区切れが存在するデータであり、
前記処理部は、前記区切れ毎の前記時系列データに対し、前記ステップ各々を実行する、
ことを特徴とするデータ解析方法。
【請求項１５】
請求項１２記載のデータ解析方法であって、
前記時系列データは、Ｗｅｂサイトへのアクセス単位を示すセッション番号を含むアクセスログデータであり、
前記処理部は、同一の前記セッション番号を有する前記アクセスログデータ毎に、前記ステップ各々を実行する、
ことを特徴とするデータ解析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ解析システム及び方法に関し、特にデータベースに含まれるデータの出現順序の規則性を明らかにするデータマイニング技術に関する。
【背景技術】
【０００２】
モバイル端末、ＩＣカード、ＩＣタグなどのデータ収集環境の普及により、時々刻々の人の行動や物の状態をデータとして獲得し、大量に蓄積することが可能となった。この大量に蓄積された人の行動や物の状態のデータを解析し、特徴的または典型的な行動パターンや状態パターンを抽出し、マーケティングやヘルスケアなどに応用したいというニーズがある。その解決手段として、大量に蓄積されたデータを解析し、その中に埋もれた有用な規則性やパターンを抽出するデータマイニングが知られている。特に、データの時間軸上の出現順序のパターンを解析する技術として時系列パターンマイニングがある。
【０００３】
例えば、クレジットカードの利用データの時系列パターンマイニングを考えてみる。顧客が店舗でクレジットカードを利用した履歴がクレジットカードの利用データとして、利用日時、利用店舗、利用額が記録される。大量のクレジットカード利用データから、複数の顧客に共通して現れるパターンとして、順序を伴うパターンである時系列パターンを抽出することが出来る。「店舗Ａで購買した顧客は、その後に店舗Ｂで高額の購買をする場合が多い」のような時系列パターンが抽出された場合、店舗Ａと店舗Ｂに併買行動の関係があることがわかり、店舗の配置、販売戦略に役立てることが出来る。また、Ｗｅｂサイトのアクセスログからユーザの典型的なアクセスパターンを抽出ことが可能であり、抽出されたアクセスパターンに含まれないアクセスが起きていること、過去のデータでは抽出されなかったアクセスパターンが新たなデータで抽出されたことなどの判定により、異常なアクセスの検出に活用出来る。また、建設機械の稼働履歴と故障やメンテナンスの履歴から、故障が発生しやすい稼働状態パターンや通常の稼働パターンを抽出することが可能であり、故障を防ぐ稼働プランの設計や異常な稼働状態の検出に役立てることが出来る。
【０００４】
大量のデータから時系列パターンを抽出する研究は、データマイニングの分野
で行われてきた。例えば、特許文献１、非特許文献１に記載の方法がある。特許文献１と非特許文献１の方法では、アイテム（データ項目、事象）の組合せとタイムスタンプ（時刻）又は出現順所を示す識別子からなるデータベースから、ユーザが予め設定した支持度（出現頻度の全データに対する割合を表す）の最小値以上となる時系列パターンを抽出する。時系列パターンはアイテムの組合せ（アイテムセット）の出現順序を含んだパターンであり、１以上のｎ個のアイテムセットからなる時系列パターンは、＜（ＩＳ１）・・・（ＩＳｎ）＞で表現される。ここで、（ＩＳ１）、・・・、（ＩＳｎ）はアイテムセットであり、アイテムセットは１以上のアイテムからなる。ある時系列パターンの支持度は、全時系列データの中でその時系列パターンを含む時系列データの割合である。最小支持度以上となる時系列パターンは頻出時系列パターンと呼ばれる。頻出時系列パターン抽出は、候補となる時系列パターン（候補時系列パターン）の作成とデータベースからのデータ読み出しによる時系列データ中に該候補時系列パターンが現れる頻度の数え上げと、支持度の最小値以上の頻度となる時系列パターンの選出によって行われる。
【０００５】
時系列パターンマイニングの別の問題として、１つの時系列データにおいて繰り返される時系列パターン（繰り返し時系列パターン）を抽出する問題もある。例えば、クレジットカードの利用データの繰り返し時系列パターン抽出を考えてみる。長期間に渡って利用された１利用者の利用データから、複数回繰り返される利用パターンである時系列パターンを抽出することが出来る。「店舗Ｃで購買し、次に店舗Ｄで購買したとき、その後に店舗Ｅで購買することが多い」のような時系列パターンが抽出された場合、店舗Ｃと店舗Ｄと店舗Ｅを決まった順序で定期的に利用していることが分かり、広告戦略、販売戦略に役立てることや、定期的な利用パターンの傾向から利用者のタイプを分類するセグメンテーションに役立てることが出来る。
【０００６】
繰り返し時系列パターンを抽出する研究はデータマイニングの分野、バイオインフォマティクスの分野で行われてきた。例えば、特許文献２、３に記載の方法がある。特許文献２に記載の方法では、一人の時系列データにおいて、所定の頻度以上繰り返される時系列パターンを抽出ことにより、定期的に行っているパターンを抽出出来る。また、特許文献３に記載の方法では、実際に繰り返される厳密な回数を数え上げず、統計的に繰り返されていると判断されたパターンを抽出する。特許文献２と異なり、繰り返されるパターンは意味の無い部分と考えられており、それらを除去することが特許文献３のようなバイオの分野での繰り返しパターン抽出の目的である。特許文献２では、繰り返されるパターンが意味のある部分と考えられており、それらを厳密な出現回数と共に見つけ出すことが目的である。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平8-263346号公報
【特許文献２】特開2001-229202号公報
【特許文献３】米国特許出願公開US2003/0068617
【非特許文献】
【０００８】
【非特許文献１】R.Agrawal, R.Srikant, "Mining Sequential Patterns:Generalizations and Performance Improvements", in proceedings ofInternational Conference on Extending Database Technology, 1996
【発明の概要】
【発明が解決しようとする課題】
【０００９】
実際の解析あるいは分析では常に全データを分析対象とする訳ではない。例えば、人の行動分析においては、たまたま行われた行動はノイズとして除去し、ある程度の回数以上繰り返された行動のみを分析対象とする場合がある。多くのユーザが定期的に行った行動を有意な行動パターンとして抽出したいというニーズもある。購買分析においては、定期的に繰り返して購買してくれる顧客の購買パターンを知り、そのパターンでの購買を促進することにより、定期的に繰り返し購買をする顧客を生み出すことに役立てることが出来る。
【００１０】
このように、前述の特許文献１と非特許文献１、特許文献２と３はそれぞれ、多人数の時系列データにおいて複数の顧客に共通して現れる時系列パターンの抽出、一人の時系列データにおいて複数回繰り返される時系列パターンの抽出が可能である。しかし、この両者を共に考慮して時系列パターンを抽出することは考慮されていなかった。
【００１１】
単純には、まず個々の顧客の時系列データで繰り返しパターンを抽出し、それらの中から所定の数以上の顧客で抽出されたパターンを抽出することによって、両者の条件を満たすパターンを抽出出来る。しかし、顧客毎に繰り返す購買パターンは異なるため、単純に組み合わせた方法では不要なパターンの探索処理を膨大な時系列データに対して行うことになり、膨大な不要な処理が発生するため、現実的には困難である。
【００１２】
本発明の目的は、各時系列データにおいて所定の回数以上繰り返される時系列パターンであり、所定の数以上の時系列データにおいて該繰り返し回数の条件を満たす時系列パターンである頻出繰り返し時系列パターンを抽出するデータ解析システム及び方法を提供することである。
【００１３】
本発明の他の目的は、チェックポイントの利用と繰り返し回数と出現回数の上限値の算出によって、探索処理量を低減するデータ解析システム及び方法を提供することである。
【課題を解決するための手段】
【００１４】
上記の目的を達成するため、本発明においては、処理部と記憶部とを備えた計算機を用い、事象と，事象の属するＩＤと，事象間の順序関係を示す情報の組が複数格納されたデータを、同じＩＤを有する事象をその順序関係に従って並べた時系列データとし，１以上の事象を順方向に並べた重複順列を時系列パターンとし，所定の数以上の時系列データにおいて，各時系列データにおける所定の回数以上繰り返される時系列パターンである頻出繰り返し時系列パターンを抽出するため，繰り返し回数が未知の時系列パターンについて，各時系列データにおける繰り返し回数を数え上げるステップと，この繰り返し回数が所定の繰り返し回数以上となる時系列データの数を数え上げるステップと，この数え上げた時系列データの数が所定の数以上となる時系列パターンを抽出するステップとを処理部で実行するデータ解析システム及び方法を構成する。
【００１５】
また、上記の目的を達成するため、本発明においては、処理部と記憶部とを備えた計算機を用い、事象と，事象の属するＩＤと，事象間の順序関係を示す情報の組が複数格納されたデータを，同じＩＤを有する事象をその順序関係に従って並べた時系列データとし，１以上の事象を順方向に並べた重複順列を時系列パターンとし，所定の数以上の時系列データにおいて，各時系列データにおける所定の回数以上繰り返される時系列パターンである頻出繰り返し時系列パターンを抽出するため，各時系列データに，所定の間隔でチェックポイントを設定する第1のステップと，各時系列データにおける繰り返し回数が未知の時系列パターンについて，各時系列データについてチェックポイントから次のチェックポイントまでの範囲で該時系列パターンが繰り返される回数を数え上げる第２のステップと，
該時系列データにおける該時系列パターンの繰り返し回数の上限値を，既に数え上げられたチェックポイントまででの繰り返し回数と，該チェックポイント以降に現れる各事象の繰り返し回数との和から算出する第３のステップと，該算出された上限値が所定の繰り返し回数以上となる時系列データの数を数え上げる第４のステップと，該時系列データの数が所定の数以上となる時系列パターンを抽出する第５のステップと，該抽出された時系列パターンについて前記第２から第５のステップを最後のチェックポイントまで繰り返す第６のステップを処理部で実行するデータ解析システム及び方法を構成する。
【発明の効果】
【００１６】
本発明によると、個々の時系列データにおいて所定の回数以上繰り返される時系列パターンであって、かつ、所定の数以上の時系列データにおいて該繰り返し条件を満たす時系列パターンを抽出することが可能となる。
【００１７】
また、本発明のデータの処理単位毎に各時系列データの繰り返し回数の数え上げ処理において繰り返し回数の上限値を算出し、所定の繰り返し回数未満となる場合に以降の繰り返し回数の数え上げを回避すること、出現頻度の数え上げをデータの処理単位毎に行うことによって解析処理量を低減することが可能となる。
【図面の簡単な説明】
【００１８】
【図１】第１の実施例のシステム構成例を示す図である。
【図２】第１の実施例に係る、ユーザインタフェースの一例を示す図である。
【図３】第１の実施例に係る、ユーザ操作とシステム動作の関連を示したフロー図である。
【図４】第１の実施例に係る、頻出繰り返し時系列パターン抽出処理の概要を示すフローチャート図である。
【図５】第１の実施例に係る、頻出繰り返しアイテム抽出処理を示すフローチャート図である。
【図６】第１の実施例に係る、時系列データ読み出し処理を示すフローチャート図である。
【図７】第１の実施例に係る、繰り返しパターン計数処理を示すフローチャート図である。
【図８】第１の実施例に係る、特定の時系列データに対する特定の時系列パターンの繰り返し回数の数え上げ処理を示すフローチャート図である。
【図９】第１の実施例に係る、本発明における出現回数計数処理を示すフローチャート図である。
【図１０】第３の実施例のシステム構成例を示す図である。
【図１１】第３の実施例に係る、ユーザインタフェース例を示す図である。
【図１２】第３の実施例に係る、ユーザ操作とシステム動作の関連を示した図である。
【図１３】第３の実施例に係る、特定の時系列データに対する特定の時系列パターンの繰り返し回数の数え上げ処理の変形例を示すフローチャート図である。
【図１４】第１の実施例に係る、時系列データ読み出し処理と記憶装置から読み出される時系列データの関係示すイメージ図である。
【発明を実施するための形態】
【００１９】
以下、図面を参照して本発明の実施の形態を説明する。
【００２０】
はじめに、種々の実施の形態において利用するデータの構成を説明する。データベースはレコードの集合からなり、レコードは事象（アイテム）の組合せ（アイテムセット）と、その事象の組合せが属する識別子（時系列データＩＤ）と、タイムスタンプ又は順序関係を示す識別子の組からなる。同一の時系列データＩＤを持つ１以上のレコードを、タイムスタンプ又は順序関係を示す識別子の順に配置したアイテムセットのリストの組で表現したデータを時系列データと呼ぶ。ここで、アイテムは離散値である。アイテムが連続値の場合、範囲分割などによって区分けし、各区分けに特定の離散値を割り当てることにより、連続値を離散値に対応付けることが可能である。また、離散値をグループに分類し、各グループを特定の離散値に対応付けることにより、アイテムに含まれない離散値に対応付けることも可能である。
【００２１】
例えば、クレジットカードの利用データの場合の一例を表１と表２に示す。表１は表形式の表現であり、クレジットカードの利用データの場合、１レコードは、ある顧客の一回の利用を意味し、時系列データＩＤは「カードＩＤ」、タイムスタンプは「利用日」、事象は「利用内容」となる。また、表２は時系列データ形式の表現であり、１時系列データは、ある顧客の長期間に渡る利用の履歴（利用履歴）を意味し、事象のリストは、利用した順に並べられた利用内容となる。
【００２２】
時系列パターンはアイテムセットの重複順列であり、１以上のｎ個のアイテムセット（ＩＳ１）、・・・、（ＩＳｎ）から構成される時系列パターンは＜（ＩＳ１）・・・（ＩＳｎ）＞と表現される。ある時系列パターンが１つの時系列データ中に現れる回数である繰り返し回数と呼ぶ。ある時系列パターンは、該時系列パターンが所定の繰り返し回数以上現れる時系列データの数である出現頻度と、該時系列データにおける繰り返し回数の統計値を評価値として持つ。ここで、時系列データの数は、異なる時系列データＩＤの種類数と等しい。
【００２３】
表１、２に示したデータの例では、時系列データ数は３であり、例えば、時系列パターン＜（店舗Ａ）（店舗Ｂ）＞のカードＩＤがｃａｒｄ０１のデータにおける繰り返し回数は２である。また、例えば、時系列パターン＜（店舗Ａ）（店舗Ｂ）＞は，カードＩＤがｃａｒｄ０１で繰り返し回数が２，ｃａｒｄ０２で１，ｃａｒｄ０３で３であることから，所定の繰り返し回数を２以上と設定した場合の出現頻度は２であり、ｃａｒｄ０１とｃａｒｄ０３が該当する。また，繰り返し回数の統計値は平均２．５、最大３、最小２である。
【００２４】
【表１】
0005478229.tif 000002
【００２５】
【表２】
0005478229.tif 000003
【実施例１】
【００２６】
図１は、第１の実施例のデータ解析システムの一構成例を示す図である。このシステムは、処理部であるプロセッサ１０１と、記憶部を構成するメモリ１０２と記憶装置１０３を有する。プロセッサ１０１とメモリ１０２はコンピュータ１００を構成し、解析対象のデータは記憶装置１０３に格納されている。本実施例の時系列パターン抽出プログラムはメモリ１０２に格納されており、プロセッサ１０１によって実行されることによって、図４に示す処理が実行される。
【００２７】
メモリ１０２には、図１に示すように、実行プログラム１０６に加え、設定値情報１０７〜チェックポイント情報１１１が記憶される。設定値情報１０７は、解析対象データと繰り返し回数の最小値と出現頻度の最小値と解析対象データの処理単位の設定値をデータあるいはファイルなどの形式で保持する。時系列データ情報１０８は、記憶装置１０３から読み出した時系列データについて時系列データＩＤと時系列データを、例えば、ｃａｒｄ０１、＜（店舗Ａ）（店舗Ｃ）（店舗Ａ）（店舗Ｂ、高額決済）（店舗Ｃ）＞のように、表形式あるいはリスト形式などで保持する。
【００２８】
アイテム情報１０９は、解析対象のデータに現れる各アイテムについて、例えば（店舗Ａ、ｃａｒｄ０１、３、０）のように、アイテムと時系列データＩＤと時系列データにおける繰り返し回数と探索する時系列パターンの数え上げに利用するための繰り返し回数（カウント値と呼ぶ）との組を表形式あるいはリスト形式などで保持する。探索時系列パターン情報１１０は、探索する時系列パターンについて、例えば、（＜（店舗Ａ）（店舗Ｂ、高額決済）＞、ｃａｒｄ０１、１、０）のように、探索時系列パターンと時系列データＩＤと数え上げ済みの繰り返し回数と数え上げ済みの時系列パターンのパターン位置との組を表形式あるいはリスト形式などで保持する。
【００２９】
また、メモリ１０２は、繰り返し回数の数え上げを行う時系列データの先頭位置をチェックポイント情報１１１として保持する。このチェックポイントについては後述する。更に、コンピュータ１００には、キーボードやマウスなどを備える入力装置１０４、及びディスプレイやプリンタなどからなる出力装置１０５が接続されている。
【００３０】
図２は、本実施例のユーザインタフェースの一例を示している。このユーザインタフェース２００は、解析対象のデータを指定する解析データ指定部２０１、解析対象データの処理単位を指定するチェックポイント指定部２０２、抽出する時系列パターンの繰り返し回数の最小値（最小繰り返し回数）を指定する最小繰り返し回数入力部２０３と出現頻度の最小値（最小出現頻度）を指定する最小出現頻度入力部２０４、処理の実行を指令する実行ボタン２０５、抽出された時系列パターンとその評価値とを表示する結果表示部２０６からなる。
【００３１】
ユーザは解析対象データを解析データ指定部２０１で指定し、処理単位をチェックポイント指定部２０２に、抽出する時系列パターンの繰り返し回数の最小値を最小繰り返し回数入力部２０３に、抽出する時系列パターンの出現頻度の最小値を最小出現頻度入力部２０４に、それぞれ入力する。そして、実行ボタン２０５によって、時系列パターン抽出処理を開始する。
【００３２】
抽出された時系列パターンは、時系列パターンを構成するアイテムセットのリストと、時系列パターンの評価値である繰り返し回数の統計値と出現頻度とが結果表示部２０６に表示される。なお、結果表示部２０６では表形式を用いて時系列パターンを表示したが、時系列パターンを構成するアイテムセットをノードとする遷移図によって表示しても構わない。
【００３３】
また、解析データ指定部２０１とチェックポイント指定部２０２と最小繰り返し回数入力部２０３と最小出現頻度入力部２０４とが入力装置１０４に、結果表示部２０６が出力装置１０５に対応している。なお、タッチパネルとして機能するディスプレイ等を用いることにより、この入力装置１０４と出力装置１０５を一体化構成として形成することができることは言うまでもない。
【００３４】
図３は、本実施例の時系列パターン抽出処理におけるユーザによる操作とシステムによる操作のフローの一例を示した図である。
【００３５】
はじめに、ユーザは入力装置１０４において、解析対象のデータを指定、解析対象データの処理単位を入力、抽出する時系列パターンの最小繰り返し回数と最小出現頻度を入力する（３０１）。次に、実行を指示する（３０２）ことによって、時系列パターン抽出処理を開始する。
【００３６】
データ解析システムは実行指示と同時に解析データ、データの処理単位、最小繰り返し回数、最小出現頻度を取得してメモリ１０２に格納し、メモリ１０２に格納された実行プログラムをプロセッサ１０１で実行する（３０３）。実行プログラムは、記憶装置１０３からの時系列データの読み出し、繰り返し回数の計数処理、出現頻度の計数処理によって、頻出繰り返し時系列パターンを抽出する（３０４）。頻出繰り返し時系列パターンの抽出処理手順の詳細は後述する。最後に、抽出された時系列パターンを出力装置１０６に出力する（３０５）。ユーザは出力装置１０６に出力された時系列パターンをチェックすること（３０６）によって、時系列パターン抽出処理を終了する。
【００３７】
図４は、本実施例における時系列パターン抽出処理の全体処理手順を説明するフローチャートである。
【００３８】
はじめにユーザは、入力処理（３０１）に対応し、解析対象の解析データ、解析データの処理単位、最小繰り返し回数、最小出現頻度を入力装置１０４に入力する（４０１）。プロセッサ１０１は、入力された解析対象データ、解析処理単位、最小繰り返し回数、最小出現頻度をメモリ１０２に保持する。メモリ１０２では、解析対象のデータをデータベース名やファイル名として、データの処理単位と最小繰り返し回数と最小出現頻度を数値として、設定値情報１０７に保持し、チェックポイント情報１１１にデータ位置の先頭を示す０を設定する（４０１）。
【００３９】
次に、プロセッサ１０１は、実行プログラムの処理（３０４）に対応して、メモリ１０２に格納された実行プログラム１０６を実行し、頻出繰り返しアイテムの抽出処理４０２、探索する候補となる時系列パターンの設定４０３、記憶装置１０３からの時系列データの読み出し処理４０４、繰り返しパターン計数処理４０５、出現頻度の計数処理４０６によって頻出繰り返し時系列パターンを抽出する。また、抽出された時系列パターンを出力装置１０５に出力する（４０９）。
【００４０】
図４の頻出繰り返しアイテム抽出処理４０２は、記憶装置１０３から時系列データを読み出し、時系列データ毎の各アイテムの繰り返し回数の数え上げ、出現頻度の数え上げを行うことによって、最小繰り返し回数と最小出現頻度の条件を共に満たす全てのアイテムを抽出する。
【００４１】
図５は、図４における頻出繰り返しアイテム抽出処理４０２の手順を詳細に説明するフローチャートである。はじめにアイテム情報１０９を初期化し、空にする（５０１）。アイテム情報１０９は探索するアイテムについて、アイテム、時系列データＩＤ、この時系列データＩＤの時系列データにおける繰り返し回数、カウント値の組を表形式あるいはリストで保持する。次に、記憶装置１０３から１つの時系列データを読み出し、時系列データ情報１０９に時系列データＩＤと時系列データを保持する（５０２）。次に、該時系列データに現れる各アイテムの繰り返し回数を数え上げ（５０３）、最小繰り返し回数以上となるアイテムについて、アイテム、該時系列データの時系列データＩＤ、該アイテムの該時系列データＩＤの時系列データにおける繰り返し回数、カウント値の初期値である０の組をアイテム情報に登録する（５０４）。全ての時系列データについて同様の処理を繰り返す（５０５）。
【００４２】
全ての時系列データに対する処理が終了した時点で、アイテム情報１０９に登録された各アイテムについて、アイテム情報１０９に登録されている時系列データＩＤの数（出現頻度）を数え上げ（５０６）、該出現頻度が最小出現頻度未満となるアイテムのアイテムと時系列ＩＤと繰り返し回数とカウント値の組をアイテム情報から削除する（５０７）。
【００４３】
図５で説明した頻出繰り返しアイテム抽出処理４０２が終了した時点で、最小繰り返し回数と最小出現頻度を共に満たす全てのアイテムについて、アイテムと時系列データＩＤと該時系列データにおける繰り返し回数とカウント値の初期値の組がメモリ１０２のアイテム情報１０９に格納される。ここで、繰り返し回数の数え上げが終了した時系列データＩＤについては、時系列データ情報１０８に時系列データを保持しておく必要はなく、時系列データＩＤのみ保持し、時系列データは削除しても構わない。
【００４４】
図４に戻り、次に候補となる探索時系列パターンが設定（４０３）される。該候補となる探索時系列パターンは、２つ以上のアイテムから構成され、各時系列データにおける繰り返し回数と出現頻度が未知の時系列パターンである。探索時系列パターン情報１１０に時系列パターン、時系列データＩＤ、数え上げ済みの繰り返し回数の初期値、数え上げ済みの時系列パターンの位置の初期値の組が保持される。ここで、探索時系列パターン情報１１０は、探索する時系列パターンの各時系列データにおける繰り返し回数を数え上げるために利用される。なお、数え上げ済みの繰り返し回数の初期値と数え上げ済みの時系列パターンのパターン位置の初期値は共に０が設定される。
【００４５】
図４の時系列データ読み出し処理４０４は、記憶装置１０３から時系列データを読み出し、読み出した時系列データをメモリ１０２の時系列データ情報１０８に保持する。
【００４６】
図６は、図４における時系列データ読み出し処理４０４の手順を詳細に説明するフローチャートである。はじめに、メモリ１０２の時系列データ情報１０８の各時系列データＩＤの時系列データが保持されている場合、時系列データＩＤのみ保持し、時系列データを削除する（６０１）。次に、チェックポイント情報１１１から現在の時系列データのデータ位置を読み出し（６０３）、時系列データ情報１０８に格納された各時系列データＩＤについて、現データ位置から設定値情報１０６の解析処理単位の分だけ後ろのデータ位置までの時系列データを記憶装置１０３から読み出し（６０４）、アイテム情報１０９に登録されているアイテムを選び出し、時系列データ情報１０８に該時系列データＩＤの時系列データとして保持し（６０５）、該時系列データに現れる各アイテムについてアイテム情報１０９のカウント値に該アイテムが現れる回数を加算する（６０６）。全ての時系列データについて同様の処理を繰り返す（６０７）。全ての時系列データに対する処理が終了した時点で、時系列データ情報１０８に設定情報１０６のデータの処理単位分の各時系列データＩＤの時系列データが保持される。
【００４７】
再び図４に戻り、次に繰り返しパターン計数処理４０５が行われる。繰り返しパターン計数処理４０５は、メモリ１０２の時系列データ情報１０８、アイテム情報１０９、探索時系列パターン情報１１０を利用し、探索時系列パターン情報１１０に保持された時系列パターンの各時系列データにおける繰り返し回数を数え上げる。
【００４８】
図７は、図４の１時系列データに対する繰り返しパターン計数処理４０５の手順を詳細に説明するフローチャートである。探索時系列パターン情報１１０に保持された各時系列パターンについて（７０１）、繰り返し回数の数え上げ処理を行い（７０２）、該探索時系列パターンの該時系列データにおける繰り返し回数を数え上げる。次に、該探索時系列パターンの該時系列データにおける繰り返し回数の上限値を算出する（７０３）。繰り返し回数の上限値は、該時系列データにおける数え上げ済みの繰り返し回数、該時系列パターンにおける数え上げ済みの位置、該探索時系列パターンを構成する各アイテムの該時系列データにおける繰り返し回数とカウント値から、次に示す式によって算出される。
数え上げ済みのパターン位置が時系列パターンの初期値の場合：
(繰り返し回数の上限値) = (数え上げ済み繰り返し回数) + min{アイテムaの
繰り返し回数 - アイテムaのカウント値｝
ここで，aは探索時系列パターンを構成するアイテムである。
数え上げ済みのパターン位置が時系列パターンの初期値でない場合：
(繰り返し回数の上限値) = (数え上げ済み繰り返し回数) + min{アイテムaの
繰り返し回数 - アイテムaのカウント値｝ + 1
ここで，aは探索時系列パターンを構成するアイテムである。
【００４９】
時系列パターンの繰り返し回数の厳密な値は、現在までに繰り返し回数の数え上げ処理を完了した時系列データにおける繰り返し回数と、繰り返し回数の数え上げ処理が未処理の時系列データにおける繰り返し回数の和からなる。探索時系列パターンが数え上げ処理済みの時系列データと未処理の時系列データに跨る場合には、前述の和に１を加算する必要がある。繰り返し回数の数え上げが未処理の時系列データにおける探索時系列パターンの繰り返し回数の厳密な値は数え上げ処理を完了するまで未知である。
【００５０】
しかし、時系列パターンの繰り返し回数には、ある時系列パターンの繰り返し回数は該時系列パターンを構成する各アイテムの繰り返し回数以上になることはないという性質がある。したがって、該未処理の時系列データにおける探索時系列パターンの繰り返し回数は該未処理の時系列データにおける該探索時系列パターンを構成するアイテムの繰り返し回数の最小値より高い値にはなり得ない。数１は上記の時系列パターンの繰り返し回数の性質を利用して、時系列データにおける繰り返し回数の上限値を、時系列データにおける数え上げ済みの繰り返し回数、数え上げ済みの位置、探索時系列パターンを構成する各アイテムの時系列データにおける繰り返し回数とカウント値から算出する数式である。
【００５１】
数１によって算出された値が最小繰り返し回数を満たさない場合、該探索時系列パターンについて該時系列データＩＤの未処理の時系列データを含めた末尾まで数え上げを行ったとしても、該探索時系列パターンは該時系列データにおいては最小繰り返し回数を満たすことがないことが分かるため、探索時系列パターン情報から該探索時系列パターンの該時系列データに対応する情報を削除し（７０５）、以降の該時系列データにおける該探索時系列パターンの数え上げ処理は省略する。
【００５２】
図８は、図７の１つの探索時系列パターンに対する１つの時系列データにおける繰り返し回数数え上げ処理７０２の手順を詳細に説明するフローチャートである。
【００５３】
はじめに探索する時系列パターンの処理対象の時系列データＩＤにおける繰り返し回数数え上げ済みパターン位置を取得し、該取得したパターン位置が初期値でない場合には１つ後ろを現パターン位置に設定し，初期値の場合には現パターン位置に先頭のパターン位置を設定する（８０１）。繰り返し回数数え上げを開始する該時系列データのデータ位置を該時系列データの先頭に設定する（８０２）。以降、現データ位置のアイテムセットから順に（８０３）、該探索時系列パターンの現パターン位置のアイテムセットを含むデータ位置を探す（８０４）。
【００５４】
該時系列データの現データ位置のアイテムセットが該探索時系列パターンの現パターン位置のアイテムセットを含まない場合、現データ位置が該時系列データの末尾かどうかを調べ（８０９）、末尾でない場合には、現データ位置を１つ後ろにずらし、該時系列データの現データ位置のアイテムセットが該時系列パターンの現パターン位置のアイテムセットを含むか調べる処理（８０４）以降を繰り返す。末尾の場合には、処理を終了する。
【００５５】
また、該時系列データの現データ位置のアイテムセットが該探索時系列パターンの現パターン位置のアイテムセットを含む場合、現パターン位置が該探索時系列パターンの末尾かどうかを調べる（８０５）。末尾の場合には、探索時系列パターン情報１１０の数え上げ済み繰り返し回数の値を１増加し（８０６）、数え上げ済みの時系列パターンのパターン位置に先頭のパターン位置を設定する（８０７）。末尾でない場合には、探索時系列パターン情報１１０の数え上げ済みの時系列パターンのパターン位置に現パターン位置を設定する（８０８）。現データ位置が該時系列データの末尾かどうかを調べ（８０９）、末尾でない場合には、現データ位置を１つ後ろにずらし（８１０）、該時系列データの現データ位置のアイテムセットが該時系列パターンの現パターン位置のアイテムセットを含むかを調べる処理（８０４）に戻る。末尾まで処理が完了した時点で、探索時系列パターン情報１１０の該時系列データＩＤの数え上げ済み時系列パターン位置に現パターン位置を設定し（８１１）、終了する。
【００５６】
再び図４に戻り、次に出現頻度計数処理４０６が行われる。出現頻度計数処理４０４は探索時系列パターンの出現回数を数え上げる。
【００５７】
図９は、この出現頻度計数処理４０４の手順を詳細に説明するフローチャートである。メモリ１０２の探索時系列パターン情報１１０に登録された各探索時系列パターンについて（９０１）、該探索時系列パターンの時系列データＩＤの種類の数を数え上げ（９０２）、設定値情報１０７の最小出現回数未満となる探索時系列パターンを探索時系列パターン情報１１０から削除する（９０４）。探索時系列パターン情報に登録された全探索時系列パターンに対する同様の処理が終了した時点で、探索時系列パターン情報１１０に最小繰り返し回数と最小出現頻度の条件を共に満たす可能性のある探索時系列パターンのみが登録される。
【００５８】
再び図４に戻り、次に、探索時系列パターン情報１１０に含まれない時系列データＩＤを時系列データ情報から削除する（４０７）。
【００５９】
以上の処理を全時系列データの末尾まで終了した時点で、探索時系列パターン情報１１０に登録されている探索時系列パターンから抽出された時系列パターンとして繰り返し回数の統計値と出現頻度の統計値と共に出力する（４０９）。探索時系列パターン情報１１０には、各時系列パターンの各時系列データにおける繰り返し回数の厳密な値が格納されているため、繰り返し回数に関する統計値の算出が可能であり、各時系列パターンの出現頻度と全時系列データ数が既知
のため、出現頻度の統計値の算出が可能である。
【００６０】
なお、図１の出力装置１０５の図２の結果表示部２０６には、繰り返し回数の統計値として平均値と最大値と最小値、出現頻度の統計値として頻度と全時系列データ数に対する割合を一例として示した。
【００６１】
図１４は、本実施例の図４のフローチャートにおける、時系列データ読み出し処理４０４、繰り返しパターン計数処理４０５、出現頻度計数処理４０６に対する記憶装置１０３から読み出される時系列データのチェックポイントによる処理単位のイメージ図である。
【００６２】
１時系列データを一本の直線で示しており、1回目の時系列データ読み出し処理で、はじめにデータ１の先頭から最初のチェックポイントまでの時系列データが読み出される。該読み出された時系列データに対して、繰り返しパターン計数処理が行われる。データ１の繰り返しパターン計数処理が終了した時点で、次の時系列データであるデータ２の先頭から最初のチェックポイントまでの時系列データが読み出され、繰り返しパターン計数処理が行われる。すべての時系列データに対して先頭から最初のチェックポイントまでの時系列データ読み出し処理と繰り返しパターン計数処理が終了した時点で、出現頻度計数処理が行われる。
【００６３】
一回目の時系列データ読み出し処理では、各時系列データについて先頭から最初のチェックポイントまでの時系列データが読み出される。出現頻度計数処理の結果が最小出現頻度以上である場合、最初のチェックポイントまでの繰り返しパターン計数処理における繰り返し回数の上限値が最小繰り返し回数以上であった時系列データについて、最初のチェックポイントから2番目のチェックポイントまでに対して、時系列データの読み出し処理、繰り返しパターン計数処理が行われ、すべての時系列データについて終了した時点で、出現頻度計数処理が行われる。
【００６４】
出現頻度計数処理の結果が最小出現頻度以上である場合には、同様の処理が繰り返される。最後のチェックポイントまで終了した時点で、最小繰り返し回数以上となる時系列データにおける繰り返し回数、および、出現頻度を得ることができる。途中のチェックポイントまでの出現頻度計数処理の結果が最小出現頻度未満となる場合、その探索時系列パターンは最小出現頻度を満たさないことが分かるため、該途中のチェックポイント以降の時系列データについては処理を省略する。また、各時系列データについて、途中のチェックポイントまでの繰り返しパターン計数処理の結果の繰り返し回数の上限値が最小繰り返し回数未満となる場合、その探索時系列パターンは該時系列データにおいては最小繰り返し回数を満たさないことがわかるため、該途中のチェックポイント以降の時系列データについては処理を省略する。これらの結果、頻出繰り返し時系列パターンでない探索時系列パターンに対する処理を回避し、探索処理負荷を低減することが出来る。
【００６５】
以上のように、本実施例によると、各時系列データにおける繰り返し回数の最小値と、全時系列データにおける出現頻度の最小値の条件を共に満たす時系列パターンを得ることが出来る。また、本実施例においては、解析処理の途中経過において繰り返し回数の上限値を算出すること、及び算出した繰り返し回数の上限値を用いて出現頻度を数え上げることにより、最小繰り返し回数を満たし得ない探索時系列パターンと最小出現回数を満たし得ない探索時系列パターンの繰り返し回数の数え上げ処理を途中で打ち切ることにより、繰り返し回数の数え上げ処理対象となる時系列データの範囲を限定し、解析処理負荷を低減することが可能となる。
【００６６】
なお、以上で説明した実施例１では繰り返し回数、出現頻度を利用したが、繰り返し回数の各時系列データ長あるいは期間との商である繰り返し率、出現頻度の全時系列データ数との商である出現率（支持度）を利用することでも同様に解析処理を実施することが可能である。
【００６７】
また，本実施例では時系列データの処理単位をチェックポイント指定部２０２に入力させたが，メモリ１０２の設定値情報１０７のチェックポイント情報に所定の値を予め設定しておくことによって，ユーザによる処理単位の入力を省略することも可能である。
【実施例２】
【００６８】
次に、第２の実施例として、クレジットカードの利用データを例にとり、図１のデータ解析システムの実行プログラム１０６の処理と、メモリ１０２に格納される各種の情報を説明する。ここで、本実施例における解析対象のクレジットカードの利用データの一例を表３に示す。表３に明らかなように、時系列データ数２０のデータが記憶装置１０３に格納されているものとする。また、入力装置１０４において、データの処理単位を５、最小繰り返し回数を３、最小出現頻度を５と入力されたとし、メモリ１０２の設定値情報１０７に格納されているとする。
【００６９】
【表３】
0005478229.tif 000004
【００７０】
プロセッサ１０１はメモリ１０２に格納されている実行プログラム１０６を実行し、はじめに頻出繰り返しアイテム抽出処理４０２を行う。例えば、このアイテム抽出処理４０２により、ｃａｒｄ０１の時系列データが記憶装置１０３から読み出され、各アイテムの繰り返し回数が数え上げられたとき、メモリ１０２のアイテム情報１０９に（店舗Ａ、ｃａｒｄ０１、３、０）、（店舗Ｂ、ｃａｒｄ０１、４、０）、（店舗Ｃ、ｃａｒｄ０１、３、０）、（店舗Ｄ、ｃａｒｄ０１、１、０）、（店舗Ｅ、ｃａｒｄ０１、１、０）、（高額決済、ｃａｒｄ０１、３、０）が格納される。最小出現回数が３であることから、アイテム”店舗Ｄ”と”店舗Ｅ”がアイテム情報から削除され、メモリ１０２のアイテム情報１０９には（店舗Ａ、ｃａｒｄ０１、３、０）、（店舗Ｂ、ｃａｒｄ０１、４、０）、（店舗Ｃ、ｃａｒｄ０１、３、０）、（高額決済、ｃａｒｄ０１、３、０）が保持される。
【００７１】
ここで、探索時系列パターン設定処理４０３において、候補となる繰り返し回数が未知の探索時系列パターンとして、＜（店舗Ａ）（店舗Ｂ、高額決済）＞と＜（店舗Ｃ）（店舗Ａ）＞と＜（店舗Ｃ）（店舗Ｂ）＞が設定されたとする。
【００７２】
次に、プロセッサ１０１は実行プログラム１０６の時系列データ読み出し処理４０４において、記憶装置１０３に格納された時系列データが読み出され、メモリ１０２の時系列データ情報１０８に処理単位毎に格納される。
【００７３】
読み出された時系列データから頻出繰り返しアイテム以外を削除し、時系列データ情報１０８に格納すると共に、各アイテムの繰り返し回数が数え上げられ、アイテム情報１０９の繰り返し回数情報が更新される。例えば、ｃａｒｄ０１の時系列データでは、最初の時系列データ読み出し処理では時系列データとして＜（店舗Ａ）（店舗Ｃ）（店舗Ａ）（店舗Ｂ、高額決済）（店舗Ｅ）（店舗Ｃ）＞が読み出され、頻出繰り返しアイテム以外が削除され、ｃａｒｄ０１、＜（店舗Ａ）（店舗Ｃ）（店舗Ａ）（店舗Ｂ、高額決済）（店舗Ｃ）＞が時系列データ情報１０８に保持される。また、アイテム情報１０９のカウント値を（店舗Ａ、ｃａｒｄ０１、３、２）、（店舗Ｂ、ｃａｒｄ０１、４、１）、（店舗Ｃ、ｃａｒｄ０１、３、２）（高額決済、ｃａｒｄ０１、３、１）と更新する。
【００７４】
次に、繰り返しパターン計数処理４０５において、探索時系列パターンの各時系列データにおける繰り返し回数が数え上げられる。例えば、ｃａｒｄ０１の時系列データについて説明する。まず、探索時系列パターン＜（店舗Ａ）（店舗Ｂ、高額決済）＞が数え上げられる場合、メモリ１０２の探索時系列パターン情報１１０から、該探索パターンのｃａｒｄ０１の情報として、数え上げ済みの繰り返し回数として０、数え上げ済みの時系列パターンのパターン位置として０が読み出される。
【００７５】
その後、ｃａｒｄ０１の時系列データについて、メモリ１０２の時系列データ情報１０８の先頭のデータ位置のアイテムセットから順に該探索パターンの１番目のパターン位置のアイテムセット（店舗Ａ）が現れるデータ位置を探し、データ位置１番目に検出される。該探索パターンの１番目のデータ位置のアイテムセットは末尾でないため、探索パターン情報の数え上げ済み時系列パターンの位置を１に更新する。
【００７６】
次に、該探索パターンの２番目のパターン位置のアイテムセット（店舗Ｂ、高額決済）が現れるデータ位置を該時系列データのデータ位置２番目以降で探し、データ位置４番目で検出される。該探索パターンの２番目のパターン位置のアイテムセットは末尾のため、探索パターン情報の数え上げ済み回数を１増加させ、時系列パターンのパターン位置を０に更新する。再び、該探索パターンの１番目のアイテムセット（店舗Ａ）が現れるデータ位置を該時系列データのデータ位置５番目以降で探すが、該時系列パターンの末尾であるデータ位置５番目まで探しても検出されないため、探索時系列パターン情報１１０の時系列パターン＜（店舗Ａ）（店舗Ｂ、高額決済）＞の時系列データＩＤがｃａｒｄ０１の数え上げ済み時系列パターンのパターン位置を１に更新し、繰り返し回数の数え上げ処理を終了する。
【００７７】
また、探索パターン＜（店舗Ｃ）（店舗Ａ）＞が数え上げられる場合、メモリ１０２の探索時系列パターン情報１１０から、該探索パターンのｃａｒｄ０１の情報として、数え上げ済みの繰り返し回数が０、数え上げ済みのパターン位置０が読み出される。その後、ｃａｒｄ０１の時系列データについて、メモリ１０２の時系列データ情報１０８の先頭のデータ位置のアイテムセットから順に該探索パターンの１番目のパターン位置のアイテムセット（店舗Ｃ）が現れるデータ位置を探し、データ位置２番目に検出される。該探索パターンの１番目のパターン位置のアイテムセット（店舗Ｃ）は末尾でないため、現パターン位置を２に更新する（図８の８０８）。
【００７８】
次に、該探索パターンの２番目のパターン位置のアイテムセット（店舗Ａ）が現れるデータ位置を該時系列データのデータ位置３番目以降で探し、データ位置３番目で検出される。該探索パターンの２番目のパターン位置のアイテムセット（店舗Ａ）は末尾のため、探索パターン情報の数え上げ済み回数を１増加させ（同８０６）、現パターンの位置を先頭に更新する（同８０７）。
【００７９】
再び、該探索パターンの１番目のパターン位置のアイテムセット（店舗Ｃ）が現れるデータ位置を該時系列データのデータ位置３番目以降で探し、データ位置５番目で検出される。該探索パターンの１番目のパターン位置のアイテムセットは末尾でないため、現パターン位置を２に更新する。また再び、該探索パターンの２番目のパターン位置のアイテムセット（店舗Ａ）が現れるデータ位置を該時系列データのデータ位置５番目以降で探そうとするが、該時系列パターンのデータ位置５番目が末尾のため（同８０９）、探索パターン情報１１０の数え上げ済み時系列パターンのパターン位置を２に設定し（同８１１）、繰り返し回数の数え上げ処理７０２を終了する。
【００８０】
次に、図７のフローにおいて、繰り返し回数の上限値の算出７０３が行われる。例えば、ｃａｒｄ０１における探索パターン＜（店舗Ａ）（店舗Ｂ、高額決済）＞について、探索時系列パターン情報１１０には（＜（店舗Ａ）（店舗Ｂ、高額決済）＞、ｃａｒｄ０１、１、０）、アイテム情報１０９には（店舗Ａ、ｃａｒｄ０１、３、２）、（店舗Ｂ、ｃａｒｄ０１、４、１）、（高額決済、ｃａｒｄ０１、３、１）が保持されていることから、数１により上限値が２（＝１＋１）と算出される。
【００８１】
該算出された上限値は最小繰り返し回数（本実施例では３）未満のため、該探索パターンが最小繰り返し回数以上となり得ないことが分かる。該探索パターンの情報を探索パターン情報１１０から削除することによって、プロセッサ０１０ではｃａｒｄ０１の探索パターンの繰り返し回数数え上げ処理を打ち切り、２回目以降の時系列データ読み出し処理後の繰り返し数え上げ処理を省略する。
【００８２】
また、探索パターン＜（店舗Ｃ）（店舗Ａ）＞について、探索パターン情報には（＜（店舗Ｃ）（店舗Ａ）＞、ｃａｒｄ０１、１、１）、アイテム情報には（店舗Ａ、ｃａｒｄ０１、３、２）、（店舗Ｃ、ｃａｒｄ０１、３、２）が保持されていることから、数１により上限値が３（＝１＋１＋１）と算出される。該算出された上限値は最小繰り返し回数以上のため、該探索パターンが最小繰り返し回数以上の可能性があることから、２回目以降の時系列データ読み出し処理後の繰り返し数え上げ処理を省略することは出来ない。
【００８３】
次に、図４の繰り返し時系列パターン抽出処理の出現頻度の計数処理４０６が行われる。プロセッサ１０１はメモリ１０２の探索時系列パターン情報１１０に格納された時系列パターンと時系列データＩＤから、各時系列パターンの時系列データＩＤの種類数を数え上げ、最小出現頻度未満となる時系列パターンの情報を探索パターン情報から削除する。例えば、探索パターン＜（店舗Ｃ）（店舗Ｂ）＞について、探索時系列パターン情報１１０には（＜（店舗Ｃ）（店舗Ｂ）＞、ｃａｒｄ０１、１、１）、（＜（店舗Ｃ）（店舗Ｂ）＞、ｃａｒｄ０５、２、１）、（＜（店舗Ｃ）（店舗Ｂ）＞、ｃａｒｄ０８、２、０）が格納されているとする。該探索パターンの出現頻度は３であり、最小出現頻度（本実施例においては５）を満たさないことが分かる。この場合、プロセッサ１０１は探索パターン情報１１０から該探索パターンを含む情報を削除する。探索パターン情報１１０から削除された時系列パターンは、２回目以降の時系列データ読み出し処理後の繰り返し数え上げ処理を省略できる。
【００８４】
出現頻度計数処理４０６の次に、時系列データ情報１０８の更新４０７が行われる。繰り返し回数数え上げ処理を行う必要のある時系列データＩＤは探索時系列パターン情報１１０に保持されている。探索時系列パターン情報１１０に保持されていない時系列データＩＤは繰り返し回数の数え上げ処理を行う必要がないため、２回目以降の時系列データ読み出し処理は不要である。探索時系列パターン情報１１０に保持されない時系列データＩＤがある場合、該時系列データＩＤを時系列データ情報１０８から削除する。例えば、ｃａｒｄ０２、ｃａｒｄ０４、ｃａｒｄ０７が時系列データＩＤとして保持されていない場合、時系列データ情報１０８から削除する。
【００８５】
以上の処理を各時系列データの末尾まで繰り返す。例えば、本実施例の２回目の時系列データ読み出し処理では、時系列データの順位位置６番目から１０番目までが読み出され、ｃａｒｄ０１について、＜（店舗Ｂ）（店舗Ｂ、高額決済）（店舗Ａ）（店舗Ｃ）（店舗Ｂ、高額決済）＞が時系列データ情報１０８としてメモリ１０２に保持され、探索パターン＜（店舗Ｃ）（店舗Ａ）＞を数え上げる場合、メモリ１０２の探索時系列パターン情報１１０から、該探索パターンのｃａｒｄ０１の情報として、数え上げ済みの繰り返し回数が１、数え上げ済みの時系列パターンの位置が１が読み出される。その後、ｃａｒｄ０１の時系列データについて、メモリ１０２の時系列データ情報１０８の先頭のアイテムセットから順に該探索パターンの２番目のアイテムセット（店舗Ａ）が現れる順位位置を探す処理を開始する。
【００８６】
以上詳述して本実施例の処理によって、最小繰り返し回数と最小出現頻度の条件を共に満たす時系列パターンを不要な繰り返し回数数え上げ処理を回避しつつ抽出することが出来る。
【００８７】
本実施例の場合、例えば、ｃａｒｄ０１における探索パターン＜（店舗Ａ）（店舗Ｂ、高額決済）＞については２回目の時系列データ読み出し処理以降の繰り返し回数数え上げ処理を省略することができる。また、例えば、ｃａｒｄ０２、ｃａｒｄ０４、ｃａｒｄ０７の時系列データは２回目以降の時系列データ読み出し処理を省略することができる。
【実施例３】
【００８８】
次に、第３の実施例として、データ解析システムが、各時系列データに区切れが存在するデータを解析対象とする場合を説明する。１つの時系列データにおいて所定の句切れをまたがる時系列パターンは該時系列データに含まれないとしたい場合がある。例えば、人の行動パターンの分析において１日単位での行動パターンを考える場合、日付をまたがる行動パターンを数え上げてはならない。
【００８９】
図１０は、第３の実施例のシステム構成例を示す図である。このシステムは、図１のシステム構成のメモリ１０２に、解析対象データにおける時系列データの区切れの条件を条件式などの形式で区切れ条件１００１として保持する。
【００９０】
図１１は、本実施例のユーザインタフェースの一例を示している。このユーザインタフェース１１００は、図２のユーザインタフェース２００に解析対象データにおける時系列データの区切れ条件を設定する区切れ条件設定部１１０１を加えた構成を取る。ユーザは解析対象データを解析データ指定部２０１で指定し、処理単位をチェックポイント指定部２０２に、抽出する時系列パターンの繰り返し回数の最小値を最小繰り返し回数入力部２０３に、抽出する時系列パターンの出現頻度の最小値を最小出現頻度入力部２０４に、時系列データの区切れ条件を区切れ条件設定部１１０１に、それぞれ入力する。実行ボタン２０５によって、時系列パターン抽出処理を開始する。抽出された時系列パターンは、時系列パターンを構成するアイテムセットのリストと、時系列パターンの評価値である繰り返し回数の統計値と出現頻度とが結果表示部２０６に表示される。
【００９１】
図１２は、本実施例の時系列パターン抽出処理におけるユーザによる操作とシステムによる操作のフローを示した図である。はじめに、ユーザは入力装置１０４において、解析対象のデータを指定、解析対象データの処理単位を入力、抽出する時系列パターンの最小繰り返し回数と最小出現頻度、および、時系列データの区切れ条件を設定部１１０１から入力する（１２０１）。以降の処理は、図３と同様である。
【００９２】
解析対象の時系列データに区切れ条件が設定された場合の時系列パターン抽出の全体処理手順、頻出繰り返しアイテム抽出処理、候補とする探索時系列パターン設定処理、時系列データ読み出し処理、出現頻度計数処理は、前述の処理手順と同様である。この時系列データに区切れ条件が設定された場合の時系列パターン抽出処理では、繰り返しパターン計数処理における１つの探索時系列パターンに対する１つの時系列データにおける繰り返し回数数え上げ処理が前述の処理手順と異なる。
【００９３】
図１３に１つの探索時系列パターンに対する１つの時系列データにおける繰り返し回数数え上げ処理７０２の解析対象の時系列データに、区切れ条件が設定された場合の手順を詳細に説明するフローチャートを示す。処理の内容は、前述の図８における繰り返し回数数え上げのパターン位置を設定する処理８０１から時系列データの末尾まで処理したか調べる処理８０９までは同様である。現データ位置が該時系列データの末尾かどうかを調べ（８０９）、末尾でない場合には、現データ位置の直後がメモリ１０２の設定値情報１０７の区切れ条件１００１を満たすかどうかを調べる（１３０１）。
【００９４】
区切れ条件を満たす場合は現パターン位置を先頭のパターン位置に戻し（１３０２）、現データ位置を１つ後ろにずらし（８１０）、該時系列データの現データ位置のアイテムセットが該時系列パターンの現パターン位置のアイテムセットを含むか調べる処理（８０４）以降を繰り返す。区切れ条件を満たさない場合は現データ位置を１つ後ろにずらし（８１０）、該時系列データの現データ位置のアイテムセットが該時系列パターンの現パターン位置のアイテムセットを含むか調べる処理（８０４）以降を繰り返す。末尾の場合は前述と同様である。
【００９５】
以上のように、本実施例によると、時系列パターンの区切れの条件を設定し、探索時系列パターンの繰り返し回数の数え上げ処理において、時系列データの句切れが存在する時点で、探索パターンの繰り返し回数を数え上げるパターン位置を先頭に戻すことによって、時系列パターンの句切れをまたがる場合の繰り返し回数の数え上げを回避することが出来る。これにより、時系列データに区切れを設定した場合にも時系列パターンを抽出することが出来る。
【実施例４】
【００９６】
第４の実施例として、Ｗｅｂサイトのアクセスログデータを解析するデータ解析システムを説明する。すなわち、Ｗｅｂサイトのアクセスログデータを例にとり、上述したデータ解析システムにおける実行プログラム１０６において行われる、１つの探索時系列パターンに対する１つの時系列データにおける繰り返し回数数え上げ処理７０２を説明する。Ｗｅｂアクセスログデータの場合、１レコードはあるユーザの一回のアクセスを意味し、時系列データＩＤはユーザＩＤ、タイムスタンプはアクセス日時、事象はアクセスしたページのＵＲＬとなる。また、Ｗｅｂサイトのアクセスログは一連のアクセスの単位を表わすセッション番号を持ち、同一のセッション番号を持つレコードは同一のセッションでのアクセスであるとする。
【００９７】
例えば、表４のデータのｕｓｅｒ０１はセッション番号１００、１０１、１０２の３つのセッションを持つ。セッション番号１００では、最初にページＡがアクセスされ、次にページＢがアクセスされ、最後にページＣがアクセスされたことを意味する。ここで、解析対象のアクセスログデータを表４に示すデータとし、記憶装置１０３に格納されているとする。また、入力装置１０４において、区切れ条件として“ｉ番目のレコードのセッション番号≠（ｉ＋１）番目のレコードのセッション番号”が設定されたとし、メモリ１０２の設定情報に格納されているとする。
【００９８】
【表４】
0005478229.tif 000005
【００９９】
１つの探索時系列パターンに対する１つの時系列データにおける繰り返し回数数え上げ処理７０２として、ｕｓｅｒ０１の時系列データにおける探索パターン＜（ページＡ）（ページＢ）＞が数え上げられるとし、メモリ１０２の時系列データ情報１０８のｕｓｅｒ０１の時系列データにセッション番号とＵＲＬの組のリストとして（１００、ページＡ）（１００、ページＢ）（１００、ページＡ）（１０１、ページＡ）（１０１、ページＢ）（１０１、ページＤ）（１０１、ページＥ）（１０１、ページＤ）（１０２、ページＤ）が保持されており、メモリ１０２の探索パターン情報１１０から、該探索パターンのｕｓｅｒ０１の情報として、数え上げ済み繰り返し回数が０、数え上げ済みの時系列パターンのパターン位置が０と読み出されたとする。本実施例では、探索パターンの先頭のパターン位置のアイテムセット（ページＡ）が含まれるデータ位置とメモリ１０２の時系列データ情報１０８の先頭のデータ位置から順に探索する（図１３の８０３に対応）。
【０１００】
はじめに、該探索パターンの先頭のパターン位置のアイテムセット（ページＡ）が該時系列データの先頭のデータ位置のアイテムセットに現れることが検出される。現パターン位置が該探索パターンの末尾でないため（同８０５のNo）、現パターン位置を次のパターン位置である２とする（同８０８）。
【０１０１】
次に、現データ位置が末尾であるか調べる（同８０９）が、現データ位置が末尾でないことから、現データ位置の直後が区切れであるかを調べる（同１３０１）。上述の通り、メモリ１０２の区切れ条件１００１に句切れの条件としてセッション番号が異なること設定されているため、現データ位置のセッション番号と次のデータ位置のセッション番号を比較し、共に１００と等しいセッション番号であるため、現データ位置を２とし（同８１０）、再び現パターン位置のアイテムセットが現データ位置に含まれるか調べる（同８０４）。本実施例の場合、現パターン位置が２のとき、現データ位置が２において現パターン位置のアイテムセット（ページＢ）が現データ位置に現れることが検出され、メモリ１０２の探索パターン情報１１０の数え上げ済み繰り返し回数を１に更新し（同８０６）、現パターン位置を先頭（同８０７）、現データ位置を３とする。
【０１０２】
次に、現パターン位置のアイテムセット（ページＡ）が現データ位置のアイテムセット（ページＣ）に含まれないため、現データ位置を次のデータ位置にずらそうとする。ここで、現データ位置のセッション番号が１００、次のデータ位置のセッション番号が１０１であることから、区切れが存在することが検出され（同１３０１）、現データ位置を次のデータ位置にずらす前に、現パターン位置に先頭のパターン位置を設定する（同１３０２）。これよって、セッション番号１００と１０１にまたがる時系列パターンの繰り返し回数の数え上げを回避することができる。以下、同様に繰り返し回数数え上げ処理が時系列データの末尾まで続行される。
【０１０３】
なお、本実施例では時系列データ情報にセッション番号とアイテムセットの組のリストを保持し、区切れの条件として条件式を設定したが、句切れの条件を所定の記号とし、時系列データの句切れに所定の記号を付加したデータを用いることでも同様に解析処理を実施することが可能である。例えば、表４のデータにおいて、セッション番号が異なる場合を区切れと設定し、句切れを表わす記号を“．”とした場合、表５の時系列データによって本実施例と同様に解析処理を実施することが可能となる。
【０１０４】
【表５】
0005478229.tif 000006
【産業上の利用可能性】
【０１０５】
以上詳述した本発明は、データベース及びデータウェアハウスを対象としたデータ解析システム及び方法に関し、特にデータベースのレコードを解析してデータの出現順序の規則性を明らかにするデータマイニング技術として極めて有用である。
【符号の説明】
【０１０６】
１００…コンピュータ
１０１…プロセッサ
１０２…メモリ
１０３…記憶装置
１０４…入力装置
１０５…出力装置
１０６…実行プログラム
１０７…設定値情報
１０８…時系列データ情報
１０９…アイテム情報
１１０…探索パターン情報
１１１…チェックポイント情報
１００１…区切れ条件
１１０１…区切れ条件設定部
２００…ユーザインタフェース
２０１…解析データ指定部
２０２…チェックポイント指定部
２０３…最小繰り返し回数入力部
２０４…最小出現頻度入力部
２０５…実行ボタン
２０６…結果表示部。
【図１】
0005478229.tif 000007
【図２】
0005478229.tif 000008
【図３】
0005478229.tif 000009
【図４】
0005478229.tif 000010
【図５】
0005478229.tif 000011
【図６】
0005478229.tif 000012
【図７】
0005478229.tif 000013
【図８】
0005478229.tif 000014
【図９】
0005478229.tif 000015
【図１０】
0005478229.tif 000016
【図１１】
0005478229.tif 000017
【図１２】
0005478229.tif 000018
【図１３】
0005478229.tif 000019
【図１４】
0005478229.tif 000020