説明

フィルタ装置、フィルタ装置のフィルタリング方法およびフィルタリングプログラム

【課題】時系列データに対して、スパイク型ノイズ212を識別し、スパイク型ノイズ212を検出して除去することを目的とする。
【解決手段】分析対象行列生成部120は基準データ220から抽出した複数の基準レコード221と分析対象データ210から抽出した1つの分析対象レコード211とをそれぞれ列にして分析対象行列240を分析対象レコード211毎に生成する。主成分分析部130は各分析対象行列240を主成分分析して各第1主成分係数列ベクトル251から成る第1主成分係数行列260を生成する。ノイズ検出部140は第1主成分係数行列260から抽出した第1主成分係数正方行列261の逆対角成分262の比率ρを算出する。スパイク型ノイズ除去部150は逆対角比ρとノイズ判定閾値ntとの比較によりスパイク型ノイズ212と判定された逆対角成分262に対応する時点の分析対象データ210の計測値を除去する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば、時系列データをイベントに変換する際に変換精度を劣化させる要因となるスパイク型ノイズを除去するフィルタ装置、フィルタ装置のフィルタリング方法およびフィルタリングプログラムに関するものである。
【背景技術】
【0002】
情報セキュリティ、ネットワーク監視、設備管理などの分野を中心に、情報漏えい、不正アクセス、機器故障などの事象の発生を履歴として収集・蓄積したログデータを監視して警告、警報などのイベントを発生させ、情報、ネットワーク、設備の管理を高度化しようとする動きが進んでいる。また、ログデータとは別に、センサーなどの計測手段を用いてリアルタイムに計測したデータを収集・蓄積した時系列データがある。この時系列データは機器、ネットワーク、設備などの状況を正確に把握するうえで重要なものである。ログデータと時系列データとを統合的に分析するためには、時系列データから事象の発生を抽出する履歴生成が必要になる。この履歴生成は、時系列データが事前に設定したある値より大きい値を示した時にアラートイベントを発生させるなどの手段によって行われる。
【0003】
時系列データは、一般的に、機器などに取り付けられた計測器から自動的に一定間隔でデータを収集し蓄積したものである。また、時系列データは、計測器や偶然発生した状況に起因するなどして、機器本来の状態とは無関係に極端に大きな値(ノイズ)を局所的に示すことがある。
このノイズの特徴として以下の2点が挙げられる。
(1)瞬間的に大きな値をとる。
(2)発生した時点の前後は正常な値である。
このような性質を持つノイズをスパイク型ノイズと呼ぶ。
スパイク型ノイズが含まれた時系列データから事象の発生を抽出してイベントを発生させることは困難である。例えば、閾値によりアラートイベントを発生させようとすると、スパイク型ノイズでもアラートイベントが発生してしまう。また例えば、過去のデータに基づいてどの範囲の値がセンサーから上がってきたときにアラートイベントを発生させるかをデータマイニング技術で学習するアラートシステムでは、スパイク型ノイズの値をアラートイベントを発生させない値と学習するため、アラートイベントを発生させるべき異常値がスパイク型ノイズより小さい値である場合にアラートイベントを発生させることができない。
そこで、時系列データから正しく履歴を生成させるためにはスパイク型ノイズを高精度に検出して確実に除去する必要がある。
【0004】
従来、信号処理などの分野では、周波数帯域、主成分分析で得られる主成分得点、ウェーブレット分解などを用いた多くのフィルタリング技術が発明されてきた。これらのフィルタリング技術は、信号に含まれる全てのノイズを除去するために、ノイズを含む高周波数の信号を除去し、信号の基本的な性質を表す低周波数の信号を残すことを目的としたものである。したがって、これらのフィルタリング技術を適用すると、スパイク型ノイズと共にアラートイベントを発生させたい異常信号も含めて、高周波数を持つ全ての信号が除去されてしまうことになる。
一方、時系列データから正しく履歴を生成するためには、スパイク型ノイズの除去が重要であるとともに、異常時のデータはそのままの状態にしておくことも要求される。一般に、機器の異常が発生したときの周波数が高くなることはよく知られており、スパイク型ノイズだけを除去するという目的のために時系列データに対して従来のフィルタリング技術を適用することは不向きである。
例えば、図4が示すデータは、シミュレーションで生成した分析対象データ210であり、スパイク型ノイズ212、定常時計測値213、異常時計測値214を含んでいる。この分析対象データ210に対してウェーブレット分解を用いてノイズを除去した結果は図14のようになる。図14からもわかるように、ウェーブレット分解によるフィルタリングは、スパイク型ノイズ212を除去することができるかどうか以前に、異常時計測値214が平滑化されてしまい、スパイク型ノイズ212だけを除去するフィルタとしては不向きである。
【特許文献1】特開2006−79479号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
本発明は、例えば、上記した従来技術の課題を取り除くためになされたものであって、時系列データに対して、スパイク型ノイズと異常発生時のデータとを識別し、スパイク型ノイズを検出して除去することにより、異常発生時にのみアラートイベントを正確に発生させることができるようにすることを目的とする。
【課題を解決するための手段】
【0006】
本発明のフィルタ装置は、各時点の計測値を示す分析対象データからノイズが発生した時点の計測値であるノイズ値を検出するフィルタ装置であり、各時点の計測値を示すと共に前記ノイズ値を含んでいない基準データと前記分析対象データとを記憶機器から入力し、前記分析対象データから所定の時点数分の計測値を示す分析対象レコードを取得し、入力した前記基準データから前記所定の時点数分の計測値を示す基準レコードを取得し、前記分析対象レコードと前記基準レコードとで構成される行列である分析対象行列をCPU(Central Processing Unit)を用いて生成する分析対象行列生成部と、前記分析対象行列生成部が生成した前記分析対象行列をCPUを用いて主成分分析して前記所定の時点数分の第1主成分係数を示す第1主成分係数ベクトルを算出する主成分分析部と、前記主成分分析部が算出した前記第1主成分係数ベクトルが示す各第1主成分係数に基づいて前記分析対象レコードが示す前記所定の時点数分の計測値から前記ノイズ値をCPUを用いて検出するノイズ検出部とを備えたことを特徴とする。
【発明の効果】
【0007】
本発明によれば、時系列データ(分析対象データ)に対して、主成分分析の結果として得られる主成分係数を用いることにより、スパイク型ノイズ(ノイズ値)を検出することができる。これにより、例えば、時系列データからスパイク型ノイズを除去して、異常発生時にのみアラートイベントを正確に発生させることができる。
【発明を実施するための最良の形態】
【0008】
実施の形態1.
以下に、実施の形態1における履歴生成フィルタ装置100(フィルタ装置)のノイズ除去方法(フィルタリング方法、フィルタリングプログラム)を図面に基づいて詳細に説明する。なお、履歴生成フィルタ装置100は以下の形態に限定されるものではない。
【0009】
図1は、実施の形態1における履歴生成フィルタ装置100の構成例を示すブロック図である。
実施の形態1における履歴生成フィルタ装置100の構成例について、図1に基づいて以下に説明する。
【0010】
履歴生成フィルタ装置100は基準データ生成部110、分析対象行列生成部120、主成分分析部130、ノイズ検出部140、スパイク型ノイズ除去部150、分析対象データ記憶部191、基準データ記憶部192および過去計測データ記憶部193を備える。
【0011】
分析対象データ記憶部191は分析対象データ210が記憶された記憶機器である。分析対象データ記憶部191に記憶された分析対象データ210はカウンター、センサーなどのデータ計測手段(計測器)を用いてネットワークアクセス数、温度などの監視対象機器の状態値を一定のサンプリング時間(例えば、1秒、1分、1時間)で計測され収集された時系列データである。分析対象データ210には監視対象機器の正常状態を示す通常時の計測値(以下、定常時計測値213とする)、監視対象機器の異常状態を示す計測値(以下、異常時計測値214とする)および不定期に発生するノイズの計測値(ノイズ値)(以下、スパイク型ノイズ212とする)が含まれる。一般に、スパイク型ノイズ212は突出した値を示し、定常時計測値213や異常時計測値214より大きい値となる。各値は“定常時計測値213<異常時計測値214<スパイク型ノイズ212”という関係にある。
基準データ記憶部192は基準データ220が記憶される記憶機器である。基準データ記憶部192に記憶される基準データ220は、分析対象データ210に含まれるスパイク型ノイズ212を検出するために、分析対象データ210と比較させるデータである。基準データ220は、スパイク型ノイズ212を含まず、分析対象データ210と同じ監視対象機器を対象として、分析対象データ210と同じサンプリング時間で計測またはシミュレーションされた各時点の計測値を示す時系列データである。基準データ220は異常時計測値214を含んでいても、含んでいなくてもよい。
過去計測データ記憶部193は過去計測データ230が記憶された記憶機器である。過去計測データ記憶部193に記憶された過去計測データ230は、分析対象データ210と同じ監視対象機器を対象として、分析対象データ210と同じサンプリング時間で、過去に収集された計測値を示す時系列データである。過去計測データ230には、分析対象データ210と同様に、定常時計測値213、異常時計測値214およびスパイク型ノイズ212が含まれている。
【0012】
基準データ生成部110は分析対象データ210または統計パラメータに基づいて基準データ220をCPU(Central Processing Unit)を用いて生成する。例えば、基準データ生成部110はユーザが選択した分析対象データ210の一部の範囲を基準データ220として抽出する。ユーザは、分析対象データ210が示す時系列に並んだ計測値のうち、スパイク型ノイズ212を含んでいない時間帯のデータを選択する。また例えば、基準データ生成部110は、統計パラメータに基づいてスパイク型ノイズ212以外の計測値の各時点における分布を表す分布モデルを生成し、生成した分布モデルに基づくシミュレーションにより基準データ220を生成する。
【0013】
分析対象行列生成部120は、基準レコード取得部121、基準データ行列生成部122、分析対象レコード取得部123および分析対象1行列生成部124を備えて、分析対象データ210から取得される所定の時点数(後述する時間窓サイズw)分の計測値を示す分析対象レコード211と、基準データ220から取得される前記所定の時点数分の計測値を示す基準レコード221とで構成される行列を分析対象行列240としてCPUを用いて生成する。
基準レコード取得部121は基準データ220から基準レコード221を取得する。特に、基準レコード取得部121は基準レコード221を前記所定の時点数以上の数取得する。
基準データ行列生成部122は基準レコード取得部121が取得した複数の基準レコード221を行方向または列方向に並べた基準データ行列241を生成する。
分析対象レコード取得部123は分析対象データ210から分析対象レコード211を取得する。特に、分析対象レコード取得部123は、特定時点の計測値をそれぞれに含むと共に互いに異なる時点の計測値を含むように、複数の分析対象レコード211を取得する。また特に、分析対象レコード取得部123は分析対象データ210から分析対象レコード211を1時点づつずらして前記所定の時点数以上の数取得する。
分析対象1行列生成部124は基準データ行列生成部122が生成した基準データ行列241と分析対象レコード取得部123が取得した1つの分析対象レコード211とを行方向または列方向に並べた分析対象行列240を生成する。分析対象1行列生成部124は分析対象レコード取得部123が取得した分析対象レコード211毎に分析対象行列240を生成する。
【0014】
主成分分析部130は、分析対象行列生成部120が生成した分析対象行列240をCPUを用いて主成分分析して、前記所定の時点数分の第1主成分係数を示す第1主成分係数列ベクトル251(第1主成分係数ベクトル)を算出する。特に、主成分分析部130は分析対象行列生成部120が生成した各分析対象行列240毎に第1主成分係数列ベクトル251を算出し、各第1主成分係数列ベクトル251を時系列に行方向または列方向に並べた第1主成分係数行列260を生成する。主成分分析部130が生成した第1主成分係数行列260には特定時点の計測値に対応する第1主成分係数を示す特定の第1主成分係数を含む第1主成分係数列ベクトル251が複数(特に、前記所定の時点数と同数以上)含まれる。
【0015】
ノイズ検出部140は、第1主成分係数正方行列生成部141、第1主成分係数行列逆対角比導出部142、スパイク型ノイズ判定部143および閾値生成部144を備えて、主成分分析部130が算出した第1主成分係数列ベクトル251が示す各第1主成分係数に基づいて、分析対象レコード211が示す前記所定の時点数分の計測値からスパイク型ノイズ212をCPUを用いて検出する。
第1主成分係数正方行列生成部141(比率算出部)は、主成分分析部130が生成した第1主成分係数行列260から行または列を構成する各第1主成分係数列ベクトル251を前記所定の時点数と同じ数取得して、前記所定の時点数を行数及び列数とする正方行列である第1主成分係数正方行列261を生成する。
第1主成分係数行列逆対角比導出部142(比率算出部)は、第1主成分係数列ベクトル251に基づいて、各第1主成分係数の合算値に対する特定の第1主成分係数の比率を算出する。特に、第1主成分係数行列逆対角比導出部142は、各第1主成分係数列ベクトル251に基づいて、各第1主成分係数の合算値に対する各特定の第1主成分係数の合算値の比率を算出する。また特に、第1主成分係数行列逆対角比導出部142は、第1主成分係数正方行列生成部141が生成した第1主成分係数正方行列261に基づいて、第1主成分係数正方行列261の各成分の合算値に対する第1主成分係数正方行列261の逆対角成分の合算値の比率を算出する。また特に、第1主成分係数行列逆対角比導出部142は二乗和の比率を算出する。
スパイク型ノイズ判定部143(ノイズ判定部)は第1主成分係数行列逆対角比導出部142が算出した比率と所定の閾値とを比較し、比率が閾値以上である場合に前記特定の第1主成分係数に対応する時点の計測値をスパイク型ノイズ212と判定する。
閾値生成部144は、過去計測データ230に基づいてCPUを用いて統計処理を行って、スパイク型ノイズ判定部143が使用する閾値を算出する。
【0016】
スパイク型ノイズ除去部150はノイズ検出部140が検出したスパイク型ノイズ212を分析対象データ210からCPUを用いて除去する。例えば、スパイク型ノイズ除去部150はスパイク型ノイズ212に対する前後の時点の計測値の平均値を算出し、スパイク型ノイズ212を平均値に置換する。また例えば、スパイク型ノイズ除去部150はスパイク型ノイズ212より前の時点における複数の計測値の平均値を算出し、スパイク型ノイズ212を平均値に置換する。また例えば、スパイク型ノイズ除去部150はスパイク型ノイズ212より前の時点における複数の計測値に基づいて各時点における計測値の推定値を示す線形時系列モデルを生成し、スパイク型ノイズ212を線形時系列モデルが示すスパイク型ノイズ212の時点の計測値に置換する。
【0017】
履歴生成フィルタ装置100によりスパイク型ノイズ212が除去された分析対象データ210は履歴生成装置800に読み込まれ、履歴生成装置800は分析対象データ210から異常を検出した履歴データを生成してデータベース890に記憶する。また、履歴生成装置800は分析対象データ210から異常を検出した時に警報をスピーカー909から出力したり、警告メッセージをディスプレイ901に表示したりする。
例えば、履歴生成装置800は読み込んだ分析対象データ210の各計測値を所定の閾値と比較し、所定の閾値以上の値を示す計測値を異常値と判断し、異常値の時点を履歴データに書き出し、また、異常値を検出した時に警報・警告を出力する。
【0018】
履歴生成フィルタ装置100のスパイク型ノイズ212の除去処理と履歴生成装置800の履歴生成処理および警報・警告処理は、監視対象機器の状態値を計測する計測器から随時入力した分析対象データ210を用いてオンライン処理で行ってもよいし、監視対象機器の運用終了後に分析対象データ210を入力してオフライン処理で行ってもよい。
【0019】
図2は、実施の形態1における履歴生成フィルタ装置100のハードウェア資源の一例を示す図である。
図2において、履歴生成フィルタ装置100は、プログラムを実行するCPU911(Central・Processing・Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介してROM913、RAM914、通信ボード915、ディスプレイ901(表示装置)、キーボード902、マウス903、FDD904(Flexible・Disk・Drive)、CDD905(コンパクトディスク装置)、プリンタ装置906、スキャナ装置907、マイク908、スピーカー909、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置920の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶機器、記憶装置あるいは記憶部の一例である。また、入力データが記憶されている記憶機器は入力機器、入力装置あるいは入力部の一例であり、出力データが記憶される記憶機器は出力機器、出力装置あるいは出力部の一例である。
通信ボード915、キーボード902、スキャナ装置907、FDD904などは、入力機器、入力装置あるいは入力部の一例である。
また、通信ボード915、ディスプレイ901、プリンタ装置906などは、出力機器、出力装置あるいは出力部の一例である。
【0020】
通信ボード915は、有線または無線により、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)、電話網などに接続されている。
【0021】
磁気ディスク装置920には、OS921(オペレーティングシステム)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、OS921、ウィンドウシステム922により実行される。
【0022】
上記プログラム群923には、実施の形態において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
【0023】
ファイル群924には、実施の形態において、「〜部」の機能を実行した際の「〜の判定結果」、「〜の計算結果」、「〜の処理結果」などの結果データ、「〜部」の機能を実行するプログラム間で受け渡しするデータ、その他の情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。分析対象データ210、基準データ220、過去計測データ230、分析対象行列240、主成分係数行列250および第1主成分係数行列260などはファイル群924に含まれるものの一例である。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、実施の形態において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disc)等の記録媒体に記録される。また、データや信号値は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【0024】
また、実施の形態において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、フィルタリングプログラムは、「〜部」としてコンピュータを機能させるものである。あるいは、「〜部」の手順や方法をコンピュータに実行させるものである。
【0025】
図3は、実施の形態1におけるスパイク型ノイズ除去処理のフローチャートである。
実施の形態1における履歴生成フィルタ装置100が分析対象データ210からスパイク型ノイズ212を除去する処理(フィルタリング方法)および履歴生成装置800が履歴データを生成する履歴生成処理について、図3に基づいて以下に説明する。
まず、全体の流れについて説明し、その後、各処理の詳細について説明する。
【0026】
<S110:基準データ生成処理>
まず、基準データ生成部110は分析対象データ210と比較する基準データ220を生成する。
<S120:分析対象行列生成処理>
次に、分析対象行列生成部120は基準データ220の各基準レコード221と分析対象データ210の1つの分析対象レコード211とで分析対象行列240を生成する。
<S130:主成分分析処理>
次に、主成分分析部130は分析対象行列240を主成分分析して第1主成分係数列ベクトル251を取得する。そして、主成分分析部130は、S139の判定による各ループにおいて主成分分析した各分析対象行列240の第1主成分係数列ベクトル251を並べて第1主成分係数行列260を生成する。
<S139>
次に、分析対象行列生成部120は全分析対象レコード211に対して分析対象行列240を生成済みか否かを判定する。
そして、未処理の分析対象レコード211が有ると判定した場合、S120に処理を戻し、分析対象行列生成部120は新たな分析対象レコード211に対して分析対象行列240を生成する。
<S140:ノイズ検出処理>
S139において分析対象行列生成部120が全分析対象レコード211を処理済みと判定した場合、ノイズ検出部140は第1主成分係数行列260に含まれる各第1主成分係数正方行列261を取得し、取得した各第1主成分係数正方行列261に基づいて各計測値がスパイク型ノイズ212か否かの判定を行って分析対象データ210に含まれるスパイク型ノイズ212を検出する。
<S150:ノイズ除去処理>
次に、スパイク型ノイズ除去部150は各スパイク型ノイズ212を平滑化したり、推定値に置換したりして分析対象データ210からスパイク型ノイズ212を除去する。
<S160:履歴変換処理>
そして、履歴生成装置800はノイズ除去後の分析対象データ210に基づいて履歴データを生成する。
【0027】
次に、基準データ生成処理(S110)の詳細について説明する。
基準データ220は分析対象データ210からスパイク型ノイズ212を含まないような期間を指定して生成してもよいし、あるいは、仮定した分布モデルによるシミュレーションで生成することも可能である。
【0028】
例えば、基準データ生成部110は分析対象データ記憶部191から分析対象データ210を入力し、入力した分析対象データ210をディスプレイ901にグラフ表示し、グラフ表示した分析対象データ210に対してユーザが指定した範囲の分析対象データ210を基準データ220として抽出し、抽出した基準データ220を基準データ記憶部192に記憶する。このとき、ユーザはグラフ表示された分析対象データ210から定常時計測値213と思われる範囲をスパイク型ノイズ212が含まれないように指定する。
図4は、実施の形態1における分析対象データ210を表したグラフの一例である。図4に示す分析対象データ210は、シミュレーションで生成した分析対象データ210であり、定常時計測値213、異常時計測値214およびスパイク型ノイズ212を含んでいる。図4において、3つの突出部分がスパイク型ノイズ212に相当し、低い計測値(10〜15程度)部分が定常時計測値213に相当し、中程度の計測値(20〜80程度)部分が異常時計測値214に相当する。なお、図4において、横軸は「時点」を示し、縦軸は各時点での「計測値」を示している。
例えば、分析対象データ210が図4に示すグラフで表される場合、ユーザは目視により定常時計測値213に相当する部分と思われる時点“50”から時点“150”の範囲を指定し、基準データ生成部110はユーザに指定された時点“50”から時点“150”のデータを分析対象データ210から基準データ220として抽出する。
【0029】
また例えば、基準データ生成部110は、所定またはユーザ指定の「平均」や「分散」などの統計的なパラメータに基づいて定常時計測値213の分布モデルを生成し、生成した分布モデルでシミュレーションを行って基準データ220を生成し、生成した基準データ220を基準データ記憶部192に記憶する。基準データ生成部110は、例えば、「平均=1、分散=1」の正規分布に従って、図4の定常時計測値213部分に相当する基準データ220を生成する。なお、図4に示す分析対象データ210は、大きな平均(>1)および大きな分散(>1)をパラメータとして異常時計測値214部分が生成され、ユーザ入力により各スパイク型ノイズ212が生成されている。
【0030】
次に、分析対象行列生成処理(S120)の詳細について説明する。
分析対象行列生成部120は、基準レコード取得部121、基準データ行列生成部122、分析対象レコード取得部123および分析対象1行列生成部124により、分析対象データ210と基準データ220とから一定の長さのデータ(レコード)を抽出し、抽出した各レコードを行として分析対象行列240を生成する。例えば、基準レコード取得部121、分析対象レコード取得部123は、滑走窓切り出し方法により、分析対象データ210、基準データ220からレコードを抽出する。
【0031】
図5は、実施の形態1における分析対象行列生成処理(S120)の基準レコード抽出処理(S121)〜分析対象レコード抽出処理(S123)を示す図である。
実施の形態1の分析対象行列生成処理(S120)における滑走窓切り出し方式による基準レコード抽出処理(S121)、基準データ行列生成処理(S122)および分析対象レコード抽出処理(S123)について、図5に基づいて以下に説明する。
【0032】
<S121:基準レコード抽出処理>
基準レコード取得部121は基準データ記憶部192から基準データ220を入力し、入力した基準データ220を先頭から最後まで滑走サイズsづつずらしながら時間窓サイズwづつ抽出する。抽出した時間窓サイズwの基準データ220を基準レコード221という。図5では、221a、221b、221c、221d、・・・が基準レコード取得部121により基準データ220から抽出されたことを示している。
図6は、実施の形態1における基準レコード取得処理(S121)の流れを示すフローチャートの一例である。
例えば、基準レコード取得部121は図6に示す処理により各基準レコード221を取得する。
図6において、基準レコード取得部121は、変数xに1を初期設定し(S121a)、基準データ220のうちx番目からw個の設定値を1つの基準レコード221として抽出し(S121b)、変数xに滑走サイズsを加算し(S121c)、以下、x+wが基準データ220の時点数T(計測値数)以下の間、S121bとS121cとを繰り返す。
【0033】
図5に戻り、分析対象行列生成処理(S120)の続きを説明する。
【0034】
<S122:基準データ行列生成処理>
次に、基準データ行列生成部122は基準レコード取得部121が抽出した各基準レコード221を「行(行ベクトル)」として基準データ行列241を生成する。
基準データ220の時点数がTである場合、基準データ行列生成部122により抽出された基準レコード221の数は「↓(T−w)/s↓+1」となる。ここで、「↓x↓」はxの小数点以下切り捨てを意味する。また、「T≧w」の関係を満たすものとする。つまり、基準データ行列生成部122が生成する基準データ行列241は(↓(T−w)/s↓+1)行w列の行列となる。特に、「s=1」とする場合、基準データ行列241は(T−w+1)行w列の行列となる。
【0035】
<S123:分析対象レコード抽出処理>
次に、分析対象レコード取得部123は分析対象データ記憶部191から分析対象データ210を入力し、基準レコード取得部121によるS121と同様に、入力した分析対象データ210を先頭から最後まで滑走サイズsづつずらしながら時間窓サイズwづつ抽出する。抽出した時間窓サイズwの分析対象データ210を分析対象レコード211という。また、分析対象レコード211を1行w列の分析対象データ行ベクトル242という。
【0036】
図7は、実施の形態1における分析対象行列生成処理(S120)の分析対象1行列生成処理(S124)を示す図である。
図7に示すように、上記で説明したS121〜S123の後、分析対象1行列生成部124は基準データ行列生成部122が生成した基準データ行列241と分析対象レコード取得部123が抽出した分析対象データ行ベクトル242とを並べて分析対象行列240を1つ生成する。つまり、分析対象1行列生成部124が生成する分析対象行列240は基準データ行列241に1行(分析対象データ行ベクトル242)追加した(T−w+2)行w列の行列となる(滑走サイズsが1の場合)。
分析対象1行列生成部124は分析対象データ行ベクトル242を分析対象行列240の最終行にしても、分析対象行列240の先頭行にしても、分析対象行列240の中間行(最終行でも先頭行でもない行)にしても構わない。
【0037】
上記の「滑走サイズs」、「時間窓サイズw」は分析対象行列240の行数が列数より多く(例えば、10倍程度)なるような整数として予め定義、または、予め定義された関係式により算出される。また、時間窓サイズwは分析対象データ210と基準データ220とで同じ値であり、例えば、分析対象データ210および基準データ220が1時間毎に計測された各計測値を示す場合、時間窓サイズwには6、12、24などの値が用いられる。また、滑走サイズsは分析対象データ210と基準データ220とで同じ値でも異なる値でもよく、分析対象データ210に対する滑走サイズsは後述するように「1」であるのが好ましい。
滑走サイズsが小さいほど分析対象行列240の行数は多くなり、時間窓サイズwが大きいほど分析対象行列240の列数は多くなる。また、分析対象行列240の行数および列数が多いほど、分析対象行列240における定常時計測値213の割合が大きくなり、分析対象行列240におけるスパイク型ノイズ212の割合が小さくなり、スパイク型ノイズ212が分析対象行列240の特徴となり、その後の処理において検出しやすいものとなる。
但し、行数および列数が大きいほど処理時間(演算量)が増えるため、滑走サイズsおよび時間窓サイズwはスパイク型ノイズ212の検出率やスパイク型ノイズ除去処理にかかる時間に応じて適宜設定する。また、時間窓サイズwは、スパイク型ノイズ212が分析対象行列240においてより特徴的な値を示すように、分析対象データ行ベクトル242にスパイク型ノイズ212が複数含まれない程度の大きさに設定するのが好ましい。
【0038】
図8は、実施の形態1における主成分分析処理(S130)を示す図である。
次に、実施の形態1における主成分分析処理(S130)の詳細について、図8に基づいて説明する。
【0039】
主成分分析部130は、図3のS139の判定による各ループにおいて、分析対象行列生成部120が生成した分析対象行列240を入力して主成分分析し(S131)、主成分分析して得られた主成分係数行列250から第1主成分係数列ベクトル251を抽出し(S132)、各ループで抽出した各第1主成分係数列ベクトル251を並べて第1主成分係数行列260を生成する(S133)。分析対象行列生成処理(S120)において分析対象データ210から分析対象データ行ベクトル242が時間窓サイズwでx個抽出された場合、第1主成分係数行列260はw行x列の行列となる。
【0040】
例えば、基準データ220が(b,b,b,・・・,b20)という20個の計測値を示し、分析対象データ210が(p,p,p,・・・,p50)という50個の計測値を示し、時間窓サイズwが“4”、滑走サイズsが“1”である場合、基準レコード221、基準データ行列241、分析対象データ行ベクトル242(分析対象レコード211)、分析対象行列240、主成分係数行列250および第1主成分係数行列260はそれぞれ以下のようになる。
【0041】
各基準レコード221は(b,b,b,b),(b,b,b,b),・・・,(b17,b18,b19,b20)という値を示し、基準レコード221の数は17となる。
【0042】
【数1】

