JP2016153983A - 時系列パターン抽出装置、時系列パターン抽出方法および時系列パターン抽出プログラム - Google Patents

時系列パターン抽出装置、時系列パターン抽出方法および時系列パターン抽出プログラム Download PDF

Info

Publication number
JP2016153983A
JP2016153983A JP2015032251A JP2015032251A JP2016153983A JP 2016153983 A JP2016153983 A JP 2016153983A JP 2015032251 A JP2015032251 A JP 2015032251A JP 2015032251 A JP2015032251 A JP 2015032251A JP 2016153983 A JP2016153983 A JP 2016153983A
Authority
JP
Japan
Prior art keywords
time
matrix
data
series
pattern
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.)
Pending
Application number
JP2015032251A
Other languages
English (en)
Inventor
翔太郎 東羅
Shotaro Tora
翔太郎 東羅
真智子 豊田
Machiko Toyoda
真智子 豊田
吉孝 中村
Yoshitaka Nakamura
吉孝 中村
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 JP2015032251A priority Critical patent/JP2016153983A/ja
Publication of JP2016153983A publication Critical patent/JP2016153983A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

【課題】断続的に特徴が現れる時系列データについて時間フレームの間隔(ギャップ)を許容してパターンを抽出することができること。【解決手段】時系列パターン抽出装置10は、非負値データを要素とする非負値ベクトルが時系列順に並べられた時系列データから、該時系列データが所定の時間フレームで区切られる行列を作成し、作成された行列における時間フレームのうち、任意に設定された時間間隔にシフトして取得される所定数の時間フレームの組を用いて、該時間フレームの組同士の間で現れる特徴であるパターンを抽出する。【選択図】図4

Description

