JP6355849B2 - 時系列データ処理装置 - Google Patents

時系列データ処理装置 Download PDF

Info

Publication number
JP6355849B2
JP6355849B2 JP2017530518A JP2017530518A JP6355849B2 JP 6355849 B2 JP6355849 B2 JP 6355849B2 JP 2017530518 A JP2017530518 A JP 2017530518A JP 2017530518 A JP2017530518 A JP 2017530518A JP 6355849 B2 JP6355849 B2 JP 6355849B2
Authority
JP
Japan
Prior art keywords
leg
vibration data
leg vibration
time
data
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.)
Active
Application number
JP2017530518A
Other languages
English (en)
Other versions
JPWO2017017785A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2017017785A1 publication Critical patent/JPWO2017017785A1/ja
Application granted granted Critical
Publication of JP6355849B2 publication Critical patent/JP6355849B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Tourism & Hospitality (AREA)
  • Data Mining & Analysis (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Operations Research (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Algebra (AREA)
  • Primary Health Care (AREA)
  • Quality & Reliability (AREA)
  • Game Theory and Decision Science (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Measurement Of Mechanical Vibrations Or Ultrasonic Waves (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Train Traffic Observation, Control, And Security (AREA)

Description

この発明は、時々刻々に変化する観測値として、例えば、プラント・ビル・工場等の制御システムでのセンサ値、証券取引所での株価、会社の売上高などを取得して、各時刻の観測値が並べられている時系列データを分析する時系列データ処理装置に関するものである。
例えば、火力・水力・原子力等の発電プラント、化学プラント、鉄鋼プラント、上下水道プラントなどでは、プラントのプロセスを制御する制御システムが導入されている。また、ビルや工場などの設備でも、空調・電気・照明・給排水などを制御する制御システムが導入されている。
これらの制御システムでは、各種の装置に取り付けられているセンサのセンサ値である観測値を例えば一定時間毎に取得することで、各時刻の観測値が並べられている時系列データを蓄積する機能を有していることがある。
また、証券取引所での株価、会社の売上高などを取り扱う情報システムにおいても、株価や売上高などを観測値として、例えば一定時間毎に取得することで、各時刻の観測値が並べられている時系列データを蓄積する機能を有していることがある。
制御システムや情報システムに蓄積されている時系列データを分析する時系列データ処理装置では、例えば、プラントの設備の異常や、会社経営の異常などを検出することができるようにするため、蓄積されている時系列データを分析して、観測値の上昇や下降などの変動を検出する。
例えば、株価などの観測値では、絶えず上下に変動するが、局所的に小さく上下に変動しても、大域的には上昇の傾向を示す観測値が並んでいる部分時系列(以下、「上昇レグ」と称する)や、下降の傾向を示す観測値が並んでいる部分時系列(以下、「下降レグ」と称する)が存在する。
プラントの設備の異常や、会社経営の異常などを検出するための指標としては、局所的に小さく上下に変動する部分より、上昇レグや下降レグの方が的確であるため、時系列データ処理装置では、蓄積されている時系列データの中から、上昇レグと下降レグを抽出するようにしている。
蓄積されている時系列データの中から、上昇レグ及び下降レグを抽出するレグ検索技術は、例えば、以下の非特許文献1に開示されている。
Fink, E. and Kevin B. P.: Indexing of Compressed Time series, DATA MINING IN TIME SERIES DATABASES, World Scientific, pp. 43-65 (2004)
従来の時系列データ処理装置は以上のように構成されているので、時系列データの中から、時刻の経過に伴って上昇傾向を示す観測値が並んでいる部分時系列である上昇レグと、時刻の経過に伴って下降傾向を示す観測値が並んでいる部分時系列である下降レグを抽出することができる。しかし、プラントの設備の異常や、会社経営の異常などを検出するには、単なる上昇レグや下降レグよりも、上昇レグと下降レグが交互に出現するレグの系列であるレグ振動列の方が重要な指標となるが、レグ振動列を特定する手段を備えていないため、重要な指標となるレグ振動列を特定することができないという課題があった。
例えば、プラント設備の異常として、設備のバタツキ現象やハンチング現象などを検知することがあるが、単に上昇レグや下降レグを抽出しても、観測値の振動状況を的確に把握することが困難であるため、容易に設備のバタツキ現象やハンチング現象などを検知することができない。
これに対して、レグ振動列は上昇レグと下降レグが交互に出現するレグの系列であるため、観測値の振動状況を容易に把握することができる。このため、設備のバタツキ現象やハンチング現象などを検知する上で、レグ振動列は重要な指標となる。
この発明は上記のような課題を解決するためになされたもので、上昇レグと下降レグが交互に出現するレグ振動列に関する情報であるレグ振動データを蓄積することができる時系列データ処理装置を得ることを目的とする。
この発明に係る時系列データ処理装置は、各時刻の観測値が並べられている時系列データの中から、時刻の経過に伴って上昇傾向を示す観測値が並んでいる部分時系列である上昇レグと、時刻の経過に伴って下降傾向を示す観測値が並んでいる部分時系列である下降レグとを抽出するレグ抽出部と、時系列データの中で、レグ抽出部により抽出された上昇レグと下降レグが交互に出現するレグの系列であるレグ振動列を特定し、そのレグ振動列を構成しているレグの数である振動数及びレグ振動列の開始時点と終了時点の範囲であるウインドウサイズを計数するレグ振動列特定部と、レグ振動列特定部により特定されたレグ振動列の開始時点の観測時刻と、当該レグ振動列に含まれているレグの振幅と、レグ振動列特定部により計数された振動数及びウインドウサイズとの組をレグ振動データとしてデータベースに登録するデータベース登録部とを設け、レグ振動データ検索部が、データベースに登録されているレグ振動データの中から、検索条件に合致するレグ振動データを検索するようにしたものである。
この発明によれば、時系列データの中で、レグ抽出部により抽出された上昇レグと下降レグが交互に出現するレグの系列であるレグ振動列を特定し、そのレグ振動列を構成しているレグの数である振動数及びレグ振動列の開始時点と終了時点の範囲であるウインドウサイズを計数するレグ振動列特定部と、レグ振動列特定部により特定されたレグ振動列の開始時点の観測時刻と、当該レグ振動列に含まれているレグの振幅と、レグ振動列特定部により計数された振動数及びウインドウサイズとの組をレグ振動データとしてデータベースに登録するデータベース登録部とを設けるように構成したので、上昇レグと下降レグが交互に出現するレグ振動列に関する情報であるレグ振動データを蓄積することができる効果がある。
この発明の実施の形態1による時系列データ処理装置を示す構成図である。 この発明の実施の形態1による時系列データ処理装置を示すハードウェア構成図である。 時系列データ処理装置がコンピュータで構成される場合のハードウェア構成図である。 この発明の実施の形態1による時系列データ処理装置の処理内容を示すフローチャートである。 時系列データ収集部1により収集される時系列データ及び時系列データの一部である部分列の一例を示す説明図である。 レグ抽出部2により抽出されるレグの一例を示す説明図である。 レグ振動列と振動数を示す説明図である。 時系列データ収集部1により収集される時系列データと、データベース5に記憶されるレグ振動データ(レグ振動列の開始時点の観測時刻、レグ振動列の振幅、振動数、ウインドウサイズ)との一例を示す説明図である。 レグ振動データ検索部9によるレグ振動データの検索式と検索結果の一例を示す説明図である。 視覚化部10によるレグ振動データ検索部9の検索結果の視覚化例を示す説明図である。 レグ振動列sを抽出するアルゴリズム(GetLongestLegSeq)のサンプルコードを示す説明図である。 振幅に関してウインドウサイズが最小のレグ振動データを求めるアルゴリズム(GetMLV)のサンプルコードを示す説明図である。 この発明の実施の形態2による時系列データ処理装置を示す構成図である。 この発明の実施の形態2による時系列データ処理装置の処理内容を示すフローチャートである。 レグ振動データ抽出部6の振幅極大レグ抽出部11による必要なレグ振動データの抽出処理を示す説明図である。 視覚化部10によるレグ振動データ検索部9の検索結果の視覚化例を示す説明図である。
以下、この発明をより詳細に説明するために、この発明を実施するための形態について、添付の図面にしたがって説明する。
実施の形態1.
図1はこの発明の実施の形態1による時系列データ処理装置を示す構成図である。また、図2はこの発明の実施の形態1による時系列データ処理装置を示すハードウェア構成図である。
図1及び図2において、時系列データ収集部1は例えば外部から送信されたデータを受信する通信装置21、あるいは、USBポートなどの入出力ポートを備えた入出力装置22で実現されるものであり、制御システムや情報システムなどで観測された各時刻の観測値が並べられている時系列データを収集する処理を実施する。
時系列データ収集部1により収集された時系列データは、例えば、RAMやハードディスクなどからなる主記憶装置23又は外部記憶装置24に記憶される。
レグ抽出部2は例えばCPU(Central Processing Unit)を実装している半導体集積回路、あるいは、ワンチップマイコンなどで構成されている演算装置25で実現されるものであり、主記憶装置23又は外部記憶装置24に記憶されている時系列データの中から、時刻の経過に伴って上昇傾向を示す観測値が並んでいる部分時系列である上昇レグと、時刻の経過に伴って下降傾向を示す観測値が並んでいる部分時系列である下降レグとを抽出する処理を実施する。
ここで、時刻の経過に伴って上昇傾向を示す観測値が並んでいる部分時系列とは、局所的に小さく上下に変動しても、大域的には上昇の傾向を示す観測値が並んでいる部分時系列のことを意味する。
また、時刻の経過に伴って下降傾向を示す観測値が並んでいる部分時系列とは、局所的に小さく上下に変動しても、大域的には下降の傾向を示す観測値が並んでいる部分時系列のことを意味する。
レグ振動列特定部3は例えば演算装置25で実現されるものであり、主記憶装置23又は外部記憶装置24に記憶されている時系列データの中で、レグ抽出部2により抽出された上昇レグと下降レグが交互に出現するレグの系列であるレグ振動列を特定し、そのレグ振動列を構成しているレグの数である振動数及びレグ振動列の開始時点と終了時点の範囲であるウインドウサイズを計数する処理を実施する。
データベース登録部4は例えば演算装置25で実現されるものであり、レグ振動列特定部3により特定されたレグ振動列の開始時点の観測時刻と、そのレグ振動列に含まれているレグの振幅と、レグ振動列特定部3により計数された振動数及びウインドウサイズとの組をレグ振動データとしてデータベース5のテーブルLVに登録する処理を実施する。
データベース5は主記憶装置23又は外部記憶装置24で実現されるものであり、レグ振動列の開始時点の観測時刻、レグの振幅、振動数及びウインドウサイズの組をレグ振動データとして、テーブルLVに格納する。
レグ振動データ抽出部6は振幅極小レグ抽出部7及び振動数極小レグ抽出部8から構成されており、データベース5に登録されているレグ振動データの中で、必要なレグ振動データを抽出する処理を実施する。
振幅極小レグ抽出部7は例えば演算装置25で実現されるものであり、データベース5のテーブルLVに登録されているレグ振動データの中で、振動数が同じレグ振動データを振幅でグループ分けする。
また、振幅極小レグ抽出部7は、グループ毎に、当該グループに属するレグ振動データのウインドウサイズを比較することで、当該グループに属するレグ振動データの中から、いずれか1つのレグ振動データを抽出し、その抽出したレグ振動データをデータベース5のテーブルMLVに登録する処理を実施する。
例えば、当該グループに属する1つ以上のレグ振動データ、即ち、振幅が同一である1つ以上のレグ振動データのウインドウサイズを比較して、1つ以上のレグ振動データの中から、ウインドウサイズが最も小さいレグ振動データを抽出し、その抽出したレグ振動データをデータベース5のテーブルMLVに登録する。
振動数極小レグ抽出部8は例えば演算装置25で実現されるものであり、データベース5のテーブルLVに登録されているレグ振動データの中で、振幅が同じレグ振動データを振動数でグループ分けする。
また、振動数極小レグ抽出部8は、グループ毎に、当該グループに属するレグ振動データのウインドウサイズを比較することで、当該グループに属するレグ振動データの中から、いずれか1つのレグ振動データを抽出し、その抽出したレグ振動データをデータベース5のテーブルMLVに登録する処理を実施する。
例えば、当該グループに属する1つ以上のレグ振動データ、即ち、振動数が同一である1つ以上のレグ振動データのウインドウサイズを比較して、1つ以上のレグ振動データの中から、ウインドウサイズが最も小さいレグ振動データを抽出し、その抽出したレグ振動データをデータベース5のテーブルMLVに登録する。
レグ振動データ検索部9は例えば演算装置25で実現されるものであり、データベース5のテーブルMLVに登録されているレグ振動データの中から、検索条件に合致するレグ振動データを検索する処理を実施する。
また、レグ振動データ検索部9は検索条件に合致するレグ振動データの中で、振幅、振動数及びウインドウサイズが同じレグ振動データの個数である総出現数を計数する処理を実施する。
視覚化部10は例えばGPU(Graphics Processing Unit)や液晶ディスプレイなどから構成されている表示装置26で実現されるものであり、第1の軸が振幅、第2の軸がウインドウサイズ、第3の軸が総出現数である3次元グラフ上に、レグ振動データ検索部9により検索されたレグ振動データの振幅、ウインドウサイズ及び総出現数を表示する処理を実施する。
図1の例では、時系列データ処理装置の構成要素である時系列データ収集部1、レグ抽出部2、レグ振動列特定部3、データベース登録部4、データベース5、レグ振動データ抽出部6、レグ振動データ検索部9及び視覚化部10のそれぞれが専用のハードウェアで構成されているものを想定しているが、時系列データ処理装置がコンピュータで構成されていてもよい。
図3は時系列データ処理装置がコンピュータで構成される場合のハードウェア構成図である。
時系列データ処理装置がコンピュータで構成される場合、データベース5をコンピュータのメモリ41上に構成するとともに、時系列データ収集部1、レグ抽出部2、レグ振動列特定部3、データベース登録部4、レグ振動データ抽出部6、レグ振動データ検索部9及び視覚化部10の処理内容を記述しているプログラムをコンピュータのメモリ41に格納し、コンピュータのプロセッサ42がメモリ41に格納されているプログラムを実行するようにすればよい。
図4はこの発明の実施の形態1による時系列データ処理装置の処理内容を示すフローチャートである。
図5は時系列データ収集部1により収集される時系列データ及び時系列データの一部である部分列(部分時系列)の一例を示す説明図である。
時系列データXは、m個の観測値が観測時刻順に並べられている順序リスト{x,x,・・・,x}であり、以下、時系列データXのi番目の観測値xをX[i]のように表記する。
添え字のiは、1≦i≦mを満たす整数であり、「時点」と呼ばれる。また、mは時系列データXに含まれている観測値のデータ数であり、m個の観測値が並べられている時系列データXの長さは、length(m)で表される。
図5(a)において、縦軸は時系列データXを構成している観測値X[i]を示し、横軸は観測値X[i]の時点iを示している。
時系列データXのi番目の観測値X[i]からj番目の観測値X[j]が抽出されることで得られるリストX[i:j]={x,xi+1,・・・,x}は、時系列データXの部分列と称する。
また、部分列X[i:j]の開始時点pをstart(X[i:j])、部分列X[i:j]の終了時点qをend(X[i:j])のように表記する。
部分列X[i:j]の長さは、j−i+1になる。この部分列の長さは、部分列の開始時点と終了時点の範囲を示すものであり、以下、「ウインドウサイズ」と称する。
図5(b)では、図5(a)に示す時系列データにおいて、i=11、j=19の場合の部分列を示している。
図6はレグ抽出部2により抽出されるレグの一例を示す説明図である。
特に図6(a)はレグの一例を示し、図6(b)はレグとなる例とレグとならない例を示している。
レグは、局所的に小さな上下変動があっても、大域的には上昇又は下降している部分列を意味する。
即ち、上昇レグの場合、部分列の開始時点の観測値より部分列の終了時点の観測値の方が大きい。また、開始時点と終了時点の間の全ての観測値は、部分列の開始時点の観測値以上であり、かつ、部分列の終了時点の観測値以下である。
一方、下降レグの場合、部分列の開始時点の観測値より部分列の終了時点の観測値の方が小さい。また、開始時点と終了時点の間の全ての観測値は、部分列の開始時点の観測値以下であり、かつ、部分列の終了時点の観測値以上である。
したがって、図6(a)(b)の例では、31,32は大域的に上昇している部分列であるため、上昇レグである。
これに対して、部分列33は、開始時点の観測値33aより終了時点の観測値33bが大きいが、開始時点と終了時点との間の観測値33cが、開始時点の観測値33aより小さいため、上昇レグではない。
以下、レグを形式的に定義する。
[単調レグ]
例えば、部分列であるX[p:q]が、下記の条件式(1)(2)のうち、いずれかの条件式を満足する場合、部分列X[p:q]を単調レグと称する。
条件式(1)
p+1≦i≦q−1を満たす全てのiに対して、
X[i−1]<X[i]<X[i+1]
条件式(2)
p+1≦i≦q−1を満たす全てのiに対して、
X[i−1]>X[i]>X[i+1]
[レグ]
例えば、部分列であるX[p:q]が、下記の条件式(3)(4)のうち、いずれかの条件式を満足する場合、部分列X[p:q]をレグと称する。特に条件式(3)を満足する場合、部分列X[p:q]を上昇レグと称し、条件式(4)を満足する場合、部分列X[p:q]を下降レグと称する。
条件式(3)
p≦i≦qを満たす全てのiに対して、
X[p]≦X[i]≦X[q]
条件式(4)
p≦i≦qを満たす全てのiに対して、
X[p]≧X[i]≧X[q]
即ち、上昇レグは、単調レグのように、部分列X[p:q]の開始時点pから終了時点qに至るまで、観測値X[i]が必ずしも単調に上昇するものではないが、開始時点pと終了時点qの間の全ての観測値X[i]が、開始時点pの観測値X[p]以上の値を有し、かつ、終了時点qの観測値X[q]以下の値を有する部分列である。
また、下降レグは、単調レグのように、部分列X[p:q]の開始時点pから終了時点qに至るまで、観測値X[i]が必ずしも単調に下降するものではないが、開始時点pと終了時点qの間の全ての観測値X[i]が、開始時点pの観測値X[p]以下の値を有し、かつ、終了時点qの観測値X[q]以上の値を有する部分列である。
[極大レグ]
例えば、部分列であるX[p:q]が上昇レグであり、かつ、下記の条件式(5)〜(8)を満足する場合、部分列X[p:q]は極大上昇レグと称する。
条件式(5)
p<i≦qを満たす全てのiに対して、
X[p]<X[i]
条件式(6)
p≦i<qを満たす全てのiに対して、
X[i]<X[q]
条件式(7)
X[p−1]≧X[p]
条件式(8)
X[q]≧X[q+1]
ただし、X[p−1]又はX[q+1]が存在しない場合、条件式(7)又は条件式(8)は条件に含めない。
例えば、部分列であるX[p:q]が下降レグであり、かつ、下記の条件式(9)〜(12)を満足する場合、部分列X[p:q]は極大下降レグと称する。
条件式(9)
p<i≦qを満たす全てのiに対して、
X[p]>X[i]
条件式(10)
p≦i<qを満たす全てのiに対して、
X[i]>X[q]
条件式(11)
X[p−1]≦X[p]
条件式(12)
X[q]≦X[q+1]
ただし、X[p−1]又はX[q+1]が存在しない場合、条件式(11)又は条件式(12)は条件に含めない。
部分列X[p:q]がレグである場合、そのレグの振幅amp(X[p:q])は、下記の式(13)に示すように表される。
amp(X[p:q])=abs(X[q]−X[p])(13)
式(13)において、abs(A)はAの絶対値を返す関数である。
また、レグの符号sign(X[p:q])は、下記の式(14)に示すように表され、符号が正であれば上昇レグであり、符号が負であれば下降レグである。
sign(X[p:q])=sign(X[q]−X[p]) (14)
式(14)において、sign(A)はAの符号を返す関数である。
図6(b)において、34は上昇レグ31の振幅であり、35は上昇レグ32の振幅である。
図7はレグ振動列と振動数を示す説明図である。
図7(a)は上昇レグの次に下降レグが出現するレグ振動列の例を示しており、この場合の振動数は2である。
図7(b)は下降レグの次に上昇レグが出現するレグ振動列の例を示しており、この場合の振動数は−2である。
図7(c)は上昇レグ、下降レグ、上昇レグ、下降レグ、上昇レグ、下降レグ、上昇レグの順番でレグが出現しているレグ振動列の例を示しており、この場合の振動数は7である。
以下、レグ振動列と振動数とを定義する。
[レグ振動列]
例えば、X,X,・・・,Xが極大レグであるとき、下記の条件式(15)〜(17)を満足する場合、レグの系列s=[X,X,・・・,X]は、振幅aのレグ振動列と称する。また、レグ振動列を構成するレグの数をlength(s)のように表記する。aは正の実数である。
条件式(15)
1≦i≦n−1を満たす全てのiに対して、
end(X)≦start(Xi+1
条件式(16)
amp(X)≧a
条件式(17)
amp(X)・amp(Xi+1)<0
即ち、レグ振動列は、符号が+の振幅である部分列と符号が−の振幅である部分列とが交互に並んでおり、かつ、それらの部分列の振幅の絶対値がa以上である。
ここで、レグ振動列の符号sign、開始時点start、終了時点end、末尾レグlastを、レグ振動列の先頭のレグXと、レグ振動列の末尾のレグXとを用いて、以下の式(18)〜(21)のように定義する。
sign(s)=sign(X) (18)
start(s)=start(X) (19)
end(s)=end(X) (20)
last(s)=X (21)
[レグ振動列集合]
例えば、時系列データがX、振幅がa以上、ウインドウサイズがw、時点がtであるとき、下記の条件式(22)(23)を満足する振幅a以上のレグ振動列sの集合をレグ振動列集合S(X,a,w,t)と称する。
条件式(22)
t≦start(s)
条件式(23)
end(s)≦t+w−1
レグ振動数を定義する準備として、最大の長さをもつレグ振動列の符号に関する下記の補題を証明する。
[補題:最長レグ振動列の符号の同一性]
レグ振動列集合S(X,a,w,t)において、最大の長さをもつレグ振動列は、互いに同符号である。
[証明]
レグ振動列s=[Xs1,Xs2,・・・,Xsn]、レグ振動列u=[Xu1,Xu2,・・・,Xun]は、最大の長さをもつレグ振動列であり、かつ、レグ振動列sとレグ振動列uは、符号が異なるレグ振動列と仮定する。
以下、この仮定が矛盾することを証明する。ここでは、便宜上、レグ振動列sの符号を正、レグ振動列uの符号を負として説明するが、このように符号を決めても一般性は失われない。
最初に、レグ振動列sの先頭レグXs1の時区間[start(Xs1),end(Xs1)]と、レグ振動列uの先頭レグXu1との時区間[start(Xu1),end(Xu1)]とは交わらないことを示す。
もし、start(Xs1)<start(Xu1)<end(Xs1)<end(Xu1)であるとすると、
レグ振動列sは符号が正であり、レグ振動列sは極大上昇レグであるから、X[start(Xu1)]<X[end(Xs1)]を満たし、
レグ振動列uは符号が負であり、レグ振動列uは極大下降レグであるから、X[start(Xu1)]>X[end(Xs1)]を満たすので、矛盾する。
start(Xu1)<start(Xs1)<end(Xu1)<end(Xs1)の場合も同様に矛盾する。
したがって、end(Xs1)≦start(Xu1)、または、end(Xu1)≦start(Xs1)でなければならない。
もし、end(Xs1)≦start(Xu1)であれば、[Xs1,Xu1,・・・,Xun]は、長さn+1のレグ振動列になり、レグ振動列sとレグ振動列uが最大の長さをもつことに矛盾する。
また、end(Xu1)≦start(Xs1)であれば、[Xu1,Xs1,・・・,Xsn]は、長さn+1のレグ振動列になり、レグ振動列sとレグ振動列uが最大の長さをもつことに矛盾する。
このため、先頭レグXs1と先頭レグXu1の符号は同じでなければならい。レグ振動列の符号signの定義より、レグ振動列sとレグ振動列uは同符号になる。
[レグ振動数]
例えば、レグ振動列集合がS(X,a,w,t)であるとき、レグ振動数FX,a,w(t)を下記の式(24)のように定義する。
X,a,w(t)=sign(lmax)×length(lmax) (24)
max=argmaxl∈S(X,a,w,t)length(l)
ただし、argmaxは、length(l)が最大となるような定義域の元の集合を示す記号である。即ち、lmaxは、レグ振動列集合S(X,a,w,t)の中で、最大の長さをもつレグ振動列を示している。
上記の補題では、最大の長さをもつレグ振動数が複数ある場合でも、sign(lmax)は一意に決まることを示しているので、レグ振動数を矛盾なく定義できている。
以下、レグ振動数の直観的な意味を説明する。
レグ振動数は、時点tから始まるウインドウサイズwの部分列における上下振動の振る舞いを定量化しているものである。即ち、レグ振動数の絶対値が大きくなるほど、高頻度で振動していることを意味しており、また、振幅aが大きくなるほど、大きな振幅で振動していることを意味している。
また、レグ振動数の符号が正の場合は、振動が上昇から始まることを示しており、レグ振動数の符号が負の場合は、振動が下降から始まることを示している。
例えば、レグ振動数が1の場合、上記の非特許文献1に開示されている上昇レグに対応し、レグ振動数が−1の場合、上記の非特許文献1に開示されている下降レグに対応している。
また、レグ振動数が2の場合、先頭レグが振幅a以上で上昇するレグであって、先頭レグに続くレグが、振幅a以上で下降するレグがあるため、時点tから始まるウインドウサイズwの部分列に凸型のピーク形状があることを意味する。
レグ振動数が−2の場合、先頭レグが振幅a以上で下降するレグであって、先頭レグに続くレグが、振幅a以上で上昇するレグがあるため、時点tから始まるウインドウサイズwの部分列に凹型の上下振動があることを意味する。設備の異常を検知するルールとして、ある一定以上の振幅のピークを検出する条件、具体的には、凸型のピーク形状や凹型の上下振動が存在する条件を用いることが多いので、レグ振動数が2や−2の部分列を検出することは、設備の異常を検知する上で有用である。
また、レグ振動数が4の場合は、振幅がa以上の上昇レグ、下降レグ、上昇レグ、下降レグが順番に出現するパターンを意味する。設備の異常を検知するルールとして、レグ振動数の絶対値が4以上である条件を用いることがよくあり、レグ振動数が4の部分列を検出することも、設備の異常を検知する上で有用である。
図8は時系列データ収集部1により収集される時系列データと、データベース5に記憶されるレグ振動データ(レグ振動列の開始時点の観測時刻、レグの振幅、振動数、ウインドウサイズ)との一例を示す説明図である。
図8(a)の時系列データは、下記の非特許文献2に開示されているスペースシャトルのマロッタバルブのデータである。
[非特許文献2]
Keogh, E., Zhu, Q., Hu, B., Hao. Y., Xi, X., Wei, L. & Ratanamahatana, C. A. (2011). The UCR Time Series Classification/Clustering Homepage:
図8(a)の時系列データのサンプリング周期は1ミリ秒、単位はアンペアである。
この時系列データの中には、振幅が4程度で、時点数が400程度の凸形状の大きなパターン(図中、点線枠で示す(A)の部分)が存在する。
また、振幅が1.5から2程度で、時点数が30から50程度の上昇下降パターン(図中、点線枠で示す(B)の部分)が存在し、凸形状の大きなパターンの後ろにある振幅が1程度で、時点数が50程度の凸形状のパターン(図中、点線枠で示す(C)の部分)が存在する。
例えば、制御システムにおけるセンサ値である観測値の異常検知では、通常存在する(A)〜(C)のようなパターンを抽出し、それらのパターン同士で形状を比較することが重要になる。そのため、レグの振幅、振動数、ウインドウサイズを検索条件とする時系列データの検索は応用上重要である。
図8(b)はデータベース5に記憶されるレグ振動データの一例を示しており、そのレグ振動データがテーブル化されている。即ち、レグ振動データがテーブルLVに登録されている。
レグ振動データは、レグ振動列の開始時点の観測時刻(開始時刻)、レグの振幅、振動数、ウインドウサイズから構成されている。
例えば、テーブルLVの1行目は、「時刻101から始まる長さ217のウインドウには、振幅4.25以上の上昇レグが存在している」ことを意味している。
同様に、テーブルLVの2行目は、「時刻101から始まる長さ153のウインドウには、振幅2.25以上の上昇レグと下降レグと上昇レグからなるレグ系列が存在している」ことを意味している。
また、テーブルLVの8行目は、「時刻227から始まる長さ27のウインドウには、振幅2.25以上の下降レグと上昇レグからなるレグ系列が存在している」ことを意味している。
図9はレグ振動データ検索部9によるレグ振動データの検索式と検索結果の一例を示す説明図である。
図9(a)はレグ振動データ検索部9によるレグ振動データの検索式の一例を示している。
検索式の構文と意味は、既存技術である関係データベースの検索言語SQLに従うものとするが、図9(a)では、レグ振動列の振動数が2(凸形状のパターン)であることを検索条件として、データベース5に登録されている複数のレグ振動データの中から、その検索条件に合致するレグ振動データを検索する例を示している。
図9(b)に示す検索結果では、レグ振動列の振動数が2であるレグ振動データの振幅とウインドウサイズを提示しているほか、総出現数count()を提示している。
この総出現数count()は、振幅、振動数及びウインドウサイズが同じレグ振動データの個数を意味するものである。この総出現数count()の計算は、後述するレグ振動データ検索部9で行われる。
例えば、図9(b)に示す検索結果の1行目は、振幅が4以上、ウインドウサイズが267の凸形状のパターンが1つあることを意味している。
また、2行目は、振幅が3.75以上、ウインドウサイズが299の凸形状のパターンが2つあることを意味している。
図10は視覚化部10によるレグ振動データ検索部9の検索結果の視覚化例を示す説明図である。
図10において、手前から左奥の軸(第1の軸)はレグの振幅を示し、手間から右奥の軸(第2の軸)はレグ振動データのウインドウサイズを示し、第1の軸と第2の軸の双方に直交している軸(第3の軸)はレグ振動データの総出現数count()を示している。
第1〜第3の軸を有する3次元グラフ上に、レグ振動データ検索部9により検索されたレグ振動データの振幅、ウインドウサイズ及び総出現数が表示される。
図10における(A)(B)(C)は、図8(a)に示されている(A)(B)(C)の部分に対応している。
振幅とウインドウサイズの二つの軸で、凸形状のパターンの頻度を見ることにより、時系列の凸形状パターンの分布の様子を一覧することができるようになる。
次に動作について説明する。
以下、図4のフローチャートを適宜参照しながら説明する。
時系列データ収集部1は、制御システムや情報システムなどで観測された各時刻の観測値X[i](1≦i≦m)が並べられている時系列データXを収集する(図4のステップST1)。即ち、時系列データ収集部1は、例えば、図5(a)や図8(a)に示すような時系列データXを収集する。
時系列データ収集部1により収集された時系列データXは、例えば、RAMやハードディスクなどからなる主記憶装置23又は外部記憶装置24に記憶される。
レグ抽出部2は、主記憶装置23又は外部記憶装置24に記憶されている時系列データXの中から、上記の条件式(3)を満足する部分列X[p:q]を上昇レグとして抽出し、また、時系列データXの中から、上記の条件式(4)を満足する部分列X[p:q]を下降レグとして抽出する(図4のステップST2)。
例えば、レグ抽出部2は、主記憶装置23又は外部記憶装置24に記憶されている時系列データXに対して、上昇レグ及び下降レグを抽出する範囲(時点の範囲)を初期設定し、その抽出する範囲をずらしながら、時系列データXから上昇レグ及び下降レグを抽出する。図8(a)に示すような時系列データXが収集される場合、例えば、時点0〜100程度の小さな抽出範囲が初期設定される。ただし、初期設定される抽出範囲は任意である。
このように、抽出する範囲をずらしながら、時系列データXから上昇レグ及び下降レグを抽出する場合、上昇レグや下降レグの開始時点や終了時点を容易に探索できるため、時系列データXの全体を抽出する範囲として、上昇レグ及び下降レグを抽出する場合よりも、上昇レグ及び下降レグの抽出処理を迅速に行うことができる。
ここでは、レグ抽出部2が、上昇レグ及び下降レグを抽出する範囲をずらしながら、時系列データXの中から、上昇レグ及び下降レグを抽出する例を示しているが、時系列データXの中から、上昇レグ及び下降レグを抽出するレグ検索技術は、上記の非特許文献1に開示されており、非特許文献1に開示されているレグ検索技術を用いて、時系列データXの中から、上昇レグ及び下降レグを抽出するようにしてもよい。
レグ振動列特定部3は、レグ抽出部2が時系列データXの中から上昇レグと下降レグを抽出すると、時系列データXの中で、レグ抽出部2により抽出された上昇レグと下降レグが交互に出現するレグの系列であるレグ振動列sを特定する(図4のステップST3)。
即ち、レグ振動列特定部3は、上記の条件式(15)〜(17)を満足するレグ振動列sを特定するが、例えば、振幅a以上、ウインドウサイズw、時点tが指定されると、上記の条件式(22)(23)を満足するレグ振動列集合S(X,a,w,t)の中で、最大の長さをもつ部分列をレグ振動列sとして抽出する。
ここで、図11はレグ振動列sを抽出するアルゴリズム(GetLongestLegSeq)のサンプルコードを示す説明図である。
以下、レグ振動列集合S(X,a,w,t)の中からレグ振動列sを抽出する動作を簡単に説明する。
レグ振動列特定部3は、図11(a)のサンプルコードの1行目から5行目において、時系列データXの時点t毎に、レグ振動列smaxを求め、そのレグ振動列smaxのレグ振動数FX,a,w(t)を求める。
即ち、レグ振動列特定部3は、図11(a)のサンプルコードの2行目において、長さ0のレグ振動列[]を引数として、図11(b)に示す“GetLegSeq_leftMost”の呼び出しを行うことで、開始時点tから終了時点t+w−1までのウインドウ内での最左レグ振動列smaxを求める。最左レグ振動列の定義は後述する。
レグ振動列特定部3は、最左レグ振動列smaxを求めると、図11(a)のサンプルコードの3行目において、その最左レグ振動列smaxの符号sign(smax)と長さlength(smax)から、レグ振動数FX,a,w(t)を求める。
次に、図11(b)に示す“GetLegSeq_leftMost”での動作を説明する。
レグ振動列特定部3は、サンプルコードの1行目において、引数であるレグ振動列sの後ろに最左レグ(最左レグは後述する)が存在するか否かを示すフラグ“exit_leg”に対して“false”を代入する。
次に、レグ振動列特定部3は、サンプルコードの2行目において、次の時点を示す“tnext”に対して、t+1からtendの時点を順番に代入し、サンプルコードの3行目において、変数lnextで示される後ろのレグ候補に対して部分列 X[t:tnext]を代入する。
レグ振動列特定部3は、サンプルコードの4行目〜6行目において、レグ候補lnextの振幅amp(lnext)がa以上であり、かつ、レグ振動列sが空列であるならば、フラグ“exit_leg”に対して“true”を代入する。
また、レグ振動列特定部3は、サンプルコードの4行目、7行目〜8行目において、レグ候補lnextの振幅amp(lnext)がa以上であり、かつ、「レグ振動列sの末尾レグlast(s)の符号sign(last(s))」と「レグ候補lnextの符号sign(lnext)」の積が負ならば、レグ候補lnextが最左レグになるので、フラグ“exit_leg”に対して“true”を代入する。
レグ振動列特定部3は、サンプルコードの11行目〜13行目において、フラグ“exit_leg”が“true”であれば、図11(b)に示す“GetLegSeq_leftMost”のfor文を抜ける。
レグ振動列特定部3は、for文を抜けた後、サンプルコードの15行目〜18行目において、フラグ“exit_leg”が“true”の場合、レグ振動列sの末尾にレグ候補lnextを追加し、レグ候補lnextを追加したレグ振動列をsnextに代入して、GetLegSeq_leftMost(snext ,tnext ,tend, X)を再帰的に呼び出し、その返り値をレグ振動列sに代入する。
最後に、レグ振動列特定部3は、サンプルコードの19行目において、レグ振動列sをsmaxとして、図11(a)に示す“GetLongestLegSeq”に返す。
図11のアルゴリズムでは、終了時点が最も左にあるレグ(最左レグ)、即ち、終了時点が最も早いレグを、符号の異なる順に選ぶことにより得られるレグ振動列(最左レグ振動列)を求めている。レグ振動数を求めるには、レグ振動列の長さが最大である必要があるが、以下に示すように、最左レグ振動列は、レグ振動列の中で長さが最大であることを証明することができる。
[最左レグ振動列]
時系列データがX、振幅がa(正の実数値)以上、ウインドウサイズがw、時点がtであるとき、部分列X[t,t+w−1]内にある振幅a以上のレグの集合をLとする。
まず、レグ集合Lの中で、終了時点が最も早いレグをmとする。続いて、振幅の符号がレグmと異なり、レグmより後ろにあるレグの中で、終了時点が最も早いレグをmi+1とする。即ち、下記の式(25)に示すように、再帰的にレグmi+1を選択する。
i+1=argmaxl∈Liend(l) (25)
ただし、L=def{l∈L |
start(l)≧end(m) and
sign(l)×sign(m)<0}
この操作を順に適用することで得られたレグの系列[m,m,・・・,m]を部分列X[t,t+w−1]における最左レグ振動列と称する。
[定理:最左レグ振動列の最長性]
レグ振動列集合がS(X,a,w,t)であるとき、部分列X[t,t+w−1]における最左レグ振動列は、S(X,a,w,t)において、最大の長さをもつレグ振動列である。
[証明]
最左レグ振動列がs=[Xs1,Xs2,・・・,Xsn]で、最左レグ振動列sの長さがnであるとする。
また、最大の長さをもつ任意のレグ振動列がu=[Xu1,Xu2,・・・,Xum]で、レグ振動列uの長さがmであるとする。
このとき、n<mと仮定すると、矛盾することを示す。
まず、レグXs1とレグXu1は、同符号でなければならないことを示す。なぜなら、レグXs1とレグXu1が異符号とすると、sが最左レグ振動列であることと、上記の補題と同様の論法を用いれば、[Xs1,Xu1,Xu2,・・・,Xum]は長さm+1のレグ振動列となるので、レグ振動列uが最大の長さをもつことに反するからである。
レグXs1とレグXu1は、同符号であり、かつ、sが最左レグ振動列であることから、end(Xs1)≦end(Xu1)≦start(Xu2)が成立する。したがって、[Xs1,Xu2,・・・,Xum]は、長さmのレグ振動列になる。
同様に、sが最左レグ振動列であり、end(Xs2)≦end(Xu2)≦start(Xu3)であるから、[Xs1,Xs2,Xu3,・・・,Xum]は、長さmのレグ振動列になる。
もし、n<mと仮定すると、上記の操作をn回繰り返すことができるので、[Xs1,・・・,Xsn,Xun+1,・・・,Xum]は、レグ振動列になる。しかし、部分列X[end(sn):end(um)]において、レグXun+1と同符号の最左レグが存在するはずなので、sが最左レグ振動列であることに矛盾する。よって、定理は証明されている。
レグ振動列特定部3は、レグ振動列sを特定すると、そのレグ振動列sを構成しているレグの数である振動数及びレグ振動列の開始時点と終了時点の範囲であるウインドウサイズを計数する(図4のステップST3)。
データベース登録部4は、レグ振動列特定部3により特定されたレグ振動列の開始時点の観測時刻と、そのレグ振動列に含まれているレグの振幅と、レグ振動列特定部3により計数された振動数及びウインドウサイズとの組をレグ振動データとしてデータベース5のテーブルLVに登録する(図4のステップST4)。
これにより、データベース5のテーブルLVには、図8(b)に示すように、レグ振動列の開始時点の観測時刻、レグの振幅、振動数及びウインドウサイズの組からなるレグ振動データが格納される。
レグ振動データ抽出部6は、データベース登録部4がレグ振動データをデータベース5のテーブルLVに登録すると、データベース5のテーブルLVの中には冗長的なレグ振動データが含まれているので、データベース5のテーブルLVに登録されているレグ振動データの中から、必要なレグ振動データを抽出する処理を実施する。
即ち、レグ振動データ抽出部6の振幅極小レグ抽出部7は、データベース5のテーブルLVに登録されているレグ振動データの中で、振動数が同じレグ振動データを振幅でグループ分けし、グループ毎に、当該グループに属するレグ振動データのウインドウサイズを比較する。
そして、振幅極小レグ抽出部7は、グループ毎に、当該グループに属するレグ振動データ(振幅が同一である1つ以上のレグ振動データ)の中から、ウインドウサイズが最小のレグ振動データを抽出し、その抽出したレグ振動データをデータベース5のテーブルMLVに登録する(図4のステップST5)。
以下、振幅に関してウインドウサイズが最小のレグ振動データを定義する。即ち、振幅に関して極小なレグ振動列sに関するレグ振動データを定義する。
[振幅に関してウインドウサイズが最小のレグ振動データ]
振幅に関してウインドウサイズが最小のレグ振動データを定義する前に、時系列データがX、レグ振動数がf、ウインドウサイズがw、時点がt、レグ振動列集合がS(X,a,w,t)であるときのレグ振幅AX,f,w(t)を、下記の式(26)のように定義する。
X,f,w(t)=maxs∈(X,a,w,t)amp(s) (26)
例えば、レグ振動数がfである場合、下記の式(27)(28)を満たすレグ振動列sを振幅に関して極小なレグ振動列であるとする。
X,f,w(t)>AX,f,w−1(t−1) (27)
X,f,w(t)>AX,f,w−1(t) (28)
ただし、t=start(s)、w=end(s)−start(s)+1である。
したがって、式(27)(28)を満たすレグ振動列sに関するレグ振動データが、振幅に関してウインドウサイズが最小のレグ振動データである。
図12は振幅に関してウインドウサイズが最小のレグ振動データを求めるアルゴリズム(GetMLV)のサンプルコードを示す説明図である。
以下、振幅に関してウインドウサイズが最小のレグ振動データを求める動作を簡単に説明する。
振幅極小レグ抽出部7は、サンプルコードの1行目において、データベース5のテーブルMLVに格納されているレグ振動データを示す変数であるMLVに対して空集合{}を代入する。
次に、振幅極小レグ抽出部7は、サンプルコードの2行目において、ウインドウサイズのリストWから、ウインドウサイズwを順番に1つずつ取り出しを行う。
次に、振幅極小レグ抽出部7は、サンプルコードの3行目において、時点tに対して、1からwまでの値を順番に代入する。
次に、振幅極小レグ抽出部7は、サンプルコードの4行目から5行目において、図11(a)に示す“GetLongestLegSeq”を呼び出すことで、振幅a以上、ウインドウサイズwでのレグ振動列sを求める。
振幅極小レグ抽出部7は、サンプルコードの6行目から7行目において、レグ振動列sが極小なレグ振動列であれば、極小なレグ振動列に関するレグ振動データである(t,a,FX,a,w(t),w)をMLVに追加する。
レグ振動データ抽出部6の振動数極小レグ抽出部8は、データベース5のテーブルLVに登録されているレグ振動データの中で、振幅が同じレグ振動データを振動数でグループ分けし、グループ毎に、当該グループに属するレグ振動データのウインドウサイズを比較する。
そして、振動数極小レグ抽出部8は、グループ毎に、当該グループに属するレグ振動データ(振動数が同一である1つ以上のレグ振動データ)の中から、ウインドウサイズが最小のレグ振動データを抽出し、その抽出したレグ振動データをデータベース5のテーブルMLVに登録する(図4のステップST6)。
以下、振動数に関してウインドウサイズが最小のレグ振動データを定義する。即ち、振動数に関して極小なレグ振動列sに関するレグ振動データを定義する。
[振動数に関してウインドウサイズが最小のレグ振動データ]
例えば、振幅がa以上である場合、下記の式(29)(30)を満たすレグ振動列sを振動数に関して極小なレグ振動列であるとする。
abs(FX,a,w(t))>abs(FX,a,w−1(t−1)) (29)
abs(FX,a,w(t))>abs(FX,a,w−1(t)) (30)
ただし、t=start(s)、w=end(s)−start(s)+1である。
したがって、式(29)(30)を満たすレグ振動列sに関するレグ振動データが、振動数に関してウインドウサイズが最小のレグ振動データである。
レグ振動データ検索部9は、レグ振動データ抽出部6の振幅極小レグ抽出部7及び振動数極小レグ抽出部8がデータベース5のテーブルLVの中から、必要なレグ振動データを抽出してデータベース5のテーブルMLVに登録すると、データベース5のテーブルMLVに登録されているレグ振動データの中から、検索条件に合致するレグ振動データを検索する(図4のステップST7)。
図8(b)はレグ振動データが登録されているデータベース5のテーブルLVであるが、説明の便宜上、図8(b)が、振幅極小レグ抽出部7及び振動数極小レグ抽出部8により抽出されたレグ振動データが登録されているデータベース5のテーブルMLVであるとすると、例えば、検索条件が“振動数=3”であれば、開始時刻が101、振幅が2.25以上、ウインドウサイズが153であるレグ振動データを検索する。
また、検索条件が“振動数=−2”であれば、開始時刻が227、振幅が2.25以上、ウインドウサイズが27であるレグ振動データを検索する。
ここでは、検索条件が振動数である例を示しているが、検索条件が振動数に限るものではなく、検索条件が開始時刻、振幅又はウインドウサイズであってもよい。
また、検索条件が複数あってもよく、開始時刻、振幅、振動数、ウインドウサイズの全部又は一部のAND条件であってもよい。
なお、検索条件は、レグ振動データ検索部9に事前に設定されているものであってもよいし、外部から与えられるものであってもよい。
レグ振動データ検索部9は、データベース5のテーブルMLVに登録されているレグ振動データの中から、検索条件に合致するレグ振動データを検索すると、検索した1以上のレグ振動データの中で、振幅、振動数及びウインドウサイズが同じレグ振動データの個数である総出現数count()を計数する。
図9(b)はレグ振動データ検索部9の検索結果の一例を示している。
図9(b)では、例えば、振幅が4以上、ウインドウサイズが267であるレグ振動データが1個検索され、振幅が3.75以上、ウインドウサイズが299であるレグ振動データが2個検索されていることを示している。
ここでは、レグ振動データ検索部9が、データベース5のテーブルMLVに登録されているレグ振動データの中から、検索条件に合致するレグ振動データを検索する例を示しているが、同じ振動数のレグ振動データや同じ振幅のレグ振動データが少ない状況下では、冗長的なレグ振動データが少ないため、データベース5のテーブルLVに登録されているレグ振動データの中から、検索条件に合致するレグ振動データを検索するようにしてもよい。この場合、レグ振動データ抽出部6が不要になるため、時系列データ処理装置の構成を簡略化することができる。
視覚化部10は、例えば、図10に示すように、第1の軸が振幅、第2の軸がウインドウサイズ、第3の軸が総出現数である3次元グラフ上に、レグ振動データ検索部9により検索されたレグ振動データの振幅、ウインドウサイズ及び総出現数を表示する(図4のステップST8)。
以上で明らかなように、この実施の形態1によれば、時系列データXの中で、レグ抽出部2により抽出された上昇レグと下降レグが交互に出現するレグの系列であるレグ振動列を特定し、そのレグ振動列を構成しているレグの数である振動数及びレグ振動列の開始時点と終了時点の範囲であるウインドウサイズを計数するレグ振動列特定部3と、レグ振動列特定部3により特定されたレグ振動列の開始時点の観測時刻と、当該レグ振動列に含まれているレグの振幅と、レグ振動列特定部3により計数された振動数及びウインドウサイズとの組をレグ振動データとしてデータベース5に登録するデータベース登録部4とを設けるように構成したので、プラントの設備異常等を検出する上で重要な指標となるレグ振動列に関する情報として、レグ振動データを蓄積することができることができる効果を奏する。
これにより、例えば、既存のSQL言語などを用いて、レグ振動データの開始時点、ウインドウサイズ、振幅、振動数を自由に指定した検索が可能になる。
実施の形態2.
上記実施の形態1では、レグ振動データ抽出部6の振幅極小レグ抽出部7及び振動数極小レグ抽出部8が、データベース5のテーブルLVに登録されているレグ振動データの中から、必要なレグ振動データを抽出するものを示したが、レグ振動データ抽出部6が振幅極小レグ抽出部7及び振動数極小レグ抽出部8のほかに、後述する振幅極大レグ抽出部11及び振動数極大レグ抽出部12を含んでおり、振幅極小レグ抽出部7、振動数極小レグ抽出部8、振幅極大レグ抽出部11及び振動数極大レグ抽出部12が、データベース5のテーブルLVに登録されているレグ振動データの中から、必要なレグ振動データを抽出するようにしてもよい。
図13はこの発明の実施の形態2による時系列データ処理装置を示す構成図であり、図において、図1と同一符号は同一または相当部分を示すので説明を省略する。
振幅極大レグ抽出部11は例えば演算装置25で実現されるものであり、データベース5のテーブルLVに登録されているレグ振動データの中で、観測時刻の全部又は一部が共通である1つ以上のレグ振動データを抽出する。即ち、或る大きさの時点の範囲に存在している1つ以上のレグ振動データを抽出する。
振幅極大レグ抽出部11は、抽出した1つ以上のレグ振動データの振幅を比較することで、いずれか1つのレグ振動データを抽出し、その抽出したレグ振動データをデータベース5のテーブルMLVに登録する処理を実施する。
例えば、観測時刻の全部又は一部が共通である1つ以上のレグ振動データの振幅を比較して、1つ以上のレグ振動データの中から、振幅が最も大きいレグ振動データを抽出し、その抽出したレグ振動データをデータベース5のテーブルMLVに登録する。
振動数極大レグ抽出部12は例えば演算装置25で実現されるものであり、データベース5のテーブルLVに登録されているレグ振動データの中で、観測時刻の全部又は一部が共通である1つ以上のレグ振動データを抽出する。即ち、或る大きさの時点の範囲に存在している1つ以上のレグ振動データを抽出する。
振動数極大レグ抽出部12は、抽出した1つ以上のレグ振動データの振動数を比較することで、いずれか1つのレグ振動データを抽出し、その抽出したレグ振動データをデータベース5のテーブルMLVに登録する処理を実施する。
例えば、観測時刻の全部又は一部が共通である1つ以上のレグ振動データの振動数を比較して、1つ以上のレグ振動データの中から、振動数が最も大きいレグ振動データを抽出し、その抽出したレグ振動データをデータベース5のテーブルMLVに登録する。
図13の例では、時系列データ処理装置の構成要素である時系列データ収集部1、レグ抽出部2、レグ振動列特定部3、データベース登録部4、データベース5、レグ振動データ抽出部6、レグ振動データ検索部9及び視覚化部10のそれぞれが専用のハードウェアで構成されているものを想定しているが、時系列データ処理装置がコンピュータで構成されていてもよい。
時系列データ処理装置がコンピュータで構成される場合、データベース5を図3に示すコンピュータのメモリ41上に構成するとともに、時系列データ収集部1、レグ抽出部2、レグ振動列特定部3、データベース登録部4、レグ振動データ抽出部6、レグ振動データ検索部9及び視覚化部10の処理内容を記述しているプログラムをコンピュータのメモリ41に格納し、コンピュータのプロセッサ42がメモリ41に格納されているプログラムを実行するようにすればよい。
図14はこの発明の実施の形態2による時系列データ処理装置の処理内容を示すフローチャートである。
図15はレグ振動データ抽出部6の振幅極大レグ抽出部11による必要なレグ振動データの抽出処理を示す説明図である。
図15(a)は観測時刻の全部又は一部が共通である複数のレグ振動データのうち、即ち、観測時刻が例えば1230〜1520程度の範囲に存在している複数のレグ振動データのうち、データベース5のテーブルMLVに登録する1つのレグ振動データを抽出する処理を示している。
図15(a)の例では、振幅が1の凸片形状パターンのレグ振動データと、振幅が3の凸片形状パターンのレグ振動データとが存在しており、振幅が1の凸片形状パターンより、振幅が3の凸片形状パターンの方が、振幅が大きいので、振幅が3の凸片形状パターンが振幅極大レグであると判断して、振幅が3の凸片形状パターンのレグ振動データをデータベース5のテーブルMLVに登録するレグ振動データとして抽出する。
この場合、振幅極大レグではない振幅が1の凸片形状パターンのレグ振動データは、データベース5のテーブルMLVに登録されない。
図15(b)はレグ振動データ抽出部6による振幅極大レグの抽出結果を示している。
図16はレグ振動データ抽出部6により抽出された振幅極大レグの視覚化例を示す説明図である。
図16の例では、図8(a)における(A)の部分のパターンがクリアに抽出されている。
次に動作について説明する。
振幅極大レグ抽出部11及び振動数極大レグ抽出部12が追加されている点以外は、上記実施の形態1と同様であるため、ここでは、主に振幅極大レグ抽出部11及び振動数極大レグ抽出部12の処理内容を説明する。
レグ振動データ抽出部6の振幅極大レグ抽出部11は、データベース5のテーブルLVに登録されているレグ振動データの中で、観測時刻の全部又は一部が共通である1つ以上のレグ振動データを抽出する。即ち、或る大きさの時点の範囲に存在している1つ以上のレグ振動データを抽出する。
振幅極大レグ抽出部11は、1つ以上のレグ振動データを抽出すると、その抽出した1つ以上のレグ振動データの振幅を比較する。
図15(a)の例では、ウインドウサイズが1230〜1520程度の範囲に、2つのレグ振動データ(振幅が1の凸片形状パターンのレグ振動データ、振幅が3の凸片形状パターンのレグ振動データ)が存在しているので、2つのレグ振動データの振幅を比較する。
振幅極大レグ抽出部11は、観測時刻の全部又は一部が共通である1つ以上のレグ振動データの中から、振幅が最も大きいレグ振動データを抽出し、その抽出したレグ振動データをデータベース5のテーブルMLVに登録する(図14のステップST11)。
図15(a)の例では、振幅が3の凸片形状パターンが振幅極大レグであると判断して、データベース5のテーブルLVから、振幅が3の凸片形状パターンのレグ振動データが抽出される。
レグ振動データ抽出部6の振動数極大レグ抽出部12は、データベース5のテーブルLVに登録されているレグ振動データの中で、観測時刻の全部又は一部が共通である1つ以上のレグ振動データを抽出する。即ち、或る大きさの時点の範囲に存在している1つ以上のレグ振動データを抽出する。
振動数極大レグ抽出部12は、1つ以上のレグ振動データを抽出すると、その抽出した1つ以上のレグ振動データの振動数を比較する。
振動数極大レグ抽出部12は、観測時刻の全部又は一部が共通である1つ以上のレグ振動データの中から、振動数が最も大きいレグ振動データを抽出し、その抽出したレグ振動データをデータベース5のテーブルMLVに登録する(図14のステップST12)。
レグ振動データ検索部9は、レグ振動データ抽出部6の振幅極小レグ抽出部7、振動数極小レグ抽出部8、振幅極大レグ抽出部11及び振動数極大レグ抽出部12がデータベース5のテーブルLVに登録されているレグ振動データの中から、必要なレグ振動データを抽出してテーブルMLVに登録すると、データベース5のテーブルMLVに登録されているレグ振動データの中から、検索条件に合致するレグ振動データを検索する(図14のステップST7)。
視覚化部10は、例えば、図16に示すように、第1の軸が振幅、第2の軸がウインドウサイズ、第3の軸が総出現数である3次元グラフ上に、レグ振動データ検索部9により検索されたレグ振動データの振幅、ウインドウサイズ及び総出現数を表示する(図14のステップST8)。
以上で明らかなように、この実施の形態2によれば、データベース5のテーブルLVに登録されているレグ振動データのうち、観測時刻の全部又は一部が共通である1つ以上のレグ振動データの振幅を比較することで、観測時刻の全部又は一部が共通である1つ以上のレグ振動データの中から、いずれか1つのレグ振動データを抽出してデータをデータベース5のテーブルMLVに登録する振幅極大レグ抽出部11を備えるように構成したので、プラントの設備異常等を検出する上で重要な指標を3次元グラフ上で分かり易く表示することができる効果を奏する。
また、データベース5のテーブルLVに登録されているレグ振動データのうち、観測時刻の全部又は一部が共通である1つ以上のレグ振動データの振動数を比較することで、観測時刻の全部又は一部が共通である1つ以上のレグ振動データの中から、いずれか1つのレグ振動データを抽出してデータをデータベース5のテーブルMLVに登録する振動数極大レグ抽出部12を備えるように構成したので、プラントの設備異常等を検出する上で重要な指標を3次元グラフ上で分かり易く表示することができる効果を奏する。
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
この発明に係る時系列データ処理装置は、各時刻の観測値が並べられている時系列データから、プラントの設備の異常や、会社経営の異常などを検出するための指標を抽出する必要性があるものに適している。
1 時系列データ収集部、2 レグ抽出部、3 レグ振動列特定部、4 データベース登録部、5 データベース、6 レグ振動データ抽出部、7 振幅極小レグ抽出部、8 振動数極小レグ抽出部、9 レグ振動データ検索部、10 視覚化部、11 振幅極大レグ抽出部、12 振動数極大レグ抽出部、21 通信装置、22 入出力装置、23 主記憶装置、24 外部記憶装置、25 演算装置、26 表示装置、31,32 上昇レグ、33 部分列、33a 開始時点の観測値、33b 終了時点の観測値、33c 開始時点と終了時点との間の観測値、34 上昇レグ31の振幅、35 上昇レグ32の振幅、41 メモリ、42 プロセッサ。

Claims (8)

  1. 各時刻の観測値が並べられている時系列データの中から、時刻の経過に伴って上昇傾向を示す観測値が並んでいる部分時系列である上昇レグと、時刻の経過に伴って下降傾向を示す観測値が並んでいる部分時系列である下降レグとを抽出するレグ抽出部と、
    前記時系列データの中で、前記レグ抽出部により抽出された上昇レグと下降レグが交互に出現するレグの系列であるレグ振動列を特定し、前記レグ振動列を構成しているレグの数である振動数及び前記レグ振動列の開始時点と終了時点の範囲であるウインドウサイズを計数するレグ振動列特定部と、
    前記レグ振動列特定部により特定されたレグ振動列の開始時点の観測時刻と、当該レグ振動列に含まれているレグの振幅と、前記レグ振動列特定部により計数された振動数及びウインドウサイズとの組をレグ振動データとしてデータベースに登録するデータベース登録部と、
    前記データベースに登録されているレグ振動データの中から、検索条件に合致するレグ振動データを検索するレグ振動データ検索部と
    を備えた時系列データ処理装置。
  2. 前記レグ抽出部は、前記時系列データに対して、前記上昇レグ及び前記下降レグを抽出する範囲を初期設定し、前記抽出する範囲をずらしながら、前記時系列データから前記上昇レグ及び前記下降レグを抽出することを特徴とする請求項1記載の時系列データ処理装置。
  3. 前記レグ振動データ検索部は、前記検索条件に合致するレグ振動データの中で、振幅、振動数及びウインドウサイズが同じレグ振動データの個数である総出現数を計数することを特徴とする請求項1記載の時系列データ処理装置。
  4. 第1の軸が振幅、第2の軸がウインドウサイズ、第3の軸が総出現数である3次元グラフ上に、前記レグ振動データ検索部により検索されたレグ振動データにおける振幅、ウインドウサイズ及び総出現数を表示する視覚化部を備えたことを特徴とする請求項3記載の時系列データ処理装置。
  5. 前記データベースに登録されているレグ振動データの中で、振動数が同じレグ振動データを振幅でグループ分けし、グループ毎に、当該グループに属するレグ振動データのウインドウサイズを比較することで、当該グループに属するレグ振動データの中から、いずれか1つのレグ振動データを抽出するレグ振動データ抽出部を備え、
    前記レグ振動データ検索部は、前記レグ振動データ抽出部により抽出されたレグ振動データの中から、検索条件に合致するレグ振動データを検索することを特徴とする請求項1記載の時系列データ処理装置。
  6. 前記データベースに登録されているレグ振動データの中で、振幅が同じレグ振動データを振動数でグループ分けし、グループ毎に、当該グループに属するレグ振動データのウインドウサイズを比較することで、当該グループに属するレグ振動データの中から、いずれか1つのレグ振動データを抽出するレグ振動データ抽出部を備え、
    前記レグ振動データ検索部は、前記レグ振動データ抽出部により抽出されたレグ振動データの中から、検索条件に合致するレグ振動データを検索することを特徴とする請求項1記載の時系列データ処理装置。
  7. 前記データベースに登録されているレグ振動データのうち、観測時刻の全部又は一部が共通である1つ以上のレグ振動データの振幅を比較することで、前記観測時刻の全部又は一部が共通である1つ以上のレグ振動データの中から、いずれか1つのレグ振動データを抽出するレグ振動データ抽出部を備え、
    前記レグ振動データ検索部は、前記レグ振動データ抽出部により抽出されたレグ振動データの中から、検索条件に合致するレグ振動データを検索することを特徴とする請求項1記載の時系列データ処理装置。
  8. 前記データベースに登録されているレグ振動データのうち、観測時刻の全部又は一部が共通である1つ以上のレグ振動データの振動数を比較することで、前記観測時刻の全部又は一部が共通である1つ以上のレグ振動データの中から、いずれか1つのレグ振動データを抽出するレグ振動データ抽出部を備え、
    前記レグ振動データ検索部は、前記レグ振動データ抽出部により抽出されたレグ振動データの中から、検索条件に合致するレグ振動データを検索することを特徴とする請求項1記載の時系列データ処理装置。
JP2017530518A 2015-07-28 2015-07-28 時系列データ処理装置 Active JP6355849B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/071368 WO2017017785A1 (ja) 2015-07-28 2015-07-28 時系列データ処理装置

Publications (2)

Publication Number Publication Date
JPWO2017017785A1 JPWO2017017785A1 (ja) 2017-10-05
JP6355849B2 true JP6355849B2 (ja) 2018-07-11

Family

ID=57884300

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017530518A Active JP6355849B2 (ja) 2015-07-28 2015-07-28 時系列データ処理装置

Country Status (7)

Country Link
US (1) US20180046950A1 (ja)
JP (1) JP6355849B2 (ja)
KR (1) KR101823848B1 (ja)
CN (1) CN107851291B (ja)
DE (1) DE112015006488T5 (ja)
TW (1) TWI570581B (ja)
WO (1) WO2017017785A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11093548B1 (en) * 2017-08-29 2021-08-17 Vmware, Inc. Dynamic graph for time series data
CN109885598B (zh) * 2019-01-25 2021-03-02 沈阳无距科技有限公司 故障识别方法、装置、计算机可读存储介质及电子设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07319706A (ja) * 1994-05-24 1995-12-08 Hitachi Ltd ルール合成方法
US20050283337A1 (en) * 2004-06-22 2005-12-22 Mehmet Sayal System and method for correlation of time-series data
US8584073B2 (en) * 2008-07-21 2013-11-12 Synopsys, Inc. Test design optimizer for configurable scan architectures
JP5669553B2 (ja) * 2010-12-14 2015-02-12 三菱電機株式会社 異常検知装置、異常検知方法及び異常検知プログラム
JP6045891B2 (ja) * 2012-11-29 2016-12-14 シナプティクス・ジャパン合同会社 半導体装置及び電子機器
KR20140110216A (ko) * 2013-03-05 2014-09-17 서울대학교병원 진료패턴분석 시스템
CN103487788B (zh) * 2013-09-03 2016-04-27 中国电子科技集团公司第四十一研究所 一种序列脉冲信号快速自动提取方法

Also Published As

Publication number Publication date
TWI570581B (zh) 2017-02-11
DE112015006488T5 (de) 2018-01-04
TW201705023A (zh) 2017-02-01
CN107851291B (zh) 2019-04-19
CN107851291A (zh) 2018-03-27
KR20170104633A (ko) 2017-09-15
US20180046950A1 (en) 2018-02-15
WO2017017785A1 (ja) 2017-02-02
KR101823848B1 (ko) 2018-01-30
JPWO2017017785A1 (ja) 2017-10-05

Similar Documents

Publication Publication Date Title
Lin et al. Reliable early classification on multivariate time series with numerical and categorical attributes
JP6371465B2 (ja) 画像検索装置、及び画像を検索する方法
Lines et al. Alternative quality measures for time series shapelets
Li et al. Extracting statistical graph features for accurate and efficient time series classification
JP5669553B2 (ja) 異常検知装置、異常検知方法及び異常検知プログラム
Tuarob et al. Improving algorithm search using the algorithm co-citation network
JP6355849B2 (ja) 時系列データ処理装置
KR20150059208A (ko) 소셜 웹 미디어의 이벤트 시공간 연관성 분석 장치 및 그 방법
JP2012079187A (ja) 特徴ベクトル生成装置、特徴ベクトル生成方法及びプログラム
Cheng et al. Recognition of control chart patterns using a neural network-based pattern recognizer with features extracted from correlation analysis
US20190163680A1 (en) System analysis device, system analysis method, and program recording medium
CN109791402B (zh) 时间序列数据处理装置
WO2013157603A1 (ja) 検索クエリ分析装置、検索クエリ分析方法、及びコンピュータ読み取り可能な記録媒体
JP3884682B2 (ja) プロセスデータの解析方法及び解析装置
JP6201053B2 (ja) 素性データ管理システム、および素性データ管理方法
Sindhu et al. Multimedia Retrieval Using Web Mining
Tamura et al. Classifying of time series using local sequence alignment and its performance evaluation
JPWO2015173860A1 (ja) 時系列データ処理装置及び時系列データ処理プログラム
Nagpal et al. Feature selection using mutual information for high-dimensional data sets
Martinez et al. Feature selection within time series clustering
WO2008042264A2 (en) Distributed method for integrating data mining and text categorization techniques
Radzuan et al. Analysis of uncertainty in time series data: Issues and challenges
Satybaldiev A new method of piecewise linear approximation of non-stationary time series for similarity measurement
Brandmaier Big Data Dimensionality Reduction Methods
KR101134315B1 (ko) 웹 기반의 물체 인식 장치 및 그 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170424

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180612

R150 Certificate of patent or registration of utility model

Ref document number: 6355849

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250