図1Aは、本実施例における異常検知システム1000の構成例である。図1Aに示すように、異常検知システム1000は、センサ信号蓄積部103と、学習空調機グループ化部104と、評価空調機分類部113と、センサ信号入力部121および131と、特徴ベクトル抽出部122および132と、異常測度算出部123および133と、しきい値算出部124と、異常判定部134と、関連センサ特定部135とを有して構成されている。図1Aでは、センサ信号入力部、特徴ベクトル抽出部、異常測度算出部が、2つ設けられている例を示しているが、それぞれ、同様の機能を有した1つのセンサ信号入力部、特徴ベクトル抽出部、異常測度算出部として構成してもよい。 異常検知システム1000は、ハードウェアとしては、例えば、一般的なサーバ装置から構成され、CPU(Central Processing Unit)、メモリ、HDD(Hard Disk Drive)等の外部記憶装置、CD(Compact Disk)やDVD(Digital Versatile Disk)等の可搬性を有するコンピュータで読み取り可能な記憶媒体に対して情報を読み書きする読書装置、キーボードやマウス等の入力装置、ディスプレイ等の出力装置、通信ネットワークに接続するためのNIC(Network Interface Card)等の通信装置、これらを連結するシステムバス等の内部通信線を有している。本システムが有する上記各部が実行する処理は、外部記憶装置に記憶されている所定のプログラムをメモリにロードしてCPUで実行することで実現可能となる。
上記所定のプログラムは、読書装置を介して記憶媒体から、あるいは、通信装置を介してネットワークから、外部記憶装置に記憶(ダウンロード)され、メモリ上にロードされて、CPUにより実行されるようにしてもよい。また、読書装置を介して、記憶媒体から、あるいは通信装置を介してネットワークから、メモリ上に直接ロードされ、CPUにより実行されるようにしてもよい。さらに、外部記憶装置に記憶された上記所定のプログラムを、情報処理装置にインストール可能な形式又は実行可能な形式のファイルで上記記録媒体に記録して提供したり、配布してもよい。さらには、上記所定のプログラムを、通信ネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供したり、配布してもよい。
異常検知システム1000の動作には、多数サイトの正常な空調機である学習空調機(第1の空調機)のセンサ信号(第1のセンサ信号)をもとにした「学習データグループ化」100と、評価対象となる評価空調機(第2の空調機)のセンサ信号(第2のセンサ信号)をもとにした「学習データグループへの分類」110と、その分類した学習データグループのセンサ信号をもとにした「学習」120と、評価空調機のセンサ信号に基づき空調機の異常を検知する「評価」130の四つのフェーズがある。空調機には、空調を制御するために、例えば、温度センサ、電流センサ、圧力センサ等の様々なセンサが設けられており、これらのセンサから出力されたセンサ信号に基づいて、各フェーズの処理が実行される。なお、以下では、センサから出力されるセンサ信号が1つである前提で説明しているが、1つのセンサから複数のセンサ信号が出力される場合も同様に考えることができる。
学習データグループ化100では、センサ信号蓄積部103が、多数サイトの学習空調機101に装着されたセンサから出力されるセンサ信号102を、周期的な所定時間ごとに受信し、記憶装置に蓄積する。学習空調機グループ化部104が、蓄積されたセンサ信号102をグループ化する。
学習データグループへの分類110では、センサ信号蓄積部103が、評価空調機111に装着されたセンサから出力されるセンサ信号112、および多数サイトの学習空調機101に装着されたセンサから出力されるセンサ信号102を、周期的な所定時間ごとに受信し、記憶装置に蓄積する。学習空調機グループ化部104が、蓄積されたこれらのセンサ信号をグループ化し、評価空調機分類部113が、評価空調機111を学習データグループに分類する。
学習120では、評価空調機分類部113が、評価空調機111のセンサ信号をもとに学習データグループに分類すると、センサ信号入力部121が、評価空調機分類部113が分類したセンサ信号を入力し、特徴ベクトル抽出部122が、入力されたセンサ信号をもとに特徴ベクトルを抽出し、異常測度算出部123が、予め指定された学習期間の特徴ベクトルを用いて所定時間毎(以下、各時刻と表現する場合もある)の特徴ベクトル毎に異常測度を算出する。しきい値算出部124は、算出された学習データの異常測度に応じたしきい値を算出する。
評価130では、センサ信号入力部131が、評価空調機111に装着されたセンサから出力されるセンサ信号112を入力すると、特徴ベクトル抽出部132が、入力されたセンサ信号112をもとに特徴ベクトルを抽出し、異常測度算出部133が、予め指定された学習期間の特徴ベクトルを用いて所定時間毎の特徴ベクトル毎に異常測度を算出する。異常判定部134は、算出され異常測度と学習データの異常測度から求めたしきい値124との比較により異常を判定し、関連センサ特定部135が、異常の関連センサを特定する。
具体的には後述するが、学習空調機グループ化部104は、センサ信号蓄積部103により、センサ信号102を基にしたセンサ信号102の類似度で多数サイトの学習空調機101をグループ化し、学習データグループ群を構築する。評価空調機分類部113は、センサ信号蓄積部103が受信した評価空調機111のセンサ信号112を基に、評価空調機111と学習空調機グループ化部104により構築された学習データグループ群とを比較し、評価空調機111を、上記学習データグループ群の中で類似度の高い学習空調機101により構成される学習データグループに分類する。
図1Bは、図1Aに示した異常検知システム1000の全体構成を示す図である。多数サイトの学習空調機101、101’、101’’に装着されたセンサから出力されるセンサ信号102、102’、102’’は、異常検知システム1000を構成するサーバ装置が設けられたデータセンタ140へ、無線あるいは記録媒体を介して送られる。さらに、センサ信号蓄積部103がこれらの信号を蓄積し、学習空調機グループ化部104へ入力され、学習データグループ化される。
また、評価空調機111に装着されたセンサから出力されるセンサ信号112は、上記データセンタ140へ、無線あるいは記録媒体を介して送られる。さらに、センサ信号蓄積部103がこれらの信号を蓄積し、評価空調機分類部113へ入力され、学習空調機グループ化部104で構築された多数の学習データグループの中から類似度の高い学習データグループを選定する。センサ信号入力部121は、その学習データグループの学習データを受け取り、特徴ベクトル抽出部122が特徴ベクトルを抽出し、異常測度算出部123が予め指定された学習期間の特徴ベクトルを用いて所定時間毎の特徴ベクトル毎に異常測度を算出する。当該処理を経て、しきい値算出部124が学習データの異常測度に応じたしきい値を算出する。
さらに、データセンタ140に伝送された評価空調機111のセンサ信号112は、センサ信号入力部131に入力され、特徴ベクトル抽出部132が特徴ベクトルを抽出し、異常測度算出部133が予め指定された学習期間の特徴ベクトルを用いて所定時間毎の特徴ベクトル毎に異常測度を算出する。当該処理を経て、前記で算出したしきい値124と比較し、異常判定部134が異常を判定し、関連センサ特定部135が、異常に関連するセンサを特定する。
特徴ベクトル抽出部122、132では、センサ信号に対し平均を0、分散を1とする正準化を施す。そして、短時間の変化を抽出するため、ある時刻t (t=0,1,2,…)に対して±w (w=0,1,2,…)のウィンドウを設け、次式の通り、ウィンドウ幅(2w+1)×センサ数(M)の要素からなるベクトルx(t)を1時刻につき1個抽出する。
ここでxm(t)(m=1,2,…,M)は正準化後の時刻tのm番目のセンサ信号である。
また、異常測度算出部123、133では、局所部分空間法(LSC:Local Subspace Classifier)を採用している。LSCは、未知データに対するk個の近傍データxi(i=1,…,k)を用いてk-1次元の部分空間を作成する。そして、未知データとk-1次元の部分空間の投影距離に基づいて、異常かどうかを判定する方法である。異常測度は未知データとk-1次元の部分空間の投影距離で表わされるため、未知データに最も近い部分空間上の点を求めればよい。したがって、未知データとk個の近傍データxi(i=1,…,k)からbを算出するには、未知データをk個並べた行列Qとxi(i=1,…,k)を並べた行列Xから次式により相関行列Cを求める。
そして、次式によりbを計算する。
ここで、1kは要素が全て1であるk次元ベクトルである。この式は、未知データとの二乗誤差が最少となるxi(i=1,…,k)の線形結合の係数ベクトルをbとすることを意味する。異常測度算出部123、133による異常測定は、未知データとそれに最も近い部分空間上の点の差の二乗和平方根を算出することにより行われる。また、当該異常測定において異常であるか否かを判定するためのしきい値を適切に決めるため、しきい値算出部124は、学習データの交差検証により自動的に設定する。
まず、異常測度算出部123、133は、学習データをN個のグループに等分割し、グループ毎に、そのグループを除く学習データを用いて、LSCにより各データの異常測度を算出する。次に、しきい値算出部124は、異常測度算出部123、133が算出した異常測度を昇降順にソートし、データ総数に対する比率が予め指定した0〜1のパラメータ値に到達する異常測度の値をしきい値とする。学習データに異常が含まれていないと仮定するならば、パラメータ値を1に設定する。この場合、しきい値は異常測度の最大値となる。最後に、異常判定部134は、異常測度算出部123、133が算出した異常測度が、しきい値算出部124が設定したしきい値を超えるか否かを判定し、当該しきい値を超えると判定した場合は異常であると判断し、それ以外は正常であると判断する。
関連センサ特定部135では、異常が連続して検知されている異常区間を求め、区間毎に二次元分布密度に基づき関連センサを抽出する。そのためには、学習時に、学習空調機グループ化部104が、正常データの二次元特徴分布密度を、2種類のセンサ信号の総当たりで計算して画像形式で保存しておく。この画像を分布密度画像と呼ぶ。異常検知時に、評価空調機分類部113が、検知した異常データが分布密度画像のどこにプロットされたかに応じてセンサの孤立度を算出し、孤立度の大きいものから順に異常関連センサとして抽出する。これは、異常データの分布が正常データの分布から離れているセンサを見つけることを意味する。
次に、図2と図3を用いて学習空調機のグループ化および評価空調機の分類方法について説明する。
図2は、多数サイトの正常な空調機である学習空調機をグループ化するフロー図である。最初に、センサ信号蓄積部103は、多数サイトの学習空調機101に装着されたセンサから受信したセンサ信号102を記憶装置に蓄積し、学習空調機グループ化部104が蓄積されたセンサ信号102をグループ化する(S201)。具体的には、学習空調機グループ化部104は、任意の学習空調機101を基準とし、各学習データグループ(S202)、各空調機(S203)、各センサ(S204)、各学習期間区分(S205)に対して、以下の処理を繰り返す。
ここでステップS205における学習期間区分は、1年を複数に分割した区分とすることができる。例えば、1年を12分割し、1ヶ月毎とする。学習空調機グループ化部104は、各学習空調機101の全センサデータの中から任意の2種類のセンサデータを抽出し、抽出したセンサデータのすべての組み合わせに対し、2種類のセンサにおける2次元分布密度グラフあるいは数時間毎の最大値、最小値、平均値といった頻度分布を作成する(S206)。さらに、学習空調機グループ化部104は、各学習空調機101について、同じ2種類のセンサ(例えば、温度センサと圧力センサ)における2次元分布密度グラフあるいは頻度分布グラフ間の類似度を算出し(S207)、その類似度を基に各学習空調機101をグループ化し(S208)、学習空調機101の学習データグループを構築する(S209)。S206の具体的な処理については図4を用いて後述し、S207、S208の具体的な処理については、図6を用いて後述する。
図3は、評価空調機111に対し類似度の高い学習グループを選定するフロー図である。
最初に、センサ信号蓄積部103は、評価空調機111から受信したセンサ信号112を記憶装置に記憶し、評価空調機分類部113が、記憶装置に記憶されている上記センサ信号112を読み取る(S301)。評価空調機分類部113は、評価する期間を設定し(S302)、学習空調機101から受信した、その期間における学習データグループ毎のセンサ信号102を読み取る。評価空調機分類部113は、各センサ(S303)、各学習データグループ(S304)に対して、以下の処理を繰り返す。評価空調機分類部113は、評価空調機111のセンサ信号112、および学習データグループ毎のセンサ信号102に対し、S206の場合と同様に、2種類のセンサにおける2次元分布密度グラフあるいは数時間毎の最大値、最小値、平均値といった頻度分布を作成する(S305)。さらに、評価空調機分類部113は、評価空調機111と各学習データグループの各学習空調機101との間で、同じ2種類のセンサ(例えば、温度センサと圧力センサ)における2次元分布密度グラフあるいは頻度分布グラフ間の類似度を算出する(S306)。最後に、評価空調機分類部113は、評価空調機111に対して、類似度の高い学習データグループ順に順位をつけ(S307)、評価空調機111を、類似度順位1位の学習データグループへ分類する(S308)。S302からS308を各評価空調機分、繰り返す。S305の具体的な処理については図9を用いて後述し、S306の具体的な処理については、図10を用いて後述する。
上記に記載の通り、学習空調機101のグループ化および評価空調機111の分類には、2種類のセンサにおける2次元分布密度、あるいは各センサにおける数時間毎の最大値、最小値、平均値の頻度分布の類似度を利用する。これら2種類の学習空調機のグループ化および評価空調機の分類について、以下に実施例1、実施例2として記載する。
実施例1では、2種類のセンサにおける2次元分布密度グラフを用いた、学習空調機101のグループ化および評価空調機111の分類方法について説明する。
図2に示したように、多数サイトの学習空調機101をグループ化するには、2種類のセンサにおける2次元分布密度グラフを作成するステップS206、各空調機について、同じ2種類のセンサにおける2次元分布密度グラフ間の類似度を算出するステップS207、その類似度を基に各学習空調機191をグループ化するステップS208が存在する。以下に具体的な処理について説明する。
図4は、2種類のセンサにおける2次元分布密度グラフの作成フロー図である(学習データグループ化)。
センサ信号蓄積部103は、多数サイトの学習空調機101に装着されたセンサ信号102を受信して記憶装置に蓄積し、蓄積したセンサ信号102をグループ化する学習空調機グループ化部104に入力する(S401)。学習空調機グループ化部104は、各センサについて蓄積されたセンサ信号102について、ステップS403からS406の処理を実行する(S402)。学習空調機グループ化部104は、全ての学習空調機におけるセンサ2個総当り処理により、2次元の分布密度グラフの縦横のスケールが同じになるようにセンサ信号の種類毎の最大値(MAX)と最小値(MIN)を求める(S403)。具体的には、学習空調機101が設置された環境等によって、同じ種類のセンサであっても、そのセンサの検知範囲が異なる場合がある。例えば、温度センサであれば、ある学習空調機101では−10℃〜+40℃に設定されている一方、他の学習空調機101では−5℃〜+45℃に設定さる。したがって、学習空調機グループ化部104は、まず上記最大値と最小値とを求め、以下の処理を実行する。
続いて、学習空調機グループ化部104は、上記最小値から最大値を指定された数Nで分割する際の刻み幅Sを算出する(S404)。上記刻み幅Sは、例えば、S=(MAX−MIN)/Nで計算できる。さらに、学習空調機グループ化部104は、予備の処理範囲を設けるため、上記最小値と最大値から外側に範囲を広げて分布密度算出の処理範囲を算出する(S405)。広げる範囲は、例えばMINをMIN−S×M、MAXをMAX+S×Mに変更する。ここでMは予め決められた1以上の整数とする。続いて、学習空調機グループ化部104は、学習期間の全データについて、特徴値(F)からビン番号(BNO)を次式で算出する(S406)。
BNO=INT((F−MIN)/(MAX−MIN))
ただしINT(X)はXの整数部を表す。
学習空調機グループ化部104は、各学習期間、および各空調機に対して、センサ2個総当り処理により2次元の分布密度グラフを作成するため、ステップS407からS411までの処理を実行する。(S407)。
学習空調機グループ化部104は、各学習期間区分(S407)、各空調機(S408)、各センサ(S409)に対して、以下の処理を繰り返す。ここでステップS407における学習期間区分は、S205と同様に設定すればよい。総当りには、2個のセンサが同じ種類、同じセンサである場合を含む。学習空調機グループ化部104は、分布密度算出用の二次元配列を確保し、すべての要素に0をセットする。配列のサイズはN+2Mである。学習空調機グループ化部104は、学習期間の全データについて、2個のセンサ値のビン番号に対応する配列の要素に1を加算する。この処理により、センサ2個による二次元の頻度分布(ヒストグラム)が算出される。学習空調機グループ化部104は、この頻度分布を画像に変換し、変換した画像と当該画像を識別するための識別番号(ID)とを対応付けて保存する(S410)。変換方法については後述する。図示はしていないが、学習空調機グループ化部104は、二次元配列のサイズおよびステップS403で算出した各センサ信号の最小値と最大値を記録しておく。
ステップS410における、画像変換方法の例を説明する。学習空調機グループ化部104は、配列要素の最大値、すなわち最大頻度を求める。画像サイズは、配列サイズと同じとし、各要素の値から対応する座標の画素値を、例えば255×配列の要素値/最大頻度とする。255は画素値を8ビットで表す場合の最大値であり、この値を用いれば、そのままビットマップ形式で保存できる。
上記処理により得られた画像は、二次元の特徴空間上で密度が高いところが高い画素値で表されているため、分布密度画像と呼ぶこととする。
図5は、画像化した2次元分布密度グラフの例である。画素値の0を白、最大を黒、その間をグレーの濃淡で表したものである。ただし、画像の作り方は、上記方法に限定されない。例えば単純な頻度分布ではなく、1個のデータにガウス分布や他の重みつきフィルタを割り当て、それを重畳するようにしてもよい。または、上記方法で得られた画像に所定サイズの最大値フィルタをかけたり、平均フィルタ、その他の重みつきフィルタをかけたりしてもよい。また必ずしも画像形式で保存する必要はなく二次元配列をテキスト形式で保存してもよい。また、画素値はグレーの濃淡ではなく、分布の有る画素を1、分布の無い画素を0としたニ値化二次元配列のテキスト形式で保存してもよい。
図5では、一例として、ある学習空調機101に設けられているセンサA(温度センサ)、センサB(圧力センサ)についての分布密度画像を示している。スケール化されたセンサAの最小値から最大値を横軸、スケール化されたセンサBの最小値から最大値を横軸とし、温度t1における圧力p1が(X1,Y1)としてプロットされ、温度t2における圧力p2が(X2,Y2)としてプロットされ、当該分布密度画像が識別情報S0001A0001(S0001:サイトナンバー、A0001:空調機ナンバー)に対応付けられていることがわかる。このように、学習空調機グループ化部104は、すべての学習空調機101に設けられているすべてのセンサから選択した2つのセンサの組み合わせについて、このような画像化した2次元分布密度グラフを生成し、識別番号に対応付ける。 ステップS411では、学習空調機グループ化部104は、上記処理で算出された2次元分布密度グラフを記憶装置に格納するとともに、評価空調機分類部113に出力する。このように、2次元分布密度グラフは、2種類のセンサの出力値の相関関係を示すグラフであるといえる。
図6は、各学習空調機101について、同じ2種類のセンサにおける2次元分布密度グラフ間の類似度算出および類似度判定のフロー図である。図4で作成したすべての学習空調機101の2次元分布密度を学習空調機グループ化部104に入力する(S601)。まず、学習空調機グループ化部104は、任意の学習空調機101を基準とし、各学習データグループ(S602)、各センサ(S603)、各学習期間区分(S604)、各学習空調機(S605)に対して、以下の処理を繰り返す。ここでステップS604における学習期間区分は、S205と同様に設定すればよい。
学習空調機グループ化部104は、任意の学習空調機101の中から選択した基準空調機と残りの学習空調機101との間で、同じ2種類のセンサにおける2次元分布密度グラフ間の類似度を算出し(S606)、その類似度を判定する(S607)。つまり、類似度の判定とは、類似度が高く、学習空調機101が基準空調機と同じグループに分類できるか否かを判定することを意味する。基準空調機と残りの学習空調機101のそれぞれとの間で同じ2種類のセンサにおける2次元分布密度グラフ間の類似度が、例えば80%以上の場合、学習空調機グループ化部104は、比較した学習空調機101が基準空調機と同グループに属すると判断する。類似度レベルは固定ではなく、調整可能である。ただし、類似度レベルが低すぎると異常検知精度が落ちる可能性が高くなる。学習空調機グループ化部104は、この類似度判定にもとづき、基準空調機と類似度が高い学習空調機101とをグループ化する(S608)。
なお、学習空調機グループ化部104は、基準空調機およびグループ化された学習空調機101を除いた残りの学習空調機101から、再度、基準空調機を設定し、ステップS601からステップS608を繰り返し、学習空調機101の学習データグループを構築する。
図7は、各学習空調機に対する2次元分布密度グラフの類似度算出方法を説明する図である。学習空調機グループ化部104は、ステップS606にて作成した全学習空調機101に対する2次元分布密度グラフをもとに、全学習空調機101の中から基準空調機701を選定し(S1)、その残りの学習空調機702の中から選んだそれぞれの学習空調機101に対し、同じ2種類のセンサにおける2次元分布密度グラフを比較703することで(S2)、類似度を算出する。例えば、学習空調機グループ化部104は、基準空調機701の分布密度画像と、それぞれの学習空調機101の分布密度画像とを重ね合わせた基準空調機重畳分布密度画像を読み取り、その重畳部分の面積の大きさにより、上記類似度を算出する。この処理を各センサ、および各学習期間区分に対して繰り返す。例えば、同じ2種類のセンサにおける2次元分布密度グラフは、分布の有る画素を1、分布の無い画素を0としたニ値化二次元配列で表される。そして、類似度は以下で示される。
類似度(%)=基準空調機と比較する空調機の2次元分布密度グラフが共に「1」
を示す画素数/基準空調機の2次元分布密度グラフが「1」を示す画素数
図8は、各学習空調機について、同じ2種類のセンサにおける2次元分布密度グラフの類似度表の例である。当該類似度表は、ステップS607において、学習空調機グループ化部104により出力される。
学習空調機グループ化部104は、基準空調機801に対する残りの学習空調機802の類似度を算出し、類似度表を作成し、その類似度を判定する。つまり、類似度の判定とは、類似度が高く、同じグループに分類できるか判定することを意味する。基準空調機801と残りの空調機802の同センサにおける2次元分布密度グラフ間の類似度が、例えば、全て閾値として定められた数値80%以上の場合、基準空調機801と同グループと判断する。図8において、例えば、基準空調機である空調機1に設けられているセンサAおよびセンサBの2次元分布密度グラフと、学習空調機である空調機2に設けられているセンサAおよびセンサBの2次元分布密度グラフとの類似度は、1月は85%であり、2月は90%であることを示している。このように、学習空調機グループ化部104は、基準空調機と学習空調機との間で、すべてのセンサの組み合わせについて、類似度を算出し、その結果を上記類似度表として出力する。上記閾値は固定ではなく、任意の値に調整可能である。ただし、上記閾値の値が低すぎると異常検知精度が落ちる可能性が高くなる。学習空調機グループ化部104は、この類似度判定にもとづき、基準空調機801と類似度が高い学習空調機802をグループ化する。
なお、学習空調機グループ化部104は、基準空調機801およびグループ化された学習空調機を除いた残りの空調機から、再度基準空調機803を設定し、ステップS601からステップS608を繰り返し、学習空調機101の学習データグループを構築する。
図3に示すように、評価空調機111に対し類似度の高い学習グループを選定するには、評価空調機111の評価期間にて、2種類のセンサにおける2次元分布密度グラフを作成するステップS305、評価空調機111と各学習データグループに属する学習空調機101の同じ2種類のセンサにおける2次元分布密度グラフ間の類似度を算出するステップS306、その類似度を基に順位をつけ(S307)、類似度順位が1位の学習データグループに分類するステップS308が存在する。以下に具体的な処理について説明する。
図9は、評価空調機111の評価期間にて、2種類のセンサにおける2次元分布密度グラフの作成フロー図である(学習データグループへの分類)。
センサ信号蓄積部103は、評価空調機111に装着されたセンサ信号112を評価空調機分類部113に入力する。さらに、センサ信号蓄積部103は、評価期間における学習データグループ毎に分類された学習空調機101のセンサ信号102も評価空調機分類部113に入力する(S901)。
評価空調機分類部113は、各センサについて、ステップ903からS906の処理を実行する(S902)。評価空調機分類部113は、ステップS403の場合と同様に、全ての学習空調機におけるセンサ2個総当り処理により2次元の分布密度グラフの縦横のスケールが同じになるようにセンサ信号の種類毎の最大値(MAX)と最小値(MIN)を求める(S903)。評価空調機分類部113は、ステップS404の場合と同様に、最小値から最大値を指定された数Nで分割する際の刻み幅Sを算出し(S904)、最小値と最大値から外側に範囲を広げて分布密度算出の処理範囲を算出する(S905)。評価空調機分類部113は、評価期間の全データについて、ステップS406の場合と同様に、特徴値(F)からビン番号(BNO)を算出する(S906)。
評価空調機分類部113は、評価期間、評価空調機111および各学習データグループに対して、センサ2個総当り処理により2次元の分布密度グラフを作成するため、ステップS907からS911までの処理を実行する。(S907)。
評価空調機分類部113は、ステップS407〜S409の場合と同様、評価期間(S907)、各センサ(S908)、各学習データグループに属するすべての学習空調機101(S909)に対して、以下の処理を繰り返す。センサ2個の総当りには、2個のセンサが同じものである場合を含む。評価空調機分類部113は、2次元分布密度算出用の二次元配列を確保し、すべての要素に0をセットする。配列のサイズはN+2Mである。評価空調機分類部113は、学習期間の全データについて、2個のセンサ値のビン番号に対応する配列の要素に1を加算する。この処理により、センサ2個による二次元の頻度分布(ヒストグラム)が算出される。評価空調機分類部113は、この頻度分布を画像に変換し、変換した画像と当該画像を識別するための識別番号(ID)とを対応付けて保存する(S910)。変換方法については後述する。図示はしていないが、評価空調機分類部113は、二次元配列のサイズおよびステップS903で算出した各センサ信号の最小値と最大値を記録しておく。ステップS910における画像変換方法については、ステップS410の場合と同様であるため、ここではその説明を省略する。
図10は、評価空調機と各学習データグループに属する学習空調機の同センサにおける2次元分布密度グラフ間の類似度算出および類似度判定のフロー図である。まず、学習空調機グループ化部104は、図4で作成した学習空調機101の全2次元分布密度と評価空調機111の2次元分布密度を評価空調機分類部113に入力する(S1001)。評価空調機分類部113は、各評価空調機(S1002)、各センサ(S1003)、各学習グループ(S1004)に対して、以下の処理を繰り返す。図11に示すように、評価空調機分類部113は、評価空調機111と各学習グループに属するすべての学習空調機101の同センサにおける2次元分布密度グラフ間の類似度を算出する(S1005)。例えば、評価空調機分類部113は、各学習グループに属するすべての学習空調機101に設けられている2種類のセンサの組み合わせにおける分布密度画像を重ね合わせた学習空調機重畳分布密度画像と、評価空調機111の分布密度画像とを重ね合わせた重畳分布密度画像を読み取り、その重畳部分の面積の大きさにより、上記類似度を算出する。図11では、例えば、評価空調機が有するセンサAおよびセンサBの組み合わせにおける分布密度画像と、学習データグループ1に分類されるそれぞれの学習空調機101が有するセンサAおよびセンサBの組み合わせにおける上記学習空調機重畳分布との類似度が89%であることを示している。
最後に、評価空調機分類部113は、評価空調機111に対して、類似度の高い学習データグループ順に順位をつけ(S1006)、類似度順位1位の学習データグループへ分類する(S1007)。例えば、図11では、評価空調機分類部113は、評価空調機111と各学習データグループとの間における上記類似度を算出すると、算出した類似度を比較し、学習データグループ1が最も評価空調機111に類似しているため、類似度の順位を1に設定する。上記比較において、各センサの組み合わせにおける上記学習空調機重畳分布との類似度の平均値が最も高い値の場合に、当該順位を1に設定すればよい。そして、評価空調機分類部113は、分類された学習グループのセンサデータを学習し、評価空調機の異常を検知する。
図12は、評価空調機の学習データグループへの分類結果を表示する画面の例である。当該画面は、例えば、異常検知システム1000を構成するサーバ装置に接続されたディスプレイに出力される。上記サーバ装置の入力装置は、ユーザから、評価空調機の分類画面1201から表示対象の評価空調機および評価期間の指定を受け付ける。例えば、上記入力装置は、ユーザから、評価空調機ID選択ウィンドウ1202で、評価空調機111の識別番号(ID)の選択を受け付ける。また、上記入力装置は、評価期間ウィンドウ1203から、選択された評価空調機111の評価期間の開始日と終了日の入力を受け付ける。上記入力装置が開始ボタン1205の押下を受け付けると、図9、10の評価空調機の学習データグループへの分類フローが開始される。分類終了後、分類結果欄1204に、評価空調機101に対する類似度1位の学習データグループと類似度1206が表示される。また、その下の欄には、学習データグループに含まれる各サイトの空調機リスト1207が表示される。
また、分類結果欄1204には、評価空調機と分類された学習データグループの各センサの類似度1208が表示される。これらの表示は、例えば、評価空調機分類部113により行われる。
上記実施例1によれば、学習空調機101のセンサ信号の類似度で空調機をグループ化し、評価空調機111のセンサ信号を基に、センサ信号同士の相関関係を用いて類似度の高い空調機グループを学習することにより、短期間のデータ蓄積で高感度な異常検知が可能になる。また、多数サイトの既存の空調機を利用できることから、多様かつ大量の学習データ数を確保できるため、異常検知の高感度化および虚報の抑制が可能である。また、上記実施例では、2種類のセンサの相関関係を用いて空調機同士の類似を判定することとしたが、3種類以上のセンサの相関関係を用いた場合も同様に考えることができる。
次に、各センサにおける数時間毎の最大値、最小値、平均値の頻度分布を用いた、学習空調機のグループ化および評価空調機の分類方法について説明する。
図2に示したように、多数サイトの学習空調機101をグループ化するには、各センサにおける数時間毎の最大値、最小値、平均値の頻度分布グラフを作成するステップS206、各学習空調機101の同センサにおける最大値、最小値、平均値の頻度分布間の類似度を算出するステップS207、その類似度を基に各学習空調機101をグループ化するステップS208が存在する。以下に具体的な処理について説明する。
図13は、各センサにおける数時間毎の最大値、最小値、平均値の頻度分布グラフの作成フロー図である(学習データグループ化)。
センサ信号蓄積部103は、多数サイトの学習空調機101に装着されたセンサ信号102を受信して記憶装置に蓄積し、蓄積したセンサ信号102をグループ化する学習空調機グループ化部104に入力する(S1301)。学習空調機グループ化部104は、各センサについて蓄積されたセンサ信号102について、ステップS1303からS1306の処理を実行する(S1302)。学習空調機グループ化部104は、全ての学習空調機における頻度分布グラフのスケールが同じになるようにセンサ信号の種類毎の最大値(MAX)と最小値(MIN)を求める(S1303)。学習空調機グループ化部104は、最小値から最大値を指定された数Nで分割する際の刻み幅Sを算出する(S1304)。ステップS1303、S1304は、図4に示したステップS403、S404と同様であるため、ここではその説明を省略する。学習空調機グループ化部104は、予備の処理範囲を設けるため、上記最小値と最大値から外側に範囲を広げて頻度分布算出の処理範囲を算出する(S1305)。広げる範囲は、例えばMINをMIN−S×M、MAXをMAX+S×Mに変更する。ここでMは予め決められた1以上の整数とする。
学習空調機グループ化部104は、各学習期間、および各空調機に対して、各センサにおける数時間毎の最大値、最小値、平均値の頻度分布グラフを作成するため、ステップS1307からS1311までの処理を実行する(S1307)。
学習空調機グループ化部104は、各学習期間区分(S1307)、各空調機(S1308)、各センサ(S1309)に対して、以下の処理を繰り返す。ここでステップS1307における学習期間区分は、S205と同様に設定すればよい。学習空調機グループ化部104は、頻度分布算出用の二次元配列を確保し、すべての要素に0をセットする。配列のサイズはN+2Mである。学習空調機グループ化部104は、学習期間の全データについて、1個のセンサ値に対応する配列の要素に1を加算する)。この処理により、頻度分布(ヒストグラム)が算出される。学習空調機グループ化部104は、この頻度分布をデータとして、あるいは画像に変換し、変換した画像と当該画像を識別するための識別番号(ID)とを対応付けて保存する(S1310)。図示はしていないが、学習空調機グループ化部104は、ニ次元配列のサイズおよびステップS1303で算出した各センサ信号の最小値と最大値を記録しておく。
図14は、各センサにおける数時間毎の最大値、最小値、平均値の頻度分布グラフの例である。学習空調機グループ化部104は、例えば1ヶ月間の各センサにおける1時間毎の最大値、最小値、平均値を用いて、上記頻度分布グラフを作成する。
具体的には、学習空調機グループ化部104は、図14に示すように、ある学習空調機101のセンサAのセンサ信号101について、1週間毎に、センサ信号101の最大値、最小値、平均値を求める。図14では、例えば、第1週におけるセンサAの最大値、最小値、平均値は、MAX1、MIN1、AVE1であることをあらわしている。センサBについても同様である。
学習空調機グループ化部104は、各センサについて、センサ信号101の最大値、最小値、平均値を求めると、それぞれの頻度分布グラフに積み重ねる。図14では、例えば、学習空調機グループ化部104は、センサAが温度センサである場合、頻度分布算出の処理範囲である横軸に温度をとり、縦軸に頻度数(出現回数)をとる。学習空調機グループ化部104は、センサAにおける第1週の最大値MAX1と第2週の最大値MAX2が同じ値t3であるため、上記頻度分布の温度t3にその回数(この場合は2回)を積み重ねる。一方、第3週の最大値MAX3は、第1週の最大値MAX1および第2週の最大値MAX2よりも低い値t2であるため、学習空調機グループ化部104は、上記頻度分布の温度t2にその回数(この場合は1回)を積み重ねる。センサ信号101の平均値、最小値についても同様に考えることができる。また、学習空調機グループ化部104は、センサBについても同様の処理を実行する。学習空調機グループ化部104は、学習空調機101のすべてのセンサについて、このような頻度分布グラフを生成し、上記識別番号(図14では、識別情報S0001A0001(S0001:サイトナンバー、A0001:空調機ナンバー)に対応付けて記憶装置に画像として保存する。分布の有る画素を1、分布の無い画素を0としたニ値化二次元配列のテキスト形式で保存してもよい。このように、頻度分布グラフは、所定期間におけるセンサの出力値から得られる統計値(最大値、最小値、平均値)を集計したグラフであるといえる。
図15は、各学習空調機101の同センサにおける最大値、最小値、平均値の頻度分布グラフ間の類似度算出および類似度判定のフロー図である。図13で作成した学習空調機101の各センサにおける数時間毎の最大値、最小値、平均値の頻度分布グラフを学習空調機グループ化部104に入力する(S1501)。まず、学習空調機グループ化部104は、任意の学習空調機101を基準とし、各学習データグループ(S1502)、各センサ(S1503)、各学習期間区分(S1504)、各学習空調機(S1505)に対して、以下の処理を繰り返す。ここでステップS1504における学習期間区分は、S205と同様に設定すればよい。
学習空調機グループ化部104は、任意の学習空調機101の中から選択した基準空調機と残りの学習空調機101との間で、同センサにおける最大値、最小値、平均値の頻度分布グラフ間のそれぞれの類似度を算出し(S1506)、その類似度を判定する(S1507)。つまり、類似度の判定とは、実施例1の場合と同様、類似度が高く、学習空調機101が基準空調機と同じグループに分類できるか判定することを意味する。基準空調機と残りの学習空調機101のそれぞれとの間で同センサにおける最大値、最小値、平均値の頻度分布グラフ間のそれぞれの類似度が、例えば80%以上の場合、学習空調機グループ化部104は、比較した学習空調機101が基準空調機と同グループに属すると判断する。類似度レベルについては、実施例1の場合と同様に考えることができる。学習空調機グループ化部104は、この類似度判定にもとづき、基準空調機と類似度が高い学習空調機101とをグループ化する(S1508)。
なお、学習空調機グループ化部104は、基準空調機およびグループ化された学習空調機101を除いた残りの学習空調機101から、再度、基準空調機を設定し、ステップS1501からステップS1508を繰り返し、学習空調機101の学習データグループを構築する。
図16は、各学習空調機の同センサにおける最大値、最小値、平均値の頻度分布グラフの類似度算出方法を説明する図である。学習空調機グループ化部104は、ステップS1606にて作成した全学習空調機101の各センサにおける最大値、最小値、平均値の頻度分布グラフをもとに、全学習空調機101の中から基準空調機1601を選定し(SS1)、その残りの学習空調機1602の中から選んだそれぞれの学習空調機101に対し、同センサにおける最大値、最小値、平均値のそれぞれの頻度分布グラフを比較1603することで(SS2)、類似度を算出する。例えば、学習空調機グループ化部104は、基準空調機1601の最大値の頻度分布グラフの画像と、それぞれの学習空調機101の最大値の頻度分布グラフの画像とを重ね合わせた基準空調機重畳頻度分布画像を読み取り、その重畳部分の面積の大きさにより、上記類似度を算出する。この処理を各センサ、および各学習期間区分に対して繰り返す。例えば、同センサにおける最大値、最小値、平均値の頻度分布グラフは、分布の有る画素を1、分布の無い画素を0としたニ値化二次元配列で表される。
そして、類似度は以下で示される。
類似度(%)=基準空調機と比較する空調機の頻度分布グラフが共に「1」を示す画素数/基準空調機の頻度分布グラフが「1」を示す画素数
図17は、各学習空調機の同センサにおける最大値、最小値、平均値の頻度分布グラフの類似度表の例である。当該類似度表は、ステップS607において、学習空調機グループ化部104により出力される。
学習空調機グループ化部104は、基準空調機1701に対する残りの学習空調機1702の類似度を算出し、類似度表を作成し、その類似度を判定する。つまり、類似度の判定とは、類似度が高く、同じグループに分類できるか判定することを意味する。基準空調機1701と残りの空調機1702の同センサにおける最大値、最小値、平均値の頻度分布グラフ間の類似度が、例えば、全て閾値として定められた数値80%以上の場合、基準空調機1701と同グループと判断する。図17において、例えば、基準空調機である空調機1に設けられているあるセンサの最大値の頻度分布グラフと、学習空調機である空調機2に設けられている同センサの最大値の頻度分布グラフとの類似度は、1月は85%であり、2月は90%であることを示している。このように、学習空調機グループ化部104は、基準空調機と学習空調機との間で、すべての同センサについて、類似度を算出し、その結果を上記類似度表として出力する。上記閾値は固定ではなく、任意の値に調整可能である。ただし、上記閾値の値は、実施例1の場合と同様に設定すればよい。学習空調機グループ化部104は、この類似度判定にもとづき、基準空調機1701と類似度が高い学習空調機1702をグループ化する。
なお、学習空調機グループ化部104は、基準空調機1701およびグループ化された学習空調機を除いた残りの空調機から、再度基準空調機1703を設定し、ステップS1501からステップS1508を繰り返し、学習空調機101の学習データグループを構築する。
図3に示したように、評価空調機111に対し類似度の高い学習グループを選定するには、評価空調機111の評価期間にて同センサにおける最大値、最小値、平均値の頻度分布グラフを作成するステップS305、評価空調機111と各学習データグループに属する学習空調機101の同センサにおける最大値、最小値、平均値の頻度分布グラフ間の類似度を算出するステップS306、その類似度を基に順位をつけ(S307)、類似度順位が1位の学習データグループに分類するステップS308が存在する。以下に具体的な処理について説明する。
図18は、評価空調機111の評価期間にて、同センサにおける最大値、最小値、平均値の頻度分布グラフの作成フロー図である(学習データグループへの分類)。
センサ信号蓄積部103は、評価空調機111に装着されたセンサ信号112を評価空調機分類部113に入力する。さらに、センサ信号蓄積部103は、評価期間における学習データグループ毎に分類された学習空調機101のセンサ信号102も評価空調機分類部113に入力する(S1801)。
評価空調機分類部113は、各センサについて、ステップ1803からS1806の処理を実行する(S1802)。評価空調機分類部113は、ステップS1303の場合と同様に、全ての学習空調機における頻度分布グラフのスケールが同じになるようにセンサ信号の種類毎の最大値(MAX)と最小値(MIN)を求める(S1803)。評価空調機分類部113は、ステップS1304の場合と同様に、最小値から最大値を指定された数Nで分割する際の刻み幅Sを算出し(S1804)、最小値と最大値から外側に範囲を広げて分布密度算出の処理範囲を算出する(S1805)。
評価空調機分類部113は、評価期間、評価空調機111および各学習データグループに対して、各センサにおける最大値、最小値、平均値の頻度分布グラフを作成するため、ステップS1807からS1811までの処理を実行する(S1807)。
評価空調機分類部113は、ステップS1307〜S1309の場合と同様、評価期間(S1807)、各センサ(S1808)、各学習データグループに属するすべての学習空調機101(S1809)に対して、以下の処理を繰り返す。評価空調機分類部113は、頻度分布算出用の二次元配列を確保し、すべての要素に0をセットする。配列のサイズはN+2Mである。評価空調機分類部113は、学習期間の全データについて、1個のセンサ値に対応する配列の要素に1を加算する。この処理により、センサ1個による頻度分布(ヒストグラム)が算出される。評価空調機分類部113は、この頻度分布を画像に変換し、変換した画像と当該画像を識別するための識別番号(ID)とを対応付けて保存する(S1810)。図示はしていないが、評価空調機分類部113は、二次元配列のサイズおよびステップS1803で算出した各センサ信号の最小値と最大値を記録しておく。
図19は、評価空調機と各学習データグループに属する学習空調機の同センサにおける頻度分布グラフ間の類似度算出および類似度判定のフロー図である。まず、学習空調機グループ化部104は、図13で作成した学習空調機101の全頻度分布と評価対象となる空調機の頻度分布を評価空調機分類部113に入力する(S1901)。評価空調機分類部113は、各評価空調機(S1902)、各センサ(S1903)、各学習グループ(S1904)に対して、以下の処理を繰り返す。評価空調機分類部113は、評価空調機と各学習グループの同センサにおける頻度分布グラフ間の類似度を算出する(S1905)。例えば、評価空調機分類部113は、図11に示した場合と同様の考え方で、各学習グループに属するすべての学習空調機101に設けられている同センサにおける頻度分布画像を重ね合わせた学習空調機重畳頻度分布画像と、評価空調機111の頻度分布画像とを重ね合わせた重畳頻度分布画像を読み取り、その重畳部分の面積の大きさにより、上記類似度を算出する。
最後に、評価空調機分類部113は、評価空調機111に対して、類似度の高い学習データグループ順に順位をつけ(S1906)、類似度順位1位の学習データグループへ分類する(S1907)。当該分類の方法については、図11と同様の考え方で実行すればよい。そして、評価空調機分類部113は、分類された学習グループのセンサデータを学習し、評価空調機111の異常を検知する。
上記実施例2によれば、学習空調機101のセンサ信号の類似度で空調機をグループ化し、評価空調機111のセンサ信号を基に、センサ信号から得られる統計値を用いて類似度の高い空調機グループを学習することにより、短期間のデータ蓄積で高感度な異常検知が可能になる。また、多数サイトの既存の空調機を利用できることから、多様かつ大量の学習データ数を確保できるため、異常検知の高感度化および虚報の抑制が可能である。
以上、実施例1、実施例2の手法を適用した異常検知システムにより、空調機1台に対し、過去1年分の正常なセンサデータを学習し、評価する方式において、空調機の季節や機差による影響を低減させ、空調機の異常を高感度かつ早期に検出することが可能となる。すなわち、正常な空調機のセンサ信号の類似度で空調機をグループ化し、評価する空調機のセンサ信号を基に、類似度の高い空調機グループに分類することにより、例えば、学習データを蓄積する期間(例えば1年間)とする等、短期間のデータ蓄積で高感度に異常を検知することができる。