【0043】
各分析対象データ行ベクトル242(分析対象レコード211)は(p,p,p,p),(p,p,p,p),・・・,(p47,p48,p49,p50)という値を示し、分析対象データ行ベクトル242の数は47となる。
【0044】
【数2】

【0045】
47個の分析対象行列240それぞれから主成分分析により算出された各主成分係数行列250はそれぞれ時間窓サイズwと同じ行列数、つまり、4行4列となり、47個の主成分係数行列250の各第1主成分係数列ベクトル251を全て並べて生成された第1主成分係数行列260は4行47列となる。
【0046】
主成分分析部130がS131において実行する主成分分析とは、主成分、主成分得点、主成分係数(または、主成分負荷量)を求めることにより、主成分分析したデータの特徴をそのデータの次元数より少ない次元数に圧縮して表すものである。主成分分析部130が主成分分析する分析対象行列240において次元数とは時点数のことである。
主成分分析部130は、主成分分析として例えば特異値分解を行う。
特異値分解において、階数rのn×m実行列Aは、n次直交行列U、m次直交行列Vおよびr個の対角成分行列Σを用いて、「A=UΣV」という分解式で表される。「V」はVの転置行列を示し、Σの対角要素はAの特異値を示す。この分解式において、分析対象行列240はAに対応し、主成分行列はΣに対応し、主成分得点行列はUに対応し、主成分係数行列250はVに対応する。主成分分析部130は、分析対象行列240をAとして特異値分解し、上記分解式におけるVを主成分係数行列250として算出する。Vである主成分係数行列250は分析対象行列240がw列の場合w行w列となり、第1列から順に第1主成分係数列ベクトル251、第2主成分係数行列ベクトル、・・・、第w主成分係数列ベクトルを示す。S132において、主成分分析部130は主成分係数行列250の第1列である第1主成分係数列ベクトル251を抽出する。第1主成分係数列ベクトル251はw行1列で表される。
また例えば、主成分分析部130は固有地分解により主成分分析を行ってもよい。
主成分分析では、正方行列Aは、Aの固有値であるスカラλおよびAの固有ベクトルであるベクトルvを用いて、「Av=λv」の関係式で表される。ここで、Aの固有値(スカラλ)を対角要素とする対角行列をΛ、固有値に対応する固有ベクトルから成る行列をVで表すと、上記関係式は「AV=VΛ」で表される。この関係式において、分析対象行列240はAに対応し、主成分係数行列250は特異でないVに対応する。
【0047】
図9は、実施の形態1における分析対象行列240と主成分係数行列250との関係を示す図である。
主成分分析する分析対象行列240の分析対象データ行ベクトル242と主成分分析により得られた主成分係数行列250の第1主成分係数列ベクトル251との関係について、図9に基づいて以下に説明する。
ここで、t時点からtx+w−1時点までの分析対象データ210の計測値(p,px+1,・・・,px+w−1)を分析対象データ行ベクトル242とする分析対象行列240がS131において主成分分析されたものとする。
分析対象データ行ベクトル242の第1列の値“p”がスパイク型ノイズ212による大きな値を示す場合、第1主成分係数列ベクトル251の第1行の値“V”が他の行の値に対して特に大きな値を示し、分析対象データ行ベクトル242の第2列の値“px+1”がスパイク型ノイズ212による大きな値を示す場合、第1主成分係数列ベクトル251の第2行の値“V”が他の行の値に対して特に大きな値を示し、分析対象データ行ベクトル242の第w列の値“p”がスパイク型ノイズ212による大きな値を示す場合、第1主成分係数列ベクトル251の第w行の値“V”が他の行の値に対して特に大きな値を示す。
つまり、分析対象行列240を主成分分析して得られた第1主成分係数列ベクトル251は、分析対象データ行ベクトル242に含まれる特徴量であるスパイク型ノイズ212が発生した時点(列)に対応する行に大きな値を示す。
第1主成分係数列ベクトル251はその性質として最も強い影響が出たデータに対応する要素が大きく、あまり影響のないデータに対応する要素は小さくなるという傾向がある。このため、第1主成分係数列ベクトル251において、近傍のデータに比べて突出した値を持つスパイク型ノイズ212に対応する要素は他の要素に比べて突出した大きい値を持つことになる。
【0048】
図10は、実施の形態1におけるノイズ検出処理(S140)を示す図である。
次に、実施の形態1におけるノイズ検出処理(S140)の詳細について、図10に基づいて説明する。
ノイズ検出処理(S140)において、ノイズ検出部140は主成分分析部130が生成した第1主成分係数行列260に基づいてスパイク型ノイズ212を検出する。
【0049】
<S141:第1主成分係数正方行列生成処理>
第1主成分係数正方行列生成部141は主成分分析部130から第1主成分係数行列260を入力し、入力した第1主成分係数行列260の第1列から1列づつずらしながらw列ずつ抽出して各第1主成分係数正方行列261を生成する。第1主成分係数行列260の各列はそれぞれ第1主成分係数正方行列261の第1列となる。
【0050】
図11は、実施の形態1における第1主成分係数正方行列261を説明する図である。
S141において第1主成分係数正方行列生成部141が生成する第1主成分係数正方行列261について、6行6列の第1主成分係数正方行列261を例にして、図11に基づいて以下に説明する。
第1主成分係数列ベクトル251は、図9において説明したように、分析対象データ210から抽出された分析対象データ行ベクトル242の各時点の特徴量を示す。
このため、図11において、t時点にスパイク型ノイズ212が発生した場合、滑走サイズsを「1」として抽出した各分析対象データ行ベクトル242(242a〜242f)に対応する各第1主成分係数列ベクトル251(251a〜251f)で構成される第1主成分係数正方行列261は、第1主成分係数列ベクトル251に対応する分析対象データ行ベクトル242が1時点づつずれ、逆対角成分262にt時点のスパイク型ノイズ212に対応して突出した大きな値を示すことになる。
逆対角成分262の各要素は、特定の時点(例えば、t)の分析対象データ210の計測値に相当する特徴量を示し、その特定の時点にスパイク型ノイズ212が発生していた場合、第1主成分係数正方行列261の他の要素と比べて突出して大きな値を示す。
第1主成分係数正方行列261において特定の時点の分析対象データ210の計測値に相当する特徴量を逆対角成分262に並べることにより、特定の時点の分析対象データ210の計測値がスパイク型ノイズ212であるか否かを判定することが容易になるため、滑走サイズsは「1」であるのが望ましい。
【0051】
図12は、実施の形態1における第1主成分係数正方行列261をグラフ化した図の一例である。
例えば、図4に示した分析対象データ210に対して、定常時計測値213部分について生成された正常時第1主成分係数正方行列301、異常時計測値214部分について生成された異常時第1主成分係数正方行列302および1つのスパイク型ノイズ212部分について生成されたスパイク型ノイズ発生時第1主成分係数正方行列303は、それぞれ図12に示すようなグラフで表される。
図12において正常時第1主成分係数正方行列301、異常時第1主成分係数正方行列302およびスパイク型ノイズ発生時第1主成分係数正方行列303はそれぞれ、6行6列で生成された第1主成分係数正方行列261について、各列の6つの要素の値を左上から右下に向かって表し、各行の6つの要素の値を左下から右上に向かって表している。なお、各列(第1主成分係数列ベクトル251)の要素の二乗和の合計値は「1」となる。各要素の値は0以上1以下の絶対値で表され、1に近づくほど他の要素と比べて突出した値を示すことになる。
図12では、スパイク型ノイズ発生時第1主成分係数正方行列303が正常時第1主成分係数正方行列301や異常時第1主成分係数正方行列302に比べて特殊であり、スパイク型ノイズ発生時第1主成分係数正方行列303の逆対角成分262のみが1に近い値である共に他の要素に比べて突出して大きな値であることを示している。
【0052】
ノイズ検出処理(S140)の続きを説明する。
【0053】
<S142:逆対角比算出処理>
図10において、第1主成分係数行列逆対角比導出部142は第1主成分係数正方行列生成部141が生成した各第1主成分係数正方行列261を入力し、入力した各第1主成分係数正方行列261について、第1主成分係数正方行列261の全要素の二乗和に対する逆対角成分262の各要素の二乗和の比率を逆対角比ρとして算出する。逆対角比ρはスパイク型ノイズ212の判定材料である。
逆対角比ρが二乗和(合算値の一例)の比率であることにより、逆対角成分262の比率をより強調することができると共に、負の値である要素を正の値にすることができる。
第1主成分係数行列逆対角比導出部142は以下の式により逆対角比ρを算出する。但し、逆対角比ρが二乗和の比率でなく絶対値の和(合算値の一例)の比率であっても構わない。
【0054】
【数3】

