JP4801566B2 - Data stream monitoring device, data stream monitoring method, program thereof, and recording medium - Google Patents
Data stream monitoring device, data stream monitoring method, program thereof, and recording medium Download PDFInfo
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、継続して大量に流入してくるデータをリアルタイムに分析する技術(ストリームマイニング技術)に関する。 The present invention relates to a technique (stream mining technique) for analyzing data that continuously flows in a large amount in real time.
近年、コンピュータ装置やネットワークに関する技術が発達し、ネットワーク上を大量のデータが継続的に流通することも少なくない。ネットワーク上で継続して大量に流通するデータのことをデータストリームと呼ぶが、データストリームの例としては、たとえば、インターネットにおける株価などの金融データや、LAN(Local Area Network)などのセンサネットワークにおけるセンサデータ(温度センサや照度センサの計測データなど)などが挙げられる。 In recent years, technologies related to computer devices and networks have been developed, and a large amount of data is often continuously distributed on the network. Data that continuously circulates in large quantities on a network is called a data stream. Examples of data streams include financial data such as stock prices on the Internet and sensors in sensor networks such as a LAN (Local Area Network). Data (such as temperature sensor and illuminance sensor measurement data).
そして、ストリームマイニング技術は、データベースに蓄えられた大容量のデータを分析するのではなく、継続的に受信する大量のデータをリアルタイムで分析しなくてはならないため、計算の高速化と省メモリ化を図る必要がある。また、そうすれば、利用者に対して必要な情報を迅速に提供することもできる。 Stream mining technology does not analyze the large amount of data stored in the database, but must analyze a large amount of continuously received data in real time, thereby speeding up computation and saving memory. It is necessary to plan. In addition, necessary information can be quickly provided to the user.
データストリームの分析としては、たとえば、ある問合せシーケンス(所定のデータ列)とある程度類似するシーケンスがデータストリーム中にあるか否かを、部分的なシーケンスマッチングによって見つける手法がある。この場合、データストリームのサンプリングレートなどによって、データストリームと問合せシーケンスでは相対的な経時速度が異なることもあるので、データの時間軸方向の伸縮も考慮に入れたマッチングを行うことが望ましい。 As an analysis of the data stream, for example, there is a method of finding out by partial sequence matching whether or not a sequence somewhat similar to a certain query sequence (predetermined data string) exists in the data stream. In this case, since the relative aging speed may differ between the data stream and the query sequence depending on the sampling rate of the data stream, it is desirable to perform matching taking into account the expansion and contraction of the data in the time axis direction.
そこで、動的計画法として、シーケンス間の時間軸方向の伸縮も考慮に入れ、シーケンス間の距離を最小化するように時間軸方向の調整を行いながらシーケンスマッチングを行う技術であるダイナミックタイムワーピング(DTW:Dynamic Time Warping)が、広く使用されている。
このDTWに基づいて作成および保存される行列をタイムワーピング行列と呼び、そのタイムワーピング行列によって2つのシーケンス間の距離であるDTW距離を算出することができる。DTW距離が小さいほど、2つのシーケンスは類似していることになる。
Therefore, as a dynamic programming method, dynamic time warping, which is a technology that performs sequence matching while adjusting the time axis direction so as to minimize the distance between sequences, taking into account the expansion and contraction in the time axis direction between sequences. DTW (Dynamic Time Warping) is widely used.
A matrix created and stored based on this DTW is called a time warping matrix, and a DTW distance that is a distance between two sequences can be calculated by the time warping matrix. The smaller the DTW distance, the more similar the two sequences are.
たとえば、非特許文献1と非特許文献2には、DTWに基づく類似部分シーケンスの検出の高速化に関する技術が記載されている。
また、非特許文献3には、データストリームのリアルタイム分析手法として、データストリーム中のデータ同士の相関係数も考慮することで精度を上げたStatStreamに関する技術が記載されている。
さらに、非特許文献4には、データストリームのリアルタイム分析手法において使用する、データ間の遅延相関を検出するアルゴリズムであるBRAIDに関する技術が記載されている。
Non-Patent
Further, Non-Patent
しかしながら、非特許文献1および非特許文献2は、蓄積されたデータ集合に適用する技術であり、データストリームのリアルタイム分析のための技術ではない。
また、非特許文献3および非特許文献4は、時間軸方向に調整を行うことなくシーケンスマッチングを行うものであり、DTWを使用したデータストリーム監視に関する技術ではない。
However, Non-Patent
そして、DTWを使用したデータストリーム監視を行おうとすると、データストリームの長さに比例して計算量やメモリの使用量が増大してしまい、実用的ではなかった(詳細は、発明を実施するための最良の形態の比較例の説明を参照)。
そこで、本発明は、前記問題点に鑑みてなされたものであり、DTWを使用したデータストリーム監視において、計算コスト(計算量やメモリの使用量)の低減を図ることを目的とする。
When data stream monitoring using DTW is attempted, the amount of calculation and the amount of memory used increase in proportion to the length of the data stream, which is not practical (details are for carrying out the invention). (See description of comparative example of best mode).
Therefore, the present invention has been made in view of the above problems, and an object of the present invention is to reduce calculation costs (calculation amount and memory use amount) in data stream monitoring using DTW.
前記課題を解決するために、請求項1および請求項4に係る発明は、継続的に受信するデータであるデータストリームから、所定のデータ列である問合せシーケンスと類似する部分シーケンスを、ダイナミックタイムワーピング距離に基づいて検出するデータストリーム監視装置において、記憶部が、データストリーム中の時刻tにおけるデータx t を受信したときに、長さmのシーケンスY=(y 1 ,y 2 ,・・・,y m )である問合せシーケンス中のデータy i (ただし、i=1,2,・・・,m)とデータストリーム中の時刻t−1におけるデータx t−1 との距離に関する情報d(t−1,i)と、当該距離に関する情報d(t−1,i)に対応する開始時刻に関する情報s(t−1,i)と、を(t−1,i)要素に持つ単一のタイムワーピング行列、および、ダイナミックタイムワーピング距離に関する所定の閾値εを記憶している。
そして、処理部は、データx t を受信したときに、記憶部に記憶されたタイムワーピング行列と以下の式(11)〜(14)を用いて、問合せシーケンス中のデータy i (ただし、i=1,2,・・・,m)とデータx t との間の距離に関する情報d(t,i)と、以下の式(15)により計算される当該d(t,i)に対応する開始時刻に関する情報s(t,i)とを計算して、記憶部に記憶されたタイムワーピング行列を更新し、問合せシーケンス中のデータy m とデータx t との間の距離に関する情報d(t,m)が所定の閾値ε以下のときに、当該距離に関する情報d(t,m)に対応する開始時刻s(t,m)を開始時刻t s とし、時刻tを終了時刻t e とするデータストリーム中の部分シーケンスX[t s :t e ]を類似する部分シーケンスとして検出する。
In order to solve the above problems, the inventions according to
Then, the processing unit, when receiving the data x t, using the following formula stored time warping matrix in the storage unit (11) to (14), the data y i in query sequence (where, i = 1, 2,..., M) and the information d (t, i) regarding the distance between the data x t and the d (t, i) calculated by the following equation (15). information s (t, i) relating to the start time to calculate the, update the time warping matrix stored in the storage unit, information relating to the distance between the data y m and the data x t in query sequence d (t when m) is equal to or less than a predetermined threshold epsilon, the starting time s (t, m) a starting time t s corresponding to the information d (t, m) relating to the distance, the time t and the end time t e partial sequence X in the data stream [t s: t e] the class It is detected as a partial sequence that.
かかる発明によれば、タイムワーピング行列が単一であることで、計算コストの低減を図ることができる。また、類似する部分シーケンスを検出したときに、その開始時刻を特定することができる。 According to this invention, since the time warping matrix is single, the calculation cost can be reduced. Further, when a similar partial sequence is detected, the start time can be specified.
請求項2および請求項5に係る発明は、処理部が、類似する部分シーケンスX[t s :t e ]を検出した場合、その後、さらに、タイムワーピング行列の各行列要素の値の算出を行い、その類似する部分シーケンスX[t s :t e ]と時間帯が一部でも重複する部分シーケンスの中で、ダイナミックタイムワーピング距離がより小さいものがないと判断したときに、その類似する部分シーケンスX[t s :t e ]をより適切な部分シーケンスとして検出することを特徴とする。
In the inventions according to
かかる発明によれば、類似する部分シーケンスと時間帯が重複する部分シーケンスを、その後、さらに調べることで、その類似する部分シーケンスがより適切な部分シーケンスであると判断することができる。 According to this invention, it is possible to determine that the similar partial sequence is a more appropriate partial sequence by further examining the partial sequence whose time zone overlaps with the similar partial sequence.
請求項3および請求項6に係る発明は、処理部が、類似する部分シーケンスX[t s :t e ]を検出した場合、その類似する部分シーケンスX[t s :t e ]の最後のデータの受信時刻を終了時刻とすると、その終了時刻後におけるタイムワーピング行列のある列において、各行列要素のうち、その開始時刻が終了時刻以前であって、かつ、その値が類似する部分シーケンスのダイナミックタイムワーピング距離よりも小さいものがないときに、その類似する部分シーケンスX[t s :t e ]をより適切なものとして検出することを特徴とする。
The invention according to
かかる発明によれば、類似する部分シーケンスの終了時刻後におけるタイムワーピング行列のある列における各行列要素について上記のように調べることで、その部分シーケンスをより適切なものとして判断することができる。 According to this invention, it is possible to determine that the partial sequence is more appropriate by examining each matrix element in a certain column of the time warping matrix after the end time of the similar partial sequence as described above.
請求項7に係る発明は、請求項4から請求項6のいずれか1項に記載のデータストリーム監視方法をコンピュータに実行させるためのプログラムである。
The invention according to
かかる発明によれば、データストリーム監視方法をコンピュータに実行させることができる。 According to this invention, the computer can execute the data stream monitoring method.
請求項8に係る発明は、請求項7のプログラムを記録することを特徴とする記録媒体である。 The invention according to an eighth aspect is a recording medium that records the program according to the seventh aspect.
かかる発明によれば、データストリーム監視方法のプログラムを記録することができる。 According to this invention, the program of the data stream monitoring method can be recorded.
本発明によれば、DTWを使用したデータストリーム監視において、計算コストの低減を図ることができる。 According to the present invention, calculation cost can be reduced in data stream monitoring using DTW.
以下、本発明に係るデータストリーム監視装置を実施するための最良の形態(以下、実施形態という。)について、適宜図面を参照しながら説明する。なお、参照図以外の図も適宜参照する。
その前に、理解を容易にするため、図8および図9を参照しながら、DTWを使用したデータストリーム監視の比較例(従来技術)について説明する。
Hereinafter, the best mode for carrying out a data stream monitoring apparatus according to the present invention (hereinafter referred to as an embodiment) will be described with reference to the drawings as appropriate. Note that drawings other than the reference diagram are also referred to as appropriate.
Before that, a comparative example (prior art) of data stream monitoring using DTW will be described with reference to FIGS. 8 and 9 for easy understanding.
図8は、DTWを使用したデータストリーム監視の比較例における、問合せ処理のイメージを示した図である。
図8において、シーケンスYは、固定長mのデータであり、シーケンスの類似判断の元となるデータである。
FIG. 8 is a diagram showing an image of query processing in a comparative example of data stream monitoring using DTW.
In FIG. 8, a sequence Y is data of a fixed length m, and is data that is a source of sequence similarity determination.
データストリームであるシーケンスXは、時々刻々と伸張している(データ量が増えている)シーケンスであり、その長さをnとし、また、シーケンスの類似判断の対象となるデータである。
TWM(タイムワーピング行列)1〜Sは、それぞれ時刻t=1〜t=Sから始まるタイムワーピング行列である。また、TWMSに示した黒いマスのつながりは、ワーピングパス(後記するDTW距離を算出するためにたどるルート)である。
The sequence X, which is a data stream, is a sequence that is constantly expanding (the amount of data is increasing), the length of which is n, and data that is the target of sequence similarity determination.
TWM (Time Warping Matrix) 1 to S are time warping matrices starting from time t = 1 to t = S, respectively. Further, the connection of the black cells shown in TWMS is a warping path (route to be followed for calculating the DTW distance described later).
ここで、目的は、DTW距離に基づき、シーケンスXにおいて、シーケンスYと類似する部分シーケンスを検出することである。以下、図8を参照しながらその概要を説明し、その後、図9を参照しながら具体例について説明する。なお、類似する部分シーケンスの検出方法は2つあり、それらを第1の方法、第2の方法と呼ぶ。まず、第1の方法について説明する。 Here, the purpose is to detect a partial sequence similar to the sequence Y in the sequence X based on the DTW distance. Hereinafter, the outline will be described with reference to FIG. 8, and then a specific example will be described with reference to FIG. There are two similar partial sequence detection methods, which are referred to as a first method and a second method. First, the first method will be described.
(第1の方法)
2つのシーケンス間のDTW距離とは、2つのシーケンスを、全体的あるいは部分的に時間軸方向に伸縮の調整を行った後の距離のことである。DTW距離は、タイムワーピング行列に基づいて算出することができる。
長さmのシーケンスY=(y1,y2,・・・,ym)と長さnのシーケンスX=(x1,x2,・・・,xn)の間のDTW距離D(X,Y)は、以下の式(1)〜(4)のようにして求めることができる。なお、t=(1,2,・・・,n)、i=(1,2,・・・,m)とする。
(First method)
The DTW distance between the two sequences is a distance after the two sequences are adjusted, in whole or in part, in the time axis direction. The DTW distance can be calculated based on the time warping matrix.
DTW distance D () between sequence Y = (y 1 , y 2 ,..., Y m ) of length m and sequence X = (x 1 , x 2 ,..., X n ) of length n X, Y) can be obtained by the following equations (1) to (4). Note that t = (1, 2,..., N) and i = (1, 2,..., M).
D(X,Y)=f(n,m)・・・(1)
f(t,i)=||xt−yi||+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)
D (X, Y) = f (n, m) (1)
f (t, i) = || x t −y i || + 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)において、||xt−yi||は、2つの数値(xtとyi)の距離を表す。2つの数値の距離としては、たとえば、ユークリッド距離やマンハッタン距離が考えられる。n次元空間において、a、bという2つの点の座標をa(a1,a2,・・・,an)、b(b1,b2,・・・,bn)とし、また、(1≦j≦n)とすると、ユークリッド距離とは√(Σ(aj−bj)2)、マンハッタン距離とはΣ|aj−bj|で表される距離のことである。
以下の具体例では、計算を容易にするために、||xt−yi||として、ユークリッド距離の二乗の値を算出し、使用する。
Equation (1) is a definition of the DTW distance. Formula (2) is a specific calculation formula.
In Expression (2), || x t −y i || represents the distance between two numerical values (x t and y i ). As the distance between the two numerical values, for example, the Euclidean distance and the Manhattan distance can be considered. In the n-dimensional space, the coordinates of two points a and b are a (a 1 , a 2 ,..., a n ), b (b 1 , b 2 ,..., b n ), If (1 ≦ j ≦ n), the Euclidean distance is √ (Σ (a j −b j ) 2 ), and the Manhattan distance is a distance represented by Σ | a j −b j |.
In the following specific example, in order to facilitate calculation, the square value of the Euclidean distance is calculated and used as || x t −y i ||.
また、式(2)において、min{f(t,i−1),f(t−1,i),f(t−1,i−1)}は、{}内の3つの値のうち、最小のものを採用する、という意味である。なお、最小のものが2つあるいは3つある場合については、検出される部分シーケンスが長くなるような(あるいは短くなるような)値を選択する、あるいは、検出される部分シーケンスが問合せシーケンスYに近くなるような値を選択する、など、予めその選択基準を設定しておいてもよい。
式(3)および式(4)は、この3つの値を計算する際に使用する、タイムワーピング行列における境界条件である。
In the expression (2), min {f (t, i−1), f (t−1, i), f (t−1, i−1)} is among the three values in {}. Means to adopt the smallest one. When there are two or three minimum ones, a value that makes the detected partial sequence longer (or shorter) is selected, or the detected partial sequence becomes the query sequence Y. The selection criteria may be set in advance, such as selecting a value that is close.
Equations (3) and (4) are boundary conditions in the time warping matrix used when calculating these three values.
タイムワーピング行列は、DTWの関数の値、すなわち、上記式(2)におけるf(t,i)の値を保持するものである。比較例では、長さnのシーケンスXと長さmのシーケンスYの距離を求めるときに、n個のタイムワーピング行列を使用するため、計算にO(nm)(nとmの積に比例)の時間がかかってしまう。つまり、この方法では、nの値が大きくなると、計算時間が長くなりすぎて、実用に耐えない。 The time warping matrix holds the value of the DTW function, that is, the value of f (t, i) in the above equation (2). In the comparative example, when calculating the distance between the sequence X of length n and the sequence Y of length m, since n time warping matrices are used, O (nm) is calculated (proportional to the product of n and m). It will take a long time. In other words, in this method, if the value of n increases, the calculation time becomes too long and cannot be practically used.
なお、メモリの使用量はO(m)である。これは、タイムワーピング行列の情報として、現在時刻の列(タイムワーピング行列におけるその時刻の各行列要素の集合)の情報とその直前時刻の列の情報の計2列の情報だけを記憶しておけばよく、それ以前の情報は逐次消去可能だからである。 Note that the memory usage is O (m). This is because the time warping matrix information can be stored only in two columns of information: the current time column information (a set of matrix elements at that time in the time warping matrix) and the immediately preceding time column information. This is because the previous information can be erased sequentially.
また、X[ts:te]を、時刻tsから時刻teまでの部分シーケンスとする。すなわち、X=(x1,x2,・・・,xs,・・・,xe,・・・,xn)において、X[ts:te]=(xs,・・・,xe)である。ここでの目的は、固定長mの問合せシーケンスYと高い類似性を有するX[ts:te]を発見(検出)することである。
In addition, X: the [t s t e], a partial sequence from time t s to
第1の方法では、所定の閾値εを設定しておき、次の式(5)を満たすX[ts:te]を検出する。
D(X[ts:te],Y)≦ε・・・(5)
In the first method, previously set a predetermined threshold epsilon, X satisfying the following equation (5): detecting the [t s t e].
D (X [t s: t e], 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とする。
A specific example of the first method will be described with reference to FIG. FIG. 9 is a diagram illustrating an example of a time warping matrix in the comparative example.
Here, an object is to detect a partial sequence having a high similarity to the sequence Y = (11, 6, 9, 4) in the sequence X that expands with time. 9 (1) to (7), the time warping matrix (TWM) 1 to 1 when the length of the sequence X is “7” (X = (5, 12, 6, 10, 6, 5, 1)). 7 (each inside a thick line). Note that the threshold ε = 20.
また、上記式(1)〜(4)を、実際に各TWM1〜7の各要素(各行列要素)の値を算出するための式に変形すると、以下の式(6)〜(9)のようになる。
つまり、t番目のタイムワーピング行列(時刻tから始まるタイムワーピング行列)において、要素(k,i)のDTW距離をft(k,i)とする。なお、t=(1,2,・・・,n)、i=(1,2,・・・,m)、k=(1,2,・・・,n−t+1)とする。また、式(1)〜(4)と重複する事項に関しては、説明を適宜省略する。
Further, when the above formulas (1) to (4) are transformed into formulas for actually calculating the values of the elements (each matrix element) of the
That is, in the t-th time warping matrix (time warping matrix starting at time t), the DTW distance elements (k, i) f t ( k, i) and. Note that t = (1, 2,..., N), i = (1, 2,..., M), and k = (1, 2,..., N−t + 1). In addition, regarding the items overlapping with the formulas (1) to (4), the description will be omitted as appropriate.
D(X[ts:te],Y)=fts(te−ts+1,m)=min(ft(k,m))・・・(6)
ft(k,i)=||xt+k−1−yi||+min{ft(k,i−1),ft(k−1,i),ft(k−1,i−1)}・・・(7)
ft(0,0)=0・・・(8)
ft(k,0)=ft(0,i)=∞・・・(9)
D (X [t s: t e], Y) = f ts (t e -t s + 1, m) = min (f t (k, m)) ··· (6)
f t (k, i) = || x t + k−1 −y i || + min {f t (k, i−1), f t (k−1, i), f t (k−1, i−) 1)} ... (7)
f t (0,0) = 0 (8)
f t (k, 0) = ft (0, i) = ∞ (9)
式(6)は、DTW距離の定義である。式(7)は、具体的な計算式である。式(8)および式(9)は、タイムワーピング行列における境界条件である。 Equation (6) is a definition of the DTW distance. Formula (7) is a specific calculation formula. Equations (8) and (9) are boundary conditions in the time warping matrix.
次に、図9を参照しながら、具体的な計算について説明する。
TWM1〜7の各要素には、上記式(6)〜(9)にしたがって算出された値が格納されている。
TWM2を例にとって説明すると、上記式(6)〜(9)から、まず、時刻t=2のとき、f2(1,1)=(12−11)2+min{f2(1,0)=∞,f2(0,1)=∞,f2(0,0)=0}=1+0=1である。
また、f2(2,1)=(6−11)2+min{f2(2,0)=∞,f2(1,1)=1,f2(1,0)=∞}=25+1=26である。
Next, specific calculations will be described with reference to FIG.
Each element of
Taking TWM2 as an example, from the above formulas (6) to (9), first, at time t = 2, f 2 (1,1) = (12-11) 2 + min {f 2 (1,0) = ∞, f 2 (0, 1) = ∞, f 2 (0, 0) = 0} = 1 + 0 = 1.
Also, f 2 (2,1) = (6-11) 2 + min {f 2 (2,0) = ∞, f 2 (1,1) = 1, f 2 (1,0) = ∞} = 25 + 1 = 26.
さらに、f2(1,2)=(12−6)2+min{f2(1,1)=1,f2(0,2)=∞,f2(0,1)=∞}=36+1=37である。
また、f2(2,2)=(6−6)2+min{f2(2,1)=26,f2(1,2)=37,f2(1,1)=1}=0+1=1である。
以下、同様にして、各TWM1〜7における各要素の値を算出することができる。
Further, f 2 (1,2) = (12−6) 2 + min {f 2 (1,1) = 1, f 2 (0,2) = ∞, f 2 (0,1) = ∞} = 36 + 1 = 37.
Also, f 2 (2,2) = (6-6) 2 + min {f 2 (2,1) = 26, f 2 (1,2) = 37, f 2 (1,1) = 1} = 0 + 1 = 1.
In the same manner, the value of each element in each
そして、各TWM1〜7のそれぞれの時刻において、それ以前のy4のときの要素の値のうち最小の値がDTW距離となる。また、各TWM1〜7における各DTW距離の開始時刻(計算に使用したシーケンスXの値のうち最初の値の時刻)は、各TWM1〜7の番号(TWM1なら「1」、TWM3なら「3」)と一致している。
Then, at each time in each TWM1~7, the minimum value is DTW distance among the elements of the value when the previous y 4. Further, the start time of each DTW distance in each
このような状況で、シーケンスXにおいて、シーケンスYと類似性の高い部分シーケンスを検出する、すなわち、DTW距離が「20」以下になっているものを検出する。
まず、時刻t=1においては、タイムワーピング行列がTWM1しか存在せず、DTW距離が「54」なので、該当しない。
Under such circumstances, a partial sequence having a high similarity to the sequence Y is detected in the sequence X, that is, a DTW distance of “20” or less is detected.
First, at time t = 1, only TWM1 exists in the time warping matrix and the DTW distance is “54”, which is not applicable.
次に、時刻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]を発見できたことになる。
Next, since the DTW distance of TWM1 is “54” and the DTW distance of TWM2 is “110” at time t = 2, this is not applicable.
At time t = 3, the DTW distance of TWM1 is “50”, the DTW distance of TWM2 is “14”, the DTW distance of TWM3 is “38”, and TWM2 is applicable (“DTW distance is“ 20 ”or less”). Therefore, the partial sequence X [2: 3] can be found.
このようにして、比較例によれば、シーケンスXの長さがnのときには、n個のタイムワーピング行列を使用することで、目的の類似する部分シーケンスを発見することができる。
ただし、上記式(6)〜(9)と図9による具体例からもわかるように、各TWM1〜7は、現在時刻およびその直前の時刻の2列分の情報のみをメモリに記憶させておけばよく、それよりも前の情報は逐次消去することができる。
Thus, according to the comparative example, when the length of the sequence X is n, the target similar partial sequence can be found by using n time warping matrices.
However, as can be seen from the above formulas (6) to (9) and the specific example shown in FIG. 9, each
そして、第1の方法によれば、DTW距離が閾値ε以下になった場合に、該当する部分シーケンスを検出したことになる。しかし、利用者の都合などによっては、その直後に、より類似性の高い部分シーケンスが存在する場合には、最初の部分シーケンスは検出したことにせず、後のより類似性の高い部分シーケンスのみを検出したことにしたい場合も多い。 According to the first method, when the DTW distance is equal to or smaller than the threshold ε, the corresponding partial sequence is detected. However, depending on the convenience of the user, if there is a partial sequence with higher similarity immediately after that, the first partial sequence is not detected and only the subsequent partial sequence with higher similarity is detected. Often you want to detect.
(第2の方法)
そこで、第2の方法では、最初に類似する部分シーケンスを検出した後、その類似する部分シーケンスと時間帯が少しでも重複する部分シーケンスの中で、より類似性の高い(DTW距離が小さい)ものがあるか否かを調べる。つまり、類似する部分シーケンスを検出した後、時間帯が少しでも重複する部分シーケンスの中で、より類似性の高いものがないことが確定して初めて、それを該当する部分シーケンス(以下、「最適な部分シーケンス」という。)と判断するのである。
(Second method)
Therefore, in the second method, after detecting a similar partial sequence first, among the partial sequences whose time zone overlaps with the similar partial sequence even a little, the one with higher similarity (small DTW distance) Find out if there is. In other words, after detecting a similar partial sequence, it is only determined that there is no more similar partial sequence that overlaps even a little in the time zone. It is called “a partial sequence”).
図9の例では、時刻t=3において、TWM2のDTW距離が「14」となり、まず、閾値ε以下という条件をクリアする部分シーケンスX[2:3]を発見できたことになる。この部分シーケンスは終了時刻がt=3なので、開始時刻がそれよりも後であるTWM4〜7は考慮する必要がない。
In the example of FIG. 9, at time t = 3, the DTW distance of TWM2 is “14”, and first, the partial sequence X [2: 3] that clears the condition that the threshold value ε or less is found. Since this partial sequence has an end time t = 3, it is not necessary to consider
そこで、TWM1〜3において、時刻t=3よりも後に、DTW距離が「14」よりも小さくなる可能性があるか否かが問題になる。まず、TWM1では、時刻t=3のときの各要素の値(下から、「62」,「37」,「46」,「50」)がすでにいずれも「14」よりも大きいので、その後、DTW距離が「14」よりも小さくなる可能性はない。同様に、TWM3についても、時刻t=3よりも後に、DTW距離が「14」よりも小さくなる可能性はない。
Therefore, in
ただし、TWM2では、時刻t=3のとき、f2(2,2)=1、f2(2,3)=10であり、その後、DTW距離が「14」よりも小さくなる可能性がある。実際に、時刻t=5において、DTW距離が「6」になっている。そして、その時刻t=5において、「6」以外の各要素の値(下から、「52」,「17」,「11」)がいずれも「6」よりも大きいので、その後、DTW距離が「6」よりも小さくなる可能性はない。 However, in TWM2, when time t = 3, f 2 (2,2) = 1 and f 2 (2,3) = 10, and thereafter, the DTW distance may be smaller than “14”. . Actually, at time t = 5, the DTW distance is “6”. At the time t = 5, the values of the elements other than “6” (from the bottom, “52”, “17”, “11”) are all larger than “6”. There is no possibility of being smaller than “6”.
しかし、DTW距離が「6」になるのは部分シーケンスX[2:5]なので、今度はTWM4とTWM5も関係してくる。そこで、TWM4を見ると、時刻t=5およびt=6に「6」以下の要素、すなわち、それぞれf4(2,2)=1およびf4(3,2)=2の値が存在するが、時刻t=7には、「6」以下の値が存在しない。また、TWM5においては、時刻t=5のときすでに、「6」以下の要素は存在しない。 However, since the DTW distance “6” is the partial sequence X [2: 5], TWM4 and TWM5 are also related this time. Therefore, when TWM4 is viewed, at time t = 5 and t = 6, there are elements of “6” or less, that is, values of f 4 (2,2) = 1 and f 4 (3,2) = 2, respectively. However, at time t = 7, there is no value less than “6”. Further, in TWM5, when time t = 5, there is no element equal to or less than “6”.
したがって、時刻t=7の時点で、DTW距離「6」を与えるTWM2の時刻t=5における部分シーケンスX[2:5]が最適なシーケンスであることがわかる。
また、TWMにおいて、このDTW距離「6」を算出するためにたどってきたルート「f2(1,1)→f2(2,2)→f2(3,3)→f2(4,4)」がワーピングパスの一例である。
Therefore, it can be seen that the partial sequence X [2: 5] at the time t = 5 of the
Also, in the TWM, the route “f 2 (1,1) → f 2 (2,2) → f 2 (3,3) → f 2 (4,4) that has been taken to calculate the DTW distance“ 6 ”. 4) "is an example of a warping path.
このように、比較例の第1の方法および第2の方法によれば、シーケンスXの長さがnのとき、n個のタイムワーピング行列を使用する必要があり、計算にO(nm)の時間がかかってしまい、nの値が大きくなると計算時間が長くなりすぎて、実用的ではない。
そこで、以下、図1〜7を参照しながら、タイムワーピング行列が単一でよく、計算がO(m)の時間で済み、計算の高速化と省メモリ化を実現することのできる本実施形態のデータストリーム監視装置について説明する。
Thus, according to the first method and the second method of the comparative example, when the length of the sequence X is n, it is necessary to use n time warping matrices, and O (nm) of the calculation is performed. It takes time, and if the value of n increases, the calculation time becomes too long, which is not practical.
Accordingly, in the following, referring to FIGS. 1 to 7, the present embodiment is capable of realizing a high-speed calculation and memory saving with a single time warping matrix and a calculation of O (m). The data stream monitoring apparatus will be described.
図1は、本実施形態のデータストリーム監視装置の構成図である。データストリーム監視装置1は、コンピュータ装置であり、入力部2、通信部3、記憶部4、出力部5、メモリ6および処理部7を備えている。
FIG. 1 is a configuration diagram of a data stream monitoring apparatus according to the present embodiment. The data
入力部2は、データ入力を行うものであり、たとえば、キーボードやマウスである。データストリーム監視装置1の使用者は、入力部2を使って、問合せシーケンスを入力することができる。
通信部3は、外部装置(不図示)やセンサ(不図示)からインターネットやLANなどを介してデータを受信するものであり、たとえば通信インターフェースである。通信部3は、外部装置(不図示)などからデータストリームを受信する。
The
The
記憶部4は、データを記憶するものであり、たとえば、ハードディスクである。記憶部4は、問合せシーケンス41とタイムワーピングデータ42を記憶している。また、記憶部4は、図示を省略しているが、データストリーム監視方法が記述されたプログラムを記憶している。
問合せシーケンス41は、入力部2から入力された問合せシーケンスである。
タイムワーピングデータ42は、タイムワーピング行列などのタイムワーピングの演算に必要なデータである。
The
The
The
出力部5は、データを出力するものであり、たとえば、ディスプレイやスピーカである。出力部5は、所定の条件を充足する部分シーケンスなどの検出データを出力する。
メモリ6は、処理部7の作業領域であり、たとえば、RAM(Random Access Memory)である。
The
The
処理部7は、各種演算処理を行うものであり、たとえば、CPU(Central Processing Unit)である。処理部7は、入力部2が受け付けた問合せシーケンスを記憶部4に問合せシーケンス41として記憶したり、通信部3が受信したデータストリームに関して記憶部4のタイムワーピングデータ42を使用して問合せシーケンス41と類似性の高い部分シーケンスを検出したり、その部分シーケンスを出力部5から出力したりする。
The
次に、図2を参照しながら、本実施形態のデータストリーム監視装置による問合せ処理のイメージについて説明する。図2は、本実施形態のデータストリーム監視装置による問合せ処理のイメージを示した図である。 Next, an image of inquiry processing by the data stream monitoring apparatus of this embodiment will be described with reference to FIG. FIG. 2 is a diagram showing an image of inquiry processing by the data stream monitoring apparatus of the present embodiment.
図2に示すように、データストリーム監視装置1による問合せ処理では、比較例の場合(図8参照)と異なり、単一のTWMを使用して、シーケンスXから、問合せシーケンスY’(問合せシーケンスYを少し変形したもの。詳細は後記)と類似する部分シーケンスを検出することができる。
図2では、該当する部分シーケンスとして、X[ts:te](X1)がまず検出され、その後に、X2が検出されている。
As shown in FIG. 2, in the query processing by the data
In Figure 2, a corresponding portion sequence, X [t s: t e ] (X 1) is first detected, then, X 2 is detected.
なお、以下、長さmのシーケンスY=(y1,y2,・・・,ym)に対して、先頭にy0を付加し、Y’=(y0,y1,y2,・・・,ym)とする。このとき、y0は、(−∞:∞)の値をとることができ、また、シーケンスXに関して時刻tのときに受信してこれからタイムワーピング行列の演算に使用するデータをxtとすると、y0=xtである。
そして、そのY’と、長さnのシーケンスX=(x1,x2,・・・,xn)の間でシーケンスマッチングを行うことになり、そのシーケンスマッチングは次の式(10)〜(14)により実現することができる。なお、t=(1,2,・・・,n)、i=(1,2,・・・,m)とする。また、式(6)〜(9)と重複する事項に関しては、説明を適宜省略する。
In the following description, y 0 is added to the beginning of a sequence Y = (y 1 , y 2 ,..., Y m ) of length m, and Y ′ = (y 0 , y 1 , y 2 , , Y m ). At this time, y 0 can take a value of (−∞: ∞), and x t is the data received at time t with respect to the sequence X and used for the calculation of the time warping matrix from now on. y 0 = x t .
Then, sequence matching is performed between the Y ′ and the sequence X = (x 1 , x 2 ,..., X n ) of length n, and the sequence matching is expressed by the following formula (10) to It can be realized by (14). Note that t = (1, 2,..., N) and i = (1, 2,..., M). In addition, regarding items that overlap with the formulas (6) to (9), description will be omitted as appropriate.
D(X[ts:te],Y)=d(te,m)=min(d(t,m))・・・(10)
d(t,i)=||xt−yi||+dbest・・・(11)
dbest=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)
D (X [t s: t e], Y) = d (t e, m) = min (d (t, m)) ··· (10)
d (t, i) = || x t −y i || + d best (11)
d 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’に変更したことと同じ効果が得られるのである。
Of the above formulas (10) to (14), formula (13) is one of the points of this embodiment. This expression (13) provides the same effect as changing the sequence Y to the sequence Y ′.
That is, when the
また、本実施形態のタイムワーピング行列の各要素は、距離d(t,i)だけでなく、次の式(15)で求める、各距離d(t,i)の開始時刻に関する情報s(t,i)(開始時刻がt=1なら「1」、開始時刻がt=3なら「3」)も保持する。 In addition, each element of the time warping matrix of the present embodiment is not only the distance d (t, i), but also information s (t I) (“1” if the start time is t = 1, “3” if the start time is t = 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)
<If i ≧ 2>
s (t, i) = s (t, i−1) (when d best = d (t, i−1))
s (t-1, i) (when d best = d (t-1, i))
s (t-1, i-1) (when d best = d (t-1, i-1))
<When i = 1>
s (t, i) = s (t, 1) = t (15)
また、D(X[ts:te],Y)の開始時刻tsは、次の式(16)により得られる。
ts=s(te,m)・・・(16)
最適なワーピングパスはこのタイムワーピング行列による距離計算から求めることができ、検出された類似する部分シーケンスの開始時刻は、そのワーピングパス上で引き継がれていくことで、特定することができる。
Also, D (X [t s: t e], Y) starting time t s of is obtained by the following equation (16).
t s = s (t e , m) (16)
The optimum warping path can be obtained from the distance calculation by this time warping matrix, and the start time of the detected similar partial sequence can be specified by being taken over on the warping path.
次に、図3を参照しながら、本実施形態のタイムワーピング行列の具体例について説明する。図3は、本実施形態のタイムワーピング行列の具体例を示した図である。なお、図1に示したハードウェアであるデータストリーム監視装置1の動作に関する説明は、図4および図5とともに後記する。
Next, a specific example of the time warping matrix of the present embodiment will be described with reference to FIG. FIG. 3 is a diagram showing a specific example of the time warping matrix of the present embodiment. A description of the operation of the data
図3に示すように、タイムワーピング行列TWMは、図9の場合と同様、時間経過とともに伸張するシーケンスXにおいて、シーケンスY=(11,6,9,4)と高い類似性を有する部分シーケンスを検出することを目的とし、ここでは、シーケンスX=(5,12,6,10,6,5,1)である。なお、閾値ε=20とする。 As shown in FIG. 3, the time warping matrix TWM is a partial sequence having a high similarity with sequence Y = (11, 6, 9, 4) in sequence X that expands with time, as in FIG. The sequence is X = (5, 12, 6, 10, 6, 5, 1). Note that the threshold ε = 20.
具体的な計算について説明すると、上記式(10)〜(14)から、d(1,1)=(5−11)2+min{d(1,0)=0,d(0,1)=∞,d(0,0)=0}=36+0=36である。また、このとき、式(15)から、開始時刻はs(1,1)=1であり、図3のTWMにおいては、「36」の下に「(1)」と記載している。 A specific calculation will be described. From the above formulas (10) to (14), d (1,1) = (5-11) 2 + min {d (1,0) = 0, d (0,1) = ∞, d (0, 0) = 0} = 36 + 0 = 36. At this time, the start time is s (1, 1) = 1 from the equation (15), and “(1)” is described below “36” in the TWM of FIG.
また、d(2,1)=(12−11)2+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=(y1,y2,・・・,ym)に対し先頭にy0を付加してY’=(y0,y1,y2,・・・,ym)としたことと同様の効果を式(13)によって実現したことにより、タイムワーピング行列が単一で済むのである。
Further, d (2,1) = (12-11) 2 + min {d (2,0) = 0, d (1,1) = 36, d (1,0) = 0} = 1 + 0 = 1. . At this time, the start time is s (2,1) = 2.
Unlike the case of the TWM1 of the comparative example (see FIG. 9 (1)), d (2,1) = 1 is one of the points of the present embodiment in this TWM (TWM1 in FIG. 9). The corresponding part in "37"). Although details will be described later, in this way, each element in the bottom row of the TWM in FIG. 3 is independently calculated regardless of the value of the element immediately to the left, that is, the sequence Y = (y 1 , y 2 ,..., Y m ), y 0 is added to the head, and Y ′ = (y 0 , y 1 , y 2 ,..., Y m ) is obtained. ) Realizes a single time warping matrix.
同様にして、式(10)〜(15)を使用することで、TWMの各要素の値と各開始時刻の値を算出することができる。
以下、第1の方法と同様、閾値ε以下のDTW距離が求まったときにそれを類似する部分シーケンスとして検出する方法を第3の方法という。また、第2の方法と同様、最初に類似する部分シーケンスを検出した後、時間帯が少しでもその類似する部分シーケンスと重複するそれ以降の部分シーケンスの中で、より類似性の高いものがないことが確定してから、それを最適な部分シーケンスと判断する方法を第4の方法という。
Similarly, by using the equations (10) to (15), the value of each element of the TWM and the value of each start time can be calculated.
Hereinafter, similarly to the first method, when a DTW distance equal to or less than the threshold ε is obtained, a method of detecting it as a similar partial sequence is referred to as a third method. Similarly to the second method, after detecting a similar partial sequence first, there is no higher similarity among the subsequent partial sequences that overlap with the similar partial sequence even if the time zone is a little. A method of determining that the partial sequence is the optimum partial sequence after this is determined is referred to as a fourth method.
第3の方法では、時刻t=3のとき、DTW距離が「14」であることにより、類似する部分シーケンスとしてX[2:3]を検出する。なお、開始時刻t=2はd(3,4)=14の下の「(2)」からわかり、また、終了時刻t=3はそのときの時刻からわかる。 In the third method, at time t = 3, X [2: 3] is detected as a similar partial sequence because the DTW distance is “14”. The start time t = 2 is known from “(2)” under d (3,4) = 14, and the end time t = 3 is known from the time at that time.
この検出結果は、比較例による検出結果(図9(2)参照)と同じである。つまり、本実施形態のデータストリーム監視装置1によれば、単一のタイムワーピング行列により、比較例の場合よりも少ない計算量および少ないメモリ使用量で、比較例と同等の検出結果を得ることができる。
This detection result is the same as the detection result of the comparative example (see FIG. 9 (2)). That is, according to the data
また、第4の方法では、類似する部分シーケンスX[2:3]を検出した後、さらに、その類似する部分シーケンスと少しでも時間帯が重複するそれ以降の部分シーケンスの中で、より類似性の高いものがあるか否かを判断する。
まず、左から3列目のd(3,1)、d(3,2)およびd(3,3)の値がいずれも「14」より大きければ、開始時刻がt=3以前でDTW距離が「14」以下になるものが存在する可能性がなくなるので、部分シーケンスX[2:3]が最適な部分シーケンスと判断できる。
Further, in the fourth method, after detecting a similar partial sequence X [2: 3], the similarity is further increased in the subsequent partial sequences whose time zone overlaps with the similar partial sequence as much as possible. It is determined whether there is a high one.
First, if the values of d (3,1), d (3,2), and d (3,3) in the third column from the left are all greater than “14”, the DTW distance is equal to or earlier than t = 3. Therefore, the partial sequence X [2: 3] can be determined as the optimum partial sequence.
しかし、ここでは、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]が最適であると判断できない。
However, since d (3,2) = 1 and d (3,3) = 10 here, the partial sequence X [2: 3] cannot be determined to be optimal at the time t = 3.
Next, at time t = 4, it is determined whether or not the condition “value is greater than“ 14 ”” or “start time is after t = 4” is satisfied for all the elements in the column. to decide. If this condition is satisfied, it can be determined that the partial sequence X [2: 3] is optimal.
Here, since d (4,3) = 2 (start time t = 2) does not satisfy this condition, it cannot be determined that the partial sequence X [2: 3] is optimal.
続いて、時刻t=5に移り、DTW距離が「6」なので、最適な部分シーケンスの候補をX[2:5]に変更する。
次に、時刻t=6に移り、その列の各要素の全てについて、「値が『6』よりも大きい」あるいは「開始時刻がt=6以降である」、という条件を満たすか否かを判断する。
ここでは、d(6,2)=2(開始時刻t=4)がこの条件を満たさないため、部分シーケンスX[2:5]が最適であると判断できない。
Subsequently, at time t = 5, since the DTW distance is “6”, the optimum partial sequence candidate is changed to X [2: 5].
Next, at time t = 6, it is determined whether or not the condition “value is greater than“ 6 ”” or “start time is after t = 6” is satisfied for all the elements in the column. to decide.
Here, since d (6,2) = 2 (start time t = 4) does not satisfy this condition, it cannot be determined that the partial sequence X [2: 5] is optimal.
次に、時刻t=7に移り、その列の各要素の全てについて、「値が『6』よりも大きい」あるいは「開始時刻がt=6以降である」、という条件を満たすか否かを判断する。
ここでは、その条件を満たすので、部分シーケンスX[2:5]が最適であると判断できる。
Next, at time t = 7, it is determined whether or not the condition “value is greater than“ 6 ”” or “start time is after t = 6” is satisfied for all the elements in the column. to decide.
Here, since the condition is satisfied, it can be determined that the partial sequence X [2: 5] is optimal.
この検出結果は、比較例による検出結果(図9(2)参照)と同じである。つまり、本実施形態のデータストリーム監視装置1によれば、単一のタイムワーピング行列により、比較例の場合よりも少ない計算量および少ないメモリ使用量で、比較例と同等の検出結果を得ることができる。
This detection result is the same as the detection result of the comparative example (see FIG. 9 (2)). That is, according to the data
(第3の方法)
次に、図4を参照しながら、第3の方法を実行する場合のデータストリーム監視装置の動作について説明する。図4は、第3の方法を実行する場合のデータストリーム監視装置の動作を示したフローチャートである。なお、d(t,i)(式(11)参照)をdi、d(t−1,i)をdi’と表記する。また、s(t,i)(式(15)参照)をsi、s(t−1,i)をsi’と表記する。
(Third method)
Next, the operation of the data stream monitoring apparatus when the third method is executed will be described with reference to FIG. FIG. 4 is a flowchart showing the operation of the data stream monitoring apparatus when the third method is executed. In addition, d (t, i) (refer to Formula (11)) is expressed as d i , and d (t−1, i) is expressed as d i ′. In addition, s (t, i) (see Expression (15)) is expressed as s i , and s (t−1, i) is expressed as s i ′.
まず、利用者は、データストリーム監視装置1において、入力部2から問合せシーケンスを入力し、入力された問合せシーケンスは記憶部4に問合せシーケンス41として記憶される。また、記憶部4には、単一のタイムワーピング行列(図3参照)や、所定の閾値εなどのタイムワーピングデータ42が記憶されている。
そして、通信部3は、外部装置(不図示)からデータストリームの受信を開始する。なお、以下、処理部7は、通信部3や記憶部4から受け取ったデータをメモリ6に展開して処理するが、メモリ6に展開する旨の記載は省略する。
First, the user inputs an inquiry sequence from the
And the
処理部7は、まず、時刻t=1として処理を開始し(ステップS401)、次に、そのときの時刻t(ここでは「1」)において、xtを受信する(ステップS402)。
続いて、処理部7は、式(10)〜(15)に基づいて、全てのdiとsiを計算し(ステップS403)、タイムワーピング行列を更新する。このとき、タイムワーピング行列における時刻「t−2」以降のデータは、削除してもよい(t≧3の場合)。
Subsequently, the
次に、処理部7は、dm、つまり、時刻tにおけるDTW距離が閾値ε以下であるか否かを判断する(ステップS404)。
時刻tにおけるDTW距離が閾値ε以下でなかった場合(ステップS404でNo)、処理部7は、ステップS408に進む。
Then, the
If the DTW distance at time t is not less than or equal to the threshold ε (No in step S404), the
時刻tにおけるDTW距離が閾値ε以下であった場合(ステップS404でYes)、処理部7は、そのDTW距離の開始時刻smを開始時刻の変数tsに代入し、そのときの時刻tを終了時刻の変数teに代入する(ステップS405)。
続いて、処理部7は、DTW距離dm、その開始時刻ts、および、その終了時刻teを出力部5に出力する(ステップS406)。
If DTW distance at time t is equal to or less than the threshold value epsilon (Yes in step S404), the
Subsequently, the
利用者は、出力部5から出力されたそれらのデータを見て、データストリーム中に、問合せシーケンスと類似する部分シーケンスがあったことを知ることができる。
次に、処理部7は、以降の処理のために、全てのdiの値を初期化する、つまり、diに∞(プログラムを作成する際はεなどと比較して充分大きな値を使用。以下同様)を代入する(ステップS407)。
続いて、処理部7は、次の時刻の処理に移るために、全てのdiとsiの値を、それぞれ、1つ前の時刻の値の変数であるdi’とsi’に代入し(ステップS408)、「t=t+1」として(ステップS409)、ステップS402に戻り、処理を繰り返す。
The user can know that there is a partial sequence similar to the query sequence in the data stream by looking at the data output from the
Next, processing
Subsequently, the
このようにして、本実施形態のデータストリーム監視装置1によれば、単一のタイムワーピング行列を使用することで、データストリームが長くなっても、計算量やメモリの使用量を一定に保つことができ、それでいて比較例と同様の結果を得ることができる。
つまり、本実施形態のデータストリーム監視装置1によれば、たとえば、図3の例において、時刻t=3の時点で、DTW距離「14」、その開始時刻「2」、および、その終了時刻「3」を出力部5から出力することができる。
Thus, according to the data
That is, according to the data
(第4の方法)
次に、図5を参照しながら、第4の方法を実行する場合のデータストリーム監視装置の動作について説明する。図5は、第4の方法を実行する場合のデータストリーム監視装置の動作を示したフローチャートである。なお、図4の場合と重複する説明は、適宜省略する。また、図4の場合と同様、データストリーム監視装置1において、記憶部4には、問合せシーケンス41と、単一のタイムワーピング行列(図3参照)や、所定の閾値εなどのタイムワーピングデータ42が記憶されている。さらに、最適な部分シーケンスの候補を入力する変数としてdminを使用する。
そして、通信部3は、外部装置(不図示)からデータストリームの受信を開始する。
(Fourth method)
Next, the operation of the data stream monitoring apparatus when the fourth method is executed will be described with reference to FIG. FIG. 5 is a flowchart showing the operation of the data stream monitoring apparatus when the fourth method is executed. In addition, the description which overlaps with the case of FIG. 4 is abbreviate | omitted suitably. As in the case of FIG. 4, in the data
And the
処理部7は、まず、時刻t=1として処理を開始し(ステップS501)、次に、そのときの時刻t(ここでは「1」)において、xtを受信する(ステップS502)。
続いて、処理部7は、式(10)〜(15)に基づいて、全てのdiとsiを計算し(ステップS503)、タイムワーピング行列を更新する。このとき、タイムワーピング行列における時刻「t−2」以降のデータは、削除してもよい(t≧3の場合)。
Subsequently, the
次に、処理部7は、dmin、つまり、時刻tにおけるDTW距離が閾値ε以下であるか否かを判断する(ステップS504)。
時刻tにおけるDTW距離が閾値ε以下でなかった場合(ステップS504でNo)、処理部7は、ステップS514で、「dmin≦ε」かつ「dm<dmin」、を満たすか否かを判断するが、ステップS514では「dmin≦ε」を満たさないので(No)、さらに、ステップS516に進む。
Next, the
If DTW distance at time t is not less than the threshold value epsilon (No at step S504), the
時刻tにおけるDTW距離dminが閾値ε以下であった場合(ステップS504でYes)、処理部7は、そのDTW距離dminを与える部分シーケンスが最適か否か、つまり、その部分シーケンスよりも後のある時刻における全ての要素(「di」と「si」)について、「値diがdminよりも大きい」あるいは「開始時刻siがteよりも後である」、という条件を満たすか否かを判断する(ステップS505)。この条件を満たせば、そのDTW距離dminを与える部分シーケンスが最適であると判断できるからである。
When the DTW distance d min at time t is equal to or smaller than the threshold ε (Yes in step S504), the
すなわち、処理部7は、DTW距離dminが閾値ε以下の部分シーケンスを検出した場合、その後、さらに、タイムワーピング行列の各行列要素の値の算出を行い、その部分シーケンスと時間帯が一部でも重複する部分シーケンスの中で、DTW距離がより小さくなるものが存在しえないと判断したときに、その部分シーケンスを最適な(より適切な)部分シーケンスとして検出することができる。
That is, when the
ステップS505の条件を満たさない場合(No)、処理部7は、ステップS514で、「dmin≦ε」かつ「dm<dmin」、を満たすか否かを判断する。
ここで、さらなる最適な部分シーケンスの候補があればステップS514の条件を満たし(Yes)、処理部7は、DTW距離dmを変数dminに、その開始時刻smを変数tsに、その終了時刻tを変数teに、それぞれ代入する(ステップS515)。
If the condition is not satisfied in step S505 (No), the
Here, satisfies the condition of step S514 if there is a candidate for further optimal subsequence satisfied (Yes), then the
ステップS505の条件を満たす場合(Yes)、そのDTW距離dminを与える部分シーケンスが最適であると判断できるので、処理部7は、そのDTW距離の開始時刻smを開始時刻の変数tsに代入し、そのときの時刻tを終了時刻の変数teに代入してから、そのDTW距離dmin、その開始時刻ts、および、その終了時刻teを出力部5に出力する(ステップS506)。
利用者は、出力部5から出力されたそれらのデータを見て、データストリーム中に存在する、問合せシーケンスと類似する部分シーケンスのうち、最適な部分シーケンスを知ることができる。
Satisfies case of step S505 (Yes), since the subsequence gives the DTW distance d min can be determined to be optimal, the
The user can know the optimum partial sequence among the partial sequences similar to the query sequence existing in the data stream by looking at the data output from the
次に、処理部7は、以降の処理のために、dminに∞を代入し(ステップS507)、iに「0」を代入し(ステップS508)、さらに、ステップS509〜S513の処理を行う。
ステップS509〜S513の処理では、処理部7は、「1」から「m」までの「i」の値に関して(ステップS510とステップS513参照)、「si≦te」を満たせば(ステップS511でYes)、「di」に「∞」を代入する(ステップS512)。ここでは、ステップS506で出力した最適な部分シーケンスと少しでも時間帯が重複する部分シーケンスがこれ以降にステップS506で出力されてしまう可能性をなくすために、その時刻における各要素のうちステップS506で出力した最適な部分シーケンスの終了時刻te以前のものの値を無限大にしている。
Next, for the subsequent processing, the
In the process of step S509~S513, processing
続いて、処理部7は、次の時刻の処理に移るために、全てのdiとsiの値を、それぞれ、1つ前の時刻の値の変数であるdi’とsi’に代入し(ステップS516)、「t=t+1」として(ステップS517)、ステップS502に戻り、処理を繰り返す。
Subsequently, the
このようにして、本実施形態のデータストリーム監視装置1によれば、使用するタイムワーピング行列が単一であっても、最適な部分シーケンスを出力することができる。
つまり、本実施形態のデータストリーム監視装置1によれば、たとえば、図3の例において、時刻t=3の時点のDTW距離「14」ではなく、時刻t=5の時点のDTW距離「6」(および、その開始時刻と終了時刻)を、最適な部分シーケンスのDTW距離として、出力部5から出力することができる。
この第4の方法によれば、そのアルゴリズムの特性上、比較例による方法と同様、最適な部分シーケンスを必ず検出することができる。
Thus, according to the data
That is, according to the data
According to the fourth method, the optimum partial sequence can be detected without fail due to the characteristics of the algorithm, as in the method according to the comparative example.
また、この第3の方法および第4の方法は、図4および図5のフローチャートを実行するプログラムを作成することで、データストリーム監視装置1などのコンピュータ装置において実現することができる。さらに、それらのプログラムは、ハードディスク、フラッシュメモリ、CD−ROM(Compact Disk Read Only Memory)、DVD(Digital Versatile Disk)などの記録媒体に保存することが可能である。
Further, the third method and the fourth method can be realized in a computer apparatus such as the data
(第1実施例)
次に、図6を参照しながら、本実施形態のデータストリーム監視装置に関する第1実施例について説明する。図6は、本実施形態のデータストリーム監視装置に関する第1実施例を説明するための図であり、(a)は問合せシーケンス、(b)は部分シーケンス検出の様子を、それぞれ表している。
(First embodiment)
Next, a first example relating to the data stream monitoring apparatus of this embodiment will be described with reference to FIG. 6A and 6B are diagrams for explaining a first example relating to the data stream monitoring apparatus of the present embodiment, where FIG. 6A shows an inquiry sequence, and FIG. 6B shows a partial sequence detection state.
第1実施例は、本実施形態のデータストリーム監視装置1を、1GBのメモリ、Intel(登録商標)のXeon2.8GHzのCPUを搭載したLinux(登録商標)のマシンで実施したものである。ここでは、温度センサによって気温を計測した場合に関して、実験を行っている。
図6(a)は、問合せシーケンスの波形であり、縦軸が温度(摂氏)を表し、横軸が時間の経過を表している。この問合せシーケンスは、天候の変化によって、気温が約20度から約31度まで大きく変動しているパターンが2回存在していることを特徴としている。
In the first example, the data
FIG. 6A shows the waveform of the inquiry sequence, where the vertical axis represents temperature (Celsius) and the horizontal axis represents the passage of time. This inquiry sequence is characterized in that there are two patterns in which the temperature varies greatly from about 20 degrees to about 31 degrees due to changes in the weather.
図6(b)は、データストリームの波形であり、(a)と同じく、縦軸が温度(摂氏)を表し、横軸が時間の経過を表している。このデータストリームは、温度センサによる約1分ごとの計測データを、上記マシンで受信したものである。
本実施形態の第4の方法を上記マシンで実行することで、図6(b)に示すように、データストリームにおいて、(a)の問合せシーケンスと類似している部分シーケンス(Subseq)としてSub1とSub2の2つを、逃さずに検出している。
FIG. 6B shows a waveform of the data stream. As in FIG. 6A, the vertical axis represents temperature (Celsius) and the horizontal axis represents the passage of time. This data stream is obtained by receiving data measured by the temperature sensor about every minute by the machine.
By executing the fourth method of the present embodiment on the above machine, as shown in FIG. 6B, in the data stream, Sub1 and Sub1 as a partial sequence (Subseq) similar to the query sequence of (a) Two of Sub2 are detected without missing.
(第2実施例)
続いて、図7を参照しながら、本実施形態のデータストリーム監視装置に関する第2実施例について説明する。図7は、本実施形態のデータストリーム監視装置に関する第2実施例について、データストリームのシーケンスの長さと計算時間との関係を表した図である。
(Second embodiment)
Next, a second example relating to the data stream monitoring apparatus of this embodiment will be described with reference to FIG. FIG. 7 is a diagram illustrating the relationship between the sequence length of the data stream and the calculation time in the second example relating to the data stream monitoring apparatus of the present embodiment.
第2実施例において、問合せシーケンスは人工データであり、長さは「256」である。データストリームは人工データであり、長さ(シーケンス長)を「10の3乗」から「10の6乗」まで可変とした。
図7において、縦軸は計算時間(ms)、横軸はデータストリームの長さ(シーケンス長)である。比較例による方法、および、本実施例による方法ともに、タイムワーピング行列の更新と類似する部分シーケンスの検出の合計時間を平均し、計算時間とした。
In the second embodiment, the inquiry sequence is artificial data and the length is “256”. The data stream is artificial data, and the length (sequence length) is variable from “10 to the third power” to “10 to the sixth power”.
In FIG. 7, the vertical axis represents the calculation time (ms), and the horizontal axis represents the length of the data stream (sequence length). In both the method according to the comparative example and the method according to the present embodiment, the total time of detection of the partial sequences similar to the update of the time warping matrix is averaged to obtain the calculation time.
図7に示すように、比較例による方法(L2)では、データストリームが長くなるにつれ、計算時間が増加している。一方、本実施例による方法(L1)では、データストリームが長くなっても、計算時間は一定に保たれている。これは、データストリームが長くなるにつれて、比較例による方法ではタイムワーピング行列の数が増えるのに対し、本実施例による方法ではタイムワーピング行列が常に単一であるからである。 As shown in FIG. 7, in the method (L2) according to the comparative example, the calculation time increases as the data stream becomes longer. On the other hand, in the method (L1) according to the present embodiment, the calculation time is kept constant even if the data stream becomes long. This is because as the data stream becomes longer, the number of time warping matrices increases in the method according to the comparative example, whereas the time warping matrix is always single in the method according to the present embodiment.
このように、第1実施例および第2実施例からもわかるように、本実施形態のデータストリーム監視装置1によれば、比較例の場合と比べて、計算コストの低減、つまり、計算の高速化と省メモリ化を実現できる。
Thus, as can be seen from the first example and the second example, according to the data
以上で実施形態の説明を終えるが、本発明の態様はこれらに限定されるものではない。
たとえば、本実施形態では、問合せシーケンスおよびデータストリームに関して、一次元データの場合について説明したが、n次元データ(nは2以上の自然数)の場合でも同様に適用することができる。
また、本発明は、温度センサ以外に、映像や音楽の配信、バイオインフォマティックス、各種ロボットなど、多くの分野に適用可能である。
その他、具体的な構成について、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
This is the end of the description of the embodiments, but the aspects of the present invention are not limited to these.
For example, in the present embodiment, the case of one-dimensional data has been described with respect to the query sequence and the data stream.
In addition to the temperature sensor, the present invention is applicable to many fields such as video and music distribution, bioinformatics, and various robots.
In addition, the specific configuration can be changed as appropriate without departing from the spirit of the present invention.
1 データストリーム監視装置
4 記憶部
5 出力部
7 処理部
TWM タイムワーピング行列
1 Data
Claims (8)
前記データストリーム中の時刻tにおけるデータx t を受信したときに、長さmのシーケンスY=(y 1 ,y 2 ,・・・,y m )である前記問合せシーケンス中のデータy i (ただし、i=1,2,・・・,m)と前記データストリーム中の時刻t−1におけるデータx t−1 との距離に関する情報d(t−1,i)と、当該距離に関する情報d(t−1,i)に対応する開始時刻に関する情報s(t−1,i)と、を(t−1,i)要素に持つ単一のタイムワーピング行列、および、前記ダイナミックタイムワーピング距離に関する所定の閾値εを記憶している記憶部と、
前記データx t を受信したときに、前記記憶部に記憶されたタイムワーピング行列と以下の式(11)〜(14)を用いて、前記問合せシーケンス中のデータy i (ただし、i=1,2,・・・,m)と前記データx t との間の距離に関する情報d(t,i)と、以下の式(15)により計算される当該d(t,i)に対応する開始時刻に関する情報s(t,i)とを計算して、前記記憶部に記憶されたタイムワーピング行列を更新し、前記問合せシーケンス中のデータy m と前記データx t との間の距離に関する情報d(t,m)が所定の閾値ε以下のときに、当該距離に関する情報d(t,m)に対応する開始時刻s(t,m)を開始時刻t s とし、前記時刻tを終了時刻t e とする前記データストリーム中の部分シーケンスX[t s :t e ]を前記類似する部分シーケンスとして検出する処理部と、
を有することを特徴とするデータストリーム監視装置。
d(t,i)=||x t −y i ||+d best ・・・(11)
d 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 t −y i ||は、2つの数値(x t とy i )の距離を表し、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) A data stream monitoring device that detects a partial sequence similar to an inquiry sequence that is a predetermined data string from a data stream that is continuously received data based on a dynamic time warping distance,
When data x t at time t in the data stream is received , the data y i in the query sequence where the sequence of length m = (y 1 , y 2 ,..., Y m ) (however, , I = 1, 2,..., M) and the information d (t−1, i) regarding the distance between the data x t−1 at the time t−1 in the data stream and the information d ( a single time warping matrix having information s (t-1, i) relating to the start time corresponding to t-1, i) and (t-1, i) elements , and a predetermined relating to the dynamic time warping distance. a storage section for storing the threshold epsilon,
Upon receiving the pre-Symbol data x t, using said storage unit to the stored time warping matrix with the following equation (11) to (14), the data y i (except in the query sequence, i = 1 , 2, ..., m) and information d (t, i) regarding the distance between the data x t and the start corresponding to the d (t, i) calculated by the following equation (15) Information s (t, i) relating to time is calculated, the time warping matrix stored in the storage unit is updated, and information d relating to the distance between the data y m and the data x t in the inquiry sequence (t, m) when there is more than a predetermined threshold epsilon, the starting time s (t, m) a starting time t s corresponding to the information d (t, m) regarding the distance, terminating the time t time t the partial sequence X [t in the data stream as e s: a processing unit for detecting a t e] as subsequence said similar,
A data stream monitoring apparatus comprising:
d (t, i) = || x t −y i || + d best (11)
d 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)
(Where || x t −y i || represents a distance between two numerical values (x t and y i ), and min {d (t, i−1), d (t−1, i), d (t−1, i−1)} represents that the smallest one of the three values in {} is adopted.)
<If i ≧ 2>
s (t, i) = s (t, i−1) (when d best = d (t, i−1))
s (t-1, i) (when d best = d (t-1, i))
s (t-1, i-1) (when d best = d (t-1, i-1))
<When i = 1>
s (t, i) = s (t, 1) = t (15)
ことを特徴とする請求項1に記載のデータストリーム監視装置。 Wherein the processing unit, the similar parts sequence X: when detecting [t s t e], then further subjected to calculation of the value of each matrix element of the time warping matrix, partial sequences X [t that similar When it is determined that there is no partial sequence having a smaller dynamic time warping distance among partial sequences that overlap with s : t e ] even in part, the similar partial sequence X [t s : t e ] The data stream monitoring apparatus according to claim 1 , wherein: is detected as a more appropriate partial sequence.
ことを特徴とする請求項2に記載のデータストリーム監視装置。 Wherein the processing unit, the similar parts sequence X: when detecting [t s t e], partial sequence X that similar: When the end time of the reception time of the last data [t s t e], the in the column with the time warping matrix after the end time, of each matrix element, a the start time is the end time earlier, and partial sequence X whose value the similarity [t s: t e] of The data stream monitoring apparatus according to claim 2 , wherein when there is nothing smaller than the dynamic time warping distance, the similar partial sequence is detected as more appropriate.
前記データストリーム監視装置は、前記データストリーム中の時刻tにおけるデータx t を受信したときに、長さmのシーケンスY=(y 1 ,y 2 ,・・・,y m )である前記問合せシーケンス中のデータy i (ただし、i=1,2,・・・,m)と前記データストリーム中の時刻t−1におけるデータx t−1 との距離に関する情報d(t−1,i)と、当該距離に関する情報d(t−1,i)に対応する開始時刻に関する情報s(t−1,i)と、を(t−1,i)要素に持つ単一のタイムワーピング行列、および、前記ダイナミックタイムワーピング距離に関する所定の閾値εを記憶している記憶部と、処理部とを備えており、
前記処理部は、前記データx t を受信したときに、前記記憶部に記憶されたタイムワーピング行列と以下の式(11)〜(14)を用いて、前記問合せシーケンス中のデータy i (ただし、i=1,2,・・・,m)と前記データx t との間の距離に関する情報d(t,i)と、以下の式(15)により計算される当該d(t,i)に対応する開始時刻に関する情報s(t,i)とを計算して、前記記憶部に記憶されたタイムワーピング行列を更新し、前記問合せシーケンス中のデータy m と前記データx t との間の距離に関する情報d(t,m)が所定の閾値ε以下のときに、当該距離に関する情報d(t,m)に対応する開始時刻s(t,m)を開始時刻t s とし、前記時刻tを終了時刻t e とする前記データストリーム中の部分シーケンスX[t s :t e ]を前記類似する部分シーケンスとして検出する
ことを特徴とするデータストリーム監視方法。
d(t,i)=||x t −y i ||+d best ・・・(11)
d 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 t −y i ||は、2つの数値(x t とy i )の距離を表し、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) A data stream monitoring method by a data stream monitoring device that detects a partial sequence similar to an inquiry sequence that is a predetermined data string from a data stream that is continuously received data based on a dynamic time warping distance,
The data stream monitoring device receives the data x t at time t in the data stream, and the inquiry sequence is a sequence m of length m = (y 1 , y 2 ,..., Y m ). Data d i (where i = 1, 2,..., M) and information d (t−1, i) relating to the distance between the data x t−1 at time t−1 in the data stream and A single time warping matrix having (t-1, i) elements as information s (t-1, i) related to the start time corresponding to the information d (t-1, i) related to the distance , and a storage unit for storing a predetermined threshold value ε about the dynamic time warping distance, and a processing unit,
Wherein the processing unit, when receiving the previous SL data x t, using said storage unit to the stored time warping matrix with the following equation (11) to (14), the data y i in the query sequence ( However, the information d (t, i) regarding the distance between i = 1, 2,..., M) and the data x t and the d (t, i) calculated by the following equation (15). ) To calculate the information s (t, i) related to the start time corresponding to), update the time warping matrix stored in the storage unit, and between the data y m and the data x t in the query sequence distance information d (t, m) in the case is less than a predetermined threshold epsilon, the starting time s (t, m) a starting time t s corresponding to the information d (t, m) regarding the distance, the time portion in the data stream to end time t e the t Shi Sequence X [t s: t e] the data stream monitoring method characterized by detecting a subsequence the similar.
d (t, i) = || x t −y i || + d best (11)
d 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)
(Where || x t −y i || represents a distance between two numerical values (x t and y i ), and min {d (t, i−1), d (t−1, i), d (t−1, i−1)} represents that the smallest one of the three values in {} is adopted.)
<If i ≧ 2>
s (t, i) = s (t, i−1) (when d best = d (t, i−1))
s (t-1, i) (when d best = d (t-1, i))
s (t-1, i-1) (when d best = d (t-1, i-1))
<When i = 1>
s (t, i) = s (t, 1) = t (15)
ことを特徴とする請求項4に記載のデータストリーム監視方法。 Wherein the processing unit, the similar parts sequence X: when detecting [t s t e], then further subjected to calculation of the value of each matrix element of the time warping matrix, partial sequences X [t that similar When it is determined that there is no partial sequence having a smaller dynamic time warping distance among partial sequences that overlap with s : t e ] even in part, the similar partial sequence X [t s : t e ] The data stream monitoring method according to claim 4 , wherein the data stream is detected as a more appropriate partial sequence.
ことを特徴とする請求項5に記載のデータストリーム監視方法。 Wherein the processing unit, the similar parts sequence X: when detecting [t s t e], partial sequence X that similar: When the end time of the reception time of the last data [t s t e], the in the column with the time warping matrix after the end time, of each matrix element, a the start time is the end time earlier, and partial sequence X whose value the similarity [t s: t e] of 6. The data stream monitoring method according to claim 5 , wherein when there is nothing smaller than the dynamic time warping distance, the similar partial sequence is detected as more appropriate.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006318752A JP4801566B2 (en) | 2006-11-27 | 2006-11-27 | Data stream monitoring device, data stream monitoring method, program thereof, and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006318752A JP4801566B2 (en) | 2006-11-27 | 2006-11-27 | Data stream monitoring device, data stream monitoring method, program thereof, and recording medium |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008134706A JP2008134706A (en) | 2008-06-12 |
JP4801566B2 true JP4801566B2 (en) | 2011-10-26 |
Family
ID=39559540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006318752A Expired - Fee Related JP4801566B2 (en) | 2006-11-27 | 2006-11-27 | Data stream monitoring device, data stream monitoring method, program thereof, and recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4801566B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018150589A1 (en) | 2017-02-20 | 2018-08-23 | 三菱電機株式会社 | Pattern extraction device, pattern extraction method, and pattern extraction program |
SG10201800954QA (en) * | 2018-02-02 | 2019-09-27 | Nec Asia Pacific Pte Ltd | Method and system for signal processing rehabilitation exercise signals |
JP7204584B2 (en) * | 2019-06-14 | 2023-01-16 | ルネサスエレクトロニクス株式会社 | Anomaly detection system, anomaly detection device and anomaly detection method |
CN113305880B (en) * | 2021-05-10 | 2022-08-05 | 佛山科学技术学院 | Industrial robot consistency detection system and method based on DTW distance |
-
2006
- 2006-11-27 JP JP2006318752A patent/JP4801566B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008134706A (en) | 2008-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11443015B2 (en) | Generating prediction models in accordance with any specific data sets | |
US9305264B2 (en) | Method and system for improved pattern matching | |
JP6350251B2 (en) | Route information processing apparatus, method, and program | |
JP4801566B2 (en) | Data stream monitoring device, data stream monitoring method, program thereof, and recording medium | |
TWI525460B (en) | Electronic calculating apparatus, personalized information recommending method thereof, and computer program product thereof | |
JP5047534B2 (en) | Multi-target tracking device | |
JP2007140965A (en) | Method and system for predicting operation result | |
CN113628244A (en) | Target tracking method, system, terminal and medium based on label-free video training | |
KR20130107889A (en) | Aparatus and method for detecting anomalous subsequence | |
KR100440949B1 (en) | Adaptive search method in feature vector space | |
JP5711171B2 (en) | Data search device, data search method, and data search program | |
US20170148424A1 (en) | Intuitive music visualization using efficient structural segmentation | |
JP4939349B2 (en) | Trend detection method, trend detection program, and trend detection device | |
JP6110281B2 (en) | Moving unit prediction model generation apparatus, moving unit prediction model generation method, and moving unit prediction model generation program | |
Zhan et al. | Efficient online hyperparameter optimization for kernel ridge regression with applications to traffic time series prediction | |
Sankararaman et al. | Computing similarity between a pair of trajectories | |
JP2009199507A (en) | Similar partial sequence detecting method, similar partial sequence detection program, and similar partial sequence detecting device | |
Kim et al. | Efficient method for mining high utility occupancy patterns based on indexed list structure | |
JP4697355B2 (en) | Data retrieval device | |
JP5033155B2 (en) | Similar partial sequence detection apparatus, similar partial sequence detection method, and similar partial sequence detection program | |
François et al. | Global optimization methods for genome scaffolding | |
JP7376405B2 (en) | Optimization processing device, optimization processing method, and optimization processing program | |
JP2009302723A (en) | Image processing device, method and program | |
Maurya et al. | Kalman filter based flexible sliding window algorithm for mining frequent itemset over data stream | |
Makhmutova et al. | Uncertain Big Data Stream Clustering |
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 |