説明

波形パターン検出装置及びコンピュータプログラム及び波形パターン検出方法

【課題】少ない計算量で波形パターンの検出をできるようにして、実時間での検出を可能にする。
【解決手段】波形パターンを表わす一連の波形数値に基づいて、上昇回数算出部131、下降回数算出部133、変曲回数算出部141などの波形特徴量算出部が、上昇回数、下降回数、変曲回数など、対象波形パターンの特徴を表わす波形特徴量を算出する。算出した波形特徴量と、比較パターンの特徴を表わす比較特徴量とに基づいて、類似度算出部182が、類似度を算出する。算出した類似度に基づいて、類似判定部184が、対象波形パターンが比較パターンに近いか否かを判定する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、一連の数値によって表わされる波形パターンのなかから、比較パターンに近い部分を検出する波形パターン検出装置に関する。
【背景技術】
【0002】
監視対象である波形パターンを、テンプレートとなる比較パターンと比較して、類似性を判定することにより、パターンを検出する波形パターン検出方式がある。
類似性の判定には、例えば、波形パターンと比較パターンとの間の時間領域における差や、周波数領域による差を算出し、算出した差から類似度を計算する方式がある。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2004−110602号公報
【非特許文献】
【0004】
【非特許文献1】露梨真史他著「クラスタリングを用いたホルター心電図波形分類」、『電子情報通信学会技術研究報告.MBE,MEとバイオサイバネティックス』信学技報第103巻第489号、23〜28ページ、社団法人電子情報通信学会、2003年。
【非特許文献2】高橋範亘他著「ダイナミックタイムワーピング距離を用いたセンサストリーム処理システムの設計と実装」、『電子情報通信学会第19回データ工学ワークショップ論文集』ISSN1347−4413、電子情報通信学会、2008年。
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来の方式は、比較パターンを構成する一連の数値の数(パターンサンプル数)が多くなるほど計算量が多くなる。また、比較パターンの種類が多くなるほど計算量が多くなる。このため、波形パターンの検出は、主に、事後的に行われる。これをリアルタイムで行うためには、非常に高性能の計算能力を有する処理装置が必要である。
この発明は、例えば上記のような課題を解決するためになされたものであり、少ない計算量で波形パターンの検出ができるようにして、処理装置の処理速度が遅い場合でも、実時間での検出ができるようにすることを目的とする。
【課題を解決するための手段】
【0006】
この発明にかかる波形パターン検出装置は、
一連の数値によって表わされる波形パターンのなかから、所定数の一連の数値によって表わされる比較パターンに近い部分を検出する波形パターン検出装置において、
データを記憶する記憶装置と、データを処理する処理装置と、波形記憶部と、波形特徴量算出部と、比較特徴量記憶部と、類似度算出部と、類似判定部とを有し、
上記波形記憶部は、上記記憶装置を用いて、上記波形パターンを表わす一連の数値を、一連の波形数値として記憶し、
上記波形特徴量算出部は、上記処理装置を用いて、上記波形記憶部が記憶した一連の波形数値のうち少なくともいずれかの波形数値を対象波形数値とし、上記対象波形数値以前の上記所定数の波形数値を一連の部分波形数値とし、上記一連の部分波形数値の特徴を表わす特徴量を算出して、上記対象波形数値についての波形特徴量とし、
上記比較特徴量記憶部は、上記記憶装置を用いて、上記比較パターンを表わす一連の数値の特徴を表わす特徴量を、比較特徴量として記憶し、
上記類似度算出部は、上記処理装置を用いて、上記波形特徴量算出部が算出した波形特徴量と、上記比較特徴量記憶部が記憶した比較特徴量とに基づいて、上記波形パターンのうち上記一連の部分波形数値によって表わされる部分と、上記比較パターンとの類似度を算出し、
上記類似判定部は、上記処理装置を用いて、上記類似度算出部が算出した類似度に基づいて、上記波形パターンのうち上記一連の部分波形数値によって表わされる部分が、上記比較パターンに近いか否かを判定することを特徴とする。
【発明の効果】
【0007】
この発明にかかる波形パターン検出装置によれば、波形特徴量算出部が算出した波形特徴量と、比較特徴量記憶部が記憶した比較特徴量とに基づいて、波形パターンのうち比較パターンに近い部分を検出するので、計算量を抑えることができ、処理装置の処理速度が遅い場合でも、実時間での検出をすることができる。
【図面の簡単な説明】
【0008】
【図1】実施の形態1における監視システム800の全体構成の一例を示すシステム構成図。
【図2】実施の形態1における波形パターン検出装置100の外観の一例を示す斜視図。
【図3】実施の形態1における波形パターン検出装置100のハードウェア資源の一例を示す図。
【図4】実施の形態1における波形パターン検出装置100の機能ブロックの構成の一例を示すブロック構成図。
【図5】実施の形態1における波形パターン検出装置100が処理するデータの一例を示す図。
【図6】実施の形態1における波形パターン検出装置100が算出する波形特徴量の一例を示す図。
【図7】実施の形態1における波形パターン検出処理S600の全体の処理の流れの一例を示す全体フローチャート図。
【図8】実施の形態1における上昇回数算出工程S631の詳細な処理の流れの一例を示す詳細フローチャート図。
【図9】実施の形態2における波形パターン検出装置100の機能ブロックの構成の一例を示すブロック構成図。
【図10】実施の形態2における波形パターン検出装置100が算出する波形特徴量の一例を示す図。
【図11】実施の形態2における波形パターン検出処理S600の全体の処理の流れの一例を示す全体フローチャート図。
【図12】実施の形態2における連続上昇回数算出工程S641の詳細な処理の流れの一例を示す詳細フローチャート図。
【発明を実施するための形態】
【0009】
実施の形態1.
実施の形態1について、図1〜図8を用いて説明する。
【0010】
図1は、この実施の形態における監視システム800の全体構成の一例を示すシステム構成図である。
監視システム800は、監視対象890の状態を監視するシステムである。監視システム800は、波形観測装置810、波形パターン検出装置100、検出結果通知装置820を有する。
波形観測装置810は、監視対象890の状態を定期的に観測して、観測した結果を表わす数値を出力する。
波形パターン検出装置100は、波形観測装置810が定期的に観測した結果である一連の数値を一つの波形パターンとして捉え、観測した波形パターンのなかから、あらかじめ設定された一以上の所定のパターンのいずれかに近い部分を検出する。
検出結果通知装置820は、波形パターン検出装置100が検出した結果を、監視対象890の管理者に通知する。
【0011】
監視対象890は、例えば、ロボット、工場自動化(FA)機器、ネットワーク、プラント、建物の入口などである。
波形観測装置810は、例えば、温度センサ、圧力センサ、電力計、パケット監視装置などであり、温度、圧力、消費電力、送受信パケット数などを観測する。
検出結果通知装置820は、波形パターン検出装置100の検出結果を単に通知するだけでなく、波形パターン検出装置100が検出したパターンが異常を知らせるパターンである場合に、警告メッセージを表示したり、警告メールを送信したりする。
異常波形が観測された場合すぐに警告を発する必要があるので、波形パターン検出装置100には、実時間での処理が要求される。
【0012】
図2は、この実施の形態における波形パターン検出装置100の外観の一例を示す斜視図である。
波形パターン検出装置100は、システムユニット910、CRT(Cathode・Ray・Tube)やLCD(液晶)の表示画面を有する表示装置901、キーボード902(Key・Board:K/B)、マウス903、FDD904(Flexible・Disk・Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。
システムユニット910は、コンピュータであり、ファクシミリ機932、電話器931とケーブルで接続され、また、ローカルエリアネットワーク942(LAN)、ゲートウェイ941を介してインターネット940に接続されている。
【0013】
図3は、この実施の形態における波形パターン検出装置100のハードウェア資源の一例を示す図である。
波形パターン検出装置100は、プログラムを実行するCPU911(Central・Processing・Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介してROM913、RAM914、通信装置915、表示装置901、キーボード902、マウス903、FDD904、CDD905、プリンタ装置906、スキャナ装置907、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置920の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。通信装置915、キーボード902、スキャナ装置907、FDD904などは、入力部、入力装置の一例である。また、通信装置915、表示装置901、プリンタ装置906などは、出力部、出力装置の一例である。
【0014】
通信装置915は、ファクシミリ機932、電話器931、LAN942等に接続されている。通信装置915は、LAN942に限らず、インターネット940、ISDN等のWAN(ワイドエリアネットワーク)などに接続されていても構わない。インターネット940或いはISDN等のWANに接続されている場合、ゲートウェイ941は不用となる。
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
【0015】
上記プログラム群923には、以下に述べる実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」として説明する情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disk)等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【0016】
また、以下に述べる実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、以下に述べる「〜部」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」の手順や方法をコンピュータに実行させるものである。
【0017】
図4は、この実施の形態における波形パターン検出装置100の機能ブロックの構成の一例を示すブロック構成図である。
波形パターン検出装置100は、波形数値取得部111、波形記憶部112、波形差分算出部113、波形差分記憶部114、差分符号判定部115、差分符号記憶部116、波形変曲判定部121、波形変曲記憶部122、二階差分算出部123、二階符号判定部125、二階符号記憶部126、上昇回数算出部131、上昇回数記憶部132、下降回数算出部133、下降回数記憶部134、変曲回数算出部141、変曲回数記憶部142、凹回数算出部143、凹回数記憶部144、凸回数算出部145、凸回数記憶部146、比較特徴量記憶部181、類似度算出部182、閾値記憶部183、類似判定部184、判定結果通知部185を有する。
【0018】
波形数値取得部111は、CPU911を用いて、波形観測装置810が出力した数値(以下「波形数値」と呼ぶ。)を取得する。波形数値取得部111は、CPU911を用いて、取得した波形数値を出力する。
波形記憶部112は、CPU911を用いて、波形数値取得部111が出力した最新の波形数値を入力する。波形記憶部112は、磁気ディスク装置920を用いて、入力した波形数値を蓄積して記憶する。すなわち、波形記憶部112は、それまで記憶していた古い波形数値の後に、入力した最新の波形数値を追加して記憶する。なお、波形記憶部112は、一つ前の波形数値と最新の波形数値との二つを記憶していればよく、二つ以上前の波形数値を削除する構成であってもよい。
【0019】
波形差分算出部113は、CPU911を用いて、波形数値取得部111が出力した最新の波形数値と、波形記憶部112が記憶した一つ前の波形数値とを入力する。波形差分算出部113は、CPU911を用いて、入力した二つの波形数値の差(以下「波形差分」と呼ぶ。)を算出する。波形差分算出部113は、CPU911を用いて、算出した波形差分を出力する。波形差分算出部113が波形差分を算出するにあたり、いずれの波形数値から他方の波形数値を差し引く構成であってもよいが、ここでの説明では、新しい波形数値から古い波形数値を差し引く構成であるものとする。したがって、波形差分は、波形数値が増加した場合0より大きく、波形数値が減少した場合0より小さい。
波形差分記憶部114は、CPU911を用いて、波形差分算出部113が出力した最新の波形差分を入力する。波形差分記憶部114は、磁気ディスク装置920を用いて、入力した波形差分を蓄積して記憶する。すなわち、波形差分記憶部114は、それまで記憶していた古い波形差分の後に、入力した最新の波形差分を追加して記憶する。なお、波形差分記憶部114は、一つ前の波形差分と最新の波形差分との二つを記憶していればよく、二つ以上前の波形差分を削除する構成であってもよい。
【0020】
差分符号判定部115は、CPU911を用いて、波形差分算出部113が出力した最新の波形差分を入力する。差分符号判定部115は、CPU911を用いて、入力した波形差分の符号が正であるか負であるかを判定する。差分符号判定部115は、CPU911を用いて、判定した符号(以下「差分符号」と呼ぶ。)を出力する。なお、波形差分が0である場合、差分符号判定部115は、差分符号が正であると判定する構成であってもよいし、負であると判定する構成であってもよいし、正でも負でもないと判定する構成であってもよい。
差分符号記憶部116は、CPU911を用いて、差分符号判定部115が出力した最新の差分符号を入力する。差分符号記憶部116は、磁気ディスク装置920を用いて、入力した差分符号を蓄積して記憶する。すなわち、差分符号記憶部116は、それまで記憶していた古い差分符号の後に、入力した最新の差分符号を追加して記憶する。なお、差分符号記憶部116は、パターンサンプル数前の差分符号から最新の差分符号までを記憶していればよく、それより前の差分符号を削除する構成であってもよい。パターンサンプル数とは、波形観測装置810が観測した波形が近いか否かを判定すべきパターン(以下「比較パターン」と呼ぶ。)を構成する一連の数値(以下「比較数値」と呼ぶ。)の数である。例えば、比較パターンが5つの比較数値により構成されている場合であれば、パターンサンプル数は5である。差分符号記憶部116は、少なくとも、五つ前の差分符号から最新の差分符号までの六つの差分符号を記憶する。また、比較パターンが複数あり、パターンサンプル数が異なる場合には、一番大きいパターンサンプル数を基準とする。
【0021】
波形変曲判定部121は、CPU911を用いて、差分符号判定部115が出力した最新の差分符号と、差分符号記憶部116が記憶した一つ前の差分符号とを入力する。波形変曲判定部121は、CPU911を用いて、入力した二つの差分符号が同じか異なるかを判定する。波形変曲判定部121は、CPU911を用いて、判定した判定結果(以下「波形変曲」と呼ぶ。)を出力する。波形変曲は、波形観測装置810が観測した波形パターンがそこで極値(極大値または極小値)を取っているか否かを表わす。二つの差分符号が同じ場合、そこでは極値を取らない(以下「極値なし」と呼ぶ)。二つの差分符号が異なる場合、そこで極値を取る(以下「極値あり」と呼ぶ)。なお、波形差分が0である場合に差分符号が正でも負でもないと差分符号判定部115が判定する構成であって、波形変曲判定部121が入力した二つの差分符号のいずれかが正でも負でもない場合、波形変曲判定部121は、二つの差分符号が同じであると判定する構成であってもよいし、異なると判定する構成であってもよい。
波形変曲記憶部122は、CPU911を用いて、波形変曲判定部121が出力した最新の波形変曲を入力する。波形変曲記憶部122は、磁気ディスク装置920を用いて、入力した波形変曲を蓄積して記憶する。すなわち、波形変曲記憶部122は、それまで記憶していた古い波形変曲の後に、入力した最新の波形変曲を追加して記憶する。なお、波形変曲記憶部122は、パターンサンプル数前の波形変曲から最新の波形変曲までを記憶していればよく、それより前の波形変曲を削除する構成であってもよい。
【0022】
二階差分算出部123は、CPU911を用いて、波形差分算出部113が出力した最新の波形差分と、波形差分記憶部114が記憶した一つ前の波形差分とを入力する。二階差分算出部123は、CPU911を用いて、入力した二つの波形差分の差(以下「二階差分」と呼ぶ。)を算出する。二階差分算出部123は、CPU911を用いて、算出した二階差分を出力する。二階差分算出部123が二階差分を算出するにあたり、いずれの波形差分から他方の波形差分を差し引く構成であってもよいが、ここでの説明では、新しい波形差分から古い波形差分を差し引く構成であるものとする。したがって、二階差分は、波形差分が増加した場合0より大きく、波形差分が減少した場合0より小さい。
【0023】
二階符号判定部125は、CPU911を用いて、二階差分算出部123が出力した最新の二階差分を入力する。二階符号判定部125は、CPU911を用いて、入力した二階差分の符号が正であるか負であるかを判定する。二階符号判定部125は、CPU911を用いて、判定した符号(以下「二階符号」と呼ぶ。)を出力する。なお、二階差分が0である場合、二階符号判定部125は、二階符号が正であると判定する構成であってもよいし、負であると判定する構成であってもよいし、正でも負でもないと判定する構成であってもよい。
二階符号記憶部126は、CPU911を用いて、二階符号判定部125が出力した最新の二階符号を入力する。二階符号記憶部126は、磁気ディスク装置920を用いて、入力した二階符号を蓄積して記憶する。すなわち、二階符号記憶部126は、それまで記憶していた古い二階符号の後に、入力した最新の二階符号を追加して記憶する。なお、二階符号記憶部126は、パターンサンプル数前の二階符号から最新の二階符号までを記憶していればよく、それより前の二階符号を削除する構成であってもよい。
【0024】
波形パターン検出装置100は、波形観測装置810が観測した波形パターンのうち、パターンサンプル数前の波形数値から最新の波形数値までの波形数値が表わす波形パターンの部分(以下「対象部分パターン」と呼ぶ。)を、比較パターンと比較して、比較パターンに近いか否かを判定する。波形パターン検出装置100は、パターンの比較に当たり、対象部分パターンの特徴を表わす数値(以下「波形特徴量」と呼ぶ。)を算出し、算出した波形特徴量と、比較パターンについてあらかじめ算出しておいた同様の数値(以下「比較特徴量」と呼ぶ。)とを比較する。波形特徴量には、例えば、上昇回数、下降回数、変曲回数、凹回数、凸回数などがある。
上昇回数とは、対象部分パターンを表わす一連の波形数値のうち、一つ前の波形数値よりも大きい波形数値の数のことである。
下降回数とは、上昇回数の逆で、対象部分パターンを表わす一連の波形数値のうち、一つ前の波形数値よりも小さい波形数値の数のことである。
変曲回数とは、対象部分パターンを表わす一連の波形数値のうち、一つ前の波形数値が極値である波形数値の数のことである。例えば、ある波形数値が一つ前の波形数値より大きく、かつ、一つ後の波形数値よりも大きい場合、その波形数値は極値(極大値)である。逆に、ある波形数値が一つ前の波形数値より小さく、かつ、一つ後の波形数値よりも小さい場合も、その波形数値は極値(極小値)である。
凹回数とは、対象部分パターンを表わす一連の波形数値のうち、一つ前の波形数値が凹んでいる波形数値の数のことである。ある波形数値と一つ前の波形数値との差よりも、一つ後の波形数値とその波形数値との差のほうが大きい場合、その波形数値は凹んでいる。別の言い方をすると、ある波形数値が、一つ前の波形数値と一つ後の波形数値との平均よりも小さい場合、その波形数値は凹んでいる。
凸回数とは、凹回数の逆で、対象部分パターンを表わす一連の波形数値のうち、一つ前の波形数値が膨らんでいる波形数値の数のことである。ある波形数値と一つ前の波形数値との差よりも、一つ後の波形数値とその波形数値との差のほうが小さい場合、その波形数値は膨らんでいる。別の言い方をすると、ある波形数値が、一つ前の波形数値と一つ後の波形数値との平均よりも大きい場合、その波形数値は膨らんでいる。
【0025】
上昇回数算出部131は、CPU911を用いて、上昇回数を算出する。上昇回数算出部131は、CPU911を用いて、算出した上昇回数を出力する。なお、比較パターンが複数あり、パターンサンプル数が異なる場合、上昇回数算出部131は、それぞれのパターンサンプル数ごとに上昇回数を算出する。すなわち、上昇回数算出部131は、比較パターンの数ではなく、異なるパターンサンプル数の数と同じ数の上昇回数を算出する。
上昇回数記憶部132は、CPU911を用いて、上昇回数算出部131が出力した最新の上昇回数を入力する。上昇回数記憶部132は、RAM914を用いて、入力した上昇回数を一時的に記憶する。上昇回数記憶部132は、最新の上昇回数を記憶していればよく、それより前の上昇回数を蓄積しておく必要はない。
【0026】
上昇回数は、差分符号記憶部116が記憶した差分符号が正である数を数えれば求めることができる。しかし、パターンサンプル数が大きい場合、その算出方式は効率が悪い。そこで、上昇回数算出部131は、もっと効率的な算出方式により上昇回数を算出する。
上昇回数記憶部132は、最新の上昇回数を記憶しているが、上昇回数算出部131が次の上昇回数を算出する段階において、上昇回数記憶部132は記憶している上昇回数は、一つ前の上昇回数になっている。上昇回数算出部131は、CPU911を用いて、上昇回数記憶部132が記憶した一つ前の上昇回数を入力する。
上昇回数算出部131が算出しようとしている新しい上昇回数と、一つ前の上昇回数とは、もととなる波形数値が一つずれているだけである。したがって、そのズレを計算して修正すれば、新しい上昇回数を求めることができる。
上昇回数算出部131は、CPU911を用いて、差分符号判定部115が出力した最新の差分符号と、差分符号記憶部116が記憶したパターンサンプル数前の差分符号とを入力する。
入力した最新の差分符号が正である場合、上昇回数算出部131は、CPU911を用いて、入力した上昇回数を一つ増やす。
入力したパターンサンプル数前の差分符号が正である場合、上昇回数算出部131は、CPU911を用いて、入力した上昇回数を一つ減らす。
上昇回数算出部131は、CPU911を用いて、ズレを修正した上昇回数を、新しい上昇回数として出力する。
【0027】
下降回数算出部133は、上昇回数算出部131と同様の方式により、下降回数を算出する。
下降回数算出部133は、CPU911を用いて、下降回数記憶部134が記憶した一つ前の下降回数と、差分符号判定部115が出力した最新の差分符号と、差分符号記憶部116が記憶したパターンサンプル数前の差分符号とを入力する。
入力した最新の差分符号が負である場合、下降回数算出部133は、CPU911を用いて、入力した下降回数を一つ増やす。
入力したパターンサンプル数前の差分符号が負である場合、下降回数算出部133は、CPU911を用いて、入力した下降回数を一つ減らす。
下降回数算出部133は、CPU911を用いて、ズレを修正した下降回数を、新しい下降回数として出力する。
下降回数記憶部134は、CPU911を用いて、下降回数算出部133が出力した最新の下降回数を入力する。下降回数記憶部134は、RAM914を用いて、入力した下降回数を一時的に記憶する。下降回数記憶部134は、最新の下降回数を記憶していればよく、それより前の下降回数を蓄積しておく必要はない。
【0028】
なお、波形差分が0の場合に差分符号が正または負であると差分符号判定部115が判定する構成の場合、上昇回数と下降回数とは表裏一体であり、上昇回数と下降回数との合計はパターンサンプル数に一致するから、いずれか一方のみを算出する構成であってもよい。これに対し、波形差分が0の場合に差分符号が正でも負でもないと差分符号判定部115が判定する構成の場合、上昇回数と下降回数との合計はパターンサンプル数に一致するとは限らず、パターンサンプル数より小さい場合がある。
【0029】
変曲回数算出部141も、上昇回数算出部131と同様の方式により、変曲回数を算出する。
変曲回数算出部141は、CPU911を用いて、変曲回数記憶部142が記憶した一つ前の変曲回数と、波形変曲判定部121が出力した最新の波形変曲と、波形変曲記憶部122が記憶したパターンサンプル数前の波形変曲とを入力する。
入力した最新の波形変曲が極値ありである場合、変曲回数算出部141は、CPU911を用いて、入力した変曲回数を一つ増やす。
入力したパターンサンプル数前の波形変曲が極値ありである場合、変曲回数算出部141は、CPU911を用いて、入力した変曲回数を一つ減らす。
変曲回数算出部141は、CPU911を用いて、ズレを修正した変曲回数を、新しい変曲回数として出力する。
変曲回数記憶部142は、CPU911を用いて、変曲回数算出部141が出力した最新の変曲回数を入力する。変曲回数記憶部142は、RAM914を用いて、入力した変曲回数を一時的に記憶する。変曲回数記憶部142は、最新の変曲回数を記憶していればよく、それより前の変曲回数を蓄積しておく必要はない。
【0030】
凹回数算出部143も、上昇回数算出部131と同様の方式により、凹回数を算出する。
凹回数算出部143は、CPU911を用いて、凹回数記憶部144が記憶した一つ前の凹回数と、二階符号判定部125が出力した最新の二階符号と、二階符号記憶部126が記憶したパターンサンプル数前の二階符号とを入力する。
入力した最新の二階符号が正である場合、凹回数算出部143は、CPU911を用いて、入力した凹回数を一つ増やす。
入力したパターンサンプル数前の二階符号が正である場合、凹回数算出部143は、CPU911を用いて、入力した凹回数を一つ減らす。
凹回数算出部143は、CPU911を用いて、ズレを修正した凹回数を、新しい凹回数として出力する。
凹回数記憶部144は、CPU911を用いて、凹回数算出部143が出力した最新の凹回数を入力する。凹回数記憶部144は、RAM914を用いて、入力した凹回数を一時的に記憶する。凹回数記憶部144は、最新の凹回数を記憶していればよく、それより前の凹回数を蓄積しておく必要はない。
【0031】
凸回数算出部145も、上昇回数算出部131と同様の方式により、凸回数を算出する。
凸回数算出部145は、CPU911を用いて、凸回数記憶部146が記憶した一つ前の凸回数と、二階符号判定部125が出力した最新の二階符号と、二階符号記憶部126が記憶したパターンサンプル数前の二階符号とを入力する。
入力した最新の二階符号が負である場合、凸回数算出部145は、CPU911を用いて、入力した凸回数を一つ増やす。
入力したパターンサンプル数前の二階符号が負である場合、凸回数算出部145は、CPU911を用いて、入力した凸回数を一つ減らす。
凸回数算出部145は、CPU911を用いて、ズレを修正した凸回数を、新しい凸回数として出力する。
凸回数記憶部146は、CPU911を用いて、凸回数算出部145が出力した最新の凸回数を入力する。凸回数記憶部146は、RAM914を用いて、入力した凸回数を一時的に記憶する。凸回数記憶部146は、最新の凸回数を記憶していればよく、それより前の凸回数を蓄積しておく必要はない。
【0032】
なお、二階差分が0の場合に二階符号が正または負であると二階符号判定部125が判定する構成の場合、凹回数と凸回数とは表裏一体であり、凹回数と凸回数との合計はパターンサンプル数に一致するから、いずれか一方のみを算出する構成であってもよい。これに対し、二階差分が0の場合に二階符号が正でも負でもないと二階符号判定部125が判定する構成の場合、凹回数と凸回数との合計はパターンサンプル数に一致するとは限らず、パターンサンプル数より小さい場合がある。
【0033】
比較特徴量記憶部181は、磁気ディスク装置920を用いて、あらかじめ、比較特徴量を記憶している。比較特徴量は、比較パターンの特徴を表わす数値であり、比較パターンについてあらかじめ算出された上昇回数、下降回数、変曲回数、凹回数、凸回数などである。
なお、あらかじめ算出された比較特徴量を比較特徴量記憶部181が記憶するのではなく、比較特徴量を算出する比較特徴量算出部を設け、比較特徴量算出部が算出した比較特徴量を比較特徴量記憶部181が記憶する構成としてもよい。ただし、比較特徴量は、比較パターンが定まれば一意に定まるので、監視対象890の監視を始める前に、あらかじめ算出して、比較特徴量記憶部181が記憶しておき、監視中の計算量を少なくすることが望ましい。
【0034】
類似度算出部182は、CPU911を用いて、上昇回数算出部131が出力した上昇回数、下降回数算出部133が出力した下降回数、変曲回数算出部141が出力した変曲回数、凹回数算出部143が出力した凹回数、凸回数算出部145が出力した凸回数などの波形特徴量と、比較特徴量記憶部181が記憶した比較特徴量とを入力する。類似度算出部182は、CPU911を用いて、入力した波形特徴量と比較特徴量とに基づいて、類似度を算出する。類似度算出部182は、CPU911を用いて、算出した類似度を出力する。
類似度とは、対象部分パターンと、比較パターンとがどれくらい似ているかを表わす数値である。
【0035】
例えば、上昇回数、下降回数、変曲回数、凹回数、凸回数という五つの数値からなる波形特徴量を五次元ベクトル「A=(a,a,a,a,a)」として捉え、比較特徴量も同じく五次元べクトル「B=(b,b,b,b,b)」として捉えると、二つの五次元ベクトルの内積「A・B=Σ(a・b)」を、二つの五次元ベクトルの長さの積「|A|・|B|=√[Σ(a)・Σ(b)]で割った商は、二つの五次元ベクトルがなす角θの余弦cosθを表わす。二つのベクトルの向きが等しければθが0度なので、余弦cosθは1になる。二つのベクトルの向きが垂直ならθが90度なので、余弦cosθは0になる。したがって、余弦cosθは、二つのベクトルが似ているかどうかを表わす類似度として用いることができる。その場合、類似度は、大きいほど似ていることを表わし、最大値は1である。
比較特徴量であるベクトルBの長さの二乗をあらかじめ算出しておき、比較特徴量記憶部181が、磁気ディスク装置920を用いて、あらかじめ記憶しておく。類似度算出部182は、CPU911を用いて、波形特徴量の各成分と、対応する比較特徴量の各成分との積を算出し、算出した積の総和を算出して、二つのベクトルの内積を求める。類似度算出部182は、CPU911を用いて、算出した内積が0以下であるか否かを判定する。内積が0以下であると判定した場合、類似度算出部182は、CPU911を用いて、類似度として0を出力する。内積が0より大きいと判定した場合、類似度算出部182は、CPU911を用いて、算出した内積の二乗を算出する。類似度算出部182は、CPU911を用いて、波形特徴量の各成分の二乗を算出し、算出した二乗の総和を算出して、波形特徴量であるベクトルAの長さの二乗を求める。類似度算出部182は、CPU911を用いて、比較特徴量記憶部181が記憶したベクトルBの長さの二乗を入力する。類似度算出部182は、CPU911を用いて、算出したベクトルAの長さの二乗と、入力したベクトルBの長さの二乗との積を算出する。類似度算出部182は、CPU911を用いて、算出した積で、算出した内積の二乗を割った商を算出して、算出した商を類似度とする。この例の場合、ベクトルがなす角θの余弦cosθではなく、その二乗cosθを類似度とすることで、平行根の計算をしなくて済むようにしている。
【0036】
あるいは、二つのベクトルの差ベクトルの長さ|A−B|(もしくはその二乗)を、類似度とする構成であってもよい。その場合、類似度は、小さいほど似ていることを表わす。
【0037】
閾値記憶部183は、磁気ディスク装置920を用いて、あらかじめ、類似度の閾値(以下「類似度閾値」と呼ぶ。)を記憶している。
類似判定部184は、CPU911を用いて、類似度算出部182が算出した類似度と、閾値記憶部183が記憶した類似度閾値とを入力する。類似判定部184は、CPU911を用いて、入力した類似度と類似度閾値とを比較して、対象部分パターンと比較パターンとが近いか否かを判定する。類似判定部184は、判定した判定結果を出力する。
上述したベクトルがなす角θの余弦cosθ(あるいはその二乗)のように、大きいほど似ていることを表わす数値を類似度とする構成であれば、類似判定部184は、類似度が類似度閾値より大きい場合に、対象部分パターンと比較パターンとが近いと判定する。逆に小さいほど似ていることを表わす数値を類似度とする構成であれば、類似判定部184は、類似度が類似度閾値より小さい場合に、対象部分パターンが比較パターンに近いと判定する。
なお、比較パターンが複数ある場合、類似判定部184は、類似度閾値を超える類似度のなかでもっとも類似度が大きい(あるいは小さい)対象部分パターンを判定し、その対象部分パターンが比較パターンに近いと判定する構成としてもよい。
【0038】
判定結果通知部185は、CPU911を用いて、類似判定部184が出力した判定結果を入力する。判定結果通知部185は、CPU911を用いて、検出結果通知装置820に対して、入力した判定結果を通知する。
【0039】
図5は、この実施の形態における波形パターン検出装置100が処理するデータの一例を示す図である。
時刻401は、波形観測装置810が波形数値を観測した時刻である。この例において、波形観測装置810は、1分ごとに1つの波形数値を観測する。
波形数値402は、時刻401に波形観測装置810が観測し、波形数値取得部111が取得した波形数値である。
波形差分403は、波形差分算出部113が、時刻401における最新の波形数値402から、一つ前の波形数値402を差し引いた波形差分である。
二階差分404は、二階差分算出部123が、時刻401における最新の波形差分403から、一つ前の波形差分403を差し引いた二階差分である。
二階符号405は、二階符号判定部125が、時刻401における最新の二階差分404に基づいて判定した二階符号である。
差分符号406は、差分符号判定部115が、時刻401における最新の波形差分403に基づいて判定した差分符号である。
波形変曲407は、波形変曲判定部121が、時刻401における最新の差分符号406と、一つ前の差分符号406とに基づいて判定した波形変曲である。なお、この図では、「極値あり」の場合を「−」、「極値なし」の場合を「+」で表現している。
【0040】
このように、波形数値取得部111が新しい波形数値を取得するたびに、波形差分算出部113が波形差分403を算出し、二階差分算出部123が二階差分404を算出し、二階符号判定部125が二階符号405を算出し、差分符号判定部115が差分符号406を算出し、波形変曲判定部121が波形変曲407を算出して、波形記憶部112、波形差分記憶部114、二階符号記憶部126、差分符号記憶部116、波形変曲記憶部122が、新しいデータを記憶する。
【0041】
図6は、この実施の形態における波形パターン検出装置100が算出する波形特徴量の一例を示す図である。
この例において、パターンサンプル数は5であるものとする。
上昇回数411は、上昇回数算出部131が算出する上昇回数である。上昇回数算出部131は、一つ前の上昇回数411と、最新の差分符号406と、五つ前の差分符号406とに基づいて、最新の上昇回数411を算出する。例えば、時刻401「16:25」において、上昇回数算出部131は、最新の差分符号406が「正」であるから一つ前の上昇回数411「3」に「1」を加えて「4」とし、五つ前の差分符号406が「正」であるから「4」から「1」を差し引いて「3」として、算出した「3」を最新の上昇回数411として出力する。
下降回数412は、下降回数算出部133が算出する下降回数である。下降回数算出部133は、一つ前の下降回数412と、最新の差分符号406と、五つ前の差分符号406とに基づいて、最新の下降回数412を算出する。例えば、時刻「16:26」において、下降回数算出部133は、最新の差分符号406が「正」であるから一つ前の上昇回数411「2」をそのままとし、五つ前の差分符号406が「負」であるから「2」から「1」を差し引いて「1」として、算出した「1」を最新の下降回数412として出力する。
変曲回数413は、変曲回数算出部141が算出する変曲回数である。変曲回数算出部141は、一つ前の変曲回数413と、最新の波形変曲407と、五つ前の波形変曲407とに基づいて、最新の変曲回数413を算出する。例えば、時刻「16:25」において、変曲回数算出部141は、最新の波形変曲407が「極値なし」であるから一つ前の変曲回数413「4」をそのままとし、五つ前の波形変曲407が「極値なし」であるから「4」をそのままとして、算出した「4」を最新の変曲回数413として出力する。
凹回数414は、凹回数算出部143が算出する凹回数である。凹回数算出部143は、一つ前の凹回数414と、最新の二階符号405と、五つ前の二階符号405とに基づいて、最新の凹回数414を算出する。例えば、時刻「16:25」において、凹回数算出部143は、最新の二階符号405が「正」であるから一つ前の凹回数414「2」に「1」を加えて「3」とし、五つ前の二階符号405が「負」であるから「3」をそのままとして、算出した「3」を最新の凹回数414として出力する。
凸回数415は、凸回数算出部145が算出する凸回数である。凸回数算出部145は、一つ前の凸回数415と、最新の二階符号405と、五つ前の二階符号405とに基づいて、最新の凸回数415を算出する。
【0042】
このように、波形数値取得部111が新しい波形数値を取得するたびに、上昇回数算出部131が上昇回数411を算出し、下降回数算出部133が下降回数412を算出し、変曲回数算出部141が変曲回数413を算出し、凹回数算出部143が凹回数414を算出し、凸回数算出部145が凸回数415を算出する。これら波形特徴量の計算は、一つ前の波形特徴量を用いて効率的に行われるので、パターンサンプル数が大きい場合でも、計算量が少なく、実時間での処理が可能である。
また、複数の比較パターンと比較する場合であっても、パターンサンプル数が同じであれば、同じ波形特徴量を使うことができるので、多数の比較パターンと比較する場合でも、計算量の増加が少なく、実時間での処理が可能である。
【0043】
図7は、この実施の形態における波形パターン検出処理S600の全体の処理の流れの一例を示す全体フローチャート図である。
波形パターン検出処理S600は、波形数値取得工程S610、差分特徴量算出工程S620、二階特徴量算出工程S625、差分合成特徴量算出工程S630、二階合成特徴量算出工程S635、比較工程S670、判定結果通知工程S680を有する。
【0044】
波形数値取得工程S610において、波形数値取得部111は、CPU911を用いて、波形観測装置810が観測した波形数値402を取得する。
【0045】
差分特徴量算出工程S620は、波形差分算出工程S621、差分符号判定工程S622を有する。
波形差分算出工程S621において、波形差分算出部113は、CPU911を用いて、波形数値取得工程S610で波形数値取得部111が取得した最新の波形数値402から一つ前の波形数値402を差し引いて、波形差分403を算出する。
差分符号判定工程S622において、差分符号判定部115は、CPU911を用いて、波形差分算出工程S621で波形差分算出部113が算出した波形差分403に基づいて、差分符号406を判定する。
【0046】
二階特徴量算出工程S625は、波形変曲判定工程S626、二階差分算出工程S627、二階符号算出工程S628を有する。
波形変曲判定工程S626において、波形変曲判定部121は、CPU911を用いて、差分符号判定工程S622で差分符号判定部115が判定した最新の差分符号406と、一つ前の差分符号406とに基づいて、波形変曲407を判定する。
二階差分算出工程S627において、二階差分算出部123は、CPU911を用いて、波形差分算出工程S621で波形差分算出部113が算出した最新の波形差分403から一つ前の波形差分403を差し引いて、二階差分404を算出する。
二階符号算出工程S628において、二階符号判定部125は、CPU911を用いて、二階差分算出工程S627で二階差分算出部123が算出した最新の二階差分404に基づいて、二階符号405を判定する。
【0047】
差分合成特徴量算出工程S630は、上昇回数算出工程S631、下降回数算出工程S632を有する。
上昇回数算出工程S631において、上昇回数算出部131は、CPU911を用いて、一つ前の上昇回数411と、差分符号判定工程S622で差分符号判定部115が判定した最新の差分符号406と、パターンサンプル数前の差分符号406とに基づいて、最新の上昇回数411を算出する。
下降回数算出工程S632において、下降回数算出部133は、CPU911を用いて、一つ前の下降回数412と、差分符号判定工程S622で差分符号判定部115が判定した最新の差分符号406と、パターンサンプル数前の差分符号406とに基づいて、最新の下降回数412を算出する。
【0048】
二階合成特徴量算出工程S635は、変曲回数算出工程S636、凹回数算出工程S637、凸回数算出工程S638を有する。
変曲回数算出工程S636において、変曲回数算出部141は、CPU911を用いて、一つ前の変曲回数413と、波形変曲判定工程S626で波形変曲判定部121が判定した最新の波形変曲407と、パターンサンプル数前の波形変曲407とに基づいて、最新の変曲回数413を算出する。
凹回数算出工程S637において、凹回数算出部143は、CPU911を用いて、一つ前の凹回数414と、二階符号算出工程S628で二階符号判定部125が判定した最新の二階符号405と、パターンサンプル数前の二階符号405とに基づいて、最新の凹回数414を算出する。
凸回数算出工程S638において、凸回数算出部145は、CPU911を用いて、一つ前の凸回数415と、二階符号算出工程S628で二階符号判定部125が判定した最新の二階符号405と、パターンサンプル数前の二階符号405とに基づいて、最新の凸回数415を算出する。
【0049】
比較工程S670は、比較パターン選択工程S671、類似度算出工程S672、類似判定工程S673、比較パターン繰り返し工程S674を有する。
比較パターン選択工程S671において、類似度算出部182は、CPU911を用いて、比較すべき1以上の比較パターンのなかから比較パターンを順に一つずつ選択する。
類似度算出工程S672において、類似度算出部182は、CPU911を用いて、比較パターン選択工程S671で選択した比較パターンについて比較特徴量記憶部181が記憶した比較特徴量を取得する。類似度算出部182は、CPU911を用いて、上昇回数算出工程S631で上昇回数算出部131が算出した上昇回数411と、下降回数算出工程S632で下降回数算出部133が算出した下降回数412と、変曲回数算出工程S636で変曲回数算出部141が算出した変曲回数413と、凹回数算出工程S637で凹回数算出部143が算出した凹回数414と、凸回数算出工程S638で凸回数算出部145が算出した凸回数415と、取得した比較特徴量とに基づいて、類似度を算出する。
類似判定工程S673において、類似判定部184は、CPU911を用いて、比較パターン選択工程S671で類似度算出部182が選択した比較パターンについて閾値記憶部183が記憶した類似度閾値を取得する。類似判定部184は、CPU911を用いて、類似度算出工程S672で類似度算出部182が算出した類似度と、取得した類似度閾値とを比較して、対象部分パターンが、比較パターン選択工程S671で類似度算出部182が選択した比較パターンに近いか否かを判定する。
比較パターン繰り返し工程S674において、類似度算出部182は、CPU911を用いて、比較パターン選択工程S671で比較すべき比較パターンをすべて選択したか否かを判定する。まだ選択していない比較パターンがあると判定した場合、類似度算出部182は、CPU911を用いて、比較パターン選択工程S671に戻り、次の比較パターンを選択する。比較すべきすべての比較パターンを選択したと判定した場合、類似度算出部182は、CPU911を用いて、判定結果通知工程S680へ進む。
【0050】
判定結果通知工程S680において、判定結果通知部185は、CPU911を用いて、検出結果通知装置820に対して、類似判定工程S673で類似判定部184が判定した判定結果を通知する。
その後、波形数値取得工程S610に戻り、波形数値取得部111が次の波形数値を取得する。
【0051】
図8は、この実施の形態における上昇回数算出工程S631の詳細な処理の流れの一例を示す詳細フローチャート図である。
上昇回数算出工程S631は、上昇回数入力工程S711、最古符号判定工程S712、上昇回数減少工程S713、最新符号判定工程S714、上昇回数増加工程S715、上昇回数出力工程S716を有する。
【0052】
上昇回数入力工程S711において、上昇回数算出部131は、CPU911を用いて、上昇回数記憶部132が記憶した一つ前の上昇回数411を入力する。
最古符号判定工程S712において、上昇回数算出部131は、CPU911を用いて、差分符号記憶部116が記憶した差分符号406のなかから、パターンサンプル数前の差分符号406を取得し、取得した差分符号406が「正」であるか否かを判定する。
パターンサンプル数前の差分符号406が「正」であると判定した場合、上昇回数算出部131は、CPU911を用いて、上昇回数減少工程S713へ進む。
パターンサンプル数前の差分符号406が「正」でないと判定した場合、上昇回数算出部131は、CPU911を用いて、最新符号判定工程S714へ進む。
【0053】
上昇回数減少工程S713において、上昇回数算出部131は、CPU911を用いて、入力した上昇回数411を一つ減らして、上昇回数411を修正する。
最新符号判定工程S714において、上昇回数算出部131は、CPU911を用いて、差分符号判定部115が出力した最新の差分符号406を取得し、取得した差分符号406が「正」であるか否かを判定する。
最新の差分符号406が「正」であると判定した場合、上昇回数算出部131は、CPU911を用いて、上昇回数増加工程S715へ進む。
最新の差分符号406が「正」でないと判定した場合、上昇回数算出部131は、CPU911を用いて、上昇回数出力工程S716へ進む。
【0054】
上昇回数増加工程S715において、上昇回数算出部131は、CPU911を用いて、入力した上昇回数411を一つ増やして、上昇回数411を修正する。
上昇回数出力工程S716において、上昇回数算出部131は、CPU911を用いて、算出した上昇回数411を出力する。
【0055】
下降回数算出工程S632、変曲回数算出工程S636、凹回数算出工程S637、凸回数算出工程S638の詳細な処理の流れは、上昇回数算出工程S631と同様なので、説明を省略する。
【0056】
この実施の形態における波形パターン検出装置100は、一連の数値によって表わされる波形パターンのなかから、所定数(パターンサンプル数)の一連の数値によって表わされる比較パターンに近い部分を検出する。
波形パターン検出装置100は、データを記憶する記憶装置(磁気ディスク装置920など)と、データを処理する処理装置(CPU911)と、波形記憶部112と、波形特徴量算出部(上昇回数算出部131、下降回数算出部133、変曲回数算出部141、凹回数算出部143、凸回数算出部145)と、比較特徴量記憶部181と、類似度算出部182と、類似判定部184とを有する。
上記波形記憶部112は、上記記憶装置を用いて、上記波形パターンを表わす一連の数値を、一連の波形数値402として記憶する。
上記波形特徴量算出部は、上記処理装置を用いて、上記波形記憶部112が記憶した一連の波形数値のうち少なくともいずれかの波形数値(最新の波形数値)を対象波形数値とし、上記対象波形数値以前の上記所定数の波形数値を一連の部分波形数値とし、上記一連の部分波形数値の特徴を表わす特徴量(上昇回数411、下降回数412、変曲回数413、凹回数414、凸回数415)を算出して、上記対象波形数値についての波形特徴量とする。
上記比較特徴量記憶部181は、上記記憶装置を用いて、上記比較パターンを表わす一連の数値の特徴を表わす特徴量を、比較特徴量として記憶する。
上記類似度算出部182は、上記処理装置を用いて、上記波形特徴量算出部が算出した波形特徴量と、上記比較特徴量記憶部181が記憶した比較特徴量とに基づいて、上記波形パターンのうち上記一連の部分波形数値によって表わされる部分(対象部分パターン)と、上記比較パターンとの類似度を算出する。
上記類似判定部184は、上記処理装置を用いて、上記類似度算出部182が算出した類似度に基づいて、上記波形パターンのうち上記一連の部分波形数値によって表わされる部分(対象部分パターン)が、上記比較パターンに近いか否かを判定する。
【0057】
この実施の形態における波形パターン検出装置100によれば、波形特徴量算出部が算出した波形特徴量と、比較特徴量記憶部181が記憶した比較特徴量とに基づいて、波形パターンのうち比較パターンに近い部分を検出するので、計算量を抑えることができ、処理装置の処理速度が遅い場合でも、実時間での検出をすることができる。
【0058】
この実施の形態における波形パターン検出装置100において、上記波形特徴量算出部は、上記処理装置を用いて、対象波形数値についての波形特徴量を、上記対象波形数値の一つ前の波形数値について算出した波形特徴量に基づいて算出する。
【0059】
この実施の形態における波形パターン検出装置100によれば、波形特徴量算出部が、一つ前の波形特徴量を使って波形特徴量を算出するので、一つ前との差にあたる部分だけを計算すればよく、計算量を抑えることができるので、処理装置の処理速度が遅い場合でも、実時間での検出をすることができる。
【0060】
この実施の形態における波形パターン検出装置100は、更に、波形差分算出部113を有する。
上記波形差分算出部113は、上記処理装置を用いて、上記波形記憶部112が記憶した一連の波形数値のうち少なくともいずれかの波形数値について、上記波形数値と、上記波形数値の一つ前の波形数値との差を算出して、波形差分403とする。
上記波形特徴量算出部は、上記処理装置を用いて、上記波形差分算出部113が算出した波形差分403に基づいて、上記波形特徴量を算出する。
【0061】
この実施の形態における波形パターン検出装置100によれば、波形差分算出部113が算出した波形差分403に基づいて、波形特徴量算出部が波形特徴量を算出するので、波形パターンを表わす波形数値402の具体的な値よりも、波形パターンの形状が比較パターンに近い部分を検出することができる。
【0062】
この実施の形態における波形パターン検出装置100は、更に、差分符号判定部115を有する。
上記差分符号判定部115は、上記処理装置を用いて、上記波形差分算出部113が算出した波形差分に基づいて、上記波形差分の符号を判定して、差分符号406とする。
上記波形特徴量算出部は、上記処理装置を用いて、上記差分符号判定部115が判定した差分符号406に基づいて、上記波形特徴量を算出する。
【0063】
この実施の形態における波形パターン検出装置100によれば、差分符号判定部115が算出した差分符号406に基づいて、波形特徴量算出部が波形特徴量を算出するので、更に抽象化のレベルを高めることができ、波形パターンの形状が比較パターンに近い部分を検出することができる。また、差分符号406は「正」か「負」かというわずか1ビット(「0」を含めても2ビット)の情報なので、整数や浮動小数点実数などを扱うよりも、計算時間を短くすることができ、処理装置の処理速度が遅い場合でも、実時間での検出をすることができる。
【0064】
この実施の形態における波形パターン検出装置100は、上記波形特徴量算出部として、上昇回数算出部131を有する。
上記上昇回数算出部131は、上記処理装置を用いて、上記差分符号判定部115が判定した差分符号406に基づいて、上記一連の部分波形数値のうち、上記差分符号406が正である部分波形数値の数を算出して、上昇回数411とし、算出した上昇回数411を上記波形特徴量とする。
【0065】
この実施の形態における波形パターン検出装置100によれば、上昇回数算出部131が算出した上昇回数411を波形特徴量とするので、波形パターンの形状が比較パターンに近い部分を検出することができる。
【0066】
この実施の形態における波形パターン検出装置100において、上記上昇回数算出部131は、上記処理装置を用いて、上記対象波形数値の一つ前の波形数値について算出した上昇回数411と、上記対象波形数値より上記所定数(パターンサンプル数)前の波形数値について上記差分符号判定部115が判定した差分符号406と、上記対象波形数値について上記差分符号判定部115が判定した差分符号406とに基づいて、上記対象波形数値についての上昇回数411を算出する。
【0067】
この実施の形態における波形パターン検出装置100によれば、一つ前の上昇回数411と、二つの差分符号406とに基づいて、上昇回数算出部131が上昇回数411を算出するので、計算量を少なくすることができ、処理装置の処理速度が遅い場合でも、実時間での検出をすることができる。
【0068】
この実施の形態における波形パターン検出装置100は、上記波形特徴量算出部として、下降回数算出部133を有する。
上記下降回数算出部133は、上記処理装置を用いて、上記差分符号判定部115が判定した差分符号406に基づいて、上記一連の部分波形数値のうち、上記差分符号406が負である部分波形数値の数を算出して、下降回数412とし、算出した下降回数412を上記波形特徴量とする。
【0069】
この実施の形態における波形パターン検出装置100によれば、下降回数算出部133が算出した下降回数412を波形特徴量とするので、波形パターンの形状が比較パターンに近い部分を検出することができる。
【0070】
この実施の形態における波形パターン検出装置100において、上記下降回数算出部133は、上記処理装置を用いて、上記対象波形数値の一つ前の波形数値について算出した下降回数412と、上記対象波形数値より上記所定数前の波形数値について上記差分符号判定部115が判定した差分符号406と、上記対象波形数値について上記差分符号判定部115が判定した差分符号406とに基づいて、上記対象波形数値についての下降回数412を算出する。
【0071】
この実施の形態における波形パターン検出装置100によれば、一つ前の下降回数412と、二つの差分符号406とに基づいて、下降回数算出部133が下降回数412を算出するので、計算量を少なくすることができ、処理装置の処理速度が遅い場合でも、実時間での検出をすることができる。
【0072】
上記波形パターン検出装置100は、更に、波形変曲判定部121を有し、上記波形特徴量算出部として、変曲回数算出部141を有する。
上記波形変曲判定部121は、上記処理装置を用いて、上記波形記憶部112が記憶した一連の波形数値402のうち少なくともいずれかの波形数値について、上記波形数値について上記差分符号判定部115が判定した差分符号と、上記波形数値の一つ前の波形数値について上記差分符号判定部115が判定した差分符号とが異なるか否かを判定する。
上記変曲回数算出部141は、上記処理装置を用いて、上記波形変曲判定部121が判定した判定結果(波形変曲407)に基づいて、上記一連の部分波形数値のうち、一つ前の部分波形数値と差分符号が異なる部分波形数値の数を算出して、変曲回数413とし、算出した変曲回数413を上記波形特徴量とする。
【0073】
この実施の形態における波形パターン検出装置100によれば、変曲回数算出部141が算出した変曲回数413を波形特徴量とするので、波形パターンの形状が比較パターンに近い部分を検出することができる。
【0074】
この実施の形態における波形パターン検出装置100において、上記変曲回数算出部141は、上記処理装置を用いて、上記対象波形数値の一つ前の波形数値について算出した変曲回数413と、上記対象波形数値より上記所定数前の波形数値について上記波形変曲判定部121が判定した判定結果(波形変曲407)と、上記対象波形数値について上記波形変曲判定部121が判定した判定結果(波形変曲407)とに基づいて、上記対象波形数値についての変曲回数413を算出する。
【0075】
この実施の形態における波形パターン検出装置100によれば、一つ前の変曲回数413と、二つの判定結果(波形変曲407)とに基づいて、変曲回数算出部141が変曲回数413を算出するので、計算量を少なくすることができ、処理装置の処理速度が遅い場合でも、実時間での検出をすることができる。
【0076】
この実施の形態における波形パターン検出装置100において、上記類似度算出部182は、上記処理装置を用いて、上記波形特徴量と上記比較特徴量とをそれぞれベクトルとみなし、上記波形特徴量のベクトルと上記比較特徴量のベクトルとがなす角度θに基づいて、上記類似度を算出する。
【0077】
この実施の形態における波形パターン検出装置100によれば、二つのベクトルの内積を取ることによって少ない計算量で算出できる角度θ(あるいはその余弦cosθもしくはその二乗cosθ)に基づいて、類似度算出部182が類似度を算出するので、計算量を少なくすることができ、処理装置の処理速度が遅い場合でも、実時間での検出をすることができる。
【0078】
この実施の形態における波形パターン検出装置100において、上記類似判定部184は、上記処理装置を用いて、上記類似度算出部182が算出した類似度が所定の閾値(類似度閾値)より大きい場合に、上記波形パターンのうち上記一連の部分波形数値によって表わされる部分(対象部分パターン)が、上記比較パターンに近いと判定する。
【0079】
この実施の形態における波形パターン検出装置100によれば、類似度算出部182が算出した類似度を所定の閾値と比較して、波形パターンのうち比較パターンに近い部分を検出するので、計算量を抑えることができ、処理装置の処理速度が遅い場合でも、実時間での検出をすることができる。
【0080】
この実施の形態における波形パターン検出装置100は、データを記憶する記憶装置とデータを処理する処理装置とを有するコンピュータを上記波形パターン検出装置100として機能させるコンピュータプログラムを、上記コンピュータが実行することにより実現することができる。
【0081】
この実施の形態におけるコンピュータプログラムによれば、波形特徴量算出部が算出した波形特徴量と、比較特徴量記憶部181が記憶した比較特徴量とに基づいて、波形パターンのうち比較パターンに近い部分を検出するので、計算量を抑えることができ、処理装置の処理速度が遅い場合でも、実時間での検出をすることができる波形パターン検出装置100を、実現することができる。
【0082】
この実施の形態における波形パターン検出装置100が、一連の数値によって表わされる波形パターンのなかから、所定数(パターンサンプル数)の一連の数値によって表わされる比較パターンに近い部分を検出する波形パターン検出方法は、以下の工程を有する。
上記処理装置が、上記波形パターンを表わす一連の波形数値402のうち少なくともいずれかの波形数値(最新の波形数値)を対象波形数値とし、上記対象波形数値以前の上記所定数の波形数値を一連の部分波形数値とし、上記一連の部分波形数値の特徴を表わす特徴量(上昇回数411、下降回数412、変曲回数413、凹回数414、凸回数415)を算出して、上記対象波形数値についての波形特徴量とする。
上記処理装置が、算出した波形特徴量と、上記比較パターンを表わす一連の数値の特徴を表わす比較特徴量とに基づいて、上記波形パターンのうち上記一連の部分波形数値によって表わされる部分(対象部分パターン)と、上記比較パターンとの類似度を算出する。
上記処理装置が、算出した類似度に基づいて、上記波形パターンのうち上記一連の部分波形数値によって表わされる部分が、上記比較パターンに近いか否かを判定する。
【0083】
この実施の形態における波形パターン検出方法によれば、処理装置が算出した波形特徴量と、比較特徴量とに基づいて、波形パターンのうち比較パターンに近い部分を検出するので、計算量を抑えることができ、処理装置の処理速度が遅い場合でも、実時間での検出をすることができる。
【0084】
なお、上昇回数、下降回数、変曲回数、凹回数、凸回数を波形特徴量の例として説明したが、波形特徴量は、これらすべてを含む必要はなく、このうちの一部のみを波形特徴量とする構成であってもよい。また、波形特徴量は、波形パターンの特徴を表わす数値であれば、これら以外の他の数値を含む構成であってもよい。他の数値を波形特徴量に含む場合、上述した上昇回数などと同じように、対象部分パターンが一つずつシフトしていく特性に鑑みて、計算量を少なくすることができる数値を採用することが望ましい。
【0085】
以上説明した波形パターン検出装置100のパターン検出方式は、時系列で変化する指標値(波形数値)の波形データから抽出した特徴量(波形特徴量)と、パターンの基準となる特徴量(比較特徴量)とを比較することによりパターンを検出する。
波形の特徴量同士の類似度の比較を行うことにより、サンプリング点数に依存せず、少ない計算時間でパターンを検出することができる。
比較するテンプレート(比較パターン)が複数ある場合にも、他のテンプレートとの類似度の比較処理時に使用した特徴量(波形特徴量)を利用できるので、類似度の計算時間を低減することができる。
以上説明したパターン検出方式は、前回抽出した特徴量からの差分のみを計算することにより、特徴量を抽出するための計算時間を低減する。
値の変動の傾向を特徴量として抽出することにより、指標値の挙動が離散的に変化する場合にもパターンを検出することができる。
このように、以上説明したパターン検出方式は、特徴量の比較により、サンプリング点数に依存せず、前回特徴量を流用し、差分特徴量を計算し、傾向を特徴量化する。
【0086】
監視用サーバ(監視システム800)は、監視対象の指標値(監視指標値、波形数値)の変化を検出するための監視機構を持つ。監視用サーバは、監視指標値情報記憶部(波形記憶部112)、テンプレート情報記憶部(比較特徴量記憶部181)、差分特徴量情報記憶部(波形差分記憶部114、差分符号記憶部116、波形変曲記憶部122)、特徴量変化履歴情報記憶部(上昇回数記憶部132、下降回数記憶部134、変曲回数記憶部142)を持つ。
監視機構は、監視対象装置(監視対象890)が保持している値や監視対象データベース(監視対象890)に追加/更新されたレコードの値などの監視指標値(波形数値)を収集し、指標値の変化を検出する。監視機構は、監視指標値の監視を行うための処理を統合する統合処理部と、監視指標値を監視対象から収集する監視指標値収集部(波形観測装置810)と、監視指標値の変化のパターンを検出するパターン検出部(波形パターン検出装置100)と、パターンが検出された場合にメールや警告などを通知するイベント通知部(検出結果通知装置820)を持つ。
【0087】
監視対象装置(監視対象890)は、センサやロボット、FA機器などから取得可能な値を保持する。監視対象サーバ(監視対象890)は、センサやロボット、FA機器などから取得可能な値を収集するための収集プログラムを持つ。監視対象サーバは、収集プログラムが収集した値を保持する監視対象データベースを持つ。
なお、監視対象装置、監視対象サーバ、および、収集プログラム、監視対象データベースは、監視対象890の一例であり、複数あってもよい。監視対象装置のみ、または、監視対象サーバ以下の構成のみであってもよい。監視対象データベースは、一般のデータベースシステムに限らず、ファイルシステムであってもよい。
【0088】
パターン検出部(波形パターン検出装置100)は、特徴量抽出処理部と、パターン検出判別処理部(類似度算出部182、類似判定部184)とを持つ。特徴量抽出処理部は、差分特徴量抽出処理部(波形差分算出部113、差分符号判定部115、波形変曲判定部121)と合成特徴量抽出処理部(上昇回数算出部131、下降回数算出部133、変曲回数算出部141)とを持つ。
【0089】
全体の処理の流れとしては、まず、統合処理部が、監視指標値(波形数値)の監視を開始する。監視指標値収集部(波形観測装置810)が、監視対象装置や監視対象データベース(監視対象890)から指標値を収集する。パターン検出部(波形パターン検出装置100)が、収集した監視指標値情報、テンプレート情報、差分特徴量情報、特徴量変化履歴情報を使用してパターンの検出を行う。パターン検出部が、パターンを検出した場合、イベント通知部(検出結果通知装置820)が、メール送信や警告音発信など、検出したパターンに対応するイベントの通知処理を行う。監視を継続する場合には、以上の処理を繰り返し、監視を継続しない場合には、処理を終了する。
【0090】
パターン検出の処理の流れは、まず、差分特徴量抽出処理部が、監視指標値の変化を差分特徴量として抽出する。パターン検出の判別を行っていないテンプレート(比較パターン)がある場合、パターン検出の判別を行っていないテンプレート(比較対象テンプレート)を使用して以下の処理を行う。合成特徴量抽出処理部が、比較対象テンプレートの特徴量と比較するための特徴量(合成特徴量)を、差分特徴量情報と特徴量変化履歴情報を使用して作成する。パターン検出判別処理部が、比較テンプレートの特徴量と、作成した合成特徴量とを比較して、パターン一致の判別を行う。
【0091】
差分特徴量(波形差分403、差分符号406、波形変曲407)抽出の処理の流れは、まず、波形数値取得部111が、監視指標情報から、前回取得した時点との差分の指標値(波形数値)を取得する。波形記憶部112が、取得した指標値を、差分特徴量情報に時系列順に追加する。波形差分算出部113・差分符号判定部115・波形変曲判定部121が、追加した指標値の行(以降、t行)について、前回の値との差分値(波形差分)、差分符号、変曲点(波形変曲)を計算し、差分特徴量情報を更新する。ただし、前回の値がない場合には、計算は行わない。
波形差分算出部113は、差分値(t)(波形差分)として、式「差分値(t)=指標値(t)−指標値(t−1)」を計算する。ただし、差分値(t)は、t行目の差分値列の値を意味する。差分符号判定部115は、差分符号(t)として、差分値(t)が0以上であれば、差分符号(t)=“+”とし、そうでなければ、差分符号(t)=“−”とする。波形変曲判定部121は、変曲点(t)(波形変曲)として、差分符号(t)=差分符号(t−1)であれば、変曲点(t)=0とし、そうでなければ、変曲点(t)=1とする。
【0092】
合成特徴量(上昇回数411、下降回数412、変曲回数413)計算の処理の流れは、まず、上昇回数算出部131が、テンプレート情報から、比較テンプレートの検出パラメータのうち、サンプリング数nを取得する。上昇回数算出部131が、特徴量変化履歴情報のt−1行目の値(上昇回数)をt行目にコピーする。上昇回数算出部131が、差分特徴量情報のt−n行目の特徴量を用いて、特徴量変化履歴情報のt行目の値から特徴量を除去する。上昇回数算出部131が、差分特徴量情報のt行目の特徴量を用いて、特徴量変化履歴情報のt行目の値に特徴量を追加する。
【0093】
パターン検出を判別する処理の流れは、まず、類似度算出部182・類似判定部184が、テンプレート情報から、比較テンプレートの特徴量(比較特徴量)と、検出閾値(類似度閾値)とを取得する。類似度算出部182が、特徴量変化履歴情報から、t行目の合成特徴量を取得する。類似度算出部182が、比較テンプレート特徴量と合成特徴量の類似度を計算する。類似度の計算には、例えば、ベクトル間の距離の計算などを用いる。類似判定部184が、類似度が閾値を超えているかどうかを判断する。
【0094】
以上説明した波形パターン検出装置100によれば、サンプリング点(パターンサンプル数)が多くなっても、計算量の増加が少ない。また、テンプレート(比較パターン)が複数ある場合、パターンサンプル数が同じであれば、同じ波形特徴量を使って比較することができるので、効率的であり、計算量の増加を抑えることができる。これにより、リアルタイムなパターン検出を実現することができる。
【0095】
実施の形態2.
実施の形態2について、図9〜図12を用いて説明する。
なお、実施の形態1と共通する部分については、同一の符号を付し、説明を省略する。
【0096】
図9は、この実施の形態における波形パターン検出装置100の機能ブロックの構成の一例を示すブロック構成図である。
波形パターン検出装置100は、実施の形態1で説明した機能ブロックに加えて、更に、連続上昇回数更新部151、連続上昇回数記憶部152、連続上昇回数算出部153、連続下降回数更新部154、連続下降回数記憶部155、連続下降回数算出部156、連続変曲回数更新部161、連続変曲回数記憶部162、連続変曲回数算出部163、連続凹回数更新部164、連続凹回数記憶部165、連続凹回数算出部166、連続凸回数更新部167、連続凸回数記憶部168、連続凸回数算出部169を有する。
【0097】
波形パターン検出装置100は、実施の形態1で説明した波形特徴量に加えて、更に、連続上昇回数、連続下降回数、連続変曲回数、連続凹回数、連続凸回数を、波形特徴量として算出する。
連続上昇回数とは、対象部分パターンを表わす一連の波形数値のうち、一つ前の波形数値よりも大きい波形数値が連続している数のことである。言い換えると、連続上昇回数は、正である差分符号が連続している数であると言える。連続が複数ある場合は、そのなかで最長のものを連続上昇回数とする。
連続下降回数とは、対象部分パターンを表わす一連の波形数値のうち、一つ前の波形数値よりも小さい波形数値が連続している数のことである。言い換えると、連続下降回数は、負である差分符号が連続している数であると言える。連続が複数ある場合は、そのなかで最長のものを連続下降回数とする。
連続変曲回数とは、対象部分パターンを表わす一連の波形数値のうち、一つ前の波形数値が極値である波形数値が連続している数のことである。言い換えると、連続変曲回数は、差分符号が「正」「負」「正」「負」と交互に連続している数であり、また、極値ありである波形変曲が連続している数であると言える。連続が複数ある場合は、そのなかで最長のものを連続変曲回数とする。
連続凹回数とは、対象部分パターンを表わす一連の波形数値のうち、一つ前の波形数値が凹んでいる波形数値が連続している数のことである。言い換えると、連続凹回数は、正である二階符号が連続している数であると言える。連続が複数ある場合は、そのなかで最長のものを連続凹回数とする。
連続凸回数とは、対象部分パターンを表わす一連の波形数値のうち、一つ前の波形数値が膨らんでいる波形数値が連続している数のことである。言い換えると、連続凸回数は、負である二階符号が連続している数であると言える。連続が複数ある場合は、そのなかで最長のものを連続凸回数とする。
【0098】
これらの波形特徴量も、一つ前の波形特徴量との差のみを計算することにより、効率的に算出することができる。連続区間が対象部分パターンの区間のなかに完全に含まれているときは、対象部分パターンが一つずれても、連続区間の長さは変わらない。連続区間が最新の波形数値を含む場合、対象部分パターンが一つ後に移動すると、連続区間の長さが一つ増えるか、連続区間がそこで途切れるかのいずれかである。連続区間がパターンサンプル数前の波形数値を含む場合、対象部分パターンが一つ後に移動すると、連続区間の長さが一つ減るか、他の区間が最長の連続区間となるかのいずれかである。
【0099】
連続上昇回数記憶部152は、磁気ディスク装置920を用いて、連続上昇テーブルを記憶する。連続上昇テーブルとは、対象部分パターンの区間のなかに存在する連続上昇区間の開始時刻と長さとの組を保存するテーブルである。連続上昇テーブルは、連続上昇区間の長さが最長のものも、そうでないものも含む。連続上昇区間の長さが最長でない場合でも、最長の連続上昇区間が、対象部分パターンの区間外に出ていくことにより、昇格して、最長になる可能性があるからである。ただし、昇格する可能性のある連続上昇区間は、最長の連続上昇区間よりも新しいものに限られる。最長の連続上昇区間よりも古い連続上昇区間は、最長の連続上昇区間が対象部分パターンの区間外に出ていくよりも先に、対象部分パターンの区間外に出ていくからである。
【0100】
連続上昇回数更新部151は、CPU911を用いて、差分符号判定部115が出力した最新の差分符号406を入力する。連続上昇回数更新部151は、CPU911を用いて、入力した差分符号406に基づいて、連続上昇回数記憶部152が記憶した連続上昇テーブルを更新する。連続上昇回数記憶部152は、磁気ディスク装置920を用いて、更新された連続上昇テーブルを記憶する。
連続上昇テーブルの更新は、例えば、以下のようにして行う。
連続上昇回数更新部151は、CPU911を用いて、入力した差分符号406が正であるか否かを判定する。
差分符号406が正であると判定した場合、現在が連続上昇区間中でなければ、連続上昇回数更新部151は、CPU911を用いて、新たに長さ1の連続上昇区間を生成して、連続上昇テーブルに追加する。
現在が連続上昇区間中である場合、連続上昇回数更新部151は、CPU911を用いて、最新の連続上昇区間の長さを一つ増やす。これにより、最新の連続上昇区間が最長の連続上昇区間になった場合、連続上昇回数更新部151は、CPU911を用いて、それより古い連続上昇区間を、連続上昇テーブルから削除する。
最新の連続上昇区間が最長の連続上昇区間でない場合、連続上昇回数更新部151は、CPU911を用いて、連続上昇テーブルに保存されている最古の連続上昇区間の開始時刻が対象部分パターンの区間外か否かを判定する。最古の連続上昇区間の開始時刻が対象部分パターンの区間外である場合、連続上昇回数更新部151は、CPU911を用いて、最古の連続上昇区間の開始時刻を、対象部分パターンの区間の開始時刻に修正し、最古の連続上昇区間の長さを一つ減らす。
連続上昇回数更新部151は、CPU911を用いて、これにより昇格した連続上昇区間があるか探索する。昇格した連続上昇区間がある場合、連続上昇回数更新部151は、CPU911を用いて、それより古い連続上昇区間を、連続上昇テーブルから削除する。
【0101】
連続上昇回数算出部153は、CPU911を用いて、連続上昇回数記憶部152が記憶した連続上昇テーブルのなかから、最長の連続上昇区間の長さを取得して、連続上昇回数として出力する。連続上昇回数更新部151が、最長の連続上昇区間よりも古い連続上昇区間を、連続上昇テーブルから削除しているので、最長の連続上昇区間は、連続上昇回数記憶部152が記憶した連続上昇テーブルに保存された連続上昇区間のうち最古の連続上昇区間である。連続上昇回数算出部153は、CPU911を用いて、連続上昇回数記憶部152が記憶した連続上昇テーブルのなかから、最古の連続上昇区間の長さを取得して、連続上昇回数とする。
【0102】
連続下降回数記憶部155は、磁気ディスク装置920を用いて、連続下降テーブルを記憶する。連続下降テーブルとは、対象部分パターンの区間のなかに存在する連続下降区間の開始時刻と長さとの組を保存するテーブルである。
連続下降回数更新部154は、CPU911を用いて、差分符号判定部115が出力した最新の差分符号406を入力する。連続下降回数更新部154は、CPU911を用いて、入力した差分符号406に基づいて、連続上昇回数更新部151と同様の方式により、連続下降回数記憶部155が記憶した連続下降テーブルを更新する。連続下降回数記憶部155は、磁気ディスク装置920を用いて、更新された連続下降テーブルを記憶する。
連続下降回数算出部156は、CPU911を用いて、連続下降回数記憶部155が記憶した連続下降テーブルのなかから、最長の連続下降区間の長さを取得して、連続下降回数として出力する。
【0103】
連続変曲回数記憶部162は、磁気ディスク装置920を用いて、連続変曲テーブルを記憶する。連続変曲テーブルとは、対象部分パターンの区間のなかに存在する連続変曲区間の開始時刻と長さとの組を保存するテーブルである。
連続変曲回数更新部161は、CPU911を用いて、波形変曲判定部121が出力した最新の波形変曲407を入力する。連続変曲回数更新部161は、CPU911を用いて、入力した波形変曲407に基づいて、連続上昇回数更新部151と同様の方式により、連続変曲回数記憶部162が記憶した連続変曲テーブルを更新する。連続変曲回数記憶部162は、磁気ディスク装置920を用いて、更新された連続変曲テーブルを記憶する。
連続変曲回数算出部163は、CPU911を用いて、連続変曲回数記憶部162が記憶した連続変曲テーブルのなかから、最長の連続変曲区間の長さを取得して、連続変曲回数として出力する。
【0104】
連続凹回数記憶部165は、磁気ディスク装置920を用いて、連続凹テーブルを記憶する。連続凹テーブルとは、対象部分パターンの区間のなかに存在する連続凹区間の開始時刻と長さとの組を保存するテーブルである。
連続凹回数更新部164は、CPU911を用いて、二階符号判定部125が出力した最新の二階符号405を入力する。連続凹回数更新部164は、CPU911を用いて、入力した二階符号405に基づいて、連続上昇回数更新部151と同様の方式により、連続凹回数記憶部165が記憶した連続凹テーブルを更新する。連続凹回数記憶部165は、磁気ディスク装置920を用いて、更新された連続凹テーブルを記憶する。
連続凹回数算出部166は、CPU911を用いて、連続凹回数記憶部165が記憶した連続凹テーブルのなかから、最長の連続凹区間の長さを取得して、連続凹回数として出力する。
【0105】
連続凸回数記憶部168は、磁気ディスク装置920を用いて、連続凸テーブルを記憶する。連続凸テーブルとは、対象部分パターンの区間のなかに存在する連続凸区間の開始時刻と長さとの組を保存するテーブルである。
連続凸回数更新部167は、CPU911を用いて、二階符号判定部125が出力した最新の二階符号405を入力する。連続凸回数更新部167は、CPU911を用いて、入力した二階符号405に基づいて、連続上昇回数更新部151と同様の方式により、連続凸回数記憶部168が記憶した連続凸テーブルを更新する。連続凸回数記憶部168は、磁気ディスク装置920を用いて、更新された連続凸テーブルを記憶する。
連続凸回数算出部169は、CPU911を用いて、連続凸回数記憶部168が記憶した連続凸テーブルのなかから、最長の連続凸区間の長さを取得して、連続凸回数として出力する。
【0106】
図10は、この実施の形態における波形パターン検出装置100が算出する波形特徴量の一例を示す図である。
この例において、パターンサンプル数は5であるものとする。
連続上昇テーブル421は、連続上昇回数記憶部152が記憶する連続上昇テーブルである。連続上昇テーブル421は、連続上昇区間を表わす開始時刻422と連続上昇回数423との組を記憶している。
【0107】
パターンサンプル数が5なので、対象部分パターンの区間は、四つ前から最新までの区間である。例えば、時刻「16:23」において、対象部分パターンの区間は、「16:19」から「16:23」までである。このとき、連続上昇テーブル421には、開始時刻「16:19」連続上昇回数「2」の連続上昇区間と、開始時刻「16:22」連続上昇回数「1」の連続上昇区間との二つの連続上昇区間を記憶している。最長の連続上昇区間は、連続上昇回数記憶部152が記憶した連続上昇テーブル421のうち最古の連続上昇区間であるから、この場合、最長連続上昇回数424は「2」である。
【0108】
時刻「16:24」において、対象部分パターンの区間は「16:20」から「16:24」までに変化する。入力した差分符号406が「正」であり、最新の連続上昇区間が時刻「16:22」(二つ前)までで現在は連続上昇中でないので、連続上昇回数更新部151は、CPU911を用いて、新たな連続上昇区間(開始時刻「16:24」、連続上昇回数「1」)を生成して、連続上昇テーブル421に追加する。
最古の連続上昇区間の開始時刻「16:19」が、対象部分パターンの区間外なので、連続上昇回数更新部151は、CPU911を用いて、最古の連続上昇区間の開始時刻を「16:20」に変更し、連続上昇回数を一つ減らして「1」とする。
連続上昇回数更新部151は、CPU911を用いて、連続上昇テーブル421のなかから連続上昇回数が「1」であるものを、新しいほうから順に検索し、開始時刻「16:24」を取得する。連続上昇回数更新部151は、CPU911を用いて、開始時刻が「16:24」よりも古い連続上昇区間を、連続上昇テーブル421から削除する。したがって、連続上昇回数記憶部152が記憶した連続上昇テーブル421のうち最古の連続上昇区間は、開始時刻「16:24」、連続上昇回数「1」の組となり、最長連続上昇回数424は「1」になる。
【0109】
時刻「16:25」において、対象部分パターンの区間は「16:21」から「16:25」までに変化する。入力した差分符号406が「正」であり、最新の連続上昇区間が時刻「16:24」(一つ前)までで現在連続上昇中なので、連続上昇回数更新部151は、CPU911を用いて、連続上昇回数記憶部152が記憶した連続上昇テーブル421のうち最新の連続上昇区間の連続上昇回数を一つ増やし、「2」とする。これにより、最長連続上昇回数424も「2」になる。
【0110】
このようにして、連続上昇回数記憶部152が記憶した連続上昇テーブルを、連続上昇回数更新部151が更新することにより、少ない計算量で、最長連続上昇回数424を求めることができる。連続上昇回数算出部153は、最長連続上昇回数424を、連続上昇回数として出力する。
【0111】
図11は、この実施の形態における波形パターン検出処理S600の全体の処理の流れの一例を示す全体フローチャート図である。
波形パターン検出処理S600は、実施の形態1で説明した工程に加えて、更に、連続合成特徴量算出工程S640を有する。
連続合成特徴量算出工程S640は、連続上昇回数算出工程S641、連続下降回数算出工程S642、連続変曲回数算出工程S646、連続凹回数算出工程S647、連続凸回数算出工程S648を有する。
【0112】
連続上昇回数算出工程S641において、連続上昇回数更新部151は、CPU911を用いて、差分符号判定工程S622で差分符号判定部115が判定した差分符号406に基づいて、連続上昇回数記憶部152が記憶した連続上昇テーブル421を更新する。連続上昇回数算出部153は、CPU911を用いて、連続上昇回数更新部151が更新した連続上昇テーブル421に基づいて、連続上昇回数を算出する。
【0113】
連続下降回数算出工程S642において、連続下降回数更新部154は、CPU911を用いて、差分符号判定工程S622で差分符号判定部115が判定した差分符号406に基づいて、連続下降回数記憶部155が記憶した連続下降テーブルを更新する。連続下降回数算出部156は、CPU911を用いて、連続下降回数更新部154が更新した連続下降テーブルに基づいて、連続下降回数を算出する。
【0114】
連続変曲回数算出工程S646において、連続変曲回数更新部161は、CPU911を用いて、波形変曲判定工程S626で波形変曲判定部121が判定した波形変曲407に基づいて、連続変曲回数記憶部162が記憶した連続変曲テーブルを更新する。連続変曲回数算出部163は、CPU911を用いて、連続変曲回数更新部161が更新した連続変曲テーブルに基づいて、連続変曲回数を算出する。
【0115】
連続凹回数算出工程S647において、連続凹回数更新部164は、CPU911を用いて、二階符号算出工程S628で二階符号判定部125が判定した二階符号405に基づいて、連続凹回数記憶部165が記憶した連続凹テーブルを更新する。連続凹回数算出部166は、CPU911を用いて、連続凹回数更新部164が更新した連続凹テーブルに基づいて、連続凹回数を算出する。
【0116】
連続凸回数算出工程S648において、連続凸回数更新部167は、CPU911を用いて、二階符号算出工程S628で二階符号判定部125が判定した二階符号405に基づいて、連続凸回数記憶部168が記憶した連続凸テーブルを更新する。連続凸回数算出部169は、CPU911を用いて、連続凸回数更新部167が更新した連続凸テーブルに基づいて、連続凸回数を算出する。
【0117】
図12は、この実施の形態における連続上昇回数算出工程S641の詳細な処理の流れの一例を示す詳細フローチャート図である。
連続上昇回数算出工程S641は、最新符号判定工程S721、上昇中判定工程S722、最新連続上昇回数増加工程S723、最新連続上昇回数比較工程S724、新規連続上昇生成工程S725、最古時刻位置比較工程S726、最古連続上昇回数減少工程S727、最長連続上昇回数探索工程S728、旧連続上昇選択工程S732、旧連続上昇消去工程S733、旧連続上昇繰り返し工程S734を有する。
【0118】
最新符号判定工程S721において、連続上昇回数更新部151は、CPU911を用いて、差分符号判定部115が出力した最新の差分符号406が正であるか否かを判定する。差分符号406が正であると判定した場合、連続上昇回数更新部151は、CPU911を用いて、上昇中判定工程S722へ進む。差分符号406が正でないと判定した場合、連続上昇回数更新部151は、CPU911を用いて、最古開始時刻比較工程S726へ進む。
【0119】
上昇中判定工程S722において、連続上昇回数更新部151は、CPU911を用いて、連続上昇回数記憶部152が記憶した連続上昇テーブル421から最新の連続上昇区間を取得して、最新の連続上昇区間の終了時刻を算出し、算出した終了時刻が、最新の波形数値の時刻(以下「現在時刻」と呼ぶ。)の一つ前であるか否かを判定する。一つ前と判定した場合は、現在上昇中であり、連続上昇回数更新部151は、CPU911を用いて、最新連続上昇回数増加工程S723へ進む。二つ以上前であると判定した場合は、現在上昇中ではなく、連続上昇回数更新部151は、CPU911を用いて、新規連続上昇生成工程S725へ進む。
【0120】
最新連続上昇回数増加工程S723において、連続上昇回数更新部151は、CPU911を用いて、上昇中判定工程S722で取得した最新の連続上昇区間の連続上昇回数423に「1」を加え、連続上昇回数記憶部152が記憶した連続上昇テーブル421を更新する。
最新連続上昇回数比較工程S724において、連続上昇回数更新部151は、CPU911を用いて、連続上昇回数記憶部152が記憶した連続上昇テーブル421から最古(すなわち最長)の連続上昇区間を取得する。連続上昇回数更新部151は、CPU911を用いて、最新連続上昇回数増加工程S723で更新した最新の連続上昇区間の連続上昇回数423と、取得した最古の連続上昇区間の連続上昇回数423とを比較する。最新の連続上昇回数423のほうが最古の連続上昇回数423より小さい場合、連続上昇回数更新部151は、CPU911を用いて、最古開始時刻比較工程S726へ進む。最新の連続上昇区間の連続上昇回数423が最古の連続上昇区間の連続上昇回数423以上である場合、連続上昇回数更新部151は、CPU911を用いて、旧連続上昇選択工程S732へ進む。
【0121】
新規連続上昇生成工程S725において、連続上昇回数更新部151は、CPU911を用いて、現在時刻を開始時刻とし、連続上昇回数を「1」とした連続上昇区間を生成して、連続上昇テーブル421に追加する。
【0122】
最古開始時刻比較工程S726において、連続上昇回数更新部151は、CPU911を用いて、連続上昇回数記憶部152が記憶した連続上昇テーブル421から最古(すなわち最長)の連続上昇区間を取得する。連続上昇回数更新部151は、CPU911を用いて、取得した最古の連続上昇区間の開始時刻422が、対象部分パターンの開始時刻より前か否かを判定する。最古の連続上昇区間の開始時刻422が対象部分パターンの開始時刻より前である場合は、区間外であり、連続上昇回数更新部151は、CPU911を用いて、最古連続上昇回数減少工程S727へ進む。最古の連続上昇区間の開始時刻422が対象部分パターンの開始時刻以降である場合は、区間内であり、連続上昇回数更新部151は、CPU911を用いて、連続上昇回数算出工程S641を終了する。
【0123】
最古連続上昇回数減少工程S727において、連続上昇回数更新部151は、CPU911を用いて、最古開始時刻比較工程S726で取得した最古の連続上昇区間の開始時刻422を、対象部分パターンの開始時刻に設定し、連続上昇回数423を一つ減らして、連続上昇回数記憶部152が記憶した連続上昇テーブル421を更新する。
最長連続上昇回数探索工程S728において、連続上昇回数更新部151は、CPU911を用いて、連続上昇回数記憶部152が記憶した連続上昇テーブル421を、新しいほうから順に検索して、連続上昇回数423が、最古連続上昇回数減少工程S727で更新した最古の連続上昇区間の連続上昇回数423以上である連続上昇区間を探す。最古の連続上昇区間よりも新しい連続上昇区間が見つかった場合、連続上昇回数更新部151は、CPU911を用いて、旧連続上昇選択工程S732へ進む。最古の連続上昇区間よりも新しい連続上昇区間が見つからなかった場合、連続上昇回数更新部151は、CPU911を用いて、連続上昇回数算出工程S641を終了する。
【0124】
旧連続上昇選択工程S732において、連続上昇回数更新部151は、CPU911を用いて、連続上昇回数記憶部152が記憶した連続上昇テーブル421のなかから、最長の連続上昇区間(最長連続上昇回数探索工程S728で見つけた連続上昇区間、あるいは最新連続上昇回数増加工程S723で更新した最新の連続上昇区間)よりも古い連続上昇区間を一つずつ順に選択する。
旧連続上昇消去工程S733において、連続上昇回数更新部151は、CPU911を用いて、旧連続上昇選択工程S732で選択した連続上昇区間を、連続上昇回数記憶部152が記憶した連続上昇テーブル421から削除する。
旧連続上昇繰り返し工程S734において、連続上昇回数更新部151は、CPU911を用いて、旧連続上昇選択工程S732で選択すべき連続上昇区間をすべて選択したか判定する。まだ選択していない連続上昇区間があると判定した場合、連続上昇回数更新部151は、CPU911を用いて、旧連続上昇選択工程S732に戻り、次の連続上昇区間を選択する。すべての連続上昇区間を選択したと判定した場合、連続上昇回数更新部151は、CPU911を用いて、連続上昇回数算出工程S641を終了する。
【0125】
連続下降回数算出工程S642、連続変曲回数算出工程S646、連続凹回数算出工程S647、連続凸回数算出工程S648の詳細な処理の流れは、連続上昇回数算出工程S641と同様なので、説明を省略する。
【0126】
この実施の形態における波形パターン検出装置100は、上記波形特徴量算出部として、連続上昇回数算出部153を有する。
上記連続上昇回数算出部153は、上記処理装置を用いて、上記差分符号判定部115が判定した差分符号406に基づいて、上記一連の部分波形数値のうち、上記差分符号406が正である部分波形数値が連続している数を算出して、連続上昇回数とし、算出した連続上昇回数を上記波形特徴量とする。
【0127】
この実施の形態における波形パターン検出装置100によれば、連続上昇回数算出部153が算出した連続上昇回数を波形特徴量とするので、波形パターンの形状が比較パターンに近い部分を検出することができる。また、連続上昇回数は、効率的に計算することができるので、計算量を少なくすることができ、処理装置の処理速度が遅い場合でも、実時間での検出をすることができる。
【0128】
この実施の形態における波形パターン検出装置100は、上記波形特徴量算出部として、連続下降回数算出部156を有する。
上記連続下降回数算出部156は、上記処理装置を用いて、上記差分符号判定部115が判定した差分符号406に基づいて、上記一連の部分波形数値のうち、上記差分符号406が負である部分波形数値が連続している数を算出して、連続下降回数とし、算出した連続下降回数を上記波形特徴量とする。
【0129】
この実施の形態における波形パターン検出装置100によれば、連続下降回数算出部156が算出した連続下降回数を波形特徴量とするので、波形パターンの形状が比較パターンに近い部分を検出することができる。また、連続下降回数は、効率的に計算することができるので、計算量を少なくすることができ、処理装置の処理速度が遅い場合でも、実時間での検出をすることができる。
【0130】
この実施の形態における波形パターン検出装置100は、更に、波形変曲判定部121を有し、上記波形特徴量算出部として、連続変曲回数算出部163を有する。
上記波形変曲判定部121は、上記処理装置を用いて、上記波形記憶部112が記憶した一連の波形数値のうち少なくともいずれかの波形数値について、上記波形数値について上記差分符号判定部115が判定した差分符号406と、上記波形数値の一つ前の波形数値について上記差分符号判定部115が判定した差分符号406とが異なるか否かを判定する。
上記連続変曲回数算出部163は、上記処理装置を用いて、上記波形変曲判定部121が判定した判定結果(波形変曲)に基づいて、上記一連の部分波形数値のうち、一つ前の部分波形数値と差分符号が異なる部分波形数値が連続している数を算出して、連続変曲回数とし、算出した連続変曲回数を上記波形特徴量とする。
【0131】
この実施の形態における波形パターン検出装置100によれば、連続変曲回数算出部163が算出した連続変曲回数を波形特徴量とするので、波形パターンの形状が比較パターンに近い部分を検出することができる。また、連続変曲回数は、効率的に計算することができるので、計算量を少なくすることができ、処理装置の処理速度が遅い場合でも、実時間での検出をすることができる。
【0132】
以上説明した波形パターン検出装置100によれば、サンプリング点数(パターンサンプル数)が多い場合にも、波形の特徴量同士の類似度を計算するため、計算にかける時間を低減することができる。比較するテンプレート(比較パターン)が複数ある場合にも、他のテンプレートとの類似度の比較処理時に使用した特徴量を利用することができるため、類似度の比較処理にかかる時間を低減することができる。前回抽出した特徴量からの差分のみを計算するため、特徴量を抽出するための計算時間を低減することができる。値の変動の傾向を特徴量として抽出することにより、指標値の挙動が離散的に変化する場合にもパターンを検出することができる。
【符号の説明】
【0133】
100 波形パターン検出装置、111 波形数値取得部、112 波形記憶部、113 波形差分算出部、114 波形差分記憶部、115 差分符号判定部、116 差分符号記憶部、121 波形変曲判定部、122 波形変曲記憶部、123 二階差分算出部、125 二階符号判定部、126 二階符号記憶部、131 上昇回数算出部、132 上昇回数記憶部、133 下降回数算出部、134 下降回数記憶部、141 変曲回数算出部、142 変曲回数記憶部、143 凹回数算出部、144 凹回数記憶部、145 凸回数算出部、146 凸回数記憶部、151 連続上昇回数更新部、152 連続上昇回数記憶部、153 連続上昇回数算出部、154 連続下降回数更新部、155 連続下降回数記憶部、156 連続下降回数算出部、161 連続変曲回数更新部、162 連続変曲回数記憶部、163 連続変曲回数算出部、164 連続凹回数更新部、165 連続凹回数記憶部、166 連続凹回数算出部、167 連続凸回数更新部、168 連続凸回数記憶部、169 連続凸回数算出部、181 比較特徴量記憶部、182 類似度算出部、183 閾値記憶部、184 類似判定部、185 判定結果通知部、401 時刻、402 波形数値、403 波形差分、404 二階差分、405 二階符号、406 差分符号、407 波形変曲、411 上昇回数、412 下降回数、413 変曲回数、414 凹回数、415 凸回数、421 連続上昇テーブル、422 開始時刻、423 連続上昇回数、424 最長連続上昇回数、800 監視システム、810 波形観測装置、820 検出結果通知装置、890 監視対象、901 表示装置、902 キーボード、903 マウス、904 FDD、905 CDD、906 プリンタ装置、907 スキャナ装置、910 システムユニット、911 CPU、912 バス、913 ROM、914 RAM、915 通信装置、920 磁気ディスク装置、921 OS、922 ウィンドウシステム、923 プログラム群、924 ファイル群、931 電話器、932 ファクシミリ機、940 インターネット、941 ゲートウェイ、942 LAN。

【特許請求の範囲】
【請求項1】
一連の数値によって表わされる波形パターンのなかから、所定数の一連の数値によって表わされる比較パターンに近い部分を検出する波形パターン検出装置において、
データを記憶する記憶装置と、データを処理する処理装置と、波形記憶部と、波形特徴量算出部と、比較特徴量記憶部と、類似度算出部と、類似判定部とを有し、
上記波形記憶部は、上記記憶装置を用いて、上記波形パターンを表わす一連の数値を、一連の波形数値として記憶し、
上記波形特徴量算出部は、上記処理装置を用いて、上記波形記憶部が記憶した一連の波形数値のうち少なくともいずれかの波形数値を対象波形数値とし、上記対象波形数値以前の上記所定数の波形数値を一連の部分波形数値とし、上記一連の部分波形数値の特徴を表わす特徴量を算出して、上記対象波形数値についての波形特徴量とし、
上記比較特徴量記憶部は、上記記憶装置を用いて、上記比較パターンを表わす一連の数値の特徴を表わす特徴量を、比較特徴量として記憶し、
上記類似度算出部は、上記処理装置を用いて、上記波形特徴量算出部が算出した波形特徴量と、上記比較特徴量記憶部が記憶した比較特徴量とに基づいて、上記波形パターンのうち上記一連の部分波形数値によって表わされる部分と、上記比較パターンとの類似度を算出し、
上記類似判定部は、上記処理装置を用いて、上記類似度算出部が算出した類似度に基づいて、上記波形パターンのうち上記一連の部分波形数値によって表わされる部分が、上記比較パターンに近いか否かを判定することを特徴とする波形パターン検出装置。
【請求項2】
上記波形特徴量算出部は、上記処理装置を用いて、対象波形数値についての波形特徴量を、上記対象波形数値の一つ前の波形数値について算出した波形特徴量に基づいて算出することを特徴とする請求項1に記載の波形パターン検出装置。
【請求項3】
上記波形パターン検出装置は、更に、波形差分算出部を有し、
上記波形差分算出部は、上記処理装置を用いて、上記波形記憶部が記憶した一連の波形数値のうち少なくともいずれかの波形数値について、上記波形数値と、上記波形数値の一つ前の波形数値との差を算出して、波形差分とし、
上記波形特徴量算出部は、上記処理装置を用いて、上記波形差分算出部が算出した波形差分に基づいて、上記波形特徴量を算出することを特徴とする請求項1または請求項2に記載の波形パターン検出装置。
【請求項4】
上記波形パターン検出装置は、更に、差分符号判定部を有し、
上記差分符号判定部は、上記処理装置を用いて、上記波形差分算出部が算出した波形差分に基づいて、上記波形差分の符号を判定して、差分符号とし、
上記波形特徴量算出部は、上記処理装置を用いて、上記差分符号判定部が判定した差分符号に基づいて、上記波形特徴量を算出することを特徴とする請求項3に記載の波形パターン検出装置。
【請求項5】
上記波形パターン検出装置は、上記波形特徴量算出部として、上昇回数算出部を有し、
上記上昇回数算出部は、上記処理装置を用いて、上記差分符号判定部が判定した差分符号に基づいて、上記一連の部分波形数値のうち、上記差分符号が正である部分波形数値の数を算出して、上昇回数とし、算出した上昇回数を上記波形特徴量とすることを特徴とする請求項4に記載の波形パターン検出装置。
【請求項6】
上記上昇回数算出部は、上記処理装置を用いて、上記対象波形数値の一つ前の波形数値について算出した上昇回数と、上記対象波形数値より上記所定数前の波形数値について上記差分符号判定部が判定した差分符号と、上記対象波形数値について上記差分符号判定部が判定した差分符号とに基づいて、上記対象波形数値についての上昇回数を算出することを特徴とする請求項5に記載の波形パターン検出装置。
【請求項7】
上記波形パターン検出装置は、上記波形特徴量算出部として、下降回数算出部を有し、
上記下降回数算出部は、上記処理装置を用いて、上記差分符号判定部が判定した差分符号に基づいて、上記一連の部分波形数値のうち、上記差分符号が負である部分波形数値の数を算出して、下降回数とし、算出した下降回数を上記波形特徴量とすることを特徴とする請求項4乃至請求項6のいずれかに記載の波形パターン検出装置。
【請求項8】
上記下降回数算出部は、上記処理装置を用いて、上記対象波形数値の一つ前の波形数値について算出した下降回数と、上記対象波形数値より上記所定数前の波形数値について上記差分符号判定部が判定した差分符号と、上記対象波形数値について上記差分符号判定部が判定した差分符号とに基づいて、上記対象波形数値についての下降回数を算出することを特徴とする請求項7に記載の波形パターン検出装置。
【請求項9】
上記波形パターン検出装置は、更に、波形変曲判定部を有し、上記波形特徴量算出部として、変曲回数算出部を有し、
上記波形変曲判定部は、上記処理装置を用いて、上記波形記憶部が記憶した一連の波形数値のうち少なくともいずれかの波形数値について、上記波形数値について上記差分符号判定部が判定した差分符号と、上記波形数値の一つ前の波形数値について上記差分符号判定部が判定した差分符号とが異なるか否かを判定し、
上記変曲回数算出部は、上記処理装置を用いて、上記波形変曲判定部が判定した判定結果に基づいて、上記一連の部分波形数値のうち、一つ前の部分波形数値と差分符号が異なる部分波形数値の数を算出して、変曲回数とし、算出した変曲回数を上記波形特徴量とすることを特徴とする請求項4乃至請求項8のいずれかに記載の波形パターン検出装置。
【請求項10】
上記変曲回数算出部は、上記処理装置を用いて、上記対象波形数値の一つ前の波形数値について算出した変曲回数と、上記対象波形数値より上記所定数前の波形数値について上記波形変曲判定部が判定した判定結果と、上記対象波形数値について上記波形変曲判定部が判定した判定結果とに基づいて、上記対象波形数値についての変曲回数を算出することを特徴とする請求項9に記載の波形パターン検出装置。
【請求項11】
上記波形パターン検出装置は、上記波形特徴量算出部として、連続上昇回数算出部を有し、
上記連続上昇回数算出部は、上記処理装置を用いて、上記差分符号判定部が判定した差分符号に基づいて、上記一連の部分波形数値のうち、上記差分符号が正である部分波形数値が連続している数を算出して、連続上昇回数とし、算出した連続上昇回数を上記波形特徴量とすることを特徴とする請求項4乃至請求項10のいずれかに記載の波形パターン検出装置。
【請求項12】
上記波形パターン検出装置は、上記波形特徴量算出部として、連続下降回数算出部を有し、
上記連続下降回数算出部は、上記処理装置を用いて、上記差分符号判定部が判定した差分符号に基づいて、上記一連の部分波形数値のうち、上記差分符号が負である部分波形数値が連続している数を算出して、連続下降回数とし、算出した連続下降回数を上記波形特徴量とすることを特徴とする請求項4乃至請求項11のいずれかに記載の波形パターン検出装置。
【請求項13】
上記波形パターン検出装置は、更に、波形変曲判定部を有し、上記波形特徴量算出部として、連続変曲回数算出部を有し、
上記波形変曲判定部は、上記処理装置を用いて、上記波形記憶部が記憶した一連の波形数値のうち少なくともいずれかの波形数値について、上記波形数値について上記差分符号判定部が判定した差分符号と、上記波形数値の一つ前の波形数値について上記差分符号判定部が判定した差分符号ととが異なるか否かを判定し、
上記連続変曲回数算出部は、上記処理装置を用いて、上記波形変曲判定部が判定した判定結果に基づいて、上記一連の部分波形数値のうち、一つ前の部分波形数値と差分符号が異なる部分波形数値が連続している数を算出して、連続変曲回数とし、算出した連続変曲回数を上記波形特徴量とすることを特徴とする請求項4乃至請求項12のいずれかに記載の波形パターン検出装置。
【請求項14】
上記類似度算出部は、上記処理装置を用いて、上記波形特徴量と上記比較特徴量とをそれぞれベクトルとみなし、上記波形特徴量のベクトルと上記比較特徴量のベクトルとがなす角度に基づいて、上記類似度を算出することを特徴とする請求項1乃至請求項13のいずれかに記載の波形パターン検出装置。
【請求項15】
上記類似判定部は、上記処理装置を用いて、上記類似度算出部が算出した類似度が所定の閾値より大きい場合に、上記波形パターンのうち上記一連の部分波形数値によって表わされる部分が、上記比較パターンに近いと判定することを特徴とする請求項1乃至請求項14のいずれかに記載の波形パターン検出装置。
【請求項16】
データを記憶する記憶装置とデータを処理する処理装置とを有するコンピュータが実行することにより、上記コンピュータを請求項1乃至請求項15のいずれかに記載の波形パターン検出装置として機能させることを特徴とするコンピュータプログラム。
【請求項17】
データを記憶する記憶装置と、データを処理する処理装置とを有する波形パターン検出装置が、一連の数値によって表わされる波形パターンのなかから、所定数の一連の数値によって表わされる比較パターンに近い部分を検出する波形パターン検出方法において、
上記処理装置が、上記波形パターンを表わす一連の波形数値のうち少なくともいずれかの波形数値を対象波形数値とし、上記対象波形数値以前の上記所定数の波形数値を一連の部分波形数値とし、上記一連の部分波形数値の特徴を表わす特徴量を算出して、上記対象波形数値についての波形特徴量とし、
上記処理装置が、算出した波形特徴量と、上記比較パターンを表わす一連の数値の特徴を表わす比較特徴量とに基づいて、上記波形パターンのうち上記一連の部分波形数値によって表わされる部分と、上記比較パターンとの類似度を算出し、
上記処理装置が、算出した類似度に基づいて、上記波形パターンのうち上記一連の部分波形数値によって表わされる部分が、上記比較パターンに近いか否かを判定することを特徴とする波形パターン検出方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2010−216849(P2010−216849A)
【公開日】平成22年9月30日(2010.9.30)
【国際特許分類】
【出願番号】特願2009−61192(P2009−61192)
【出願日】平成21年3月13日(2009.3.13)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】