【0055】
<S143:ノイズ判定処理>
そして、スパイク型ノイズ判定部143は第1主成分係数行列逆対角比導出部142が各第1主成分係数正方行列261から算出した逆対角比ρそれぞれをノイズ判定閾値ntと比較し、逆対角比ρがノイズ判定閾値nt以上である場合に当該逆対角比ρに対応する時点(特定の時点)の計測値をスパイク型ノイズ212と判定し、逆対角比ρがノイズ判定閾値nt未満である場合に当該逆対角比ρに対応する時点の計測値をスパイク型ノイズ212でない計測値(定常時計測値213または異常時計測値214)と判定する。逆対角比ρに対応する時点の計測値(特定の時点)とは、逆対角比ρが算出された第1主成分係数正方行列261の逆対角成分262に対応する時点の計測値である。また、逆対角比ρに対応する時点の計測値とは、逆対角比ρが算出された第1主成分係数正方行列261の第1列の第1主成分係数列ベクトル251の第w行(最終行)に対応する時点の計測値であると共に、主成分分析により当該第1主成分係数列ベクトル251が算出された分析対象行列240の分析対象データ行ベクトル242のw番目(最終列)の計測値である。また、逆対角比ρに対応する時点の計測値とは、逆対角比ρが算出された第1主成分係数正方行列261の第w列の第1主成分係数列ベクトル251の第1行(先頭行)に対応する時点の計測値であると共に主成分分析により当該第1主成分係数列ベクトル251が算出された分析対象行列240の分析対象データ行ベクトル242の1番目(先頭列)の計測値である。
ノイズ判定閾値ntは1に近い所定の閾値(例えば、0.8、0.85、0.9などの0.8以上の値)を用いてもよいし、閾値生成部144が過去計測データ230に基づいて算出した値を用いてもよい。閾値生成部144は過去計測データ記憶部193から過去計測データ230を入力し、入力した過去計測データ230を統計処理して定常時計測値213、異常時計測値214およびスパイク型ノイズ212それぞれについて逆対角比ρの分布モデルを生成し、生成した分布モデルに基づいてノイズ判定閾値ntを算出する。
【0056】
次に、実施の形態1におけるノイズ除去処理(S150)の詳細について説明する。
ノイズ除去処理(S150)において、スパイク型ノイズ除去部150はスパイク型ノイズ212を平滑化したり、推定値に置き換えたりして分析対象データ210から除去する。
【0057】
スパイク型ノイズ除去部150は、スパイク型ノイズ判定部143がスパイク型ノイズ212であると判定した各計測値の時点をノイズ検出結果として入力し、ノイズ検出結果が示す各時点について分析対象データ記憶部191に記憶されている分析対象データ210の計測値(スパイク型ノイズ212)を定常時計測値213または異常時計測値214に置き換えて分析対象データ210からスパイク型ノイズ212を除去する。
【0058】
例えば、スパイク型ノイズ除去部150は、ノイズ検出結果が示す時点(t)に対する前の時点(ta−1、ta−2、・・・)の所定数の計測値と後の時点(ta+1、ta+2、・・・)の所定数の計測値とを分析対象データ210から取得し、取得した各計測値の平均値を算出し、算出した平均値で分析対象データ210の当該時点(t)の計測値を更新する(スパイク型ノイズ212の平滑化)。
また例えば、スパイク型ノイズ除去部150は、ノイズ検出結果が示す時点(t)の前の時点(ta−1、ta−2、・・・)の所定数の計測値を分析対象データ210から取得し、取得した各計測値の平均値(移動平均)を算出し、算出した平均値で分析対象データ210の当該時点(t)の計測値を更新する(スパイク型ノイズ212の平滑化)。
また例えば、スパイク型ノイズ除去部150は、ノイズ検出結果が示す時点(t)の前の時点(ta−1、ta−2、・・・)の所定数の計測値を分析対象データ210から取得し、取得した各計測値に基づいて各時点における定常時計測値213、異常時計測値214の推定値を示す線形時系列モデルを生成し、生成した線形時系列モデルに基づいて当該時点の推定値を算出し、算出した推定値で分析対象データ210の当該時点(t)の計測値を更新する。スパイク型ノイズ除去部150は線形時系列モデルとして、例えば、AR(Auto−regressive)、MA(Moving Average)、ARMA(Auto−regressive Moving Average)、ARIMA(Auto−regressive Integrated Moving Average)を用いて各時点の推定値を算出する。
スパイク型ノイズ除去部150は、ノイズ検出結果が示す全ての時点の計測値について、つまり、スパイク型ノイズ判定部143が判定した全てのスパイク型ノイズ212について、上記のように置換して分析対象データ210から除去する。上記において所定数の計測値とは1つの計測値でも、複数の計測値でも、全ての計測値でも構わない。
【0059】
図13は、実施の形態1におけるフィルタリングを行った分析対象データ210を表したグラフの一例である。
図14は、従来のフィルタリングを行った分析対象データ210を表したグラフの一例である。
第1主成分係数を利用したフィルタリング(S110〜S150)の結果を図13に示し、ウェーブレット分解によるフィルタリングの結果を図14に示している。図13、図14ともに図4に示した分析対象データ210をフィルタリングした結果である。
【0060】
図13に示すように、第1主成分係数を利用したフィルタリングでは「スパイク型ノイズ212が除去されている」と共に「異常時計測値214が除去されていない」。
一方、図14に示すウェーブレット分解によるフィルタリングでは「スパイク型ノイズ212が除去できていない」上に「異常時計測値214が除去されてしまっている」。
つまり、実施の形態1におけるスパイク型ノイズ除去処理により、分析対象データ210からスパイク型ノイズ212のみを除去することができる。
【0061】
次に、履歴生成処理(S160)の詳細について説明する。
履歴生成装置800は履歴生成フィルタ装置100の分析対象データ記憶部191からノイズ除去後の分析対象データ210を入力し、入力した分析対象データ210から異常を検出して履歴データを生成し、生成した履歴データをデータベース890に記憶する。また、履歴生成装置800は分析対象データ210から異常を検出した時にスピーカー909から警報を出力したり、ディスプレイ901に警告メッセージを表示したりする。
例えば、履歴生成装置800は分析対象データ210の各計測値を所定の閾値と比較し、所定の閾値以上の値を示す計測値を異常値と判断し、異常値の時点を履歴データに書き出し、また、異常値を検出した時に警報・警告を出力する。
図13に示したように、履歴生成フィルタ装置100によるノイズ除去後の分析対象データ210にはスパイク型ノイズ212が含まれず、且つ、異常時計測値214が残っているため、履歴生成装置800はスパイク型ノイズ212を異常値として検出することが無く、且つ、異常時計測値214を異常値として検出することができる。
【0062】
実施の形態1において、以下のような履歴生成フィルタ装置100について説明した。
履歴生成フィルタ装置100(フィルタ装置、履歴追生成フィルタ装置、履歴追跡型DBノイズ除去装置)は、履歴データや時系列データが混在するデータベースにおいて、何らかの手段で生成された基準となる時系列データ(基準データ220)と、分析の対象となる時系列データ(分析対象データ210)とを時間軸に沿ってあらかじめ決められたサイズの時間窓(時間窓サイズw)で一定間隔(滑走サイズs)で移動しながら切り出し、得られた同じ長さをもつ時系列群から構成される行列(分析対象行列240)を生成する行列データ生成手段(分析対象行列生成部120)を備える。
さらに、履歴生成フィルタ装置100は、前記行列データ生成手段によって生成された分析対象行列240を用いて主成分分析を行う手段(主成分分析部130)を備える。
さらに、履歴生成フィルタ装置100は、主成分分析の結果として得られる複数の第1主成分係数列ベクトル(第1主成分係数列ベクトル251)から生成される第1主成分係数行列260から正方行列(第1主成分係数正方行列261)を取り出す手段(第1主成分係数正方行列生成部141)と、その正方行列の逆対角比(逆対角成分比率)を順次算出する手段(第1主成分係数行列逆対角比導出部142)とを備える。
さらに、履歴生成フィルタ装置100は、前記手段により導出された逆対角比に基づきスパイク型ノイズ212を判定する手段(スパイク型ノイズ判定部143)を備える。
さらに、履歴生成フィルタ装置100は、前記手段によって得られる判定結果に基づき元の時系列データからスパイク型ノイズ212だけを平滑化して除去する手段(スパイク型ノイズ除去部150)を備える。
【0063】
前記正方行列を取り出す手段(第1主成分係数正方行列生成部141)は、前記行列データ生成手段によって生成された分析対象行列240から主成分分析により得られた第1主成分係数列ベクトルから要素数と同数の列数を持つ前記正方行列を生成する。
また、逆対角比を導出する前記手段(第1主成分係数行列逆対角比導出部142)は、前記正方行列の全ての要素の二乗和に対する逆対角成分262の二乗和の比率を導出する。
【0064】
前記判定手段(スパイク型ノイズ判定部143)は、逆対角比の確率モデルを近似的に導出し、統計的棄却域に基づきスパイク型ノイズ212か否かを判定する。
【0065】
前記ノイズ除去手段(スパイク型ノイズ除去部150)では、スパイク型ノイズ212が検出された箇所の以前のデータに基づいて特定の線形時系列モデルを生成し、生成されたモデルに当てはめることによりスパイク型ノイズ212を推定される値に変換する。
【0066】
前記行列データ生成手段(分析対象行列生成部120)は、収集された時系列データ(分析対象データ210)ではなく、事前のシミュレーションによって基準となる時系列データ(基準データ220)を生成する。
【0067】
以上で説明したように、実施の形態によれば、計測された時系列データ(分析対象データ210)から履歴を生成する際に、生成された履歴の信頼性を損なう要因となるスパイク型ノイズ212だけを精度よく識別して除去することを可能とする高信頼なフィルタ装置を提供できる。
【0068】
実施の形態2.
実施の形態1では、基準レコード221および分析対象レコード211(分析対象データ行ベクトル242)を行として分析対象行列240を生成する形態を説明した。
実施の形態2では、基準レコード221および分析対象レコード211(分析対象データ列ベクトル243)を列として分析対象行列240を生成する形態を説明する。
以下、実施の形態1と異なる事項を中心に説明し、説明を省略する事項については実施の形態1と同様であるものとする。
【0069】
履歴生成フィルタ装置100が実行するスパイク型ノイズ除去処理において、基準データ生成処理(S110)は実施の形態1と同じである。
【0070】
分析対象行列生成処理(S120)の基準データ行列生成処理(S122)において、基準データ行列生成部122は各基準レコード221を列として並べて基準データ行列241を生成する。
また、分析対象1行列生成処理(S124)において、分析対象1行列生成部124は、分析対象レコード211(分析対象データ列ベクトル243)を列として、基準データ行列241と分析対象レコード211とを並べて分析対象行列240を生成する。分析対象レコード211は分析対象行列240の最終列、先頭列または最終列でも先頭列でもない中間列のいずれであっても構わない。
【0071】
主成分分析処理(S130)において特異値分解を行う場合、実施の形態1で説明した特異値分解式「A=UΣV」は、実施の形態2において、Uが主成分係数行列250に対応し、Vが主成分得点行列に対応する。実施の形態2における主成分分析部130は分析対象行列240をAとして特異値分解し、特異値分解式のUを主成分係数行列250として算出する。実施の形態2において主成分分析部130が算出する主成分係数行列250は、実施の形態1における主成分係数行列250と同様に、第1列が第1主成分係数列ベクトル251となる。
【0072】
実施の形態2におけるスパイク型ノイズ除去処理のノイズ検出処理(S140)以降の処理は、実施の形態1と同じである。
【0073】
実施の形態2では、実施の形態1と同じ効果を得ることができ、分析対象データ210からスパイク型ノイズ212のみを除去することができる。
【0074】
実施の形態3.
実施の形態1では滑走サイズsを「1」とする形態について説明した。
実施の形態3では滑走サイズsを「2以上」とする形態について説明する。
以下、実施の形態1および実施の形態2と異なる事項を中心に説明し、説明を省略する事項については実施の形態1または実施の形態2と同様であるものとする。
【0075】
履歴生成フィルタ装置100が実行するスパイク型ノイズ除去処理において、基準データ生成処理(S110)〜主成分分析処理(S130)は実施の形態1または実施の形態2と同じである。
【0076】
図15は、実施の形態1の図11に対応する図である。
図15に示すように、滑走サイズsが「1」でない場合、特定の時点tに対応する第1主成分係数(特定要素263)は第1主成分係数行列260において逆対角成分262の要素とはならない。
そこで、ノイズ検出部140(第1主成分係数正方行列生成部141)は特定の時点tに対応する第1主成分係数を含む第1主成分係数列ベクトル251を第1主成分係数行列260から抽出して実施の形態1の第1主成分係数正方行列261に相当する行列を生成する。
このとき、第1主成分係数列ベクトル251の要素は時間窓サイズw個であり、第1主成分係数正方行列生成部141が第1主成分係数行列260から抽出する第1主成分係数列ベクトル251の数は「↑w/s↑」となる。ここで、「↑x↑」はxの小数点以下切り上げを意味する。
【0077】
図16は、実施の形態1の図10に対応する図である。
例えば、時間窓サイズwが「4」、滑走サイズsが「2」である場合、図16に示すように、ノイズ検出部140(第1主成分係数正方行列生成部141)はS141において第1主成分係数行列260から2列ずつ抽出して実施の形態1における第1主成分係数正方行列261に相当する行列を生成する。
【0078】
S142において、ノイズ検出部140(第1主成分係数行列逆対角比導出部142)は以下の式により実施の形態1の逆対角比ρに相当する値ρ’を算出する。ρ’は、逆対角比ρと同様に、特定の時点に対応する第1主成分係数(特定要素263)を含む複数の第1主成分係数列ベクトル251について、各第1主成分係数列ベクトル251の各要素の合算値(下記式の分母の値)に対する各特定要素263の合算値(下記式の分子の値)の比率を示す。実施の形態1と同様、合算値は二乗和でなく、絶対値の和であっても構わない。
【0079】
【数4】

【0080】
ノイズ判定処理(S143)において、スパイク型ノイズ判定部143はρ’をノイズ判定閾値ntと比較して、実施の形態1と同様に、特定の時点の計測値がスパイク型ノイズ212であるか否かを判定する。
【0081】
実施の形態3におけるスパイク型ノイズ除去処理のノイズ除去処理(S150)以降の処理は、実施の形態1と同じである。
【0082】
実施の形態3では、実施の形態1と同様な効果を得ることができ、分析対象データ210からスパイク型ノイズ212のみを除去することができる。
【0083】
実施の形態4.
実施の形態1では、第1主成分係数行列260から抽出した複数の第1主成分係数列ベクトル251により第1主成分係数正方行列261を生成し、生成した第1主成分係数正方行列261における逆対角比ρに基づいて逆対角成分262に対応する時点の計測値がスパイク型ノイズ212か否かを判定する形態について説明した。
実施の形態4では、第1主成分係数行列260から第1主成分係数列ベクトル251を1つ抽出し、抽出した1つの第1主成分係数列ベクトル251の特定要素263の比率ρ’’(実施の形態1の逆対角比ρに相当)に基づいて特定要素263に対応する時点(特定の時点)の計測値がスパイク型ノイズ212か否かを判定する形態について説明する。
以下、実施の形態1〜実施の形態3と異なる事項を中心に説明し、説明を省略する事項については実施の形態1〜実施の形態3の少なくともいずれかと同様であるものとする。
【0084】
履歴生成フィルタ装置100が実行するスパイク型ノイズ除去処理において、基準データ生成処理(S110)〜主成分分析処理(S130)は実施の形態1〜実施の形態3の少なくともいずれかと同じである。
【0085】
図17は、実施の形態1の図10に対応する図である。
実施の形態4におけるノイズ検出処理(S140)について、図17に基づいて以下に説明する。
【0086】
まず、ノイズ検出部140(第1主成分係数正方行列生成部141)は第1主成分係数行列260から1列ずつ第1主成分係数列ベクトル251を抽出する(S141)。
次に、ノイズ検出部140(第1主成分係数行列逆対角比導出部142)は抽出した第1主成分係数列ベクトル251の各要素の合算値に対する第1主成分係数列ベクトル251に含まれる特定要素263の値の比率ρ’’を以下の式により算出する(S142)。
そして、ノイズ検出部140(スパイク型ノイズ判定部143)はρ’’をノイズ判定閾値ntと比較して、実施の形態1と同様に、第1主成分係数列ベクトル251の特定要素263に対応する時点の計測値がスパイク型ノイズ212であるか否かを判定する(S143)。
【0087】
【数5】

