JP4801566B2 - データストリーム監視装置、データストリーム監視方法、そのプログラムおよび記録媒体 - Google Patents

データストリーム監視装置、データストリーム監視方法、そのプログラムおよび記録媒体 Download PDF

Info

Publication number
JP4801566B2
JP4801566B2 JP2006318752A JP2006318752A JP4801566B2 JP 4801566 B2 JP4801566 B2 JP 4801566B2 JP 2006318752 A JP2006318752 A JP 2006318752A JP 2006318752 A JP2006318752 A JP 2006318752A JP 4801566 B2 JP4801566 B2 JP 4801566B2
Authority
JP
Japan
Prior art keywords
time
data
sequence
data stream
distance
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
JP2006318752A
Other languages
English (en)
Other versions
JP2008134706A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2006318752A priority Critical patent/JP4801566B2/ja
Publication of JP2008134706A publication Critical patent/JP2008134706A/ja
Application granted granted Critical
Publication of JP4801566B2 publication Critical patent/JP4801566B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、継続して大量に流入してくるデータをリアルタイムに分析する技術(ストリームマイニング技術)に関する。
近年、コンピュータ装置やネットワークに関する技術が発達し、ネットワーク上を大量のデータが継続的に流通することも少なくない。ネットワーク上で継続して大量に流通するデータのことをデータストリームと呼ぶが、データストリームの例としては、たとえば、インターネットにおける株価などの金融データや、LAN(Local Area Network)などのセンサネットワークにおけるセンサデータ(温度センサや照度センサの計測データなど)などが挙げられる。
そして、ストリームマイニング技術は、データベースに蓄えられた大容量のデータを分析するのではなく、継続的に受信する大量のデータをリアルタイムで分析しなくてはならないため、計算の高速化と省メモリ化を図る必要がある。また、そうすれば、利用者に対して必要な情報を迅速に提供することもできる。
データストリームの分析としては、たとえば、ある問合せシーケンス(所定のデータ列)とある程度類似するシーケンスがデータストリーム中にあるか否かを、部分的なシーケンスマッチングによって見つける手法がある。この場合、データストリームのサンプリングレートなどによって、データストリームと問合せシーケンスでは相対的な経時速度が異なることもあるので、データの時間軸方向の伸縮も考慮に入れたマッチングを行うことが望ましい。
そこで、動的計画法として、シーケンス間の時間軸方向の伸縮も考慮に入れ、シーケンス間の距離を最小化するように時間軸方向の調整を行いながらシーケンスマッチングを行う技術であるダイナミックタイムワーピング(DTW:Dynamic Time Warping)が、広く使用されている。
このDTWに基づいて作成および保存される行列をタイムワーピング行列と呼び、そのタイムワーピング行列によって2つのシーケンス間の距離であるDTW距離を算出することができる。DTW距離が小さいほど、2つのシーケンスは類似していることになる。
たとえば、非特許文献1と非特許文献2には、DTWに基づく類似部分シーケンスの検出の高速化に関する技術が記載されている。
また、非特許文献3には、データストリームのリアルタイム分析手法として、データストリーム中のデータ同士の相関係数も考慮することで精度を上げたStatStreamに関する技術が記載されている。
さらに、非特許文献4には、データストリームのリアルタイム分析手法において使用する、データ間の遅延相関を検出するアルゴリズムであるBRAIDに関する技術が記載されている。
Emonn Keogh,Exact Indexing of Dynamic Time Warping,Proceedings of the Twenty-eighth International Conference on VLDB(Very Large Data Bases),China,August 2002,pp.406-417 Yasushi Sakurai,MasatoshiYoshikawa,Christos Faloutsos,FTW:FastSimilarity Search under the Time Warping Distance, Proceedings of Symposium on PODS(Principles of Database Systems),USA,June 2005,pp.326-337 Yunyue Zhu,Dennis Shasha,StatStream:StatisticalMonitoring of Thousands of Data Streams in Real Time,Proceedingsof the Twenty-eighth International Conference on VLDB(Very Large Data Bases),China,August 2002,pp.358-369 Yasushi Sakurai,Spiros Papadimitriou, Christos Faloutsos,BRAID:StreamMining through Group Lag Correlations, Proceedings of ACM SIGMOD(Association For Computing Machinery Special Interest Group On Management Of Data),USA,June 2005,pp.599-610
しかしながら、非特許文献1および非特許文献2は、蓄積されたデータ集合に適用する技術であり、データストリームのリアルタイム分析のための技術ではない。
また、非特許文献3および非特許文献4は、時間軸方向に調整を行うことなくシーケンスマッチングを行うものであり、DTWを使用したデータストリーム監視に関する技術ではない。
そして、DTWを使用したデータストリーム監視を行おうとすると、データストリームの長さに比例して計算量やメモリの使用量が増大してしまい、実用的ではなかった(詳細は、発明を実施するための最良の形態の比較例の説明を参照)。
そこで、本発明は、前記問題点に鑑みてなされたものであり、DTWを使用したデータストリーム監視において、計算コスト(計算量やメモリの使用量)の低減を図ることを目的とする。
前記課題を解決するために、請求項1および請求項に係る発明は、継続的に受信するデータであるデータストリームから、所定のデータ列である問合せシーケンスと類似する部分シーケンスを、ダイナミックタイムワーピング距離に基づいて検出するデータストリーム監視装置において、記憶部が、データストリーム中の時刻tにおけるデータx を受信したときに、長さmのシーケンスY=(y ,y ,・・・,y )である問合せシーケンス中のデータy (ただし、i=1,2,・・・,m)とデータストリーム中の時刻t−1におけるデータx t−1 との距離に関する情報d(t−1,i)と、当該距離に関する情報d(t−1,i)に対応する開始時刻に関する情報s(t−1,i)と、を(t−1,i)要素に持つ単一のタイムワーピング行列、および、ダイナミックタイムワーピング距離に関する所定の閾値εを記憶している
そして、処理部は、データ を受信したときに、記憶部に記憶されたタイムワーピング行列と以下の式(11)〜(14)を用いて、問合せシーケンス中のデータy (ただし、i=1,2,・・・,m)とデータx との間の距離に関する情報d(t,i)と、以下の式(15)により計算される当該d(t,i)に対応する開始時刻に関する情報s(t,i)とを計算して、記憶部に記憶されたタイムワーピング行列を更新し、問合せシーケンス中のデータy とデータx との間の距離に関する情報d(t,m)が所定の閾値ε以下のときに、当該距離に関する情報d(t,m)に対応する開始時刻s(t,m)を開始時刻t とし、時刻tを終了時刻t とするデータストリーム中の部分シーケンスX[t :t を類似する部分シーケンスとして検出する。
かかる発明によれば、タイムワーピング行列が単一であることで、計算コストの低減を図ることができる。また、類似する部分シーケンスを検出したときに、その開始時刻を特定することができる。
請求項および請求項に係る発明は、処理部が、類似する部分シーケンスX[t :t を検出した場合、その後、さらに、タイムワーピング行列の各行列要素の値の算出を行い、その類似する部分シーケンスX[t :t と時間帯が一部でも重複する部分シーケンスの中で、ダイナミックタイムワーピング距離がより小さいものがないと判断したときに、その類似する部分シーケンスX[t :t をより適切な部分シーケンスとして検出することを特徴とする。
かかる発明によれば、類似する部分シーケンスと時間帯が重複する部分シーケンスを、その後、さらに調べることで、その類似する部分シーケンスがより適切な部分シーケンスであると判断することができる。
請求項および請求項に係る発明は、処理部が、類似する部分シーケンスX[t :t を検出した場合、その類似する部分シーケンスX[t :t の最後のデータの受信時刻を終了時刻とすると、その終了時刻後におけるタイムワーピング行列のある列において、各行列要素のうち、その開始時刻が終了時刻以前であって、かつ、その値が類似する部分シーケンスのダイナミックタイムワーピング距離よりも小さいものがないときに、その類似する部分シーケンスX[t :t をより適切なものとして検出することを特徴とする。
かかる発明によれば、類似する部分シーケンスの終了時刻後におけるタイムワーピング行列のある列における各行列要素について上記のように調べることで、その部分シーケンスをより適切なものとして判断することができる。
請求項に係る発明は、請求項から請求項のいずれか1項に記載のデータストリーム監視方法をコンピュータに実行させるためのプログラムである。
かかる発明によれば、データストリーム監視方法をコンピュータに実行させることができる。
請求項に係る発明は、請求項のプログラムを記録することを特徴とする記録媒体である。
かかる発明によれば、データストリーム監視方法のプログラムを記録することができる。
本発明によれば、DTWを使用したデータストリーム監視において、計算コストの低減を図ることができる。
以下、本発明に係るデータストリーム監視装置を実施するための最良の形態(以下、実施形態という。)について、適宜図面を参照しながら説明する。なお、参照図以外の図も適宜参照する。
その前に、理解を容易にするため、図8および図9を参照しながら、DTWを使用したデータストリーム監視の比較例(従来技術)について説明する。
図8は、DTWを使用したデータストリーム監視の比較例における、問合せ処理のイメージを示した図である。
図8において、シーケンスYは、固定長mのデータであり、シーケンスの類似判断の元となるデータである。
データストリームであるシーケンスXは、時々刻々と伸張している(データ量が増えている)シーケンスであり、その長さをnとし、また、シーケンスの類似判断の対象となるデータである。
TWM(タイムワーピング行列)1〜Sは、それぞれ時刻t=1〜t=Sから始まるタイムワーピング行列である。また、TWMSに示した黒いマスのつながりは、ワーピングパス(後記するDTW距離を算出するためにたどるルート)である。
ここで、目的は、DTW距離に基づき、シーケンスXにおいて、シーケンスYと類似する部分シーケンスを検出することである。以下、図8を参照しながらその概要を説明し、その後、図9を参照しながら具体例について説明する。なお、類似する部分シーケンスの検出方法は2つあり、それらを第1の方法、第2の方法と呼ぶ。まず、第1の方法について説明する。
(第1の方法)
2つのシーケンス間のDTW距離とは、2つのシーケンスを、全体的あるいは部分的に時間軸方向に伸縮の調整を行った後の距離のことである。DTW距離は、タイムワーピング行列に基づいて算出することができる。
長さmのシーケンスY=(y,y,・・・,y)と長さnのシーケンスX=(x,x,・・・,x)の間のDTW距離D(X,Y)は、以下の式(1)〜(4)のようにして求めることができる。なお、t=(1,2,・・・,n)、i=(1,2,・・・,m)とする。
D(X,Y)=f(n,m)・・・(1)
f(t,i)=||x−y||+min{f(t,i−1),f(t−1,i),
f(t−1,i−1)}・・・(2)
f(0,0)=0・・・(3)
f(t,0)=f(0,i)=∞・・・(4)
式(1)は、DTW距離の定義である。式(2)は、具体的な計算式である。
式(2)において、||x−y||は、2つの数値(xとy)の距離を表す。2つの数値の距離としては、たとえば、ユークリッド距離やマンハッタン距離が考えられる。n次元空間において、a、bという2つの点の座標をa(a,a,・・・,a)、b(b,b,・・・,b)とし、また、(1≦j≦n)とすると、ユークリッド距離とは√(Σ(a−b)、マンハッタン距離とはΣ|a−b|で表される距離のことである。
以下の具体例では、計算を容易にするために、||x−y||として、ユークリッド距離の二乗の値を算出し、使用する。
また、式(2)において、min{f(t,i−1),f(t−1,i),f(t−1,i−1)}は、{}内の3つの値のうち、最小のものを採用する、という意味である。なお、最小のものが2つあるいは3つある場合については、検出される部分シーケンスが長くなるような(あるいは短くなるような)値を選択する、あるいは、検出される部分シーケンスが問合せシーケンスYに近くなるような値を選択する、など、予めその選択基準を設定しておいてもよい。
式(3)および式(4)は、この3つの値を計算する際に使用する、タイムワーピング行列における境界条件である。
タイムワーピング行列は、DTWの関数の値、すなわち、上記式(2)におけるf(t,i)の値を保持するものである。比較例では、長さnのシーケンスXと長さmのシーケンスYの距離を求めるときに、n個のタイムワーピング行列を使用するため、計算にO(nm)(nとmの積に比例)の時間がかかってしまう。つまり、この方法では、nの値が大きくなると、計算時間が長くなりすぎて、実用に耐えない。
なお、メモリの使用量はO(m)である。これは、タイムワーピング行列の情報として、現在時刻の列(タイムワーピング行列におけるその時刻の各行列要素の集合)の情報とその直前時刻の列の情報の計2列の情報だけを記憶しておけばよく、それ以前の情報は逐次消去可能だからである。
また、X[t:t]を、時刻tから時刻tまでの部分シーケンスとする。すなわち、X=(x,x,・・・,x,・・・,x,・・・,x)において、X[t:t]=(x,・・・,x)である。ここでの目的は、固定長mの問合せシーケンスYと高い類似性を有するX[t:t]を発見(検出)することである。
第1の方法では、所定の閾値εを設定しておき、次の式(5)を満たすX[t:t]を検出する。
D(X[t:t],Y)≦ε・・・(5)
第1の方法の具体例を、図9を参照しながら説明する。図9は、比較例におけるタイムワーピング行列の例を示した図である。
ここでは、時間経過とともに伸張するシーケンスXにおいて、シーケンスY=(11,6,9,4)と高い類似性を有する部分シーケンスを検出することを目的とする。図9(1)〜(7)では、シーケンスXの長さが「7」(X=(5,12,6,10,6,5,1))のときのタイムワーピング行列(TWM)1〜7(それぞれ太線の内部)の状態を示している。なお、閾値ε=20とする。
また、上記式(1)〜(4)を、実際に各TWM1〜7の各要素(各行列要素)の値を算出するための式に変形すると、以下の式(6)〜(9)のようになる。
つまり、t番目のタイムワーピング行列(時刻tから始まるタイムワーピング行列)において、要素(k,i)のDTW距離をf(k,i)とする。なお、t=(1,2,・・・,n)、i=(1,2,・・・,m)、k=(1,2,・・・,n−t+1)とする。また、式(1)〜(4)と重複する事項に関しては、説明を適宜省略する。
D(X[t:t],Y)=fts(t−t+1,m)=min(f(k,m))・・・(6)
(k,i)=||xt+k−1−y||+min{f(k,i−1),f(k−1,i),f(k−1,i−1)}・・・(7)
(0,0)=0・・・(8)
(k,0)=f(0,i)=∞・・・(9)
式(6)は、DTW距離の定義である。式(7)は、具体的な計算式である。式(8)および式(9)は、タイムワーピング行列における境界条件である。
次に、図9を参照しながら、具体的な計算について説明する。
TWM1〜7の各要素には、上記式(6)〜(9)にしたがって算出された値が格納されている。
TWM2を例にとって説明すると、上記式(6)〜(9)から、まず、時刻t=2のとき、f(1,1)=(12−11)+min{f(1,0)=∞,f(0,1)=∞,f(0,0)=0}=1+0=1である。
また、f(2,1)=(6−11)+min{f(2,0)=∞,f(1,1)=1,f(1,0)=∞}=25+1=26である。
さらに、f(1,2)=(12−6)+min{f(1,1)=1,f(0,2)=∞,f(0,1)=∞}=36+1=37である。
また、f(2,2)=(6−6)+min{f(2,1)=26,f(1,2)=37,f(1,1)=1}=0+1=1である。
以下、同様にして、各TWM1〜7における各要素の値を算出することができる。
そして、各TWM1〜7のそれぞれの時刻において、それ以前のyのときの要素の値のうち最小の値がDTW距離となる。また、各TWM1〜7における各DTW距離の開始時刻(計算に使用したシーケンスXの値のうち最初の値の時刻)は、各TWM1〜7の番号(TWM1なら「1」、TWM3なら「3」)と一致している。
このような状況で、シーケンスXにおいて、シーケンスYと類似性の高い部分シーケンスを検出する、すなわち、DTW距離が「20」以下になっているものを検出する。
まず、時刻t=1においては、タイムワーピング行列がTWM1しか存在せず、DTW距離が「54」なので、該当しない。
次に、時刻t=2において、TWM1のDTW距離は「54」、TWM2のDTW距離は「110」なので、該当しない。
そして、時刻t=3において、TWM1のDTW距離は「50」、TWM2のDTW距離は「14」、TWM3のDTW距離は「38」であり、TWM2が該当(「DTW距離が「20」以下」の条件を充足)するので、部分シーケンスX[2:3]を発見できたことになる。
このようにして、比較例によれば、シーケンスXの長さがnのときには、n個のタイムワーピング行列を使用することで、目的の類似する部分シーケンスを発見することができる。
ただし、上記式(6)〜(9)と図9による具体例からもわかるように、各TWM1〜7は、現在時刻およびその直前の時刻の2列分の情報のみをメモリに記憶させておけばよく、それよりも前の情報は逐次消去することができる。
そして、第1の方法によれば、DTW距離が閾値ε以下になった場合に、該当する部分シーケンスを検出したことになる。しかし、利用者の都合などによっては、その直後に、より類似性の高い部分シーケンスが存在する場合には、最初の部分シーケンスは検出したことにせず、後のより類似性の高い部分シーケンスのみを検出したことにしたい場合も多い。
(第2の方法)
そこで、第2の方法では、最初に類似する部分シーケンスを検出した後、その類似する部分シーケンスと時間帯が少しでも重複する部分シーケンスの中で、より類似性の高い(DTW距離が小さい)ものがあるか否かを調べる。つまり、類似する部分シーケンスを検出した後、時間帯が少しでも重複する部分シーケンスの中で、より類似性の高いものがないことが確定して初めて、それを該当する部分シーケンス(以下、「最適な部分シーケンス」という。)と判断するのである。
図9の例では、時刻t=3において、TWM2のDTW距離が「14」となり、まず、閾値ε以下という条件をクリアする部分シーケンスX[2:3]を発見できたことになる。この部分シーケンスは終了時刻がt=3なので、開始時刻がそれよりも後であるTWM4〜7は考慮する必要がない。
そこで、TWM1〜3において、時刻t=3よりも後に、DTW距離が「14」よりも小さくなる可能性があるか否かが問題になる。まず、TWM1では、時刻t=3のときの各要素の値(下から、「62」,「37」,「46」,「50」)がすでにいずれも「14」よりも大きいので、その後、DTW距離が「14」よりも小さくなる可能性はない。同様に、TWM3についても、時刻t=3よりも後に、DTW距離が「14」よりも小さくなる可能性はない。
ただし、TWM2では、時刻t=3のとき、f(2,2)=1、f(2,3)=10であり、その後、DTW距離が「14」よりも小さくなる可能性がある。実際に、時刻t=5において、DTW距離が「6」になっている。そして、その時刻t=5において、「6」以外の各要素の値(下から、「52」,「17」,「11」)がいずれも「6」よりも大きいので、その後、DTW距離が「6」よりも小さくなる可能性はない。
しかし、DTW距離が「6」になるのは部分シーケンスX[2:5]なので、今度はTWM4とTWM5も関係してくる。そこで、TWM4を見ると、時刻t=5およびt=6に「6」以下の要素、すなわち、それぞれf(2,2)=1およびf(3,2)=2の値が存在するが、時刻t=7には、「6」以下の値が存在しない。また、TWM5においては、時刻t=5のときすでに、「6」以下の要素は存在しない。
したがって、時刻t=7の時点で、DTW距離「6」を与えるTWM2の時刻t=5における部分シーケンスX[2:5]が最適なシーケンスであることがわかる。
また、TWMにおいて、このDTW距離「6」を算出するためにたどってきたルート「f(1,1)→f(2,2)→f(3,3)→f(4,4)」がワーピングパスの一例である。
このように、比較例の第1の方法および第2の方法によれば、シーケンスXの長さがnのとき、n個のタイムワーピング行列を使用する必要があり、計算にO(nm)の時間がかかってしまい、nの値が大きくなると計算時間が長くなりすぎて、実用的ではない。
そこで、以下、図1〜7を参照しながら、タイムワーピング行列が単一でよく、計算がO(m)の時間で済み、計算の高速化と省メモリ化を実現することのできる本実施形態のデータストリーム監視装置について説明する。
図1は、本実施形態のデータストリーム監視装置の構成図である。データストリーム監視装置1は、コンピュータ装置であり、入力部2、通信部3、記憶部4、出力部5、メモリ6および処理部7を備えている。
入力部2は、データ入力を行うものであり、たとえば、キーボードやマウスである。データストリーム監視装置1の使用者は、入力部2を使って、問合せシーケンスを入力することができる。
通信部3は、外部装置(不図示)やセンサ(不図示)からインターネットやLANなどを介してデータを受信するものであり、たとえば通信インターフェースである。通信部3は、外部装置(不図示)などからデータストリームを受信する。
記憶部4は、データを記憶するものであり、たとえば、ハードディスクである。記憶部4は、問合せシーケンス41とタイムワーピングデータ42を記憶している。また、記憶部4は、図示を省略しているが、データストリーム監視方法が記述されたプログラムを記憶している。
問合せシーケンス41は、入力部2から入力された問合せシーケンスである。
タイムワーピングデータ42は、タイムワーピング行列などのタイムワーピングの演算に必要なデータである。
出力部5は、データを出力するものであり、たとえば、ディスプレイやスピーカである。出力部5は、所定の条件を充足する部分シーケンスなどの検出データを出力する。
メモリ6は、処理部7の作業領域であり、たとえば、RAM(Random Access Memory)である。
処理部7は、各種演算処理を行うものであり、たとえば、CPU(Central Processing Unit)である。処理部7は、入力部2が受け付けた問合せシーケンスを記憶部4に問合せシーケンス41として記憶したり、通信部3が受信したデータストリームに関して記憶部4のタイムワーピングデータ42を使用して問合せシーケンス41と類似性の高い部分シーケンスを検出したり、その部分シーケンスを出力部5から出力したりする。
次に、図2を参照しながら、本実施形態のデータストリーム監視装置による問合せ処理のイメージについて説明する。図2は、本実施形態のデータストリーム監視装置による問合せ処理のイメージを示した図である。
図2に示すように、データストリーム監視装置1による問合せ処理では、比較例の場合(図8参照)と異なり、単一のTWMを使用して、シーケンスXから、問合せシーケンスY’(問合せシーケンスYを少し変形したもの。詳細は後記)と類似する部分シーケンスを検出することができる。
図2では、該当する部分シーケンスとして、X[t:t](X)がまず検出され、その後に、Xが検出されている。
なお、以下、長さmのシーケンスY=(y,y,・・・,y)に対して、先頭にyを付加し、Y’=(y,y,y,・・・,y)とする。このとき、yは、(−∞:∞)の値をとることができ、また、シーケンスXに関して時刻tのときに受信してこれからタイムワーピング行列の演算に使用するデータをxとすると、y=xである。
そして、そのY’と、長さnのシーケンスX=(x,x,・・・,x)の間でシーケンスマッチングを行うことになり、そのシーケンスマッチングは次の式(10)〜(14)により実現することができる。なお、t=(1,2,・・・,n)、i=(1,2,・・・,m)とする。また、式(6)〜(9)と重複する事項に関しては、説明を適宜省略する。
D(X[t:t],Y)=d(t,m)=min(d(t,m))・・・(10)
d(t,i)=||x−y||+dbest・・・(11)
best=min{d(t,i−1),d(t−1,i),d(t−1,i−1)}・・・(12)
d(t,0)=d(0,0)=0・・・(13)
d(0,i)=∞・・・(14)
上記の式(10)〜(14)のうち、式(13)が本実施形態のポイントの1つである。この式(13)によって、シーケンスYをシーケンスY’に変更したことと同じ効果が得られる。
すなわち、データストリーム監視装置1の処理部7は、ある時刻にデータストリーム中の1つのデータを受信した場合、問合せシーケンスYの先頭にその1つのデータと同じデータを付加してシーケンスY’としてから、そのシーケンスY’に関してタイムワーピング行列を使ってダイナミックタイムワーピング距離を算出し、そのダイナミックタイムワーピング距離が閾値以下のときに、そのダイナミックタイムワーピング距離に対応する部分シーケンスを類似する部分シーケンスとして検出することができるが、式(13)によって、シーケンスYをシーケンスY’に変更したことと同じ効果が得られるのである。
また、本実施形態のタイムワーピング行列の各要素は、距離d(t,i)だけでなく、次の式(15)で求める、各距離d(t,i)の開始時刻に関する情報s(t,i)(開始時刻がt=1なら「1」、開始時刻がt=3なら「3」)も保持する。
<i≧2の場合>
s(t,i)=s(t,i−1) (dbest=d(t,i−1)のとき)
s(t−1,i) (dbest=d(t−1,i)のとき)
s(t−1,i−1) (dbest=d(t−1,i−1)のとき)
<i=1の場合>
s(t,i)=s(t,1)=t ・・・(15)
また、D(X[t:t],Y)の開始時刻tは、次の式(16)により得られる。
=s(t,m)・・・(16)
最適なワーピングパスはこのタイムワーピング行列による距離計算から求めることができ、検出された類似する部分シーケンスの開始時刻は、そのワーピングパス上で引き継がれていくことで、特定することができる。
次に、図3を参照しながら、本実施形態のタイムワーピング行列の具体例について説明する。図3は、本実施形態のタイムワーピング行列の具体例を示した図である。なお、図1に示したハードウェアであるデータストリーム監視装置1の動作に関する説明は、図4および図5とともに後記する。
図3に示すように、タイムワーピング行列TWMは、図9の場合と同様、時間経過とともに伸張するシーケンスXにおいて、シーケンスY=(11,6,9,4)と高い類似性を有する部分シーケンスを検出することを目的とし、ここでは、シーケンスX=(5,12,6,10,6,5,1)である。なお、閾値ε=20とする。
具体的な計算について説明すると、上記式(10)〜(14)から、d(1,1)=(5−11)+min{d(1,0)=0,d(0,1)=∞,d(0,0)=0}=36+0=36である。また、このとき、式(15)から、開始時刻はs(1,1)=1であり、図3のTWMにおいては、「36」の下に「(1)」と記載している。
また、d(2,1)=(12−11)+min{d(2,0)=0,d(1,1)=36,d(1,0)=0}=1+0=1である。また、このとき、開始時刻はs(2,1)=2である。
比較例のTWM1(図9(1)参照)の場合と異なり、このTWMではd(2,1)=1となっているのが、本実施形態のポイントの1つである(図9のTWM1における該当箇所は「37」)。詳細は後記するが、このように、図3のTWMの最下行の各要素がそのすぐ左の要素の値と関係なく独立に算出されている、すなわち、前記したシーケンスY=(y,y,・・・,y)に対し先頭にyを付加してY’=(y,y,y,・・・,y)としたことと同様の効果を式(13)によって実現したことにより、タイムワーピング行列が単一で済むのである。
同様にして、式(10)〜(15)を使用することで、TWMの各要素の値と各開始時刻の値を算出することができる。
以下、第1の方法と同様、閾値ε以下のDTW距離が求まったときにそれを類似する部分シーケンスとして検出する方法を第3の方法という。また、第2の方法と同様、最初に類似する部分シーケンスを検出した後、時間帯が少しでもその類似する部分シーケンスと重複するそれ以降の部分シーケンスの中で、より類似性の高いものがないことが確定してから、それを最適な部分シーケンスと判断する方法を第4の方法という。
第3の方法では、時刻t=3のとき、DTW距離が「14」であることにより、類似する部分シーケンスとしてX[2:3]を検出する。なお、開始時刻t=2はd(3,4)=14の下の「(2)」からわかり、また、終了時刻t=3はそのときの時刻からわかる。
この検出結果は、比較例による検出結果(図9(2)参照)と同じである。つまり、本実施形態のデータストリーム監視装置1によれば、単一のタイムワーピング行列により、比較例の場合よりも少ない計算量および少ないメモリ使用量で、比較例と同等の検出結果を得ることができる。
また、第4の方法では、類似する部分シーケンスX[2:3]を検出した後、さらに、その類似する部分シーケンスと少しでも時間帯が重複するそれ以降の部分シーケンスの中で、より類似性の高いものがあるか否かを判断する。
まず、左から3列目のd(3,1)、d(3,2)およびd(3,3)の値がいずれも「14」より大きければ、開始時刻がt=3以前でDTW距離が「14」以下になるものが存在する可能性がなくなるので、部分シーケンスX[2:3]が最適な部分シーケンスと判断できる。
しかし、ここでは、d(3,2)=1、d(3,3)=10なので、時刻t=3の時点で部分シーケンスX[2:3]が最適とは判断できない。
次に、時刻t=4に移り、その列の各要素の全てについて、「値が『14』よりも大きい」あるいは「開始時刻がt=4以降である」、という条件を満たすか否かを判断する。この条件を満たせば、部分シーケンスX[2:3]が最適であると判断できる。
ここでは、d(4,3)=2(開始時刻t=2)がこの条件を満たさないため、部分シーケンスX[2:3]が最適であると判断できない。
続いて、時刻t=5に移り、DTW距離が「6」なので、最適な部分シーケンスの候補をX[2:5]に変更する。
次に、時刻t=6に移り、その列の各要素の全てについて、「値が『6』よりも大きい」あるいは「開始時刻がt=6以降である」、という条件を満たすか否かを判断する。
ここでは、d(6,2)=2(開始時刻t=4)がこの条件を満たさないため、部分シーケンスX[2:5]が最適であると判断できない。
次に、時刻t=7に移り、その列の各要素の全てについて、「値が『6』よりも大きい」あるいは「開始時刻がt=6以降である」、という条件を満たすか否かを判断する。
ここでは、その条件を満たすので、部分シーケンスX[2:5]が最適であると判断できる。
この検出結果は、比較例による検出結果(図9(2)参照)と同じである。つまり、本実施形態のデータストリーム監視装置1によれば、単一のタイムワーピング行列により、比較例の場合よりも少ない計算量および少ないメモリ使用量で、比較例と同等の検出結果を得ることができる。
(第3の方法)
次に、図4を参照しながら、第3の方法を実行する場合のデータストリーム監視装置の動作について説明する。図4は、第3の方法を実行する場合のデータストリーム監視装置の動作を示したフローチャートである。なお、d(t,i)(式(11)参照)をd、d(t−1,i)をd’と表記する。また、s(t,i)(式(15)参照)をs、s(t−1,i)をs’と表記する。
まず、利用者は、データストリーム監視装置1において、入力部2から問合せシーケンスを入力し、入力された問合せシーケンスは記憶部4に問合せシーケンス41として記憶される。また、記憶部4には、単一のタイムワーピング行列(図3参照)や、所定の閾値εなどのタイムワーピングデータ42が記憶されている。
そして、通信部3は、外部装置(不図示)からデータストリームの受信を開始する。なお、以下、処理部7は、通信部3や記憶部4から受け取ったデータをメモリ6に展開して処理するが、メモリ6に展開する旨の記載は省略する。
処理部7は、まず、時刻t=1として処理を開始し(ステップS401)、次に、そのときの時刻t(ここでは「1」)において、xを受信する(ステップS402)。
続いて、処理部7は、式(10)〜(15)に基づいて、全てのdとsを計算し(ステップS403)、タイムワーピング行列を更新する。このとき、タイムワーピング行列における時刻「t−2」以降のデータは、削除してもよい(t≧3の場合)。
次に、処理部7は、d、つまり、時刻tにおけるDTW距離が閾値ε以下であるか否かを判断する(ステップS404)。
時刻tにおけるDTW距離が閾値ε以下でなかった場合(ステップS404でNo)、処理部7は、ステップS408に進む。
時刻tにおけるDTW距離が閾値ε以下であった場合(ステップS404でYes)、処理部7は、そのDTW距離の開始時刻sを開始時刻の変数tに代入し、そのときの時刻tを終了時刻の変数tに代入する(ステップS405)。
続いて、処理部7は、DTW距離d、その開始時刻t、および、その終了時刻tを出力部5に出力する(ステップS406)。
利用者は、出力部5から出力されたそれらのデータを見て、データストリーム中に、問合せシーケンスと類似する部分シーケンスがあったことを知ることができる。
次に、処理部7は、以降の処理のために、全てのdの値を初期化する、つまり、dに∞(プログラムを作成する際はεなどと比較して充分大きな値を使用。以下同様)を代入する(ステップS407)。
続いて、処理部7は、次の時刻の処理に移るために、全てのdとsの値を、それぞれ、1つ前の時刻の値の変数であるd’とs’に代入し(ステップS408)、「t=t+1」として(ステップS409)、ステップS402に戻り、処理を繰り返す。
このようにして、本実施形態のデータストリーム監視装置1によれば、単一のタイムワーピング行列を使用することで、データストリームが長くなっても、計算量やメモリの使用量を一定に保つことができ、それでいて比較例と同様の結果を得ることができる。
つまり、本実施形態のデータストリーム監視装置1によれば、たとえば、図3の例において、時刻t=3の時点で、DTW距離「14」、その開始時刻「2」、および、その終了時刻「3」を出力部5から出力することができる。
(第4の方法)
次に、図5を参照しながら、第4の方法を実行する場合のデータストリーム監視装置の動作について説明する。図5は、第4の方法を実行する場合のデータストリーム監視装置の動作を示したフローチャートである。なお、図4の場合と重複する説明は、適宜省略する。また、図4の場合と同様、データストリーム監視装置1において、記憶部4には、問合せシーケンス41と、単一のタイムワーピング行列(図3参照)や、所定の閾値εなどのタイムワーピングデータ42が記憶されている。さらに、最適な部分シーケンスの候補を入力する変数としてdminを使用する。
そして、通信部3は、外部装置(不図示)からデータストリームの受信を開始する。
処理部7は、まず、時刻t=1として処理を開始し(ステップS501)、次に、そのときの時刻t(ここでは「1」)において、xを受信する(ステップS502)。
続いて、処理部7は、式(10)〜(15)に基づいて、全てのdとsを計算し(ステップS503)、タイムワーピング行列を更新する。このとき、タイムワーピング行列における時刻「t−2」以降のデータは、削除してもよい(t≧3の場合)。
次に、処理部7は、dmin、つまり、時刻tにおけるDTW距離が閾値ε以下であるか否かを判断する(ステップS504)。
時刻tにおけるDTW距離が閾値ε以下でなかった場合(ステップS504でNo)、処理部7は、ステップS514で、「dmin≦ε」かつ「d<dmin」、を満たすか否かを判断するが、ステップS514では「dmin≦ε」を満たさないので(No)、さらに、ステップS516に進む。
時刻tにおけるDTW距離dminが閾値ε以下であった場合(ステップS504でYes)、処理部7は、そのDTW距離dminを与える部分シーケンスが最適か否か、つまり、その部分シーケンスよりも後のある時刻における全ての要素(「d」と「s」)について、「値dがdminよりも大きい」あるいは「開始時刻sがtよりも後である」、という条件を満たすか否かを判断する(ステップS505)。この条件を満たせば、そのDTW距離dminを与える部分シーケンスが最適であると判断できるからである。
すなわち、処理部7は、DTW距離dminが閾値ε以下の部分シーケンスを検出した場合、その後、さらに、タイムワーピング行列の各行列要素の値の算出を行い、その部分シーケンスと時間帯が一部でも重複する部分シーケンスの中で、DTW距離がより小さくなるものが存在しえないと判断したときに、その部分シーケンスを最適な(より適切な)部分シーケンスとして検出することができる。
ステップS505の条件を満たさない場合(No)、処理部7は、ステップS514で、「dmin≦ε」かつ「d<dmin」、を満たすか否かを判断する。
ここで、さらなる最適な部分シーケンスの候補があればステップS514の条件を満たし(Yes)、処理部7は、DTW距離dを変数dminに、その開始時刻sを変数tに、その終了時刻tを変数tに、それぞれ代入する(ステップS515)。
ステップS505の条件を満たす場合(Yes)、そのDTW距離dminを与える部分シーケンスが最適であると判断できるので、処理部7は、そのDTW距離の開始時刻sを開始時刻の変数tに代入し、そのときの時刻tを終了時刻の変数tに代入してから、そのDTW距離dmin、その開始時刻t、および、その終了時刻tを出力部5に出力する(ステップS506)。
利用者は、出力部5から出力されたそれらのデータを見て、データストリーム中に存在する、問合せシーケンスと類似する部分シーケンスのうち、最適な部分シーケンスを知ることができる。
次に、処理部7は、以降の処理のために、dminに∞を代入し(ステップS507)、iに「0」を代入し(ステップS508)、さらに、ステップS509〜S513の処理を行う。
ステップS509〜S513の処理では、処理部7は、「1」から「m」までの「i」の値に関して(ステップS510とステップS513参照)、「s≦t」を満たせば(ステップS511でYes)、「d」に「∞」を代入する(ステップS512)。ここでは、ステップS506で出力した最適な部分シーケンスと少しでも時間帯が重複する部分シーケンスがこれ以降にステップS506で出力されてしまう可能性をなくすために、その時刻における各要素のうちステップS506で出力した最適な部分シーケンスの終了時刻t以前のものの値を無限大にしている。
続いて、処理部7は、次の時刻の処理に移るために、全てのdとsの値を、それぞれ、1つ前の時刻の値の変数であるd’とs’に代入し(ステップS516)、「t=t+1」として(ステップS517)、ステップS502に戻り、処理を繰り返す。
このようにして、本実施形態のデータストリーム監視装置1によれば、使用するタイムワーピング行列が単一であっても、最適な部分シーケンスを出力することができる。
つまり、本実施形態のデータストリーム監視装置1によれば、たとえば、図3の例において、時刻t=3の時点のDTW距離「14」ではなく、時刻t=5の時点のDTW距離「6」(および、その開始時刻と終了時刻)を、最適な部分シーケンスのDTW距離として、出力部5から出力することができる。
この第4の方法によれば、そのアルゴリズムの特性上、比較例による方法と同様、最適な部分シーケンスを必ず検出することができる。
また、この第3の方法および第4の方法は、図4および図5のフローチャートを実行するプログラムを作成することで、データストリーム監視装置1などのコンピュータ装置において実現することができる。さらに、それらのプログラムは、ハードディスク、フラッシュメモリ、CD−ROM(Compact Disk Read Only Memory)、DVD(Digital Versatile Disk)などの記録媒体に保存することが可能である。
(第1実施例)
次に、図6を参照しながら、本実施形態のデータストリーム監視装置に関する第1実施例について説明する。図6は、本実施形態のデータストリーム監視装置に関する第1実施例を説明するための図であり、(a)は問合せシーケンス、(b)は部分シーケンス検出の様子を、それぞれ表している。
第1実施例は、本実施形態のデータストリーム監視装置1を、1GBのメモリ、Intel(登録商標)のXeon2.8GHzのCPUを搭載したLinux(登録商標)のマシンで実施したものである。ここでは、温度センサによって気温を計測した場合に関して、実験を行っている。
図6(a)は、問合せシーケンスの波形であり、縦軸が温度(摂氏)を表し、横軸が時間の経過を表している。この問合せシーケンスは、天候の変化によって、気温が約20度から約31度まで大きく変動しているパターンが2回存在していることを特徴としている。
図6(b)は、データストリームの波形であり、(a)と同じく、縦軸が温度(摂氏)を表し、横軸が時間の経過を表している。このデータストリームは、温度センサによる約1分ごとの計測データを、上記マシンで受信したものである。
本実施形態の第4の方法を上記マシンで実行することで、図6(b)に示すように、データストリームにおいて、(a)の問合せシーケンスと類似している部分シーケンス(Subseq)としてSub1とSub2の2つを、逃さずに検出している。
(第2実施例)
続いて、図7を参照しながら、本実施形態のデータストリーム監視装置に関する第2実施例について説明する。図7は、本実施形態のデータストリーム監視装置に関する第2実施例について、データストリームのシーケンスの長さと計算時間との関係を表した図である。
第2実施例において、問合せシーケンスは人工データであり、長さは「256」である。データストリームは人工データであり、長さ(シーケンス長)を「10の3乗」から「10の6乗」まで可変とした。
図7において、縦軸は計算時間(ms)、横軸はデータストリームの長さ(シーケンス長)である。比較例による方法、および、本実施例による方法ともに、タイムワーピング行列の更新と類似する部分シーケンスの検出の合計時間を平均し、計算時間とした。
図7に示すように、比較例による方法(L2)では、データストリームが長くなるにつれ、計算時間が増加している。一方、本実施例による方法(L1)では、データストリームが長くなっても、計算時間は一定に保たれている。これは、データストリームが長くなるにつれて、比較例による方法ではタイムワーピング行列の数が増えるのに対し、本実施例による方法ではタイムワーピング行列が常に単一であるからである。
このように、第1実施例および第2実施例からもわかるように、本実施形態のデータストリーム監視装置1によれば、比較例の場合と比べて、計算コストの低減、つまり、計算の高速化と省メモリ化を実現できる。
以上で実施形態の説明を終えるが、本発明の態様はこれらに限定されるものではない。
たとえば、本実施形態では、問合せシーケンスおよびデータストリームに関して、一次元データの場合について説明したが、n次元データ(nは2以上の自然数)の場合でも同様に適用することができる。
また、本発明は、温度センサ以外に、映像や音楽の配信、バイオインフォマティックス、各種ロボットなど、多くの分野に適用可能である。
その他、具体的な構成について、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
本実施形態のデータストリーム監視装置の構成図である。 本実施形態のデータストリーム監視装置による問合せ処理のイメージを示した図である。 本実施形態のタイムワーピング行列の具体例を示した図である。 第3の方法を実行する場合のデータストリーム監視装置の動作を示したフローチャートである。 第4の方法を実行する場合のデータストリーム監視装置の動作を示したフローチャートである。 本実施形態のデータストリーム監視装置に関する第1実施例を説明するための図であり、(a)は問合せシーケンス、(b)は部分シーケンス検出の様子を、それぞれ表している。 本実施形態のデータストリーム監視装置に関する第2実施例について、シーケンスの長さと計算時間との関係図である。 DTWを使用したデータストリーム監視の比較例における、問合せ処理のイメージを示した図である。 比較例におけるタイムワーピング行列の例を示した図である。
符号の説明
1 データストリーム監視装置
4 記憶部
5 出力部
7 処理部
TWM タイムワーピング行列

Claims (8)

  1. 継続的に受信するデータであるデータストリームから、所定のデータ列である問合せシーケンスと類似する部分シーケンスを、ダイナミックタイムワーピング距離に基づいて検出するデータストリーム監視装置であって、
    前記データストリーム中の時刻tにおけるデータx を受信したときに、長さmのシーケンスY=(y ,y ,・・・,y )である前記問合せシーケンス中のデータy (ただし、i=1,2,・・・,m)と前記データストリーム中の時刻t−1におけるデータx t−1 との距離に関する情報d(t−1,i)と、当該距離に関する情報d(t−1,i)に対応する開始時刻に関する情報s(t−1,i)と、を(t−1,i)要素に持つ単一のタイムワーピング行列、および、前記ダイナミックタイムワーピング距離に関する所定の閾値εを記憶している記憶部と、
    記データ を受信したときに、前記記憶部に記憶されたタイムワーピング行列と以下の式(11)〜(14)を用いて、前記問合せシーケンス中のデータy (ただし、i=1,2,・・・,m)と前記データx との間の距離に関する情報d(t,i)と、以下の式(15)により計算される当該d(t,i)に対応する開始時刻に関する情報s(t,i)とを計算して、前記記憶部に記憶されたタイムワーピング行列を更新し、前記問合せシーケンス中のデータy と前記データx との間の距離に関する情報d(t,m)が所定の閾値ε以下のときに、当該距離に関する情報d(t,m)に対応する開始時刻s(t,m)を開始時刻t とし、前記時刻tを終了時刻t とする前記データストリーム中の部分シーケンスX[t :t を前記類似する部分シーケンスとして検出する処理部と、
    を有することを特徴とするデータストリーム監視装置。
    d(t,i)=||x −y ||+d best ・・・(11)
    best =min{d(t,i−1),d(t−1,i),d(t−1,i−1)}
    ・・・(12)
    d(t,0)=d(0,0)=0・・・(13)
    d(0,i)=∞・・・(14)
    (ここで、||x −y ||は、2つの数値(x とy )の距離を表し、min{d(t,i−1),d(t−1,i),d(t−1,i−1)}は、{}内の3つの値のうち、最小のものを採用することを表す。)
    <i≧2の場合>
    s(t,i)=s(t,i−1) (d best =d(t,i−1)のとき)
    s(t−1,i) (d best =d(t−1,i)のとき)
    s(t−1,i−1)(d best =d(t−1,i−1)のとき)
    <i=1の場合>
    s(t,i)=s(t,1)=t ・・・(15)
  2. 前記処理部は、前記類似する部分シーケンスX[t :t を検出した場合、その後、さらに、前記タイムワーピング行列の各行列要素の値の算出を行い、その類似する部分シーケンスX[t :t と時間帯が一部でも重複する部分シーケンスの中で、前記ダイナミックタイムワーピング距離がより小さいものがないと判断したときに、その類似する部分シーケンスX[t :t をより適切な部分シーケンスとして検出する
    ことを特徴とする請求項に記載のデータストリーム監視装置。
  3. 前記処理部は、前記類似する部分シーケンスX[t :t を検出した場合、その類似する部分シーケンスX[t :t の最後のデータの受信時刻を終了時刻とすると、その終了時刻後における前記タイムワーピング行列のある列において、各行列要素のうち、その開始時刻が前記終了時刻以前であって、かつ、その値が前記類似する部分シーケンスX[t :t のダイナミックタイムワーピング距離よりも小さいものがないときに、その類似する部分シーケンスをより適切なものとして検出する
    ことを特徴とする請求項に記載のデータストリーム監視装置。
  4. 継続的に受信するデータであるデータストリームから、所定のデータ列である問合せシーケンスと類似する部分シーケンスを、ダイナミックタイムワーピング距離に基づいて検出するデータストリーム監視装置によるデータストリーム監視方法であって、
    前記データストリーム監視装置は、前記データストリーム中の時刻tにおけるデータx を受信したときに、長さmのシーケンスY=(y ,y ,・・・,y )である前記問合せシーケンス中のデータy (ただし、i=1,2,・・・,m)と前記データストリーム中の時刻t−1におけるデータx t−1 との距離に関する情報d(t−1,i)と、当該距離に関する情報d(t−1,i)に対応する開始時刻に関する情報s(t−1,i)と、を(t−1,i)要素に持つ単一のタイムワーピング行列、および、前記ダイナミックタイムワーピング距離に関する所定の閾値εを記憶している記憶部と、処理部とを備えており
    前記処理部は、前記データ を受信したときに、前記記憶部に記憶されたタイムワーピング行列と以下の式(11)〜(14)を用いて、前記問合せシーケンス中のデータy (ただし、i=1,2,・・・,m)と前記データx との間の距離に関する情報d(t,i)と、以下の式(15)により計算される当該d(t,i)に対応する開始時刻に関する情報s(t,i)とを計算して、前記記憶部に記憶されたタイムワーピング行列を更新し、前記問合せシーケンス中のデータy と前記データx との間の距離に関する情報d(t,m)が所定の閾値ε以下のときに、当該距離に関する情報d(t,m)に対応する開始時刻s(t,m)を開始時刻t とし、前記時刻tを終了時刻t とする前記データストリーム中の部分シーケンスX[t :t を前記類似する部分シーケンスとして検出する
    ことを特徴とするデータストリーム監視方法。
    d(t,i)=||x −y ||+d best ・・・(11)
    best =min{d(t,i−1),d(t−1,i),d(t−1,i−1)}
    ・・・(12)
    d(t,0)=d(0,0)=0・・・(13)
    d(0,i)=∞・・・(14)
    (ここで、||x −y ||は、2つの数値(x とy )の距離を表し、min{d(t,i−1),d(t−1,i),d(t−1,i−1)}は、{}内の3つの値のうち、最小のものを採用することを表す。)
    <i≧2の場合>
    s(t,i)=s(t,i−1) (d best =d(t,i−1)のとき)
    s(t−1,i) (d best =d(t−1,i)のとき)
    s(t−1,i−1)(d best =d(t−1,i−1)のとき)
    <i=1の場合>
    s(t,i)=s(t,1)=t ・・・(15)
  5. 前記処理部は、前記類似する部分シーケンスX[t :t を検出した場合、その後、さらに、前記タイムワーピング行列の各行列要素の値の算出を行い、その類似する部分シーケンスX[t :t と時間帯が一部でも重複する部分シーケンスの中で、前記ダイナミックタイムワーピング距離がより小さいものがないと判断したときに、その類似する部分シーケンスX[t :t をより適切な部分シーケンスとして検出する
    ことを特徴とする請求項に記載のデータストリーム監視方法。
  6. 前記処理部は、前記類似する部分シーケンスX[t :t を検出した場合、その類似する部分シーケンスX[t :t の最後のデータの受信時刻を終了時刻とすると、その終了時刻後における前記タイムワーピング行列のある列において、各行列要素のうち、その開始時刻が前記終了時刻以前であって、かつ、その値が前記類似する部分シーケンスX[t :t のダイナミックタイムワーピング距離よりも小さいものがないときに、その類似する部分シーケンスをより適切なものとして検出する
    ことを特徴とする請求項に記載のデータストリーム監視方法。
  7. 請求項から請求項のいずれか1項に記載のデータストリーム監視方法をコンピュータに実行させるためのプログラム。
  8. 請求項のプログラムを記録することを特徴とする記録媒体。
JP2006318752A 2006-11-27 2006-11-27 データストリーム監視装置、データストリーム監視方法、そのプログラムおよび記録媒体 Expired - Fee Related JP4801566B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006318752A JP4801566B2 (ja) 2006-11-27 2006-11-27 データストリーム監視装置、データストリーム監視方法、そのプログラムおよび記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006318752A JP4801566B2 (ja) 2006-11-27 2006-11-27 データストリーム監視装置、データストリーム監視方法、そのプログラムおよび記録媒体

Publications (2)

Publication Number Publication Date
JP2008134706A JP2008134706A (ja) 2008-06-12
JP4801566B2 true JP4801566B2 (ja) 2011-10-26

Family

ID=39559540

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006318752A Expired - Fee Related JP4801566B2 (ja) 2006-11-27 2006-11-27 データストリーム監視装置、データストリーム監視方法、そのプログラムおよび記録媒体

Country Status (1)

Country Link
JP (1) JP4801566B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110291519A (zh) 2017-02-20 2019-09-27 三菱电机株式会社 图案提取装置、图案提取方法以及图案提取程序
SG10201800954QA (en) * 2018-02-02 2019-09-27 Nec Asia Pacific Pte Ltd Method and system for signal processing rehabilitation exercise signals
JP7204584B2 (ja) * 2019-06-14 2023-01-16 ルネサスエレクトロニクス株式会社 異常検知システム、異常検知装置および異常検知方法
CN113305880B (zh) * 2021-05-10 2022-08-05 佛山科学技术学院 一种基于dtw距离的工业机器人一致性检测***及方法

Also Published As

Publication number Publication date
JP2008134706A (ja) 2008-06-12

Similar Documents

Publication Publication Date Title
Palar et al. On efficient global optimization via universal Kriging surrogate models
US11443015B2 (en) Generating prediction models in accordance with any specific data sets
US9305264B2 (en) Method and system for improved pattern matching
JP6350251B2 (ja) 経路情報処理装置、方法、及びプログラム
JP4801566B2 (ja) データストリーム監視装置、データストリーム監視方法、そのプログラムおよび記録媒体
TWI525460B (zh) 電子計算裝置、其個人化資訊推薦方法及其電腦程式產品
JP2007140965A (ja) 操業結果予測方法及びそのシステム
JP5047534B2 (ja) 多目標追尾装置
CN113628244A (zh) 基于无标注视频训练的目标跟踪方法、***、终端及介质
KR100440949B1 (ko) 특징 벡터 공간내에서의 적응적 검색 방법
KR20130107889A (ko) 이상 서브시퀀스 검출 장치 및 방법
JP5711171B2 (ja) データ検索装置、データ検索方法、及びデータ検索プログラム
JP4939349B2 (ja) トレンド検出方法、トレンド検出プログラムおよびトレンド検出装置
JP6110281B2 (ja) 移動手段予測モデル生成装置、移動手段予測モデル生成方法及び移動手段予測モデル生成プログラム
JP5060340B2 (ja) 類似部分シーケンス検出方法、類似部分シーケンス検出プログラム、および、類似部分シーケンス検出装置
Sankararaman et al. Computing similarity between a pair of trajectories
JP4697355B2 (ja) データ検索装置
Kim et al. Efficient method for mining high utility occupancy patterns based on indexed list structure
Gong et al. NSPRING: Normalization-supported SPRING for subsequence matching on time series streams
François et al. Global optimization methods for genome scaffolding
JP7376405B2 (ja) 最適化処理装置、最適化処理方法及び最適化処理プログラム
JP2009302723A (ja) 画像処理装置、方法およびプログラム
Makhmutova et al. Uncertain Big Data Stream Clustering
JP7388737B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
CN113420214B (zh) 一种电子交易对象推荐方法和装置及设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081224

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110208

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110408

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110805

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140812

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees