(57)【特許請求の範囲】
【請求項１】
複数の時系列データを記憶装置を用いて蓄積する時系列データベースから相関関係を抽出する相関関係抽出装置であって、
時系列データ内で特徴的に変化している複数の時系列部分を複数のイベントとして前記時系列データベースから抽出するとともに、該イベントの属性情報として少なくとも該複数の時系列部分の各々の開始時刻を抽出する手段と、
前記複数の時系列データから抽出された前記イベントをグルーピングしてなる各グループ内にてイベントの組合せを作成する手段と、
複数の前記グループから前記組合せを形成するイベント間の開始時刻の時刻差をそれぞれ求める手段と、
求められた複数の前記時刻差の度数分布を算出する手段と、
算出された前記度数分布が所定の分散条件が満たされているならば、前記組合せを形成するイベント間の発生傾向には相関関係があるとして該組合せを抽出する手段と、
を具備することを特徴とする相関関係抽出装置。
【請求項２】
複数の時系列データを記憶装置を用いて蓄積する時系列データベースから相関関係を抽出する相関関係抽出装置であって、
時系列データ内で特徴的に変化している複数の時系列部分を複数のイベントとして前記時系列データベースから抽出するとともに、該イベントの属性情報として少なくとも該複数の時系列部分の各々の開始時刻及び継続時間を抽出する手段と、
前記時系列データから抽出された前記イベントをグルーピングしてなる各グループ内にてイベントの組合せを作成する手段と、
複数の前記グループから前記組合せを形成するイベント間の開始時刻の時刻差をそれぞれ求める手段と、
求められた複数の前記時刻差の度数分布を算出する手段と、
算出された前記度数分布が所定の分散条件を満たす場合に複数の前記継続時間の度数分布を算出する手段と、
前記継続時間の度数分布が他の分散条件が満たす場合に、この組合せを形成するイベント間の発生傾向には相関関係があるとして該組合せを抽出することを特徴とする相関関係抽出装置。
【請求項３】
複数の時系列データを記憶装置を用いて蓄積する時系列データベースから相関関係を抽出する相関関係抽出装置であって、
時系列データ内の複数の時系列部分を複数のイベントとして前記時系列データベースから抽出するとともに、該イベントの属性情報として少なくとも該時系列部分の開始時刻を抽出する手段と、
前記時系列データから抽出された前記イベントをグルーピングしてなる各グループ内にてイベントの組合せを作成する手段と、
複数の前記グループにおいて前記組合せを形成するイベントの開始時刻の度数分布を算出する手段と、
算出された前記所定の分散条件が満たされているならば、この組合せを形成するイベント間の発生傾向には相関関係があるとして該組合せを抽出することを特徴とする相関関係抽出装置。
【請求項４】
前記時系列データベースはリレーショナル・データベースであることを特徴とする請求項１乃至２のいずれかに記載の相関関係抽出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の時系列データから相関関係を抽出する相関関係抽出方法に係り、特に販売実績の時系列データに基づいた売れ行きの動向に相関関係を持つ商品の抽出等を行うことでマーケッティング等の動向予測、傾向予測を行うための相関関係抽出方法に関する。
【０００２】
【従来の技術】
近年、記憶装置の大容量化ならびに低価格化により、データベース内に大規模なデータを格納することが可能となってきた。このようなデータベースでは、時刻、日、週、月等の時間単位で変化するデータを、かなり長い時間範囲で格納することも可能である。このようなデータベースに販売実績等の情報を蓄積していき、これを分析して販売（消費者の購買）に関する何らかの傾向を発見することは、マーケッティングや販売戦略にとって非常に重要である。
【０００３】
図９に小売企業などで収集される商品の販売データの一例を示す。この（ａ），（ｂ），（ｃ）のデータは、店Ａ、店Ｂ、店Ｃの３店におけるそれぞれの４月から１０月までの商品Ｘと商品Ｙの売上動向を示している。
【０００４】
図９のデータ量であればこれをグラフなどで表して人手で分析することが比較的容易であり、この場合、例えば、（１）店Ａでは４月から６月にかけて商品Ｘの売上が伸びており、６月から８月にかけて商品Ｙの売上が伸びている点、（２）店Ｂでは５月から７月にかけて商品Ｘの売上が伸びており、７月から９月にかけて商品Ｙの売上が伸びている点、（３）店Ｃでは４月から６月にかけて商品Ｘの売上が伸びており、６月から８月にかけて商品Ｙの売上が伸びている点が分析の結果として得られる。そして、以上の分析から推測できる命題として、「商品Ｘの売上が伸びると２カ月後に商品Ｙの売上も伸びる。」という規則が考えられる。
【０００５】
このように時系列を含んだ規則を発見することは、商店の営業活動において、早期に変化の兆候を察して行動をとる上で非常に重要である。
従来、このような分析を行うには、各商品の売行きをグラフ等で表し、視覚化して、専門化の判断により時系列間の相関関係を判定していた。
【０００６】
しかしながら、各店舗で扱う商品数が多くなり、長期間の売上データが分析対象となり、また扱う店舗数が多くなるなどすると、たとえ専門化であっても人手でデータを分析することは極めて困難になる問題点があった。
【０００７】
また、時系列同士の形状の類似性、それらの時間差などを分析する手法として、時系列同士の組合せを作り、１つの時系列を時間軸方向にずらしながら回帰分析等の統計分析を行い、相関関係を発見する手法も考えられるが、計算量が、時系列の系列数の組合せの数と、時間長の積に比例するので、大規模な項目と期間を持つ時系列分析には適さないという問題点があった。
【０００８】
また、上記の例のように売上データを分析した場合、その結果が実際には時系列間の相関を意味するのではなく時系列と特定の時刻との間の相関に起因して抽出されていた場合がある。例えば１２月２４日付近にケーキの売上が急上昇し１２月２５日以降に餅の売上が急上昇した場合、どの店舗でも同じような状況であるとすれば、「ケーキの売上が急上昇した１週間後に餅の売上も上昇する。」等の規則が出てきてしまう場合がある。このように特定時刻に対する相関性が強いものに対しては、「ケーキはクリスマス近くに良く売れ、餅は正月近くに良く売れる。」等の特定時刻と時系列の依存性を示すことが望ましい。
【０００９】
【発明が解決しようとする課題】
従来、大規模な時系列データから相関関係を抽出する場合、専門化等が人手で分析するのは極めて困難であった。また、統計分析等の手法を用いることも考えられるが、処理時間が時系列データの組合せの種類数と時系列データのデータ量積に比例するので、大規模な項目と期間を持つ時系列分析には適さないという問題点があった。
【００１０】
本発明は、上記事情を考慮してなされたもので、効率良く大規模な時系列データから相関関係を抽出することが可能な相関関係抽出方法を提供することを目的とする。
【００１１】
【課題を解決するための手段】
本発明（請求項１）は、複数の時系列データから相関関係を抽出する相関関係抽出方法であって、時系列データ内で特徴的に変化している時系列部分をイベントとして抽出するとともに、該イベントの属性情報として少なくとも該時系列部分の開始時刻を抽出し、前記イベントの属性情報に基づいてイベント間の発生傾向の相関関係を抽出することにより、前記時系列データ間の相関関係を抽出することを特徴とする。
【００１２】
好ましくは、前記イベント間の発生傾向の相関関係を抽出する際、前記時系列データから抽出された前記イベントをりグルーピングしてなる各グループ内にてイベントの組合せを作成し、複数の前記グループから得た前記組合せを形成するイベント間の開始時刻の時刻差に基づいて前記イベント間の発生傾向の相関関係を抽出するようにしてもよい。
【００１３】
好ましくは、前記イベント間の発生傾向の相関関係を抽出する際、前記時系列データから抽出された前記イベントをグルーピングしてなる各グループ内にてイベントの組合せを作成し、複数の前記グループから前記組合せを形成するイベント間の開始時刻の時刻差をそれぞれ求め、求められた複数の前記時刻差の度数分布を求め、求められた前記度数分布において所定の分散条件が満たされているならば、この組合せを形成するイベント間の発生傾向には相関関係があると判断するようにしてもよい。
【００１４】
好ましくは、前記イベントの属性情報として前記開始時刻に加えて少なくとも前記時系列部分の継続時間を抽出し、前記イベント間の発生傾向の相関関係を抽出する際、前記時系列データから抽出された前記イベントをグルーピングしてなる各グループ内にてイベントの組合せを作成し、複数の前記グループから前記組合せを形成するイベントの継続時間をそれぞれ求め、求められた複数の前記継続時間の度数分布を求め、求められた前記度数分布において所定の分散条件が満たされているならば、この組合せを形成するイベント間の発生傾向には相関関係があると判断するようにしてもよい。
【００１５】
好ましくは、前記イベント間の発生傾向の相関関係を抽出する際、前記時系列データから抽出された前記イベントをグルーピングしてなる各グループ内にてイベントの組合せを作成し、複数の前記グループから前記組合せを形成するイベントの開始時刻をそれぞれ求め、求められた複数の前記開始時刻の度数分布を求め、求められた前記度数分布において所定の分散条件が満たされているならば、この組合せを形成するイベント間の発生傾向には相関関係があると判断するようにしてもよい。
【００１６】
好ましくは、前記イベント間の発生傾向の相関関係を抽出する際、前記時系列データから抽出された前記イベントをグルーピングしてなる各グループ内にてイベントの組合せを作成し、複数の前記グループから前記組合せを形成するイベントの開始時刻をそれぞれ求め、求められた複数の前記開始時刻の度数分布を求め、求められた前記度数分布において所定の分散条件が満たされているならば、この組合せを形成するイベントと特定時刻との間に相関関係があると判断するようにしてもよい。
【００１７】
また、本発明（請求項７）は、開始時刻の情報を少なくとも含むイベントの集合からイベント間の発生傾向の相関関係を抽出する相関関係抽出方法であって、前記イベントをグルーピングしてなる各グループ内にてイベントの組合せを作成し、数の前記グループから前記組合せを形成するイベントの開始時刻をそれぞれ求め、該開始時刻の度数分布を求め、該度数分布において所定の分散条件が満たされているか否か判断し、前記所定の分散条件が満たされていると判断された場合に、複数の前記グループから前記組合せを形成するイベント間の開始時刻の時刻差をそれぞれ求め、該時刻差の度数分布を求め、該度数分布において所定の分散条件が満たされているならば、この組合せを形成するイベント間の発生傾向には相関関係があると判断することを特徴とする。
【００１８】
また、本発明（請求項８）は、開始時刻および継続時間の情報を含むイベントの集合からイベント間の発生傾向の相関関係を抽出する相関関係抽出方法であって、前記イベントをグルーピングしてなる各グループ内にてイベントの組合せを作成し、複数の前記グループから前記組合せを形成するイベントの継続時間をそれぞれ求め、該継続時間の度数分布を求め、該度数分布において所定の分散条件が満たされているか否か判断し、前記所定の分散条件が満たされていると判断された場合に、複数の前記グループから前記組合せを形成するイベントの開始時刻をそれぞれ求め、該開始時刻の度数分布を求め、該度数分布において所定の分散条件が満たされているか否か判断し、前記所定の分散条件が満たされていると判断された場合に、複数の前記グループから前記組合せを形成するイベント間の開始時刻の時刻差をそれぞれ求め、該時刻差の度数分布を求め、該度数分布において所定の分散条件が満たされているならば、この組合せを形成するイベント間の発生傾向には相関関係があると判断することを特徴とする。
【００１９】
本発明によれば、時系列データから特徴的な部分を抽出して、それらをイベントとして扱うことにより、分析対象の時系列データのデータ量を削減し、より大量のデータの分析を可能とする。また、抽出されたイベントに、イベント開始時刻のデータを持たせることにより、イベント発生間の相関関係を容易に抽出でき、最終的に時系列間の相関関係も容易に抽出できる。
【００２０】
本発明での計算量は、時系列データから特徴的な時系列部分を抽出してイベント列に変換する処理では、時系列データの長さに比例する。しかし、その後の処理での計算量は、変換されたイベント列を使うので、時系列の長さとは独立で、時系列の系列数の組合せ数にのみ比例するので、従来の統計的に相関関係を分析する手法に比べて、少ない計算量で時系列間の相関関係を抽出できる。
【００２１】
なお、以上の各方法に係る発明は装置に係る発明としても成立する。
また、上記の発明は、相当する手順あるいは手段をコンピュータに実行させるためのプログラムを記録した機械読取り可能な媒体としても成立する。
【００２２】
【発明の実施の形態】
以下、図面を参照しながら発明の実施の形態を説明する。
図１に本発明の第１の実施形態に係るデータ処理システムの構成を示す。
本データ処理システムは、複数のクライアント装置（店舗システム）と１つのサーバ装置（センタシステム）により構成される。
【００２３】
なお、以下では、具体例を用いて説明する場合には、その具体例として複数の店舗にクライアント装置を設置し、１つの情報処理センタにサーバ装置を設置し、各店舗から情報処理センタに集めた各時系列データをもとに商品の販売・購買の動向・傾向を分析・予測するような場合を用いる。この場合、クライアント装置を店舗システムと呼び、サーバ装置をセンタシステムと呼ぶものとする。
【００２４】
各クライアント装置（図１中の＃１〜＃ｎ）は、それぞれ、時系列データベース１１、時系列データ特徴的時系列部分抽出部１２、イベント列記憶部１３を有する。サーバ装置は、イベント組合せ抽出部１４、イベント継続期間判定部１５、イベント開始時刻判定部１６、イベント発生時刻正規化部１７、イベント間発生時刻差判定部１８を有する。
【００２５】
各クライアント装置とサーバ装置との間のデータのやり取りは、各クライアント装置およびサーバ装置にそれぞれ設けられた図示しない通信装置により通信網を介して行われる。
【００２６】
クライアント装置とサーバ装置は、計算機と上記各構成部分に相当するプログラムと必要なオペレーティング・システム等を用いて構成されるものとする。
なお、店舗システムは、例えば、店舗側ＰＯＳシステムに上記の機能を付加することでも実現可能である。
【００２７】
以下の説明で用いる「開始時刻」「発生時刻差」等の「時刻」は、時系列データの時間軸の区分の仕方に応じて、時間帯（時間帯は１日をいくつかに分割した単位）、日、週または月等を意味するものとする。「継続時間」等の「時間」は、時系列データの時間軸の区分の仕方に応じて、時間帯数、日数、週数、月数等を意味するものとする。
【００２８】
まず、各クライアント装置の各構成部分について説明する。
時系列データベース１１は、複数の時系列データを含むものであり、例えばリレーショナル・データベースとして実現される。ここでの１つの時系列データは、ある項目のある変数の値を時系列に並べたものである。
【００２９】
購買動向予測等を行う具体例の場合、時系列データベース１１は、例えば、ＰＯＳデータをもとに作成され、当該店舗において販売された商品の分類毎／一定期間毎に、その販売数量を集計したものである。販売数量の集計単位として用いる商品の分類としては個別品目毎を基本とするのが好ましいが、その他に、あるカテゴリーに含まれる複数の個別品目の販売数量を集計したデータを用いてもよい。また、上記の一定期間は、例えば、時間帯単位、日単位、週単位、月単位等であり、販売数量の集計期間として１種類のみ使用してもよいし、所望のいくつかでそれぞれ販売数量を集計した時系列データを用いるようにしてもよい。
【００３０】
時系列データベース１１の内容は、外部から入力してもよいし、外部から入力した生データなどをもとにクライアント装置内で作成してもよい。購買動向予測等を行う具体例の場合に、店舗側ＰＯＳシステムに必要な機能を付加して本クライアント装置（店舗システム）を実現するならば、時系列データベース１１は、店舗側ＰＯＳシステムに蓄積されているＰＯＳデータをもとに容易に作成することができる。
【００３１】
なお、時間軸の区分の仕方が相違する時系列データ（例えば、日単位の時系列データと月単位の時系列データ）が存在する場合には、以降のクライアント装置における処理は、時間軸の区分の仕方を同一とする時系列データごとに、別々に行うものとする。
【００３２】
特徴的時系列部分抽出部１２は、時系列データベース１１から特徴的時系列部分を抽出し、これを所定のイベントに置き換えることにより、時系列データをイベント列に変換する。この際、特徴的時系列部分の分類、開始時刻、継続時間の情報を、それぞれ、イベントのイベント名、イベント開始時刻、イベント継続時間とする。特徴的時系列部分の分類とその条件は、例えば、使用者による定義に基づいて設定される。
【００３３】
図２に特徴的時系列部分抽出部１２の処理手順の一例を示す。この処理は、時系列データベース１１の各時系列データについてそれぞれ行われる。
ステップＳ１２でデータが終了するで、次の処理を繰り返す。
【００３４】
すなわち、まず、時系列データベース１１から取り出された１つの時系列データを、横軸を時間（日、週、月等）、縦軸を変数として折れ線グラフ化して表現した場合における極大点および極小点を抽出し（ステップＳ１１）、隣接する極大点と極小点とを結ぶベクトルを作成する（ステップＳ１３）。ベクトルの向きは時間軸方向の成分が正になるようにする。ベクトルの長さは、そのベクトルの持つ時間軸方向の成分の長さとする。ベクトルの傾きは、時間軸方向を０度（あるいはラジアン）とし、変数（例えば販売数量）の軸方向の成分が正の場合（例えば販売数量が増加する場合）を正とする。
【００３５】
次に、ベクトルの傾きの絶対値が基準値以上であり、かつ、ベクトルの長さが基準値以上である条件を満たすか、または該条件を満たさないかを判断する（ステップＳ１４）。
【００３６】
いずれかが基準値以上でない場合には、ステップＳ１１に戻り、次のベクトルを作成し、ステップＳ１２の判断を行う。
いずれも基準値以上である場合には、そのベクトルの始点と長さとイベント分類に必要な情報（例えば傾き）とを特徴的時系列部分として抽出し、これらをもとにイベントとして表現する（ステップＳ１５）。
【００３７】
この手順の場合、ベクトルの始点がイベントの開始時刻になり、ベクトルの長さがイベントの継続時間になる。また、特徴的時系列部分の分類は、例えば、ベクトルの特徴の分類（例えば、ベクトルの傾きの正負、傾きの程度、長さによる分類）を示す記号により表現される。そして、イベント名は、特徴的時系列部分の分類の記号に、当該時系列データの主体あるいは項目（例えば商品の個別品目）を示す記号が結合されたものとなる。購買動向予測等を行う具体例の場合、すなわち時系列データが小売店の販売時系列データの場合、商品Ｘの売上げが急上昇したために上記基準を満たすベクトルが抽出されたならば（上記の手順ではベクトルの傾きが基準以上で正のケース）、例えば、［商品Ｘ＿急上昇］等の記号に変換される。
【００３８】
そして、イベント名とイベント開始時刻とイベント継続時間が結合されて、１つのイベントが得られる。購買動向予測等を行う具体例の場合、例えば、［商品Ｘ＿急上昇、４月開始、２ケ月継続］等の記号により１つのイベントが表現される（より抽象的に記号化すると［Ａ、４、２］などとなる）。
【００３９】
図２の手順などにより特徴的時系列部分抽出部１２により得られた種々のイベントはイベント列記憶部１３に保存される。
このようにして特徴的時系列部分抽出部１２により時系列数値データを縮小化することにより後の処理が極めて効率化される。
【００４０】
なお、図２の手順では、１つのベクトル単位で処理したが、各ステップＳ１１，Ｓ１３，Ｓ１４およびＳ１５をバッチ的に処理するようにしてもよい。
次に、サーバ装置の各構成部分について説明する。
【００４１】
なお、時間軸の区分の仕方が相違する時系列データ（例えば、日単位の時系列データと月単位の時系列データ）をもとに作成されたイベント列が存在する場合には、サーバ装置の各処理は、時間軸の区分の仕方を同一とする時系列データをもとに作成されたイベント列ごとに、別々に行うものとする。
【００４２】
まず、イベント組合せ抽出部１４について説明する。
イベント組合せ抽出部１４は、各クライアント装置から提供されるイベント列が揃うと、イベントの組合せを抽出する。
【００４３】
購買動向予測等を行う具体例の場合、イベント組合せ抽出部１４は、各店舗システムから収集したイベント列（その店舗で発生した全イベント）を用いて、複数の店舗で発生しているイベントの組合せを抽出する。
【００４４】
図３に、イベント組合せ抽出部１４の処理手順の一例を示す。
イベント組合せ抽出部１４は、ユーザにより指定されたまたはユーザ指定がない場合にはデフォルト設定された所定の方法（ステップＳ２２，Ｓ２３，Ｓ２４等）により、２つ以上の異なる種類のイベントの組合せを１つ作成し、このイベントの組合せに該当するものが、複数の時系列データベースからそれぞれ得られたイベント列（例えば各店舗におけるイベント列）の一定数以上（または全部）に含まれている場合には、そのイベントの組合せを形成する各イベントのイベント名、イベント開始時刻、イベント継続時間を、各イベント列から抽出する。なお、この抽出された各イベントのイベント名、イベント開始時刻、イベント継続時間からなるデータを「イベント組データ」と呼ぶものとする。一方、このイベントの組み合わせに相当するものを含むイベント列がは一定数に満たない場合（または全部ではない場合）には、この組み合わせは破棄する。以上の処理をイベントの組み合わせを変えながら、繰り返し行っていく。
【００４５】
なお、本実施形態では、イベント名の相違するものを異なる種類のイベントとして扱う場合について説明するが、イベント名が同一でもイベント開始時刻が相違すれば異なる種類のイベントとするようにしても構わない。
【００４６】
また、イベントの組み合わせの種類が膨大になるのを防ぐため、抽出するイベントの組み合わせの種類数の上限を設けるのが好ましい。この場合、イベントの組み合わせの種類数が上限値に達したら、上記の処理は終了する。また、イベントの組み合わせの種類が膨大になるのを防ぐため、１つの組み合わせを形成するイベント数の上限（例えば２）を設けるのが好ましい。
【００４７】
上記のイベントの組合せを作成するための所定の方法としては、以下のようなものを始めとして、種々の方法が考えられる。
（１）全イベント列を参照しイベントの総当たりによる全種類のイベントの組み合わせを作成する。
（２）ユーザ指定による重要度の高いイベント名から順にイベントの組み合わせを作成する。または、ユーザ指定による重要度の高い項目（例えば商品の個別品目）に関するイベント名を持つイベントから順にイベントの組み合わせを作成する。
（３）対応する時系列データの変数値がより大きな値を持つイベントから順番にイベントの組み合わせを作成する（例えば売上の高い商品のイベントを含むイベントの組み合わせを優先的に作成する）。なお、この場合、クライアント装置側において、イベント列の各イベントのデータにその変数値（例えば販売数量）のデータを付加しておく必要がある。
（４）より多くのイベント列に出現する項目（例えばより多くの店舗で扱っている商品の個別品目）に関するイベント名を持つイベントから順にイベントの組み合わせを作成する。
【００４８】
（５）より大きい変化（例えばベクトルの傾き）を持つイベントから順にイベントの組み合わせを作成する。
次に図４にイベント継続期間判定部１５の処理手順の一例を示す。
【００４９】
イベント組合せ抽出部１４により種々のイベント組データが抽出されると、イベント継続期間判定部１５は、イベントの組み合わせごとに、該当するイベント組データを用いて、該組み合わせを形成する各イベントの継続時間の度数分布を調べ（ステップＳ３１）、各イベントについてそれぞれ所定の条件（例えば、イベントの継続時間の分散もしくは標準偏差が、規定値未満であること）を満たしていれば（ステップＳ３２）、このイベントの組み合わせを、相関関係を持つイベントの組み合わせの候補とする（ステップＳ３３）。
【００５０】
イベントの組み合わせを形成する全イベントのうちいずれか１つでも所定の分散度の条件を満たしていなければ、該イベント間には相関関係がないものとして、該イベントの組み合わせはこの時点で破棄される。
【００５１】
次に図５にイベント開始時刻判定部１６の処理手順の一例を示す。
イベント開始時刻判定部１６は、イベント継続期間判定部１５により抽出された相関関係候補となる各イベントの組み合わせについて、該当するイベント組データを用いて、該組み合わせを形成するイベントごとにその開始時刻の度数分布を調べ（ステップＳ４１）、所定のイベント（例えば最初に発生するイベント）について所定の条件（例えば、イベントの開始時刻の分散もしくは標準偏差が、規定値以上であること）を満たしていれば（ステップＳ４２）、相関関係を持つイベントの組み合わせの候補として出力する（ステップＳ４３）。
【００５２】
上記の所定のイベントが所定の分散度の条件を満たしていない場合、他のイベントについて順次上記の判定を行い、１つでも所定の条件を満たしているものがあれば、その時点で相関関係を持つイベントの組み合わせの候補として出力する。
【００５３】
一方、全てのイベントが所定の条件を満たさないならば、イベントの開始時刻と特定の時刻（あるいは日等）との間に相関関係があるものと判断して、組み合わせの候補としないことを決定する。組み合わせの候補としないことが決定された場合、該イベントの組み合わせは破棄する。
【００５４】
なお、上記の所定のイベントが所定の分散度の条件を満たしていない場合、他のイベントの判定をせずにその時点で組み合わせの候補としないことを決定するようにしてもよい。
【００５５】
なお、特定時刻との間に相関関係があると判断されたイベントについては別途ユーザに提示するようにしてもよい。
次に図６にイベント発生時刻正規化部１７の処理手順の一例を示す。
【００５６】
イベント発生時刻正規化部１７は、イベント開始時刻判定部１６により相関関係を持つイベントの組み合わせの候補として出力された各イベントの組み合わせに該当する各イベント組データについて、複数のイベントのうちの発生順序をもとに予め定められた１つのイベント（例えば最初に発生したイベント）の開始時刻で、該イベントの開始時刻を正規化する（ステップＳ５１）。すなわち、該１つのイベントの開始時刻を起点として、該他のイベントの開始時刻を、この起点からの経過時間すなわち発生時刻差で表現する。
【００５７】
次に図７にイベントイベント間発生時刻差判定部１８の処理手順の一例を示す。
イベント発生時刻正規化部１７により該当するイベント組データに対するイベント経過時間の正規化が終了すると、イベント間発生時刻差判定部１８は、イベント開始時刻判定部１６により相関関係を持つイベントの組み合わせの候補として出力された各イベントの組み合わせについて、該当するイベント組データを用いて、各発生時刻差の度数分布を調べ、すべてについて所定の分散度の条件（例えば、イベントの発生時刻差の分散もしくは標準偏差が、規定値未満であること）を満たしていれば、このイベントの組み合わせを、相関関係を持つイベントの組み合わせとして決定し、このイベントの組み合わせを形成する各イベントのイベント名、各発生時刻差の該当するイベント組データにおける平均値（もしくは平均値および標準偏差等の統計値）を出力する。
【００５８】
相関関係を持つイベントの組み合わせとして決定されたものは、逐次、相関関係規則１９として蓄積していく。そして、得られた種々の相関関係規則１９のデータは、クライアント装置側に提供される。
【００５９】
このようにして、イベント間発生時刻差判定部１８により、イベントの組み合わせのうち、それを形成する複数のイベントの発生間隔のずれの分布が小さいものが、時間的な相関関係のあるイベントの組み合わせとして発見される。例えば、イベントの組み合わせを形成する２種類のイベントを“イベントＡ”、“イベントＢ”とし、発生時刻差をｎ時間とすると、「イベントＡが発生したｎ時間後にイベントＢが発生する。」という時系列間の相関関係が発見される。
【００６０】
なお、イベントは、もともと時系列の特徴的な部分が変換されたものなので、サーバ装置側あるいはクライアント装置側において、発見された相関関係に係るイベント名および発生時刻差を、再度、時系列データにおける表現に戻すことができる。例えば、イベント名［Ｘ＿Ａ］とイベント名［Ｙ＿Ｂ］と発生時刻差［２（カ月）］（Ａは売上上昇、Ｂは売上下降とする）から「商品Ｘの売上が上昇すると２カ月後に商品Ｙの売上が下降する。」の表現を得るなどが可能である。
【００６１】
なお、必要に応じて、相関関係を持つと決定されたイベントの組み合わせに含まれる所望のイベントの開始時刻や継続時間の平均および標準偏差等の統計値をも出力するようにしてもよい。
【００６２】
次に図８（ａ），（ｂ）に各クライアント装置およびサーバ装置の処理手順の一例を示す。
各クライアント装置は、時系列データ作成（ステップＳ１０１）とイベント列生成（ステップＳ１０２）とを継続的に行っている。
【００６３】
一方、サーバ装置は、所定の周期におよび／または外部からの明示的な指示に応じて、一連の処理を行う。所定の周期または外部からの指示で、一連の処理を開始する際（ステップＳ２０１）、まず、各クライアント装置にイベント列転送のリクエストを送信する（ステップＳ２０２）。リクエストには転送を要求するイベント列の期間的な対象範囲等を書き込むものとする。
【００６４】
各クライアント装置は、サーバ装置からイベント列転送のリクエストを受信すると（ステップＳ１０３）、要求に該当するイベント列をサーバ装置に送信する。
【００６５】
サーバ装置は、各クライアント装置からイベント列を受信し（ステップＳ２０３）、全クライアント装置からのイベント列が揃うと、ステップＳ２０４〜ステップＳ２０８の一連の処理を行う。なお、この一連の処理の結果得られたイベント間の相関関係に関する知識は、サーバ装置内に蓄積され、さらなる動向分析、傾向分析等に供される。また、この一連の処理の結果得られたイベント間の相関関係に関する知識および／またはさらなる動向分析、傾向分析等の結果は、上記の一連の処理直後あるいはその後の適当なタイミングで各クライアント装置側にフィードバックされる。
【００６６】
なお、この手順は一例であり、各クライアント装置およびサーバ装置の処理手順には他にも種々の形態が考えられる。
以下では、図９の各店舗の商品名別月別売上数量の時系列データを分析する場合を例に取って本実施形態を説明する。
【００６７】
まず、特徴的時系列部分抽出部１２において、図９に示される時系列データから特徴的な時系列を抽出する。ここでは、２カ月以上連続で売上が上昇し、２カ月間の間に売上高が２倍以上となっているものを、特徴的な時系列部分と定義する。以下、２カ月間の間に売上高が２倍以上となっているものは、「売上高が急上昇する」と示す。例えば、図９での各時系列で、隣接している月の売上の増減を調べ、前月、前々月との売上比を計算することにより、２カ月以上連続で売上が上昇し、２カ月間の間に売上高が２倍以上となっている部分を抽出することができる。
【００６８】
図９の場合、店舗Ａでは、商品が４月より２カ月の間に売上が急上昇しており、商品Ｂが６月より２カ月の間に売上が急上昇しており、店舗Ｂでは、商品Ａが５月より２カ月の間に売上が急上昇しており、商品Ｂが７月より２カ月の間に売上が急上昇しており、店舗Ｃでは、商品Ａが４月より２カ月の間に売上が急上昇しており、商品Ｂが６月より２カ月の間に売上が急上昇していることから、例えば図１０に示される形式で、各店舗ごとに特徴的時系列部分が抽出される。
【００６９】
ここで、特徴的時系列部分抽出部１２では、これらの抽出された特徴的時系列部分をイベント形式に変換してイベント列１３を作成する。
ここでは、イベントの形式は、［“イベント名”、“開始時刻”、“継続時間”］の形式とする。例えば、「商品Ｘが４月より２カ月の間に売上が急上昇している」部分は、［商品Ｘ＿急上昇、４月開始、２カ月継続］のような形のイベントに変換される。
【００７０】
この結果、図１０で示される特徴的時系列部分からは、図１１に示すようなイベント列が作成される。
この操作によって、図９の時系列データで、３店舗２商品７カ月分のデータ（４２個の数値データ）が、３店舗２イベントのイベント名を示す６個の記号データと３店舗２イベントの開示時刻および継続時間を示す１２個の数値データの計１８個のデータに削減される。
【００７１】
次に、イベント組合せ抽出部１４において、２つ以上の異なる種類のイベント名の組合せを作る。本例では、イベントは“商品Ｘ＿急上昇”と“商品Ｙ＿急上昇”の２つのイベントしかないので、“商品Ｘ＿急上昇”と“商品Ｙ＿急上昇”の組を作るが、通常は前述したように多くのイベント名が抽出されるので総当たり等の所定の方法に従ってイベント名の組を作る。
【００７２】
このイベントの組合せが、複数の時系列データベースから得られた複数のイベント列の各イベント列に含まれていれば、そのイベント名、イベント開始時刻、イベント継続時間を各イベント列から抽出する。
【００７３】
本例では、“商品Ｘ＿急上昇”と“商品Ｙ＿急上昇”の組が店舗Ａ、店舗Ｂ、店舗Ｃの全てのイベント列から抽出され、図１２で示されるイベント組となる。本例の場合は、イベントの組み合わせが１種類であるので、表は１つしか生成されないが、イベントの組み合わせの候補が複数ある場合には、イベントの組み合わせ種類数分の表が作成される。
【００７４】
次に、イベント継続期間判定部１５において、イベント組内の各イベントの継続時間の分布を求め、この分布がある一定の分散基準を満たしていれば、相関関係の候補とする。本例の場合、店舗Ａ、店舗Ｂ、店舗Ｃにおける“商品Ｘ＿急上昇”イベントの継続時間は、それぞれ、２カ月、２カ月、２カ月である。また、“商品Ｙ＿急上昇”イベントの継続時間は、それぞれ、２カ月、２カ月、２カ月である。ここでは、両イベントとも分散基準を満たしているとする。
【００７５】
次に、イベント開始時刻判定部１６において、イベント組内の各イベントの開始時刻の度数分布を調べ、所定の分散基準の条件を満たしているか否かを調べる。本例の場合、商品Ｘの急上昇のイベントの開始時刻で判断すると、開始時刻は、［４月、５月、４月］となる。ここでは、商品Ｘの急上昇のイベントの開始時刻は所定の分散基準の条件を満たしているとし、イベント間の相関関係候補となる。
【００７６】
次に、イベント発生時刻正規化部１７において、各イベント組内の１つのイベントの開始時刻で他のイベントの開始時刻を正規化する。
本例の場合は、“商品Ｘ＿急上昇”のイベントを基準として、“商品Ｙ＿急上昇”のイベントの開始時刻を正規化する。“商品Ｘ＿急上昇”のイベントの開始時刻をＮとして、“商品Ｙ＿急上昇”のイベントの開始時刻のＮに対するオフセットを求めると、図１３で示される表のような内容になる。
【００７７】
ここで、イベント間発生時刻差判定部１８において、正規化された上記の他のイベントの開始時刻の度数分布を調べ、所定の分散基準の条件を満たしているか否かを調べる。
【００７８】
本例の場合は、店舗Ａ、店舗Ｂ、店舗Ｃにおける“商品Ｘ＿急上昇”のイベントの開始時刻を基準として正規化された、“商品Ｙ＿急上昇”のイベントの開始時刻は、それぞれ、＋２カ月、＋２カ月、＋２カ月である。ここでは、正規化された“商品Ｙ＿急上昇”のイベントの開始時刻は所定の分散基準を示しているとする。
【００７９】
以上の操作により、図９の時系列データからは、「商品Ｘ＿急上昇イベントが発生した後、一定期間後に、商品Ｙ＿急上昇イベントが発生する。」という規則が導かれる。
【００８０】
生成された規則でのイベントの継続時間、イベントの発生時刻差は、それぞれ、イベント継続期間判定部１５で得られた各イベントの継続時間差の平均等、所定の方法で算出可能である。
【００８１】
最終的に本例では、「商品Ｘ＿急上昇イベントが発生した後、２カ月後に商品Ｙ＿急上昇イベントが発生する。各々のイベント継続時間は２カ月である。」という規則が導かれる。
【００８２】
ここで、“商品Ｘ＿急上昇”，“商品Ｙ＿急上昇”をそれぞれ、「商品Ｘの売上が急上昇し始める」、「商品Ｙの売上が急上昇し始める」という表現に置き換えると、「商品Ｘの売上が急上昇すると、２カ月後には商品Ｙの売上も急上昇し始める。上昇期間は２カ月である。」という時系列間の相関関係が導かれる。
【００８３】
本実施形態によれば、時系列データから特徴的な部分を抽出して、それらをイベントで表すことにより、分析対象の時系列データのデータ量を削減し、より大量のデータの分析を可能とする。また、抽出されたイベントに、イベント開始時刻とイベント継続時間のデータを持たせることにより、イベント発生間の相関関係を容易に発見でき、最終的に時系列間の相関関係も容易に発見できる。
【００８４】
本実施形態での計算量は、時系列データから特徴的な時系列部分を抽出してイベント列に変換する処理では、時系列データの長さに比例する。しかし、その後の処理での計算量は、変換されたイベント列を使うので、時系列の長さとは独立で、時系列の系列数の組合せ数にのみ比例するので、従来の統計的に相関関係を分析する手法に比べて、少ない計算量で時系列間の相関関係を発見できる。
【００８５】
また、本実施形態によれば、時系列データをイベントに変換して相関関係を発見するだけでなく、イベント列からイベント間の相関関係を求める部分のみを用いて、開始時刻と継続期間が記されているイベント列から、イベント発生の相関関係を発見する装置および方法も提供することができる。
【００８６】
次に、本発明の第２の実施形態に係るデータ処理システムについて説明する。
本実施形態のデータ処理システムは、基本的には第１の実施形態と同様であり、以下では相違する部分のみ説明する。
【００８７】
まず、本実施形態では、クライアント装置において、時系列データからイベントを抽出する代わりに、実際に発生したイベントを用いるので、第１の実施形態の時系列データベース１１と時系列データ特徴的時系列部分抽出部１２が不要となり、イベント列記憶部１３の代わりに、イベント列データベースに直接、イベント列が記録されるものとなる。
【００８８】
また、本実施形態では、イベントにはその開始時刻にのみ意味を持たせ継続時間は用いないので、サーバ装置において、第１の実施形態のイベント継続期間判定部１５の処理を始めとするイベントの継続時間に関する処理が削除される。
【００８９】
以下、具体例として店舗での各種行事や発生した事象などをイベントとして表したイベント系列からイベント間の発生の傾向の相関関係を発見する例について説明する。
【００９０】
図１４に、２つの店舗Ａ，Ｂでのイベントを示す。これは、第１の実施形態におけるイベント列に相当する。図１４に示すイベント列は、店舗Ａで１月１０日に大売出広告を行い、１月１１日に店舗の大掃除を行い、１月１２日に客の入りが良く大入袋が出されていることと、店舗Ｂでは、１月２１日に棚卸しが行われ、１月２３日に大売出広告を出しており、１月２５日に客の入りが良く大入袋が出されていることを示している。
【００９１】
これらのイベントに対して、総辺りでイベント組を生成すると、図１５〜図１９で示されるイベント組が生成される。
大売出広告と大入袋のイベントは、店舗Ａ、店舗Ｂともに発生しているので、図１５に示されるように、これらのイベント組は両店舗に発生する。しかし、大掃除、棚卸しのイベントは、それぞれ店舗Ａ、店舗Ｂのみに発生するので、図１６〜図１９に示すように、これらのイベントを含むイベント組は、片方の店にしか発生しない。
【００９２】
本例では、図１５のイベント組から、イベントの発生傾向を発見する動作を示す。
まず、イベント発生時刻正規化部１７において、図１５のイベント組に対して、イベントの開始時刻を正規化する。大売出広告のイベント発生時をＮとしてイベントの開始時刻を正規化すると、図２０に示すイベント組が生成される。
【００９３】
次に、イベント間発生時刻差判定部１８において、正規化された上記の他のイベントの開始時刻の度数分布を調べ、所定の分散基準の条件を満たしているか否かを調べる。本例の場合、正規化された大入袋が出たイベントの開始時刻は所定の分散基準を満たしているとする。
【００９４】
以上の操作により、図１４のイベントデータから、「大売出広告を出した２日後には、大入袋が出るほど客足が伸びる。」という、イベント間の相関関係が発見される。
【００９５】
以下では、各実施形態の変形例について説明する。
（変形例１）
第１、第２の実施形態において、イベント開始時刻判定部１６を省き、イベント継続期間判定部１５とイベント発生時刻正規化部１７を結合するように構成して、イベントの開始時刻と特定の時刻との間の相関関係の判定は行わないようにしてもよい。この場合、イベント開始時刻判定部１６で破棄されたであろうイベントの組み合わせも一旦は規則として抽出されることがあり、その後の分析に供することができる。
【００９６】
また、第１、第２の実施形態において、イベント継続期間判定部１５を省き、イベント組合せ抽出部１４とイベント開始時刻判定部１６を結合するように構成してもよい。これは、各クライアント装置ごとにイベントの継続時間がばらついても相関関係がないものとして破棄しないこととしたものである。
【００９７】
また、第１、第２の実施形態において、イベント継続期間判定部１５およびイベント開始時刻判定部１６を省いた構成も可能である。
また、第１、第２の実施形態または上記の構成部分を一部省いた構成において、イベント継続期間判定部１５と、イベント開始時刻判定部１６と、イベント発生時刻正規化部１７およびイベント間発生時刻差判定部１８とは、適宜順序を入れ替えてもよい。
【００９８】
（変形例２）
第１の実施形態（またはその変形例１）において、第１の実施形態の時系列データ特徴的時系列部分抽出部１２で抽出された継続時間を持つイベントと第２の実施形態のような継続時間を持たないイベントとの間の相関関係を抽出する機能をも付加するようにしてもよい。
【００９９】
すなわち、クライアント装置には、時系列データ特徴的時系列部分抽出部１２で抽出された継続時間を持つイベント列のデータベースとクライアント装置側で個別に発生した継続時間を持たないイベント列のデータベースを設け、それぞれのイベント列をサーバ装置に転送する。
【０１００】
サーバ装置側では、第１の実施形態（またはその変形例１）のようにして継続時間を持つイベント間の相関関係を検出するのに加えて、継続時間を持つイベントと、継続時間を持たないイベント間の相関関係を検出する。継続時間を持つイベントと、継続時間を持たないイベント間の相関関係を検出する際には、第１の実施形態（またはその変形例１）において、イベント継続期間判定部１５の処理を継続時間を持つイベントについて行うかまたはイベント継続期間判定部１５の処理を省くようにする。
【０１０１】
これにより、「継続時間を持たない個別イベントＸの発生→期間ｔ１後に継続時間を持つイベントＡが発生（継続時間＝ｔ２）」といったような知識を得ることができる。
【０１０２】
また、サーバ装置には、必要に応じて、各クライアント装置側に共通するような継続時間を持たない特定のイベントのデータベースを設け、各クライアント装置から収集したイベントのうち特定イベントと相関関係を持つものを抽出するようにしてもよい。この場合、イベント組合せ抽出部１４では特定イベントと各クライアント装置から収集したイベント列に含まれるイベントでイベントの組み合わせを作成し、イベント継続期間判定部１５は省くかあるいは継続時間を持つイベントについて行い、イベント開始時刻判定部１６は省くかあるいは各クライアント装置から収集したイベント列に含まれるイベントについて行うようにする。
【０１０３】
これにより、例えば、「あるスポーツであるチームが勝った次の日はスポーツ新聞の売上が上昇する。」などのように、「継続時間を持たない特定イベントＸの発生→期間ｔ１後に継続時間を持つイベントＡが発生（継続時間＝ｔ２）」といった知識を得ることができる。
【０１０４】
（変形例３）
第２の実施形態の機能を、第１の実施形態（あるいはその変形例１）や上記の変形例２に付加してもよい。その他、以上で説明した各機能は、種々組み合わせて実施することが可能である。
【０１０５】
（変形例４）
上記の各実施形態や各変形例において、得られた規則間の関係を分析して、さらに規則を追加等するようにしてもよい。
【０１０６】
例えば、
知識１：品目Ａの売上が上昇→期間ｔ１後に品目Ｂの売上が上昇
知識２：品目Ｂの売上が上昇→期間ｔ２後に品目Ｃの売上が上昇
知識３：品目Ｂの売上が上昇→期間ｔ３後に品目Ｄの売上が上昇
との規則が得られている場合に、これらを結合して、
品目Ａの売上が上昇→期間ｔ１後に品目Ｂの売上が上昇→（期間ｔ２後に品目Ｃの売上が上昇、期間ｔ３後に品目Ｄの売上が上昇）といった規則を生成するようにしてもよい。
【０１０７】
（変形例５）
第１の実施形態およびその変形例のそれぞれにおいて、各クライアント装置には、時系列データベース１１のみ設け、時系列データ特徴的時系列部分抽出部１２とイベント列記憶部１３は、クライアント装置に設けるようにしてもよい。
【０１０８】
なお、以上の各機能は、ソフトウェアとしても実現可能である。また、上記した各手順あるいは手段をコンピュータに実行させるためのプログラムを記録した機械読取り可能な媒体として実施することもできる。
本発明は、上述した実施の形態に限定されるものではなく、その技術的範囲において種々変形して実施することができる。
【０１０９】
【発明の効果】
本発明によれば、時系列データから特徴的な部分を抽出して、それらをイベントとして扱うことにより、分析対象の時系列データのデータ量を削減し、より大量のデータの分析を可能とする。また、抽出されたイベントに、イベント開始時刻のデータを持たせることにより、イベント発生間の相関関係を容易に抽出でき、最終的に時系列間の相関関係も容易に抽出できる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係るデータ処理システムの構成を示す図
【図２】特徴的時系列部分抽出部の処理手順の一例を示すフローチャート
【図３】イベント組合せ抽出部の処理手順の一例を示すフローチャート
【図４】イベント継続期間判定部の処理手順の一例を示すフローチャート
【図５】イベント開始時刻判定部の処理手順の一例を示すフローチャート
【図６】イベント発生時刻正規化部の処理手順の一例を示すフローチャート
【図７】イベント間発生時刻差判定部の処理手順の一例を示すフローチャート
【図８】店舗システムおよびセンタシステムの処理手順の一例を示すフローチャート
【図９】分析対象となる時系列データの一例を示す図
【図１０】抽出された特徴的時系列部分の一例を示す図
【図１１】イベント列となった時系列データの一例を示す図
【図１２】イベント組となった時系列データの一例を示す図
【図１３】発生時刻を正規化されたイベント列となった時系列データの一例を示す図
【図１４】イベントの列の一例を示す図
【図１５】イベント組となった時系列データの一例を示す図
【図１６】イベント組となった時系列データの一例を示す図
【図１７】イベント組となった時系列データの一例を示す図
【図１８】イベント組となった時系列データの一例を示す図
【図１９】イベント組となった時系列データの一例を示す図
【図２０】発生時刻を正規化されたイベント組の一例を示す図
【符号の説明】
１１…時系列データベース
１２…特徴的時系列部分抽出部
１３…イベント列記憶部
１４…イベント組合せ抽出部
１５…イベント継続期間判定部
１６…イベント開始時刻判定部
１７…イベント発生時刻正規化部
１８…イベント間発生時刻差判定部
１９…相関関係規則
【図１】
0003699807.tif 000002
【図２】
0003699807.tif 000003
【図３】
0003699807.tif 000004
【図４】
0003699807.tif 000005
【図５】
0003699807.tif 000006
【図６】
0003699807.tif 000007
【図７】
0003699807.tif 000008
【図８】
0003699807.tif 000009
【図９】
0003699807.tif 000010
【図１０】
0003699807.tif 000011
【図１１】
0003699807.tif 000012
【図１２】
0003699807.tif 000013
【図１３】
0003699807.tif 000014
【図１４】
0003699807.tif 000015
【図１５】
0003699807.tif 000016
【図１６】
0003699807.tif 000017
【図１７】
0003699807.tif 000018
【図１８】
0003699807.tif 000019
【図１９】
0003699807.tif 000020
【図２０】
0003699807.tif 000021