【0088】
図17では特定要素263を第1主成分係数列ベクトル251の第1行としているが、特定要素263は第1主成分係数列ベクトル251の他の行であっても構わない。
また、上記説明では、第1主成分係数列ベクトル251の1つの要素(特定要素263)について当該時点の計測値がスパイク型ノイズ212か否かの判定を行っているが、第1主成分係数列ベクトル251の全要素について当該時点の計測値がスパイク型ノイズ212か否かの判定を行っても構わない。例えば、ノイズ検出部140は、S141において抽出した1つの第1主成分係数列ベクトル251(v11、v21、v31、v41)から、v11、v21、v31、v41のそれぞれを特定要素263としてρ’’を算出し(S142)、v11、v21、v31、v41のそれぞれに対応する各時点の計測値がスパイク型ノイズ212であるか否かを判定しても構わない(S143)。
【0089】
実施の形態4におけるスパイク型ノイズ除去処理のノイズ除去処理(S150)以降の処理は、実施の形態1と同じである。
【0090】
実施の形態4では、実施の形態1と同様な効果を得ることができ、分析対象データ210からスパイク型ノイズ212のみを除去することができる。
【図面の簡単な説明】
【0091】
【図1】実施の形態1における履歴生成フィルタ装置100の構成例を示すブロック図。
【図2】実施の形態1における履歴生成フィルタ装置100のハードウェア資源の一例を示す図。
【図3】実施の形態1におけるスパイク型ノイズ212除去処理のフローチャート。
【図4】実施の形態1における分析対象データ210を表したグラフの一例。
【図5】実施の形態1における分析対象行列生成処理(S120)の滑走窓切り出し方法を示す図。
【図6】実施の形態1における基準レコード取得処理(S121)の流れを示すフローチャートの一例。
【図7】実施の形態1における分析対象行列生成処理(S120)の分析対象1行列生成処理(S124)を示す図。
【図8】実施の形態1における主成分分析処理(S130)を示す図。
【図9】実施の形態1における分析対象行列240と主成分係数行列250との関係を示す図。
【図10】実施の形態1におけるノイズ検出処理(S140)を示す図。
【図11】実施の形態1における第1主成分係数正方行列261を説明する図。
【図12】実施の形態1における第1主成分係数正方行列261をグラフ化した図の一例。
【図13】実施の形態1におけるフィルタリングを行った分析対象データ210を表したグラフの一例。
【図14】従来のフィルタリングを行った分析対象データ210を表したグラフの一例。
【図15】実施の形態3における第1主成分係数正方行列261を説明する図。
【図16】実施の形態3におけるノイズ検出処理(S140)を示す図。
【図17】実施の形態4におけるノイズ検出処理(S140)を示す図。
【符号の説明】
【0092】
100 履歴生成フィルタ装置、110 基準データ生成部、120 分析対象行列生成部、121 基準レコード取得部、122 基準データ行列生成部、123 分析対象レコード取得部、124 分析対象1行列生成部、130 主成分分析部、140 ノイズ検出部、141 第1主成分係数正方行列生成部、142 第1主成分係数行列逆対角比導出部、143 スパイク型ノイズ判定部、144 閾値生成部、150 スパイク型ノイズ除去部、191 分析対象データ記憶部、192 基準データ記憶部、193 過去計測データ記憶部、210 分析対象データ、211 分析対象レコード、212 スパイク型ノイズ、213 定常時計測値、214 異常時計測値、220 基準データ、221 基準レコード、230 過去計測データ、240 分析対象行列、241 基準データ行列、242 分析対象データ行ベクトル、243 分析対象データ列ベクトル、250 主成分係数行列、251 第1主成分係数列ベクトル、260 第1主成分係数行列、261 第1主成分係数正方行列、262 逆対角成分、263 特定要素、301 正常時第1主成分係数正方行列、302 異常時第1主成分係数正方行列、303 スパイク型ノイズ発生時第1主成分係数正方行列、800 履歴生成装置、890 データベース、901 ディスプレイ、902 キーボード、903 マウス、904 FDD、905 CDD、906 プリンタ装置、907 スキャナ装置、908 マイク、909 スピーカー、911 CPU、912 バス、913 ROM、914 RAM、915 通信ボード、920 磁気ディスク装置、921 OS、922 ウィンドウシステム、923 プログラム群、924 ファイル群、ρ 逆対角比、w 時間窓サイズ、s 滑走サイズ、nt ノイズ判定閾値。