本発明は、時系列パターン抽出装置、時系列パターン抽出方法および時系列パターン抽出プログラムに関する。
実世界には、文書データや購買ログ、音、画像など、行列で表現できる多くのデータや信号が存在する。それらは多くの場合、頻度や個数、スペクトログラム、画素値など、非負値で表現できるデータである。例えば、文書データであれば各文書における各単語の出現頻度を行列で表現することができ、音楽信号は各時間における各周波数成分の強さというかたちで表現できる。
このような0または正の値を持つ行列を解析する一手法として、非負値行列因子分解(NMF:Non-negative Matrix Factorization)が知られている(例えば、非特許文献1)。NMFは、入力データを行列表現できれば、データの種類に関わらず適用できるため、幅広い種類のデータに応用できる。NMFによる解析結果で得られるのは、幾つかの頻出パターンであり、例えば、文書データからは共起しやすい単語のパターンを得ることで、「経済」や「スポーツ」などの潜在的なトピックを得ることができる(例えば、非特許文献2)。また、複数音源の信号が混在したスペクトログラムから各音源のパワースペクトルを抽出することによる雑音除去や音源分離への応用も提案されている(例えば、非特許文献3)。
NMFは、目的に合わせて拡張することでさらに幅広い様々な応用が提案されている。例えば、上述の文書データに時間情報も加えたような、3次元以上のデータを行列で表現すると、情報が失われてしまう。そこで、高次元のデータを行列ではなくテンソルとして扱い、ベクトルに分解する手法であるNTF(Non-negative Tensor Factorization)が提案されている(例えば、非特許文献4)。また、ネットワーク機器の各ログメッセージを、メッセージの種類(テンプレート)とホスト情報、時刻の3つの次元でテンソルとして表現し、2つの行列と1つのテンソルに分解するLTF(Log Tensor Factorization)を提案している(例えば、非特許文献5)。分解によって、単一ホストで同時に発生するテンプレートのグループと、同時に発生するテンプレートグループとそれが起きたホストの組の集合であるネットワークイベントを抽出する。
ならびにNMFを時間的に遷移する基底も抽出できるように拡張したものとして、畳み込み非負値行列因子分解(CNMF:Convolutive Non-negative Matrix Factorization)が提案されており、音響信号などの時系列データからのパターン抽出に応用されている(例えば、非特許文献6)。CNMFは、各時間の観測データベクトルを並べることで行列の形式で表現された時系列データに対して、指定した数の時間推移を考慮した基底に分解することにより、時間的に連続するパターン抽出を実現した点が特徴的な手法である。
Daniel D. Lee & H. Sebastian Seung, "Learning the parts of objects by non-negative matrix factorization", Nature, 401, pp.788-791, 1999 Wei Xu, Xin Liu, Yihong Gong, "Document Clustering Based On Non-negative Matrix Factorization", SIGIR'03, pp.267-273, 2003 Paris Smaragdis, Judith C. Brown, "Non-Negative Matrix Factorization for Polyphonic Music Transcription", In Proc. 2003 IEEE Workshop on Applications of Signal Processing to Audio and Acoustics (WASPAA2003), pp.177-180,2003 Amnon Shashua, Tamir Hazan, "Non-Negative Tensor Factorization With Applications to Statistics and Computer Vision" Tatsuaki Kimura, Keisuke Ishibashi, Tatsuya Mori, Hiroshi Sawada, Tsuyoshi Toyono, Ken Nishimatsu, Akio Watanabe, Akihiro Shimoda, Kohei Shiomoto, "Spatio-temporal Factorization of Log Data for Understanding Network Events", IEEE INFOCOM 2014-IEEE Conference on Computer Communications Paris Smaragdis, "Non-negative Matrix Factor Deconvolution; Extraction of Multiple Sound Sources from Monophonic Inputs", Independent Component Analysis and Blind Signal Separation, Lecture Notes in Computer Science, 2004, Volume 3195, pp.494-499, 2004
しかしながら、上記の従来技術では、音など連続した時間区切りで解析を行うものはCNMFの手法で問題ないが、機器のログなど断続的に特徴が現れる時系列データについては時間フレームの間隔(以降ギャップと表記)を許容してパターンを抽出することができないという課題がある。
つまり、CNMFは基底としてN×J行列(ただし、Jは何フレームに亘るパターンを抽出するかを定めるパラメータであり、以降フレーム幅と呼ぶ)を想定することで、時間方向に変化していくパターンを捉えることができているが、CNMFは音響信号など連続して特徴が現れるデータを扱うために拡張されたものであるため、機器のログなど断続的に特徴が現れるデータを扱う上では、任意のギャップを許容してパターンを抽出することができないという問題点を抱えている。
上述した課題を解決し、目的を達成するために、本発明の時系列パターン抽出装置は、非負値データを要素とする非負値ベクトルが時系列順に並べられた時系列データから、該時系列データが所定の時間フレームで区切られる行列を作成する作成部と、前記作成部によって作成された行列における時間フレームのうち、任意に設定された時間間隔にシフトして取得される所定数の時間フレームの組を用いて、該時間フレームの組同士の間で現れる特徴であるパターンを抽出する抽出部と、を有することを特徴とする。
また、本発明の時系列パターン抽出方法は、時系列パターン抽出装置によって実行される時系列パターン抽出方法であって、非負値データを要素とする非負値ベクトルが時系列順に並べられた時系列データから、該時系列データが所定の時間フレームで区切られる行列を作成する作成工程と、前記作成工程によって作成された行列における時間フレームのうち、任意に設定された時間間隔にシフトして取得される所定数の時間フレームの組を用いて、該時間フレームの組同士の間で現れる特徴であるパターンを抽出する抽出工程と、を含んだことを特徴とする。
また、本発明の時系列パターン抽出プログラムは、非負値データを要素とする非負値ベクトルが時系列順に並べられた時系列データから、該時系列データが所定の時間フレームで区切られる行列を作成する作成ステップと、前記作成ステップによって作成された行列における時間フレームのうち、任意に設定された時間間隔にシフトして取得される所定数の時間フレームの組を用いて、該時間フレームの組同士の間で現れる特徴であるパターンを抽出する抽出ステップと、をコンピュータに実行させることを特徴とする。
本発明によれば、断続的に特徴が現れる時系列データについて任意のギャップを許容してパターンを抽出することができるという効果を奏する。
図1は、サーバのイベントログにNMFを適用した場合におけるイベントログの行列表現とNMF分解後の基底行列および重み係数行列を示したイメージ図である。 図2は、CNMFによって抽出される基底行列を示したイメージ図である。 図3は、本実施形態によって抽出される基底行列を示したイメージ図である。 図4は、本実施形態に係る時系列パターン抽出装置の構成を示すブロック図である。 図5は、可視化した2年分のログの一例を示す図である。 図6は、可視化した2時間分のログの一例を示す図である。 図7は、可視化した30分分のログの一例を示す図である。 図8は、可視化した30分分のログの一例を示す図である。 図9は、1列5分の行列から抽出されたパターンの一例を示す図である。 図10は、1列2分の行列から抽出されたパターンの一例を示す図である。 図11は、本実施形態に係る時系列パターン抽出装置における時系列パターン抽出処理の流れを示すフローチャートである。 図12は、時系列パターン抽出プログラムを実行するコンピュータを示す図である。
以下に、本願に係る時系列パターン抽出装置、時系列パターン抽出方法および時系列パターン抽出プログラムの実施形態を図面に基づいて詳細に説明する。なお、この実施形態により本願に係る時系列パターン抽出装置、時系列パターン抽出方法および時系列パターン抽出プログラムが限定されるものではない。
本願の実施形態の説明を行う前に既存のNMFおよびCNMFについて説明する。NMFは、一般的な次元削減アルゴリズムで、パターン認識やデータマイニングに広く利用されている(非特許文献1)。まず、非負値の観測データベクトルを並べて行列で表現されたデータY=[y,y,・・・,y]∈RN×Mが与えられるとする。ここで、RN×Mは、N行M列で要素が実数値の行列全体の集合を表す。NMFでは、これらの観測データベクトルがK個の基底ベクトルの重み付き和によって表されたものとみなし、K個の基底ベクトルと重み係数ベクトルを推定する。すなわち、非負値の基底ベクトルを並べた行列をH=[h,h,・・・,h]∈RN×K、非負値の重み係数ベクトルを並べた行列をU=[u,u,・・・,u]∈RK×Mとすると、NMFは、下記(1)式となるように、近似的に分解するアルゴリズムである。
観測行列を2つの非負値行列の積で表すというNMFの基本概念はPaateroらによって提案されている。Paateroらは誤差行列E=Y−HUのFrobeniusノルム(下記(2)式参照)でHUのYからの乖離度をコスト関数として定義し、その最小化問題を解くことで最適なHとUを求めることを提案している。
NMFの解法には幾つかの数学的解法があるが、補助関数とJensenの不等式により導出した乗法的更新ルールは広く利用されている。DEUを最小化する乗法更新の式は下記(3)式のようになる。
NMFでは、HとUをランダムな値で初期化し、更新式に従って更新する。更新を反復することで徐々にコスト関数を小さくしていき、最適な解を得る。図1にNMFを例としてサーバのイベントログに適用したイメージを示す。まずログを一定の時間フレームで区切り、ログメッセージの種類数(N)、時間フレームの数(M)の形の行列Yで表現する。ここでは、各時間フレームにそれぞれのログメッセージが出現する回数が行列の要素になる。ただし、出現回数に1を足した値の対数や出現の有無のバイナリ値(出現すれば1、そうでなければ0)を要素に用いても構わない。この時、基底行列Hは同時に出現しやすいログメッセージの集合を意味し、重み係数行列Uはそのパターンがどの時間フレームに出現しているかの重みを表す。図1においては、L,L,L,Lが同時に出現しやすく、これらが1つの基底となる。
次に、CNMFについて説明する。NMFは、N×1行列を想定しているため、時系列データの基底を抽出するとき、時間的に遷移するような基底を抽出することができない。その点を克服するために、NMFを拡張した手法としてCNMFが提案されている。基底として非負のN×J行列(ただし、1<J<K)を想定することで、時間方向に連なったスペクトル構造のパーツが混合したモデルを立てることができる。すなわち、スペクトルが時間方向に変化していくパターン自体をパーツと捉え、観測データを構成しているスペクトログラムパーツを抽出し、それに基づく分解表現を得ることが出来るようになる。観測行列をYとすると、下記(4)式となるように、H・・・,HT−1とUを求めるのがCNMFである。また、下記(4)式に示す演算子は、例えば、下記(5)式のように、行列の成分を全てt列分右にシフトし、値がなくなった列の要素を全て0で埋める演算子とする。
ここで、Tはパターンの時間フレームの数を表すパラメータであり、T=1のときはNMFと等しくなる。この時、Yの近似を下記(6)式のように定義すると、NMFの場合と同様に最小化する距離をFrobeniusノルムとすると、更新式は下記(7)式のように表される。
図2にCNMFによる3列に亘るパターンの抽出例を示す。左の行列では、1列目にL,L、2列目にL,L、3列目にL,Lが出現しており、同じ傾向が6列目以降にも見られる。CNMFはこのように連続する時間フレームに亘って順に出現するログメッセージ群をパターンとして捉える。結果、基底行列Hとして、パターンのフレーム幅(J)×パターン数(K)の行列が得られる。
CNMFは基底としてN×Jの行列を想定することで、時間方向に変化していくパターンを捉えることができている。しかし、CNMFは画像処理分野から生まれた手法を転用したNMFを音響信号を扱うために拡張されたものであるため、他のデータを扱う上での問題点を抱えている。例えば、機器のログデータを行列やテンソルで表現するには、図3のようにログデータを一定の時間で区切るなどする必要がある。図3のように各行がログメッセージの種類、各列が時間フレームになるように行列化した場合、あるログが出現してから他のログが出現するパターンが潜在的に存在するとしても、これは必ずしもその行列で連続する列にそれらが出現するとは限らない。なお、図3は一列10秒の行列でログデータを表現したものである。
例えば、ログL,L,Lが出現した20秒後にL,Lさらに20秒後にL,Lが出現するようなパターンがある。図3の例を用いて説明すると、1列目でL,L,Lが出現し、3列目でL,Lが出現し、5列目でL,Lが出現しており、6列目以降でも、例えば、7列目でL,L,Lが出現し、9列目でL,Lが出現し、11列目でL,Lが出現している。図3に例示するように、一列10秒の行列でログデータを表現した場合、これらが出現している列は隣接しない。この様な場合、従来のCNMFではこのパターンを捉えることができない。
本願では、CNMFの課題を解消するため、時間フレームの間隔を任意に設定できるように、CNMFによる分解の式を下記(8)式のように改良した。
ここで、sはシフト幅を任意に設定するためのパラメータである。sはt+1番目の時間フレームに対応するシフト幅を表し、T個の時間フレームに対応させるために、パラメータベクトルs=[s0,s1,・・・,sT−1]として設定するものである。例えば、図3の例では、s=[0,2,4]と設定しているものとする。この改良により、sの設定によって任意のギャップを許容できるようCNMFが拡張された。また、シフト幅を1つずつ変化するように設定すればCNMFと等しくなる。つまり、s=[0,1,・・・,S]と設定すれば、CNMFでT=Sと設定した場合に相当する。ここで、Yの近似であるY~を下記(9)式のように定義した場合、最小化する距離をFrobeniusノルムとすると更新式は以下の(10)式のように表される。
[実施形態]
以下の実施形態の説明では、実施形態に係る時系列パターン抽出装置の構成及び処理の流れを順に説明し、最後に実施形態による効果を説明する。
[時系列パターン抽出装置の構成]
まず、図4を用いて、時系列パターン抽出装置10の構成を説明する。図4は、本実施形態に係る時系列パターン抽出装置の構成を示すブロック図である。図4に示すように、時系列パターン抽出装置10は、作成部11、抽出部12および結果出力部13を有する。以下に、これらの各部の処理を説明する。
作成部11は、非負値データを要素とする非負値ベクトルが時系列順に並べられた時系列データから、該時系列データが所定の時間フレームで区切られる行列を作成する。具体的には、作成部11は、各時間フレームに所定のデータが出現する回数または出現の有無が行列の要素となる行列であって、各行または各列のいずれか一方が所定のデータの種類、他方が時間フレームとなる行列を作成する。
例えば、上記した図3の例では、各時間フレームにログデータが出現する回数が行列の要素となる行列であって、各行がログメッセージの種類、各列が時間フレームとなる行列である。また、一列が10秒の時間フレームで区切られた行列である。作成部11は、特に本発明に関連するものとして、入力データ行列化部11aおよび初期化部11bを有する。
入力データ行列化部11aは、非負値データを格納したベクトルが時系列順に並んだ観測データを受け取って行列化する。初期化部11bは、行列のサイズとして与えられる、取り出したいパターン数を表すパラメータKと時間間隔を調整するパラメータsとに基づいて基底行列と重み行列を初期化する。
例えば、行列化の際には、各時間の観測データベクトルのサイズをN、ベクトルの数をMとすると、各時間のベクトルを並べてN×Mの行列とする。また、初期化の際には、基底行列は、s=[s,s,・・・,sT−1]とすると、T個のN×K行列のHs0,Hs1,・・・,HsT−1とK×Mの行列を作り、乱数を使ってランダムな数値を入れて初期化する。
抽出部12は、作成部11によって作成された行列における時間フレームのうち、任意に設定された時間間隔にシフトして取得される所定数の時間フレームの組を用いて、該時間フレームの組同士の間で現れる特徴であるパターンを抽出する。
例えば、図3の例を用いて説明すると、抽出部12は、時間間隔として、シフト幅s=[0,2,4]が設定されているものとし、1列目と3列目と5列目とシフトして3つの時間フレームの組を取得し、7列目と9列目と11列目とシフトして3つの時間フレームの組を取得する。12列目以降も同様に時間フレームの組を取得する。
ここで、図3に例示するように、時間フレームについて、1列目でLが「1」回、Lが「1」回、Lが「2」回出現し、3列目でLが「1」回、Lが「2」回出現し、5列目でLが「2」回、Lが「1」回出現している。また、6列目以降でも、例えば、7列目でLが「1」回、Lが「1」回、Lが「1」回出現し、9列目でLが「1」回、Lが「2」回出現し、11列目でLが「2」回、Lが「1」回出現している。このため、1列目と3列目と5列目とシフトして3つの時間フレームの組を取得し、7列目と9列目と11列目とシフトして3つの時間フレームの組同士の間で現れるパターンとして、1フレーム目にL,L,Lが出現し、2フレーム目にL,Lが出現し、3フレーム目にL,Lが出現するというパターンを抽出する。
具体的には、抽出部12は、同時に出現しやすいデータの集合を表す基底行列とパターンがどの時間フレームに出現しているかの重みを表す重み行列とを順に所定の更新式でそれぞれ更新する更新処理を、所定の回数分だけ繰り返し、該所定の回数を繰り返した後の基底行列および重み行列を前記パターンとして抽出する。抽出部12は、特に本発明に関連するものとして、基底行列更新部12a、重み行列更新部12bおよび反復終了判定部12cを有する。具体的には、抽出部12は、基底行列と重み行列を順にそれぞれの更新式で更新し、指定された反復回数分だけ更新処理を繰り返す。
基底行列更新部12aは、上記(10)式の左の式に基づき、基底行列の更新を行う。また、重み行列更新部12bは、上記(10)式の右の式に基づき、重み行列の更新を行う。
また、反復終了判定部12cは、基底行列と重み行列を順にそれぞれの更新式で更新した後に、指定された反復回数分だけ更新処理を行ったか否かを判定する。そして、反復終了判定部12cは、指定された反復回数分だけ更新処理を行っていないと判定した場合には、基底行列更新部12aおよび重み行列更新部12bに対して、基底行列、重み行列の更新をそれぞれ指示する。また、反復終了判定部12cは、指定された反復回数分だけ更新処理を行ったと判定した場合には、後述の分解行列出力部13aに対して、更新を反復回数分だけ繰り返した後の最終的な基底行列および重み行列を出力する。
結果出力部13は、抽出部12によって抽出されたパターンを出力する。結果出力部13は、特に本発明に関連するものとして、分解行列出力部13aを有する。分解行列出力部13aは、更新を反復回数分だけ繰り返した後の最終的な基底行列および重み行列を出力する。
[適用例]
ここで、本発明の有効性を検証するために行った、実データを用いた実験の実験結果について説明する。検証用の実データとして、実運用されているサーバ約10台構成のシステムから出力されたイベントログ約2年分を利用した。予め、IPアドレスやホスト名など、メッセージ中のパラメータ部分以外が同じメッセージを1つのIDにまとめ、イベントログをID化した。その結果、607492件あったログは308種類のメッセージに集約された。また、図5〜図8は、横軸を時刻、縦軸をログメッセージの種類として、それぞれのログメッセージが出現した時間に点をプロットしたものである。図5は、可視化した2年分のログの一例を示す図であり、図6は、可視化した2時間分のログの一例を示す図であり、図7および図8は、可視化した30分分のログの一例を示す図である。
図5〜図8では、すべて縦軸はログメッセージの種類、横軸はUNIX(登録商標)時間であり、それぞれの時間に出現したログメッセージの座標に点をプロットしている。このシステムは毎日アプリケーションの起動、停止を行ったり、週に一度システムの再起動を行なったりといった、定期的な処理が行われており、それに付随してログも出力されている。
例えば、図5の下部に点が密集しているのは、毎日行われるアプリケーションの起動、
停止に起因するログメッセージが出力されているのを表しており、下部から中央あたりに何本も棒状に点が並んで見えるのは,週に一度再起動するときに大量のログメッセージが一度に出力されていることを示している。
図6〜図8に示されるログは、図5の一部を切り取ったものである。図6の例では、サーバ再起動が行われた時間のログ2時間分(5:00−7:00)を切り出してプロットしたものであり、ID60から120のログが一斉に出力された後、ID125から145のログがまとまって出力される流れが2回確認できる。この流れは、図5では中央よりやや下の部分に見られ、2年を通じて毎週出力されている。
一方、図7および図8は、ある30分(23:30−24:00)を切り取ってプロットしたものであって、図7と図8はそれぞれ別の日の30分のログであり、図7および図8の両者のログにおいては、ID14から19のログが出力された約5分後にID14と18,20から24のログメッセージが出力された流れが確認できる。こちらは図6では下部の部分に見られ、基本的に毎日出力されている部分である。
実験では、このデータを一列2分または5分に設定して行列化した。ログデータを2分毎に区切り、その2分内で出現すれば1、そうでなければ0という値が要素に入るように、ログメッセージの種類をN、時間フレームの数(約2年/2分)をMとして、N×Mの行列を作成し、一列5分の行列も同様に作成した。
まず、基底数K=10、パラメータ更新反復回数を100、シフト幅を定めるパラメータs=[0,2]として実験を行った。この実験の結果、得られた基底の1つの中身を図9に示す。図9は、1列5分の行列から抽出されたパターンの一例を示す図である。ここでは、分解後の基底行列T,Tの各基底の列ベクトルの中で重みの大きさの上位のメッセージ群を取り出している。なお、ここで挙げているメッセージ群はほぼ同じ重みをもっている。
1フレーム目ではID15−19のメッセージが出現し、2フレーム目にID14,18,20−24のメッセージが出力されるようなパターンが抽出されている。これは図7に示される、毎日行われているサーバ再起動に関するパターンである。
次に、1列2分の設定の行列にも本実施形態の処理を適用した。K=10、パラメータ更新反復回数を100、シフト幅を定めるパラメータs=[0,2]として実験を行った。この実験の結果、得られた基底の1つの中身を図10に示す。この基底では、1フレーム目では、ID59−113のメッセージが出現し、2フレーム目にID132−137のメッセージが出力されるようなパターンが抽出されている。これは、図6に示される、毎日行われているサーバ再起動に関するパターンである。
[時系列パターン抽出装置の処理の一例]
次に、図11を用いて、時系列パターン抽出装置10における処理の流れを説明する。図11は、本実施形態に係る時系列パターン抽出装置における時系列パターン抽出処理の流れを示すフローチャートである。
図11に示すように、時系列パターン抽出装置10の入力データ行列化部11aは、非負値データを格納したベクトルが時系列順に並んだ観測データを入力データとして受け付けると(ステップS101)、該入力データを行列化する(ステップS102)。例えば、行列化の際には、各時間の観測データベクトルのサイズをN、ベクトルの数をMとすると、各時間のベクトルを並べてN×Mの行列とする。
そして、初期化部11bは、行列のサイズとして与えられる、取り出したいパターン数を表すパラメータKと時間間隔を調整するパラメータsとに基づいて基底行列と重み行列を初期化する(ステップS103)。例えば、初期化の際には、基底行列は、s=[s,s,・・・,sT−1]とすると、T個のN×K行列のHs0,Hs1,・・・,HsT−1とK×Mの行列を作り、乱数を使ってランダムな数値を入れて初期化する。
続いて、基底行列更新部12aは、上記(10)式の左の式に基づき、基底行列の更新を行う(ステップS104)。そして、重み行列更新部12bは、上記(10)式の右の式に基づき、重み行列の更新を行う(ステップS105)。その後、反復終了判定部12cは、基底行列と重み行列を順にそれぞれの更新式で更新した後に、指定された反復回数分だけ更新処理を行ったため反復を終了するか否かを判定する(ステップS106)。
そして、反復終了判定部12cは、反復を終了しないと判定した場合には(ステップS106否定)、基底行列更新部12aおよび重み行列更新部12bに対して、基底行列、重み行列の更新をそれぞれ指示し、ステップS104およびステップS105の処理を繰り返す。また、反復終了判定部12cが反復を終了すると判定した場合には(ステップS106肯定)、分解行列出力部13aは、更新を反復回数分だけ繰り返した後の最終的な基底行列および重み行列を分解行列として出力する(ステップS107)。
[実施形態の効果]
このように、時系列パターン抽出装置10は、非負値データを要素とする非負値ベクトルが時系列順に並べられた時系列データから、該時系列データが所定の時間フレームで区切られる行列を作成し、作成された行列における時間フレームのうち、任意に設定された時間間隔にシフトして取得される所定数の時間フレームの組を用いて、該時間フレームの組同士の間で現れる特徴であるパターンを抽出する。このため、断続的に特徴が現れる時系列データについて任意のギャップを許容してパターンを抽出することが可能である。
また、時系列パターン抽出装置10によれば、行列分解に基づく時系列データからのパターン抽出を、時間フレームの間隔を制御して抽出することができる。なお、行列分解は、ログデータのみならず音声や映像、テキストデータなど様々な分野で発生する。本発明は、これら全ての分野に適用可能である。
[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。例えば、基底行列更新部12aと重み行列更新部12bとを統合してもよい。
また、本実施形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
また、上記実施形態において説明した時系列パターン抽出装置10が実行する処理について、コンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、実施形態に係る時系列パターン抽出装置10が実行する処理について、コンピュータが実行可能な言語で記述した時系列パターン抽出プログラムを作成することもできる。この場合、コンピュータが時系列パターン抽出プログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかる時系列パターン抽出プログラムをコンピュータが読み取り可能な記録媒体に記録して、この記録媒体に記録された時系列パターン抽出プログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。以下に、図4に示した時系列パターン抽出装置10と同様の機能を実現する時系列パターン抽出プログラムを実行するコンピュータの一例を説明する。
図12は、時系列パターン抽出プログラムを実行するコンピュータ1000を示す図である。図12に例示するように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有し、これらの各部はバス1080によって接続される。
メモリ1010は、図12に例示するように、ROM(Read Only Memory)1011及びRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、図12に例示するように、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、図12に例示するように、ディスクドライブ1041に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブに挿入される。シリアルポートインタフェース1050は、図12に例示するように、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、図12に例示するように、例えばディスプレイ1130に接続される。
ここで、図12に例示するように、ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、上記の時系列パターン抽出プログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ1090に記憶される。
また、上記実施形態で説明した各種データは、プログラムデータとして、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出し、実行する。
なお、時系列パターン抽出プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してCPU1020によって読み出されてもよい。あるいは、時系列パターン抽出プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
10 時系列パターン抽出装置
11 作成部
11a 入力データ行列化部
11b 初期化部
12 抽出部
12a 基底行列更新部
12b 重み行列更新部
12c 反復終了判定部
13 結果出力部
13a 分解行列出力部

Claims (5)

  1. 非負値データを要素とする非負値ベクトルが時系列順に並べられた時系列データから、該時系列データが所定の時間フレームで区切られる行列を作成する作成部と、
    前記作成部によって作成された行列における時間フレームのうち、任意に設定された時間間隔にシフトして取得される所定数の時間フレームの組を用いて、該時間フレームの組同士の間で現れる特徴であるパターンを抽出する抽出部と、
    を有することを特徴とする時系列パターン抽出装置。
  2. 前記抽出部は、同時に出現しやすいデータの集合を表す基底行列と前記パターンがどの時間フレームに出現しているかの重みを表す重み行列とを順に所定の更新式でそれぞれ更新する更新処理を、所定の回数分だけ繰り返し、該所定の回数を繰り返した後の基底行列および重み行列を前記パターンとして抽出することを特徴とする請求項1に記載の時系列パターン抽出装置。
  3. 前記作成部は、各時間フレームに所定のデータが出現する回数または出現の有無が行列の要素となる行列であって、各行または各列のいずれか一方が所定のデータの種類、他方が時間フレームとなる行列を作成することを特徴とする請求項1または2に記載の時系列パターン抽出装置。
  4. 時系列パターン抽出装置によって実行される時系列パターン抽出方法であって、
    非負値データを要素とする非負値ベクトルが時系列順に並べられた時系列データから、該時系列データが所定の時間フレームで区切られる行列を作成する作成工程と、
    前記作成工程によって作成された行列における時間フレームのうち、任意に設定された時間間隔にシフトして取得される所定数の時間フレームの組を用いて、該時間フレームの組同士の間で現れる特徴であるパターンを抽出する抽出工程と、
    を含んだことを特徴とする時系列パターン抽出方法。
  5. 非負値データを要素とする非負値ベクトルが時系列順に並べられた時系列データから、該時系列データが所定の時間フレームで区切られる行列を作成する作成ステップと、
    前記作成ステップによって作成された行列における時間フレームのうち、任意に設定された時間間隔にシフトして取得される所定数の時間フレームの組を用いて、該時間フレームの組同士の間で現れる特徴であるパターンを抽出する抽出ステップと、
    をコンピュータに実行させることを特徴とする時系列パターン抽出プログラム。
JP2015032251A 2015-02-20 2015-02-20 時系列パターン抽出装置、時系列パターン抽出方法および時系列パターン抽出プログラム Pending JP2016153983A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015032251A JP2016153983A (ja) 2015-02-20 2015-02-20 時系列パターン抽出装置、時系列パターン抽出方法および時系列パターン抽出プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015032251A JP2016153983A (ja) 2015-02-20 2015-02-20 時系列パターン抽出装置、時系列パターン抽出方法および時系列パターン抽出プログラム

Publications (1)

Publication Number Publication Date
JP2016153983A true JP2016153983A (ja) 2016-08-25

Family

ID=56760515

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015032251A Pending JP2016153983A (ja) 2015-02-20 2015-02-20 時系列パターン抽出装置、時系列パターン抽出方法および時系列パターン抽出プログラム

Country Status (1)

Country Link
JP (1) JP2016153983A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020057327A (ja) * 2018-10-04 2020-04-09 富士通株式会社 出力プログラム、および出力方法
JP2021071889A (ja) * 2019-10-30 2021-05-06 富士通株式会社 システム分析方法、およびシステム分析プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020057327A (ja) * 2018-10-04 2020-04-09 富士通株式会社 出力プログラム、および出力方法
JP7103134B2 (ja) 2018-10-04 2022-07-20 富士通株式会社 出力プログラム、および出力方法
JP2021071889A (ja) * 2019-10-30 2021-05-06 富士通株式会社 システム分析方法、およびシステム分析プログラム
JP7302439B2 (ja) 2019-10-30 2023-07-04 富士通株式会社 システム分析方法、およびシステム分析プログラム

Similar Documents

Publication Publication Date Title
Song et al. Highly efficient incremental estimation of Gaussian mixture models for online data stream clustering
CN110876024B (zh) 确定虚拟形象唇部动作的方法和装置
Keijzer et al. Genetic programming, ensemble methods and the bias/variance tradeoff–introductory investigations
JP2008220511A (ja) 時系列パターン発見装置、方法およびプログラム
CN110677718B (zh) 一种视频识别方法和装置
CN110427809A (zh) 基于深度学习的唇语识别方法、装置、电子设备及介质
WO2018059302A1 (zh) 文本识别方法、装置及存储介质
CN113140018A (zh) 训练对抗网络模型的方法、建立字库的方法、装置和设备
CN111696029A (zh) 虚拟形象视频生成方法、装置、计算机设备及存储介质
CN111737516A (zh) 一种互动音乐生成方法、装置、智能音箱及存储介质
JP2016153983A (ja) 時系列パターン抽出装置、時系列パターン抽出方法および時系列パターン抽出プログラム
WO2019127940A1 (zh) 视频分类模型训练方法、装置、存储介质及电子设备
CN111858891A (zh) 问答库构建方法、装置、电子设备及存储介质
CN113470672B (zh) 语音增强方法、装置、设备及存储介质
JP6532849B2 (ja) データ撹乱装置、方法及びプログラム
CN109376651A (zh) 一种基于cuda架构的gpu加速锋电位分类的系统
CN112669431A (zh) 图像处理方法、装置、设备、存储介质以及程序产品
CN111260570B (zh) 基于循环一致性对抗网络的碑帖二值化背景噪声模拟方法
CN110809158B (zh) 图像环路滤波处理方法、装置
US20200402306A1 (en) Adaptive Polyhedra Mesh Refinement and Coarsening
CN114528810A (zh) 数据编码生成方法、装置、电子设备及存储介质
CN114546804A (zh) 信息推送的效应评估方法、装置、电子设备和存储介质
Ma et al. Image segmentation and classification based on a 2D distributed hidden Markov model
CN113192492A (zh) 语音识别方法、装置、计算机设备及存储介质
CN113313653A (zh) 一种基于生成式对抗网络的图像去噪声方法及装置