【特許請求の範囲】
【請求項1】
各時点の計測値を示す分析対象データからノイズが発生した時点の計測値であるノイズ値を検出するフィルタ装置であり、
各時点の計測値を示すと共に前記ノイズ値を含んでいない基準データと前記分析対象データとを記憶機器から入力し、前記分析対象データから所定の時点数分の計測値を示す分析対象レコードを取得し、入力した前記基準データから前記所定の時点数分の計測値を示す基準レコードを取得し、前記分析対象レコードと前記基準レコードとで構成される行列である分析対象行列をCPU(Central Processing Unit)を用いて生成する分析対象行列生成部と、
前記分析対象行列生成部が生成した前記分析対象行列をCPUを用いて主成分分析して前記所定の時点数分の第1主成分係数を示す第1主成分係数ベクトルを算出する主成分分析部と、
前記主成分分析部が算出した前記第1主成分係数ベクトルが示す各第1主成分係数に基づいて前記分析対象レコードが示す前記所定の時点数分の計測値から前記ノイズ値をCPUを用いて検出するノイズ検出部と
を備えたことを特徴とするフィルタ装置。
【請求項2】
前記分析対象行列生成部は、
前記所定の時点数以上の数の前記基準レコードと1つの前記分析対象レコードとを並べて前記分析対象行列を生成する
ことを特徴とする請求項1記載のフィルタ装置。
【請求項3】
前記ノイズ検出部は、
前記第1主成分係数ベクトルに基づいて各第1主成分係数の合算値に対する特定の第1主成分係数の比率を算出する比率算出部と、
前記比率算出部が算出した前記比率と所定の閾値とを比較し、前記比率が前記閾値以上である場合に前記特定の第1主成分係数に対応する時点の計測値を前記ノイズ値と判定するノイズ判定部と
を備えたことを特徴とする請求項1〜請求項2いずれかに記載のフィルタ装置。
【請求項4】
前記分析対象行列生成部は、
前記分析対象データから特定時点の計測値をそれぞれに含むと共に互いに異なる時点の計測値を含む複数の前記分析対象レコードを取得し、取得した前記分析対象レコード毎に前記分析対象行列を生成し、
前記主成分分析部は、
前記分析対象行列生成部が生成した分析対象行列毎に、前記特定時点の計測値に対応する第1主成分係数を示す特定の第1主成分係数を含む前記第1主成分係数ベクトルを算出し、
前記ノイズ検出部の前記比率算出部は、
前記主成分分析部が算出した各第1主成分係数ベクトルに基づいて各第1主成分係数ベクトルの各第1主成分係数の合算値に対する各特定の第1主成分係数の合算値の比率を算出し、
前記ノイズ検出部の前記ノイズ判定部は、
前記比率算出部が算出した前記比率と前記所定の閾値とを比較して前記ノイズ値を判定する
ことを特徴とする請求項3記載のフィルタ装置。
【請求項5】
前記分析対象行列生成部は、
前記分析対象データから前記分析対象レコードを1時点づつずらして前記所定の時点数と同数以上取得し、取得した前記分析対象レコード毎に前記分析対象行列を生成し、
前記主成分分析部は、
前記分析対象行列生成部が生成した分析対象行列毎に、前記特定時点の計測値に対応する第1主成分係数を示す特定の第1主成分係数を含む前記第1主成分係数ベクトルを算出し、
前記ノイズ検出部の前記比率算出部は、
前記主成分分析部が算出した各第1主成分係数ベクトルを並べて前記所定の時点数を行数及び列数とする正方行列である第1主成分係数正方行列を生成し、前記第1主成分係数正方行列の各成分の合算値に対する前記第1主成分係数正方行列の逆対角成分の合算値の比率を算出し、
前記ノイズ検出部の前記ノイズ判定部は、
前記比率算出部が算出した前記比率と前記所定の閾値とを比較して前記ノイズ値を判定する
ことを特徴とする請求項4記載のフィルタ装置。
【請求項6】
前記比率算出部は前記比率として二乗和の比率を算出することを特徴とする請求項3〜請求項5いずれかに記載のフィルタ装置。
【請求項7】
前記フィルタ装置は、さらに、
当該計測対象の過去の分析対象データに基づいてCPUを用いて統計処理を行って前記所定の閾値を算出する閾値生成部
を備えたことを特徴とする請求項3〜請求項6いずれかに記載のフィルタ装置。
【請求項8】
前記フィルタ装置は、さらに、
ユーザが前記分析対象データから選択した前記ノイズ値を含んでいない範囲のデータを前記分析対象データから前記基準データとしてCPUを用いて抽出する基準データ生成部
を備えたことを特徴とする請求項1〜請求項7いずれかに記載のフィルタ装置。
【請求項9】
前記フィルタ装置は、さらに、
前記ノイズ値以外の計測値の各時点における分布を表す所定の分布モデルに基づいてCPUを用いてシミュレーションして前記基準データを生成する基準データ生成部
を備えたことを特徴とする請求項1〜請求項7いずれかに記載のフィルタ装置。
【請求項10】
前記フィルタ装置は、さらに、
前記ノイズ検出部が検出した前記ノイズ値に対する前後の時点の計測値をCPUを用いて平均して計測値の平均値を算出し、前記ノイズ検出部が検出した前記ノイズ値を前記平均値に置換するノイズ除去部
を備えたことを特徴とする請求項1〜請求項9いずれかに記載のフィルタ装置。
【請求項11】
前記フィルタ装置は、さらに、
前記ノイズ検出部が検出した前記ノイズ値より前の時点における複数の計測値をCPUを用いて平均して計測値の平均値を算出し、前記ノイズ検出部が検出した前記ノイズ値を前記平均値に置換するノイズ除去部
を備えたことを特徴とする請求項1〜請求項9いずれかに記載のフィルタ装置。
【請求項12】
前記フィルタ装置は、さらに、
前記ノイズ検出部が検出した前記ノイズ値より前の時点における複数の計測値に基づいて各時点における計測値の推定値を示す線形時系列モデルをCPUを用いて生成し、前記ノイズ検出部が検出した前記ノイズ値を前記線形時系列モデルが示す前記ノイズ値の時点の計測値に置換するノイズ除去部
を備えたことを特徴とする請求項1〜請求項9いずれかに記載のフィルタ装置。
【請求項13】
各時点の計測値を示す分析対象データからノイズが発生した時点の計測値であるノイズ値を検出するフィルタ装置のフィルタリング方法であり、
分析対象行列生成部が、各時点の計測値を示すと共に前記ノイズ値を含んでいない基準データと前記分析対象データとを記憶機器から入力し、前記分析対象データから所定の時点数分の計測値を示す分析対象レコードを取得し、入力した前記基準データから前記所定の時点数分の計測値を示す基準レコードを取得し、前記分析対象レコードと前記基準レコードとで構成される行列である分析対象行列をCPU(Central Processing Unit)を用いて生成する分析対象行列生成処理を行い、
主成分分析部が、前記分析対象行列生成部の生成した前記分析対象行列をCPUを用いて主成分分析して前記所定の時点数分の第1主成分係数を示す第1主成分係数ベクトルを算出する主成分分析処理を行い、
ノイズ検出部が、前記主成分分析部の算出した前記第1主成分係数ベクトルが示す各第1主成分係数に基づいて前記分析対象レコードが示す前記所定の時点数分の計測値から前記ノイズ値をCPUを用いて検出するノイズ検出処理を行う
ことを特徴とするフィルタ装置のフィルタリング方法。
【請求項14】
請求項13記載のフィルタ装置のフィルタリング方法をコンピュータに実行させるフィルタリングプログラム。

【図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

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図12】
image rotate


【公開番号】特開2009−110262(P2009−110262A)
【公開日】平成21年5月21日(2009.5.21)
【国際特許分類】
【出願番号】特願2007−281857(P2007−281857)
【出願日】平成19年10月30日(2007.10.30)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】