(57)【要約】      （修正有）【課題】センサデータから対象物の正常・異常状態の値を算出する。【解決手段】監視対象をセンサにより観測して複数の変量に関する複数の時系列データを取得するセンシング部３０と、前記監視対象の状態を判定する判定部３９と、前記監視対象の正常または異常の定量状態値を算出する算出部と、を具備する波形分析装置が提供される。前記判定部３９は、前記複数の時系列データからのセグメントデータと判定モデルとに基づいて前記監視対象の正常の尤度および異常の尤度をそれぞれ計算し、前記正常および異常のうち尤度の大きい方に前記監視対象の状態を判定する。前記算出部は、既知の正常状態値に正常度合いを乗算した結果と既知の異常状態値に異常度合いを乗算した結果の和として、正常または異常の定量状態値を算出する。【選択図】図１
2013210945.tif 000002
【特許請求の範囲】
【請求項１】
監視対象の正常および異常の事前確率を表し、前記監視対象の複数の変量のそれぞれの波形について、最良区間の識別情報、前記最良区間のセグメントデータ、前記セグメントデータに関連するクラス、前記最良区間の正常および異常の条件付き確率を表す判定モデルを記憶する記憶部と、
前記監視対象を複数のセンサにより観測して複数の変量に関する複数の時系列データを取得するセンシング部と、
前記複数の変量のそれぞれについて、前記複数の時系列データから前記最良区間の識別情報に従ってセグメントデータを選択する選択部と、
前記複数の時系列データからのセグメントデータと前記判定モデルとに基づいて前記監視対象の正常の尤度および異常の尤度をそれぞれ計算し、前記正常および異常のうち尤度の大きい方に前記監視対象の状態を判定する判定部と、
前記最近傍法による正常の場合の波形類似度の平均値と異常の場合の波形類似度の平均値から、正常度合いと異常度合いの比に基づく正常重みと異常重みとを求め、既知の正常状態値に前記正常度合いを乗算した結果と既知の異常状態値に前記異常度合いを乗算した結果の和として、正常または異常の定量状態値を算出する算出部と、を具備する波形分析装置。
【請求項２】
前記判定部は、
前記複数の時系列データからのセグメントデータおよび前記記憶部のセグメントデータから最近傍法により上位所定数のセグメントデータを検出し、
前記複数の変量のそれぞれについて、前記上位所定数のセグメントデータにおける正常クラスおよび異常クラスのそれぞれの比率と、前記正常および異常の条件付き確率とをそれぞれ乗算し、乗算値を前記複数の変量間で掛け合わせるとともに前記正常および異常の事前確率を乗じることより前記監視対象の正常の尤度および異常の尤度をそれぞれ計算する請求項１記載の装置。
【請求項３】
前記複数の変量に関する複数の時系列データと、前記複数の時系列データが取得されたときの前記監視対象の状態を表す正常クラスまたは異常クラスとを一組とした複数の訓練データを格納するデータ格納部と、
前記複数の変量のそれぞれに対して複数の区間を指定し、前記複数の変量のそれぞれについて、前記複数の訓練データに含まれる前記複数の時系列データから、前記複数の区間のデータである複数のセグメントデータを抽出する波形分割部と、
前記複数の変量のそれぞれについて、前記波形分割部により抽出された前記複数のセグメントデータを用いて前記複数の区間のそれぞれについて最近傍法による判定を行うことにより、前記複数の区間のうちの１つである最良区間を選択する評価部と、
前記複数の変量のそれぞれについて、前記複数の区間のそれぞれについて正常と判定された回数と、異常と判定された回数とに基づき、前記最良区間の正常および異常の条件付き確率を計算し、前記複数の訓練データに含まれる正常クラスの合計数と異常クラスの合計数とから正常および異常の事前確率を計算する計算部と、
前記判定モデルを生成して前記記憶部に送る送信部と、をさらに具備する請求項１に記載の装置。
【請求項４】
監視対象の正常および異常の事前確率を表し、前記監視対象の複数の変量のそれぞれの波形について、最良区間の識別情報、前記最良区間のセグメントデータ、前記セグメントデータに関連するクラス、前記最良区間の正常および異常の条件付き確率を表す判定モデルを記憶部に記憶するステップと、
前記監視対象を複数のセンサにより観測して複数の変量に関する複数の時系列データを取得するステップと、
前記複数の変量のそれぞれについて、前記複数の時系列データから前記最良区間の識別情報に従ってセグメントデータを選択するステップと、
前記複数の時系列データからのセグメントデータと前記判定モデルとに基づいて前記監視対象の正常の尤度および異常の尤度をそれぞれ計算し、前記正常および異常のうち尤度の大きい方に前記監視対象の状態を判定するステップと、
前記最近傍法による正常の場合の波形類似度の平均値と異常の場合の波形類似度の平均値から、正常度合いと異常度合いの比に基づく正常重みと異常重みとを求め、既知の正常状態値に前記正常度合いを乗算した結果と既知の異常状態値に前記異常度合いを乗算した結果の和として、正常または異常の定量状態値を算出するステップと、を含む波形分析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、波形分析装置およびその方法に関する。
【背景技術】
【０００２】
近年のセンサネットワークの普及により、センサフュージョン等、様々なシーンでセンサデータ解析技術が必要となっている。しかしながら多変量時系列データを活用した判定装置において判定性能を向上させることは困難である。一般的に判別精度がよく、比較的多く用いられている判別器としてSVMやニューラルネットワーク等があるが、構築が難しい、判定の根拠が分かりにくいといった理由で、現場で受け入れがたい可能性がある。センサフュージョン技術においては、確率モデルによる複数センサデータの情報の異常判定が可能であるが、この場合、センサデータを連続時系列値から離散値に変換し、カテゴリカルデータとして扱うのが主流である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３６２４５４６号公報
【特許文献２】特許第３９３１８７９号公報
【特許文献３】特開２００５−１６５４２１号公報
【特許文献４】特開２００７−６４３０７号公報
【非特許文献】
【０００４】
【非特許文献１】Hui Ding, Goce Trajcevski, Peter Scheuermann, Xiaoyue Wang and Eamonn Keogh (2008) ，Querying and Mining of Time Series Data: Experimental Comparison of Representations and Distance Measures. In Proceedings of the International Conference on Very Large Data Bases (VLDB2008), Vol.1 , Issue 2, pp. 1542-1552, 2008.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
過去に蓄積した複数のセンサのセンシングデータを用いて監視対象に対する異常判定を高精度に行うとともに、そのようなセンサデータから対象物の正常・異常状態の値を算出して提示できることが望まれている。
【課題を解決するための手段】
【０００６】
実施形態によれば、監視対象をセンサにより観測して複数の変量に関する複数の時系列データを取得するセンシング部と、前記監視対象の状態を判定する判定部と、前記監視対象の正常または異常の定量状態値を算出する算出部と、を具備する波形分析装置が提供される。前記判定部は、前記複数の時系列データからのセグメントデータと判定モデルとに基づいて前記監視対象の正常の尤度および異常の尤度をそれぞれ計算し、前記正常および異常のうち尤度の大きい方に前記監視対象の状態を判定する。前記算出部は、既知の正常状態値に正常度合いを乗算した結果と既知の異常状態値に異常度合いを乗算した結果の和として、正常または異常の定量状態値を算出する。
【図面の簡単な説明】
【０００７】
【図１】実施形態に係る異常判定システムの構成を示す図
【図２】サーバによる訓練学習プロセスの流れを示す図
【図３】訓練データ格納部における訓練データ集合の例を示す図
【図４】波形振幅の例を示す図
【図５】パワースペクトルへ変換後の特徴ベクトルの例を示す図
【図６】波形分割の一例を示す図
【図７】波形分割の他の例を示す図
【図８】波形分割のさらに他の例を示す図
【図９】パワースペクトルの場合の分割例を示す図
【図１０】疑似判定評価処理の詳細な処理の流れを示す図
【図１１】訓練データの分割例を示す図
【図１２】訓練データの他の分割例を示す図
【図１３】図１０のステップＳ２０５の詳細を示す図
【図１４】条件付き確率の計算例を示す図
【図１５】最近傍のセグメントデータを見つける例を示す図
【図１６】頻度分布表のフォーマット例を示す図
【図１７】スコア表の一例を示す図
【図１８】最近傍計算を行う様子を示す図
【図１９】最近傍計算を行う様子を示す図
【図２０】最良モデル格納部内のデータ例（判定モデル）を示す図
【図２１】第１の変形例の処理を示す図
【図２２】各種変形例で追加される処理を示す図
【図２３】第２の変形例の処理を示す図
【図２４】第３の変形例の処理を示す図
【図２５】第４の変形例の処理を示す図
【図２６】第５の変形例に係る判定モデルの一例を示す図
【図２７】第５の変形例に係るモデル式の概念を示す図
【図２８】判定対象データ上をスキャンする様子を示す図
【図２９】データ（波形）を切り出す様子を示す図
【図３０】判定対象データのうち異常判定の部分の表示画面例を示す図
【図３１】クライアントにおける動作フローを示す図
【図３２】正常と異常の場合のカゴ加速度の波形をそれぞれ示す図
【図３３】カゴ揺れの異常度を定量的に算出する手順を示す図
【図３４】サーバおよびクライアントを実現するためのハードウェア構成の一例を示す図
【図３５】セグメントテンプレートの当てはめ例を示す図
【図３６】変形例に係るクライアントの動作の一例を示す図
【発明を実施するための形態】
【０００８】
以下、実施の形態について、図面を参照して説明する。
【０００９】
図1は、実施形態に係る異常判定システムの構成を示す。この異常判定システムはサーバ（監視センター装置）と、クライアント（遠隔監視端末）とを備える。サーバは、監視対象の観測により得られた過去のセンサデータ（時系列データ）と、当該センサデータの取得時における監視対象の状態を識別するクラス（異常あるいは正常）とを活用して訓練学習を行うことにより、新たなセンサデータの判定を行うための判定モデルを生成する。クライアントは、監視対象を観測してセンサデータを取得し、取得したセンサデータと判定モデルとを用いて監視対象が正常であるか異常であるかの判定を行う。
【００１０】
（サーバ）
図2は、サーバによる訓練学習プロセスの流れを示すフローチャートである。
【００１１】
まずサーバは、ユーザによって設定された各種パラメータを読み込む（S101）。例えば最大波形分割数Z_max（ステップS106で使用）などのパラメータを読み込む。読み込みは、メモリ、ハードディスク等の記録媒体から行う。
【００１２】
次に初期設定を行うことにより、波形分割数のパラメータzを0に設定する（S102）。
【００１３】
次に、訓練データ入力部12が、訓練データ格納部11から訓練データ集合を読み出し、次段の波形前処理部13に入力する（S103）。
【００１４】
図3に訓練データ格納部11における訓練データ集合の例を示す。
【００１５】
各訓練データはそれぞれ、少なくとも1種類以上の時系列データ（センサデータ）と、クラスとの組で構成される。ここでクラスとは、過去において該当する時系列データが取得されたときの対象機器（監視対象）の状態を保守員等が判定した判定結果である。クラスは例えば異常と正常がある。ただし異常タイプA、異常タイプBのように複数種類の異常状態があってもよい。ここでは説明を分かりやすくするために正常・異常の2つのクラスがある場合を説明する。図示の例では、訓練データは、4つの変量（チャネル）の時系列データを含んでいる。訓練データd1〜dNのクラスは正常、訓練データdN+1〜dMのクラスは異常である。4つの変量の時系列データはそれぞれ該当する4つのセンサから取得されたものである。ここでは説明の簡単のため各時系列データのサイズ（時間軸方向の長さ）は同じであるとするが、変量（チャネル）毎にサイズが異なっていてもかまわない。
【００１６】
次に、波形前処理部13が、訓練データ集合に含まれる各時系列データの前処理を行う（S104）。前処理としてたとえばFFTによるパワースペクトル変換や短時間フーリエ変換、ウェーブレット変換等の信号処理を施すことにより、振幅スペクトルなどの特徴ベクトルを取得してもよい。あるいは、複数の所定時刻における波形振幅値を取得しても構わない。図4に複数の所定時刻において取得した波形振幅の例を示す。図5にパワースペクトルへ変換後の特徴ベクトルの例を示す。前処理としては、さらに、低周波域通過フィルタ（平滑化フィルタ）を用いて波形を処理してもよい。これは、波形振幅にノイズが乗っている場合や波形の大局的特徴をつかみたい場合に有効である。または限定された帯域のみの波形のみをフィルタで取りだしてもよい。または、たとえば非特許文献1にあるように線分近似やチェビシェフ近似、APCA近似など、様々な波形近似計算を行っても良い。なお前処理を特に行わずに次の処理へ進むことも可能である。以降の説明では、理解の簡単のため、前処理を経ていない図3の時系列データを用いて説明する。
【００１７】
次に、ステップS105〜ステップS110では、波形分割数zを1から最大波形分割数z_maxまで順次増大させながら、時系列データを波形分割数zで複数の区間へ分割し、波形分割数z（1〜z_max）のそれぞれにおいて、変量毎の重要区間を決定する。そして最も高い評価値が得られた波形分割数のときの各変量の重要区間を最適区間として決定する。また訓練データ集合の各時系列データにおける、各最適区間のデータ部分（セグメントデータ）を、該当するクラスと関連づけて記憶する。以下ステップS105〜S110の詳細を説明する。
【００１８】
ステップS105ではサーバが、波形分割数zを1インクリメントする。
【００１９】
ステップS106では、サーバが、波形分割数zが最大分割数z_maxを超えたかどうかを判断し、超えた場合はステップS111に進む。超えていない場合は、ステップS107に進む。
【００２０】
ステップS107では、波形分割部14が、波形分割数zで、訓練データ集合の各時系列データを時間軸上で分割してセグメントデータを切り出す。分割方法はここでは簡単のため分割幅が均等になるように分割するが、別の方法で分割してもかまわない。切り出したセグメントデータはセグメント格納部15に格納する。
【００２１】
波形分割の一例を図6（z=1の場合）、図7（z=2の場合）、図8（z=4の場合）に示す。z=1の場合は実際には分割は行われないことに注意する。このように切り出した各セグメントデータ（部分時系列データ）は、zの値と訓練データIDと変量IDとに関連づけてセグメント格納部15に蓄積しておく。前処理後の時系列データ（特徴ベクトル）がパワースペクトルの場合は図9のように周波数軸方向に沿ってデータを分割すればよい。ここでは、z=3の場合を示し、周波数帯が3分割されている。本実施形態において時系列データを分割するというときは、時系列データをパワースペクトルに変換して扱う場合には周波数軸方向に沿って分割することを意味するものとする。
【００２２】
次にステップS108では疑似判定評価部17、確率尤度計算部16および最良モデル選定部19による疑似判定評価処理を行う。
【００２３】
図10は疑似判定評価処理（S108）の詳細な処理の流れを示すフローチャートである。
【００２４】
まず疑似判定評価部17が、訓練データ集合（セグメント化したもの）を複数の分割集合に分割し、複数の分割集合を1からVmaxでラベル付けする（S201）。1つの分割集合は1つの訓練データで構成されていてもよいし、複数の訓練データで構成されていてもよい。1つの分割集合が、1つの訓練データで構成されるときは、訓練データ集合は訓練データの総数分に分割され、したがってVmaxは訓練データの総数に一致する。以下では説明の簡単のため、特に断りのない限り、1つの分割集合は1つの訓練データで構成されているとする。
【００２５】
次に、初期設定を行うことにより、分割集合識別子v=0、評価値q=0.0とする（S202）。
【００２６】
次に、vを1インクリメントする（S203）。
【００２７】
次に、疑似判定評価部17が、ステップS201で分割された複数の分割集合のうち識別子vに示されるものを疑似判定対象データ集合Tvとして選定する。すなわち複数の分割集合を疑似判定対象データ集合Tvと、それ以外の分割集合とに分ける。v=1のときの例を図11に、v=2のときの例を図12に示す。上述の通り、ここでは、複数の分割集合のそれぞれは1つの訓練データで構成されるため、疑似判定対象データ集合Tvは1つの訓練データを含む。従って、以下では、疑似判定対象データTvと称するときは疑似判定対象データ集合Tvが1つの訓練データを含む場合を指すものとする。
【００２８】
次に疑似判定評価部17が、訓練学習によるLeave Cross Validationを用いたモデル化処理を行い、評価値rを取得する（S205）。この処理では、疑似判定対象データTvのクラス（判定結果）を擬似的に伏せ、残りの訓練データを用いて、疑似判定対象データTvのクラスを推定する。推定した結果が、疑似判定対象データTvの実際のクラスと一致しているかを算出することにより評価値rを取得する。特にLeave-One-out Cross Validation（1つの分割集合には1つの訓練データのみ含める）は訓練データが小数の場合に有効である。ただし分割集合に含める訓練データが1つのときは疑似判定処理に時間がかかり過ぎる問題があり、この問題を避けたい場合は、1つの分割集合に複数の訓練データを含め、分割集合の1つを疑似判定対象集合として選択し、すべての部分集合が1回ずつ疑似判定対象集合となるように評価を繰り返せばよい。これは一般にCross Validationと呼ばれる評価方法である。本例では上記したように分割集合には1つの訓練データが含まれる場合を想定する。
【００２９】
ステップS207では、疑似判定評価部17が、評価値rを評価値qに加算する。
【００３０】
ステップS208では疑似判定評価部17が、分割集合識別子vがVmaxを超えたかどうかを判定する。すなわち訓練データ集合の各訓練データのそれぞれが疑似判定対象データTvとして選定されたかどうか（複数の分割集合のそれぞれが疑似判定対象データ集合Tvとして選定されたかどうか）を判定する。Vmaxを超えていないときはステップS203に戻り、超えたときはステップS209に進む。
【００３１】
ステップS209では疑似判定評価部17が、評価値qを、評価回数（分割集合の個数）であるv_maxで除算することにより疑似正答率Gz（平均評価値）を計算する。これにより1つの波形分割数zに対応して1つの疑似正答率Gz（平均評価値）が得られることとなる。
【００３２】
ステップS210（条件付き確率の計算）およびステップS211（重要セグメントの決定）については後述する。
【００３３】
図2に戻り、ステップS109では、疑似判定評価部17が、ステップS209で計算された疑似正答率Gzが、1つ前の波形分割数z-1のときの疑似正答率Gz-1より小さいか否かを判定する。GzがGz-1以上のときは、さらに大きい値の疑似正答率が得られる可能性があると判断し、ステップS105に戻り、波形分割数zを1インクリメントして、同様の手順を繰り返す。一方、疑似正答率GzがGz-1より小さいときは、これより大きい値の疑似正答率を得られないと判断し、ステップS110に進む。
【００３４】
ここでステップS110、S111の説明を行うに先立ち、図10のステップS205（訓練学習によるモデル化処理）の詳細を説明する。
【００３５】
図13は図10のステップS205の詳細を示すフローチャートである。ここでは波形分割数z=4の場合を例に説明する。
【００３６】
まず、ステップS301では、確率・尤度計算部16が、訓練データ集合（z＝4でセグメント化されている）における各訓練データのクラスに基づき、正常および異常のそれぞれの生起確率を事前確率p(Ci)として計算する。たとえば訓練データ集合のサイズが200であり、正常クラスが140個、異常クラスが60個存在する場合は、正常の事前確率p(C1=正常)=0.7、異常の事前確率p(C2=異常)=0.3である（図14の左上を参照）。なお本ステップS301は1回のみ行えばよく、次回以降は本ステップの処理はスキップしてよい。
【００３７】
次に、ステップS302で、疑似判定評価部17が、初期設定を行うことにより、変量ID(チャネルID)を示すiを0に設定し、区間のIDを示すjを0に設定する。
【００３８】
次に、ステップS303aで疑似判定評価部17が、チャネルiを1インクリメントし、ステップS303bで変量（チャネル）jを1インクリメントする。
【００３９】
次に、ステップS304で、疑似判定評価部17が、疑似判定対象データTvに対して、時系列データ分類問題で実績のあるk-最近傍法を用いて、疑似判定対象データTvのクラス推定（疑似判定）を行う。k-最近傍法とは、特徴空間上で、疑似判定対象に最も近いk個の事例を抽出し、そのk個の事例のそれぞれのクラスの中で、最も多数を占めるクラスを、疑似判定対象の推定クラスとして決定する判定方法である。以下詳細に説明する。
【００４０】
疑似判定対象データTvおける各変量（各チャネル）の各セグメントデータについて、k個の最近傍のセグメントデータを、疑似判定対象データTv以外の残りの訓練データ（残りの分割集合）の中から同一変量内で見つける。図15に疑似判定対象データdN+1の変量（チャネル）1およびセグメントs1に着目し、疑似判定対象データd1のセグメントデータs1に最も類似度が高い（距離が近い）上位k個のセグメントデータs1を、残りの訓練データの変量（チャネル）1の時系列データから見つける例を示す。ただしk=5とする。図示の例では、訓練データd13, d14, d15，d17, d16における変量1のセグメントデータs1が特定されている。ここでセグメントデータ間の距離の計算には、Dynamic Time Warping(DTW)距離やEuclidean（ユークリッド）距離などの尺度を用いればよい。ここでは訓練データd13, d14, d15，d17, d16の変量1のセグメントデータs1に対する距離がそれぞれ3.5, 9.3, 12.9, 13.2，14.1と計算されている。なお図中、dist (x,y)はセグメントデータxとセグメントデータyとの距離を示す。
【００４１】
このように上位k（＝5）個のセグメントデータを特定したらこれらのセグメントデータに関連するクラスの中で、最も個数の多いクラスを特定する。これを定式化すると式1−1のようになる。
【数１】
2013210945.tif 000003
【００４２】
図15の例では、訓練データd13, d14, d15，d17, d16のすべてクラスが正常である。すなわち異常の頻度、正常の頻度は、freq(異常、正常)＝（0，5）である。よって上記式1-1に従って、推定結果は正常と判定される。ここで、疑似判定対象データd1の実際のクラスは異常である。従ってこの推定結果は不正解（誤り）となる。
【００４３】
次にステップS305では、疑似判定評価部17は、ステップS304で得られた上記正常の頻度と異常の頻度とに基づき、変量毎かつ区間毎の正常および異常の頻度分布表を更新する。頻度分布表のフォーマット例を図16に示す。頻度分布表はたとえば波形分割数ｚ毎に用意される。最初、頻度分布表の全ての項目にゼロが設定されている。上記計算例では、チャネル1の分布表（図16の左上）においてセクションs1の正常の項目に5を加算し、異常の項目には何ら加算しない。
【００４４】
次にステップS306では、疑似評価判定部17が、ステップS304での推定が正解か不正解かに応じてスコア表を更新する。スコア表とは、疑似判定評価を進める過程で選択される全てのチャネルとセグメント（区間）との組合せに毎にスコアを格納するものである（後述する図17の上図を参照）。スコア表の各マスの初期値は0である。正解の場合には該当するマスに所定のスコア（ここでは1）を加算する。例えば図18に示すように、疑似判定対象データd1における変量（チャネル）1のセグメントs2に関して、ステップS304での推定結果が正解であったとした場合、変量（チャネル）1とセグメント2に対応するマスのスコアscore(ch1,s2)に1を加算する。すなわち、score(ch1,s2)=0+1となる。スコア表は、波形分割数z毎に存在する。
【００４５】
次にステップS309ではセグメントjがjmaxに達したか否かを判定し、達していないときはステップS303bに戻ってjをインクリメントして次のセグメントを選択する。達したときは次のステップS310に進む。上記図18には変量1（チャネル1）のセクションs2についてステップS304の最近傍計算を行う様子が示される。ここでは推定結果が異常であり、疑似判定対象データdN+1も異常であるため正解となっている。
【００４６】
ステップS310では、変量（チャネル）iがimaxに達したか否かを判定し、達していないときはステップS303aに戻って次の変量（チャネル）を選択し、達したときは、次のステップS311に進む。また図19には変量3（チャネル3）のセクションs2についてステップS304の最近傍計算を行う様子が示される。ここでは推定結果が正常であり、疑似判定対象データdN+1は異常であるため不正解となっている。
【００４７】
ステップS311では疑似判定対象データTvの評価値を計算する。変量1〜4毎のセグメントs1〜s4について行った合計16回の判定（S304）のうち少なくともいずれか1つについて判定結果が異常でありかつ正解であるときは評価値rを1.0、それ以外のときは0.0とする。または正解の回数が不正解の回数よりも多いときは1.0、正解の回数が不正解の回数以下のときは0.0としてもよい。または判定回数に対する正解の回数の比率を評価値rとしてもよい。ステップS311を終えたら本フローを終了し、図10のステップS207に戻る。
【００４８】
なお1つの分割集合に複数の訓練データが含まれるときは各訓練データについてステップS302〜S310の処理を行い、その後、同様の基準により評価値を計算すればよい。
【００４９】
図10のステップS207では評価値rをqに加算して、qを更新する。そして、次の疑似判定対象データTvの選定に進み、同様にして図13のフローを行う。
【００５０】
そして、すべての訓練データ（すべての分割集合）がそれぞれ1回、疑似判定対象データ（疑似判定対象データ集合）Tvとして選定されたらステップS209に進み、疑似正答率（平均評価値）Gz＝q／v_maxを計算する。すなわちすべての訓練データ（すべての分割集合）間での評価値の平均を計算する。
【００５１】
次のステップS210では、確率・尤度計算部16が、図13のステップS305で更新された頻度分布表に基づき各変量および各セグメントの組み合わせ毎に正常および異常の条件付き確率p(X|C)を計算する。例えば変量2，セグメントs2の組について、p(X2=s2|C)=(異常=0.8、正常=0.067)といったように計算する。
【００５２】
ここでp(X|C)とは、Cの条件下、すなわち、C=異常、C=正常のそれぞれの中で、変量Xが各セグメントをそれぞれとった場合にどれくらいの確率で正常となるか異常となるかを確率的に示したものである。つまり、C=正常、C=異常のそれぞれで各セグメントにおける正常・異常の分布を正規化した確率がp(X|C)であるといえる。P(X)だけだと正常の確率が異常の確率を上回っていても、もともとP(C)にける正常の生起確率が異常の生起確率よりも5倍であるならば、この事前確率の差異を1/5に補正して条件付き確率を考えなければならない。そこでここではp(C)でそれぞれ正規化した各セグメントにおける確率をp(X|C)として計算する。各C(すなわち正常および異常)の値について、すべてのとるべきセグメントの種類における確率の総和が1となるように各C毎に確率を計算することになる。
【００５３】
一例として、変量2，および変量3についての条件付き確率の計算例をそれぞれ図14の中心の上、右上に示す。変量2に関して図示の頻度分布f(X2|C)が得られていたとすると、この頻度分布に基づき、条件付き確率p(X2|C)が図示の表のように計算される。すなわち正常および異常のそれぞれについて、各変量の頻度を合計頻度数で除算することにより条件付き確率が計算される。変量3に関しても同様の手法にて計算される。図示していないが変量1および変量4に関しても同様にして条件付き確率が計算される。なお異常の条件付き確率が0.1、正常の条件付き確率が0.9といったように大きく偏る場合、これは異常の条件付き確率が0.55、正常の条件付き確率が0.45といったような場合に比べて、正常の確率が非常に高いと言え、このような確率は確信度に近いものとなる。
【００５４】
次にステップS211に進み、変量毎に重要セグメント（重要区間）を決定する。すなわち、すべての訓練データがそれぞれ疑似判定対象データTvとして選定され、それぞれについて図13のフローが行われることで、最終的に図17の上に示すようにスコア表が得られ、本ステップS210では、疑似判定評価部17が、このスコア表に基づき各変量（チャネル）のそれぞれの重要セグメント（重要区間）を選択し、セグメント格納部15にその情報を記録する。具体的に、スコア表において、最もスコアの高いセグメント（区間）を変量毎に重要セグメントとして選択する。例えば変量（チャネル）1ではセグメントs1が最もスコアが高いため、セグメントs1を重要セグメントとして選択する。同様に、変量2〜4に対しては、セグメントs2,s2,s4が重要セグメントとして選択される。同じスコアのセグメントが複数存在するときの選択方法、およびそのほかの選択方法に関しては後述する。
【００５５】
ステップS211で重要セグメントを決定したら、本フローを終了し、図2のステップS109に進む。
【００５６】
ステップS109では先に少し述べたように、ステップS209で計算した疑似正答率Gzが波形分割数z-1のときの疑似正答率Gz-1よりも小さいかどうかを検査する。小さかったら、最良モデル選定部19は、次のステップS110において、Gz-1が得られたときに選択された、変量毎の重要セグメントを最良セグメント（最良区間）として最良モデル格納部18に格納する。
【００５７】
またステップS106で波形分割数zが最大波形分割数z_maxよりも大きいと判定されたときも同様にしてGz-1における最良セグメント（最良区間）の特定および格納を行う。ただしこの場合、ステップS105でzがインクリメントされているため、この場合、Gz-1はGz_maxに一致することに注意する。
【００５８】
なお、各チャネル（変量）の最良セグメント（最良区間）がいったん求まった後、各チャネルにおける他のセグメント（他の区間）を併合させて疑似判定性能が向上する余地がある場合には、併合アプローチを導入して併合したセグメントを最良セグメントとしてもよい。
【００５９】
次にステップS111において、最良モデル選定部19が、正常および異常の事前確率情報、ステップS210で求めた各変量の条件付き確率（最良モデルが得られたｚに対応するもの）を最良モデル格納部18に格納する。なお、格納する条件付き確率は各変量において最良セグメントとして特定されたセグメントの確率のみでもかまわない。
【００６０】
またクライアントで判定に使用するモデル式（後述）を最良モデル格納部18に格納する。モデル式は各変量の最良セグメントが決まれば自動的に生成可能である。
【００６１】
また、最良モデル選定部19は、セグメント格納部15から各変量の最良区間のセグメントデータと該当するクラスを読み出し、最良モデル格納部18に格納する。読み出すセグメントは訓練データのすべてを対象にしてもよいし正常と異常のそれぞれについて所定数の訓練データを対象にしてもよいし、その他の基準で決定してもよい。
【００６２】
また最良モデル選定部19は、採択した波形分割数zで分割したときの各区間（セグメント）の詳細情報（時間長）も最良モデル格納部18に格納する。少なくとも最良セグメントに対応する区間の詳細情報については格納する。
【００６３】
最良モデル格納部18に格納されたこれらの情報データが判定モデルを形成する。最良モデル格納部18に格納されたデータ例を図20に示す。
【００６４】
図20の例ではすべての変量においてセグメントs2が最良セグメントとして特定されている。なお図20では表記の簡単のためp(X1|C),p(X3|C),p(X4|C)の表の詳細な表記は省略して、単にp(X1|C),p(X3|C),p(X4|C)とのみ記している。（2）のモデル式の読み方は後述する。
【００６５】
次に、送信部20が最良モデル格納部18に格納された判定モデルをクライアントに送信する。なおモデル式の型データをあらかじめクライアントに与えておき、クライアントは各変量の最良セグメント（最良区間）に基づき型データからモデル式を生成してもよい。この場合サーバはクライアントに送る判定モデルにモデル式を含めなくても良い。ひとつのサーバに複数のクライアントが接続されている場合は、複数のクライアントに判定モデルを送信する。この判定モデルを受け取ることによりクライアントでは異常判定の準備が整うことになる。
【００６６】
（補足）ここで条件付き確率について補足説明を行う。通常、ベイズ分類器で判定結果を推定するには、各変量（属性）Xiにおいて条件付き確率p(Xi|C)を求める必要がある。ここで、属性Xiの属性値の種類が問題となる。通常、条件付き確率を計算する際には、属性Xiの離散的な属性値aiがそれぞれどれくらいの頻度で生起しているかを基準に計算するが、本実施形態、時系列波形を切り出したセグメントデータそのものに属性値が存在しないため、確率を計算することができない。通常は時系列波形をクラスタリングするなりしていくつかの類型カテゴリに分け、それぞれのカテゴリタイプを属性値として計算することが時系列クラスタリングならびに時系列分類の領域で行われるが、クラスタ（類型カテゴリ）の種類をいくつにするとよいかは容易には決まらない。しかも分割数が多くなった場合、同時に扱う変量の種類が多くなった場合には各変量における各セグメントに対してクラスタ数を求めなければならないため、非現実的である。各変量で分割したセグメントをすべての属性Xiとして扱うことも考えられるが、これでは確率計算コストが増大してしまう問題がある。そこで本実施形態では、各変量の属性Xiにおいて、最も疑似判定性能が高くなるセグメント種別を属性値とすることで、ベイズ分類問題の枠組みの中で時系列データを離散化して情報を落とさずに扱うことを可能にした。このようにすると、各変量で選択されたセグメントを確信度付きで表現することが可能となる。たとえば、先に示したように、p(X2=s2|C)=(異常=0.8,正常=0.067)のように条件付き確率を表現することができる。 
（サーバの第1の変形例）
図17に示したスコア表のように最もスコアの高いセグメント（区間）が各変量のそれぞれにおいて1つしか存在しないときは重要セグメントは一意に決定する。しかしながら、同点となるセグメントが複数存在する場合はこの方法では一意に決定することはできない。そこで、このような場合は以下の方法で重要セグメント（重要区間）の決定を行う。
【００６７】
図21は、第1の変形例に係る重要セグメントの決定方法を説明する図である。
【００６８】
図21の例では、変量（チャネル）4のセグメントs1,s4のスコアが同じである（それぞれ9点である）。変量1，2，3では最高のスコアのセグメントが1つしか存在せず、それぞれセグメントs1，s2，s2が選択されている。
【００６９】
この場合、変量1〜4間で、最高スコアのセグメントのすべての組合せをとることにより複数の候補を生成する。そして、図22のフローチャートに示すように、各候補のそれぞれについて異常の尤度を計算する（S222）。尤度とは判定のもっともらしさを表す測度であり、確率の総積として定義される。計算した尤度を比較し、尤度が最も高い候補を選択する(S223)。
【００７０】
図示の例では、候補c1として、（変量1，変量2，変量3，変量4）＝（s1，s2，s2，s1）、候補c2として（変量1，変量2，変量3，変量4）＝（s1，s2，s2，s4）が生成され、それぞれの候補について、異常の尤度を計算する。そして尤度が最も高い候補を選択する（尤度計算による疑似判定評価）。
【００７１】
ここで尤度の計算は以下の式に従って行う。下記の式の計算により、正常の尤度と、異常の尤度とで構成されるベクトルが得られるため、異常の方の尤度を選択し、各候補間で異常の尤度を比較する。p（C）は事前確率であり、p(Xj=si|C)は条件付き確率である。条件付き確率は、図10のステップS210で計算した値を用いることができる。
【数２】
2013210945.tif 000004
【００７２】
図21の例で、実際に各候補の異常の尤度を計算すると、候補c1では0.087、候補c2では0.084となり、候補c1の方が値が大きいため、候補c1を選択する。すなわち、変量（チャネル）4の重要セグメントはs1に決定される。なお図21の例のように、同点のセグメントが存在する変量が1つしか存在しない場合は、これら同点セグメント間で異常の条件付き確率を比較して、最も大きい値をもつセグメントを重要セグメントとして決定しても同じ結果が得られる。
【００７３】
（サーバの第2の変形例）
（その1）本実施形態ではスコアの最大値で重要セグメントを特定したが、別の方法として尤度計算で最も高い変量間でのセグメントの組み合わせを選択することも可能である。これは、各変量においては最良のセグメントを選択しているが、変量全体で疑似判定したときにはそれがベストな判定精度となっているとは限らないためである。本変形例の処理では、例えば上記の式1-2に従って、変量間ですべてのセグメントの組み合わせについて異常の尤度を計算し（図22のS222）、最も尤度の高い組み合わせを選択すればよい（図22のS223）。
【００７４】
（その2）また、第2の変形例として以下の方法も可能である。
【００７５】
すなわち評価スコアの下限閾値θをあらかじめ決めておき、その下限閾値より大きいスコアになったセグメントをすべて候補として選択し、候補の中から最終的な重要セグメントを決定する。
【００７６】
図23は第2の変形例に係る重要セグメントの決定方法を説明する図である。
【００７７】
下限閾値θは5に設定されている。変量（チャネル）1〜4のそれぞれにおいて5超のスコアをもつセグメントが候補として選択される。変量1ではセグメントs1，s4、変量2ではs2、変量3ではs2，変量4ではs1，s3、s4が選択される。選択されたセグメントを各変量間で組み合わせると、以下の6個の候補c1〜c6が得られる。
【００７８】
c1＝（s1，s2，s2，s1）、c2＝（s4，s2，s2，s1）、c3＝（s1，s2，s2，s3）、c4＝（s4，s2，s2，s3）、c5＝（s1，s2，s2，s4）、c6＝（s4，s2，s2，s4）
各候補について「その1」と同様にして異常の尤度を計算する（図22のS222）。そして、最も尤度の大きい候補を選択する（図22のS223）。この例では候補c1の尤度L1は0．013，候補c2の尤度L2は0．031、候補c3の尤度L3は0．024，候補c4の尤度L4は0．062、候補c5の尤度L5は0．033、候補c6の尤度L6は0．093と計算される。候補c6の尤度が最も大きいため、候補c6に含まれるセグメントが重要セグメントとして決定される。すなわち変量1ではセグメントs4、変量2ではセグメントs2，変量3ではセグメントs2、変量4ではセグメントs4がそれぞれ重要セグメントとして決定される。
【００７９】
このような重要セグメントの決定方法によれば、閾値θより大きいスコアのセグメントが存在しない変量（チャネル）では、重要セグメントが選択されないこととなる。このような変量は異常検知にとって必要性が低いといえ、その変量（チャネル）のデータを異常判定に用いずに済むという利点もある。なお最も大きい尤度の候補が複数存在するときは、複数の候補を選択してもよい。
【００８０】
（サーバの変形例3）
センシング対象(監視対象)によっては、各センサの時間差を考慮しなくても良い場合もある。その場合には、各変量（チャネル）において同じ位置のセグメントを選択し、同じセグメントの系列単位で、k-最近傍法で、推定を行ってもよい。
【００８１】
この場合、図10のステップS205に対応する図13のフロー単位で条件付き確率を計算（分割集合識別子ｖ単位で条件付き確率を計算し）する。図24に示すように、各変量間で同一セグメント（例えばs2）の正常および異常の条件付き確率を乗算し、さらに事前確率を乗算することで正常および異常の尤度を計算し、値が大きい方の状態を採用する。これは下記の式1-3によって示される。
【数３】
2013210945.tif 000005
【００８２】
採用した状態が、疑似判定対象データの状態と一致すれば正解としてスコアを1加算し、一致しなければスコアを加算しない。各変量間で他の同一セグメント(s1,s3,s4)についてもそれぞれ同様の計算を行って正常または異常を採択し、正解した場合はスコアを加算する。このようにしてスコア表を更新する（スコア表のサイズは本実施形態の4×4に対し、1×4となる）。
【００８３】
図24の例では、
【数４】
2013210945.tif 000006
【００８４】
（なお理解の簡単のためここでは図14の表の値を用いた）。よって異常の方が正常よりも尤度が高くなる。したがって、この場合は正常が推定結果となる。疑似判定対象データd1のクラスは正常であるため、この推定結果は正解となり、セグメントs2に対するスコアscore(S2)に1加算する。
【００８５】
なお、場合によっては、k-最近傍法によってクラスの事前分布の偏りがすでに補正されている可能性もあり得る。そこで式1−3に示した推定式から事前確率分布p(C)を外した式1−4を式1−3の代わりに用いてもよい。
【数５】
2013210945.tif 000007
【００８６】
（サーバの第4の変形例）
本変形例では各変量（チャネル）の最良セグメントを決定する他の方法を示す。
【００８７】
図25は、変形例5に係る最良セグメントの決定方法を説明する図である。
【００８８】
最初に各変量に対して最良セグメントのセグメント長および暫定位置をあらかじめ決めておく。あらかじめ決定したセグメント長のセグメント（区間）をそれぞれ暫定位置に配置し、暫定位置から時間軸に沿って各セグメントを前後に最小移動間隔Δ単位でずらし、最も疑似判定評価値Gzが良くなる位置の組み合わせを決定し、これにより最良セグメントを決定する。図25の例ではずらしの最大幅がセグメント長の絶対値となっている。このようなΔ単位で移動した場合の各変量間でのすべてのセグメントの組み合わせについて最も異常の尤度が高くなる組み合わせを選択する。このようにして、取り得る可能性のある各セグメントの位置の組み合わせを探っていき、疑似判定評価比較を行うことで変量毎の最良セグメントを決定する。
【００８９】
（サーバの第5の変形例）
本変形例では、第1の変量から第2の変量へ確率的依存関係が分かっている場合の例を説明する。ここでは第1の変量を変量（チャネル）X3、第2の変量を変量（チャネル）X2として説明する。変量の依存関係、すなわちセンサ同士の依存関係はあらかじめユーザがサーバに指定しておく。
【００９０】
変量X3から変量X2に確率的な依存関係がある場合、尤度は式1−5に従って計算され、判定推定式（正常および異常の尤度のうち大きい方の状態を推定する式）は数1−6のようになる。
【数６】
2013210945.tif 000008
【００９１】
変形例4のようにクラス分布に関する事前確率を用いない場合は式1−6の代わりに式1−7を用いて判定してもよい。
【数７】
2013210945.tif 000009
【００９２】
第1実施形態との差異として、本変形例では、式1−5で尤度を計算する。また最良モデル格納部18に格納するモデル式として式1−8に示すものを用いる。P(Xnew=s2|C)等の意味は後述する。また本変形例では変量X2から変量X3に対する正常および異常の条件付き確率も最良モデル格納部18に格納し、これを判定モデルに含める。
【数８】
2013210945.tif 000010
【００９３】
本変形例に係る判定モデルの一例を図26に示す。図27は、式1−6のモデル式の概念を模式的に示したものである。
【００９４】
ここでp(X2=s2|X3=s2,C)は、CとX3=s2とが、取り得る値の組み合わせに応じて、X2=s2に確率依存関係があることを示している。つまりCと、X3=s2のとるべき値の組み合わせとの（正または負の）相乗効果というべき影響があることを意味している。
【００９５】
図14の下に条件付き確率p(X2=s2|X3=s2,C)の計算例を示す。p(X2=s2|X3=s2,C)は頻度f(X2=s2|X3=s2,C)から計算する。ここでは頻度f(X2=s2|X3=s2,C)を求めるのに、近似として、頻度f(X2=s2|C)とp(X3=s2|C)との総和を用いている。これはｋが小さいとき、条件付き確率表の各セルの頻度が小さすぎることになるのを防ぐための1つの方法である。図示の例では、f(X2=s2|C=異常)=4と、f(X3=s2|C=異常)=2とから、f(X2=s2|X3=s2,C=異常)=4+2=6となる。またf(X2=s2|C=正常)=1と、f(X3=s2|C=正常)=2とから、f(X2=s2|X3=s2,C=正常)=1+3=4となる。
【００９６】
これ以外の計算方法として、頻度の少なさが問題とならない場合は、そのまま、f(X3=s2|C=異常)と、f(X3=s2|C=正常)を満たす3+2=5個のデータのうち、f(X2=s2)となる異常および正常の頻度をカウントすることで、f(X2=s2|X3=s2,C)の頻度表を作成してもよい。
【００９７】
なお頻度表から条件付き確率を計算する方法、既に述べたp(X2|C)やp(X3|C)と同様であるため重複する説明を省略する。
【００９８】
（クライアント）
図1のクライアントについて説明する。
【００９９】
クライアントは複数のセンサにより新たにデータをセンシングするセンシング部30を備え、センシング部30によりセンシングしたデータ（このデータを判定対象データと呼ぶことにする）をセンシングデータ格納部31に格納する。
【０１００】
判定対象データ入力部32は、センシングデータ格納部31に判定対象データが入っているかを監視し、新たな判定対象データが入っていたら判定対象データを読み出して波形前処理部33に入力する。
【０１０１】
波形前処理部33は、サーバの波形前処理部13で説明したのと同様にして波形の前処理を行う。
【０１０２】
モデル受信部34は、サーバから送られる判定モデルを受信する。
【０１０３】
判定モデル格納部35は、モデル受信部34で受信された判定モデルを格納する。
【０１０４】
セグメント選択部36は、図28に示すように、判定モデルに含まれる各変量の最良セグメントで構成されるセグメントテンプレートをもとに判定対象データ上を一定時間間隔でスキャンし、スキャンされたセグメントテンプレート内のデータを読み出して、異常判定部39に出力する。
【０１０５】
異常判定部39は、セグメント選択部36から入力された各変量の切り出しデータと、判定モデルとをもとに異常および正常の尤度を計算する。異常判定部39は、異常の尤度が正常の尤度よりも大きければ異常と判定し、それでなければ正常と判定する。
【０１０６】
例えば、各変量において図29の左のようにデータ（波形）が切り出された場合、判定モデルにおいてそれぞれ対応するセグメントデータ（図20の（4）または図26の(4)）との距離を比較し、距離の近い上位k’個のセグメントの判定結果（正常または異常）を特定する。ただし、1<k’<kとし、kならびにk’はあらかじめシステムパラメータとして設定しておく。そして、図20の（2）または図26の（2）のモデル式を使って尤度計算を行い、正常となる尤度と、異常となる尤度とを計算し、値の大きい尤度の方を
【数９】
2013210945.tif 000011
【０１０７】
として出力する。両者の尤度の値が同じときはあらかじめ定めた一方を判定結果とする。
【０１０８】
より詳細に、図20(2)のモデル式に従う場合は、まず変量毎に、正常と異常の割合（条件付き確率）p(Xnew=s2|C)をそれぞれ計算する。たとえばある変量に関し、k’=5で、正常の回数が1，異常の回数が4のときは、p(Xnew=s2|C=正常)=0.2、p(Xnew=s2|C=異常)=0.8となる。そして、変量毎のp(Xnew=s2|C)に、判定モデルに含まれる条件付き確率表の該当するセクション（区間）の正常および異常の確率p(Xj=s2|C)を乗じる（本例ではすべての変量でセクションはs2である）。すなわち、変量毎のp(Xnew=s2|C)に、p(X1=s2|C), p(X2=s2|C), p(X3=s2|C), p(X4=s2|C)を乗じる。そしてさらに正常および異常の事前確率p(C)を掛け合わせ、これにより正常および異常の尤度を得る。図26(2)のモデル式に従う場合は、さらにp(X2|X3,C)の正常および異常の確率を読み出して、これらを乗じることにより正常および異常の尤度を得る。最終的に、正常および異常のうち、大きい方の尤度の状態を決定する。
【０１０９】
このようにセグメント選択部36と異常判定部39とにより、ちょうど滑走窓をあてがって尤度計算をするのと同様に、判定対象データからセグメントテンプレートを滑走させてセグメントデータを切り出し、判定モデルとセグメントデータとを用いて、尤度を計算する。
【０１１０】
このようにセグメントテンプレートを滑走させることで、異常判定部39では、スキャンした回数だけの判定結果が出力される。たとえば前半のある個所では正常であったが、後半に異常と判定された場合は図29のようになる。
【０１１１】
通知表示部38は、異常判定部39による判定結果を通知または表示する。一例として、図30に、判定対象データのうち異常判定の部分だけを強調表示させる場合の画面表示を示す。判定結果は例えば表示器やスピーカで、遠隔監視端末またはサーバの保守員や係員に通知される。
【０１１２】
機器制御部37は、異常判定部39による判定結果に応じて監視対象の動作を制御する。たとえば異常と判定されたときは、監視対象を緊急停止させる。
【０１１３】
判定結果格納部40は、異常判定部39での判定結果と、判定対象データから判定のために切り出した各変量のデータを含む一定時間長（たとえば既に格納済みの訓練データと同一時間長）の時系列データを蓄積する。
【０１１４】
判定結果送信部41は、各変量の時系列データと、該当する判定結果とをサーバに送信する。
【０１１５】
サーバの判定結果受信部22はクライアントから送信された各変量の時系列データと、該当する判定結果とを受信し、通知部21がこれらを監視員に対して表示または通知する。監視員がこの判定結果に間違いないことを確認した後に、通知部21は監視員からの指示入力に応じて、これらの時系列データおよび判定結果をサーバの訓練データ格納部11に追加する。
【０１１６】
もし判定に誤りがあれば判定結果を監視員の指示入力に応じて修正した後、これらの時系列データと修正された判定結果とを訓練データ格納部11に格納する。
【０１１７】
サーバの訓練データ入力部12は、訓練データ格納部11中のデータが更新されたことを検知し、判定モデルの再計算を行うようにしてもよい。
【０１１８】
このように常に新しい訓練データを装置に与えられる仕組みを用意することで、判定モデルの精緻化、つまり精度向上が継続的に行えるようになる。これは、日々の監視オペレーションの中で異常判定精度を向上できる可能性を意味しており、高い異常判定性能が要求される領域において特に威力を発揮するものであると考えられる。
【０１１９】
図31は、クライアントにおける判定対象データの入力から異常判定部39による判定が行われるまでの動作フローを示すフローチャートである。
【０１２０】
判定対象データ入力部32は、センシングデータ格納部31内の判定対象データを読み出して波形前処理部33に入力する（S401）。
【０１２１】
波形前処理部33は、判定対象データに前処理を行い（S402）、セグメント選択部36は、判定モデルに含まれる各変量の最良セグメントで構成されるセグメントテンプレートに基づきデータの切り出しを行う（S403）。そして切り出したデータを異常判定部39に入力する（S404）。
【０１２２】
異常判定部39は、変量毎（S406）に、k’-最近傍の計算（S407）、条件付き確率（k’-最近傍に基づく正常および異常のそれぞれの割合）の計算を行い（S408）、各変量についてそれぞれS407,S408の処理を終えたら（S409のYES）、前述したモデル式に従って、正常の尤度および異常の尤度を計算する（S410）。異常判定部39は、異常の尤度が正常の尤度を比較して、値の大きい方の状態を判定の結果として下す（S411）。
【０１２３】
ここで、遠隔監視を行う場合、監視対象のエレベータが正常か異常のどちらかの離散的な状態にあるかを知るだけでは不十分な場合がある。なぜならば、タイムリーな保守を行うためには、異常度合いがやや高いことが分かった時点で、交換部品の準備やパラメータ調整のための保守員派遣の準備をあらかじめ行う必要があるからである。その場合は、どの程度異常であるかの定量値を提示する必要がある。
【０１２４】
本実施形態では図32のスキームで異常検知を行うことによりエレベータの遠隔監視を行う。たとえば、出荷試験時にパラメータを変更することで、明らかに正常な状態、ならびに、明らかに異常な状態における、走行時のカゴ揺れ加速度の波形を事前に得ることができる。以下では、診断時に計測した検査対象波形が「異常」と判定される場合に、それがどの程度の異常であるかを表す異常度を定量的に算出する手順について示す。
【０１２５】
異常判定部39のk-最近傍の計算（S407）において、監視対象のエレベータから得られた観測波形と、モデル波形群から選択されたk-最近傍の正常波形もしくは異常波形からの類似距離に基づき、監視対象のエレベータの異常度を計算する。判定モデルを作成する際には、エレベータの正常状態と異常状態をあらかじめ設定しておき、それらの観測波形を収集する。
【０１２６】
エレベータの異常として乗りカゴの「カゴ揺れ」を例に挙げて説明する。正常の場合には、乗りカゴ内の積載重量に応じて巻き上げ機の回転トルクが適正に調整されることから、カゴ初動時のカゴ揺れはほとんど起こらない。しかしながら、このような荷重補償による調整が経時変化により不適切なものとなる場合がある。例えば、カゴ揺れは１カ月おきの通常の保守業務において調整可能であるが、エレベータが老朽化した場合には、通常の１カ月おきの保守業務の間に急激にその調整が狂う可能性がある。この場合、乗りカゴの初動時における荷重補償が不適切なものとなってカゴ揺れが発生する。荷重補償量は、エレベータの制御パラメータとしてあらかじめ設定可能であり、荷重補償量がずれた場合には保守員が補償量のパラメータを変更することで正常状態に戻される。まれに、乗りカゴの床下に設置された荷重センサ自体が劣化、故障する場合も考えられる。その場合には、荷重センサを交換する。
【０１２７】
このようなエレベータカゴ揺れは、正常状態では、エレベータのドアが閉まった直後において、乗りカゴの床と、乗り込むフロアの高さとのズレがほぼ0mmであるのに対し、異常状態では、乗りカゴの床と乗り込むフロアの高さとのズレが10mmとなってしまうなどの目に見える現象として現れる。これは、防犯窓付きの乗りカゴの動きを観察すると顕著に分かるものであり、フロア側とカゴ側の防犯窓の位置ズレとして現れる。
【０１２８】
正常・異常判別モデルを作成する際には、異常状態を故意に作り出した状態で異常状態のカゴ加速度波形を収集する。たとえば、先に述べた荷重補償量を決定する制御パラメータを故意に10mmのズレが生じるように調整しておき、その時のカゴ加速度波形を収集する。
【０１２９】
このように収集した異常状態の加速度波形は、ずれ10mmという定量状態であることがあらかじめ分かっていることになる。そこで、たとえば、正常状態の位置ズレ0mm、異常状態の位置ズレ10mmとし、それぞれのカゴ加速度波形が、どの程度、検査対象波形と類似しているかの類似距離を用いることで、正常・異常状態の位置ズレの比から、異常度を表す定量値を計算することができる。
【０１３０】
以下、図33のフローチャートに沿って具体的な計算例を述べる。
【０１３１】
まず、チャネル数（変量数）が２、正常状態値VN=0mm、異常状態値VA=10mm、モデル中の正常波形群Nの波形数n=5、異常波形群Aの波形数m=5のとき、ch1の正常波形群は（N11,N12,…,N1n）、ch1の異常波形群は（A11,A12,…,A1m）、ch2の正常波形群は（N21,N22,…,N2n）、ch2の異常波形群は（A21,A22,…,A2m）であるとする。また、検査対象波形をEとし、ch1の検査対象波形をE1とし、ch2の検査対象波形をE2とし、k-最近傍の上位足切りパラメータKをK=5とする。
【０１３２】
つぎに、チャネル毎に、検査対象波形と類似度が高い（波形間距離が小さい）上位k個分の波形（k-最近傍波形）を正常波形群と異常波形群に分ける。ch1の場合、たとえば、k-最近傍波形（k-NN）ベクタは（A13,A12,N12,A15,N11）となったとする。ここでベクタとは、順序リストのことである。また、ch1の最近傍波形の波形類似度ベクタは（0.14, 0.21, 0.3, 0.43, 0.5）であったとする。同様に、ch2のk-最近傍波形ベクタが（A25,A21,A22,N21,N25）、ch2波形類似度ベクタが（0.03, 0.12, 0.15, 0.21, 0.3）であったとする。
【０１３３】
ここで、異常の場合、正常の場合それぞれについて波形類似度の平均値を求める。即ち、異常の場合のch1の波形類似度平均値SA1はSA1=(0.14+0.21+0.43)/3≒0.26であり（ステップＳ１）、正常の場合のch1の波形類似度平均値SN1はSN1=(0.3+0.5)/2=0.4である（ステップＳ２）。
【０１３４】
また、正常度合いと異常度合いとの比を求める。ここでは、正常度合いと異常度合いの和が１となるように、正常重みと異常重みを計算する。即ち、異常重みWA1はWA1=(1/SA1)/(1/SA1+1/SN1)=(1/0.26)/(1/0.26+1/0.4)≒0.61であり（ステップＳ３）、正常重みWN1はWN1=(1/SN1)/(1/SA1+1/SN1)=(1/0.4)/(1/0.26+1/0.4)≒0.39である（ステップＳ４）。正常重みと異常重みは、図33のフローチャートにおいて、当該チャネルにおけるすべてのkについて処理が繰り返されることでそれぞれの波形類似度平均値が計算されたのちに計算される（ステップＳ５＝ＹＥＳ）。
【０１３５】
そして、計算されたチャネルch1（i=1）についての異常度合いの重みWAi、正常度合いの重みWNi、異常クラスの状態値VA、正常クラスの状態値VNから、異常度合いの定量推定値VE1を計算する（ステップＳ６）。具体的には、チャネルi=1の推定ズレ量VE1はVE1=WA1×VA1+WN1×VN1=0.61×10.0mm+0.39×0mm≒6.1mmである。
【０１３６】
以上の計算をチャネルch2（i=2）についても同様に行う。異常の場合にはch2の波形類似度平均値SA2=(0.03+0.12+0.15)/3=0.1であり、正常の場合にはch2の波形類似度平均値SN2=(0.21+0.3)/2≒0.26であり、異常重みWA2=(1/SA2)/(1/SA2+1/SN2)=(1/0.1)/(1/0.1+1/0.26)≒0.72であり、正常重みWN2=(1/SN2)/(1/SN2+1/SN2=(1/0.26)/(1/0.1+1/0.26)≒0.28である。したがって、チャネルi=2の推定ズレ量VE2=WA2×VA2+WN2×VN2=0.72×10.0mm+0.28×0mm≒7.2mmである。
【０１３７】
最後に、すべてのチャネル数分の計算を完了した後（ステップＳ７＝ＹＥＳ）、各チャネルの推定ズレ量VEiの平均を求めることにより推定ズレ量VE（「定量状態値」と称する）を計算する（ステップＳ８）。即ち、VE=(6.1mm+7.2mm)/2≒6.7mmである。したがって、診断時のこのエレベータのカゴ揺れズレ量は、約6.7mmである。正常を0mmとし、異常を10mmとした本例の場合、6.7mmという定量状態値は、かなりのズレが進んでいることを表している。
【０１３８】
この場合、部品交換が必要であれば、保守点検時に間に合うように手配しておく。ズレがさらに進んでいるようであれば、カゴ揺れの状態に応じて、保守点検の時期をあらかじめ調整しておくことができる。
【０１３９】
以上説明した実施形態によれば、任意の波形形状を有するデータから、分析対象が正常状態・異常状態のうちどの状態にあるかを識別できるとともに、その対象物のもつ連続値を離散値と矛盾なく同時に推定することができる。したがって、対象物の離散的な状態変化とともに、異常兆候を表す微小な状態変化をも捉えることが可能となる。
【０１４０】
図34は、サーバおよびクライアントを実現するためのハードウェア構成の一例を示す。
【０１４１】
サーバはCPU51、RAM52、ROM53、HDD54、I/Oコントローラ55、表示器56、スピーカ57、I/O58、ネットワークインタフェース59を備える。サーバの訓練データ格納部11、セグメント格納部15は例えばHDD54により構成される。モデル送信部20、判定結果受信部22はネットワークインタフェース59により構成されることができる。その他の要素12、13、14、16、17、19、21はたとえばCPU51に実行させるプログラムモジュールとして論理回路によって構成されることができる。プログラムモジュールはROM53またはHDD54に格納しておき、CPU51によってプログラムモジュールを読み出し、RAM52に展開して実行することでそれぞれ対応する論理回路の動作が実現される。
【０１４２】
クライアントはCPU61、RAM62、ROM63、HDD64、I/Oコントローラ65、表示器66、スピーカ67、I/O68、ネットワークインタフェース69を備える。クライアントのセンシングデータ格納部31、判定モデル格納部35、判定結果格納部40は例えばRAM62またはHDD64により構成されることができる。モデル受信部34、判定結果送信部41はネットワークインタフェース69により構成されることができる。その他の要素32、33、36、37、38は例えばCPU61に実行させるプログラムモジュールとして論理回路によって構成されることができる。プログラムモジュールはROM63またはHDD64に格納しておき、CPU61によってプログラムモジュールを読み出し、RAM62に展開して実行することでそれぞれ対応する論理回路の動作が実現される。
【０１４３】
なお本実施形態ではサーバとクライントとに分かれているが、サーバの機能の一部またはすべてをクライアントで行っても良いし、またクライアントの機能の一部または全部をサーバで行っても良い。本実施形態においてコンピュータが処理を実行するとは、単一のコンピュータが当該処理を実行する場合と、複数のコンピュータで分散して当該処理を実行する場合とを含む。
【０１４４】
（クライアントの変形例）
これまでのクライアントの説明では、判定対象データ上で一定時間毎にセグメントテンプレートを適用して尤度を計算した。しかしながら、この方法では、判定に要求される時間の上限を超えてしまう場合がある。特に遠隔監視端末のような現場に設置される情報処理機器などは、判定処理にまわせる計算資源（メモリ量やCPU等）に厳しい制約がある。異常の場合に即座に監視対象装置（機器）を停止する必要がある場合、あるいは現場の遠隔監視端末から監視センターサーバへの通信路の通信性能限界がある場合などは、一定時間毎にスキャンしてすべての結果をサーバに送信することは非現実的となる。
【０１４５】
このような場合には、あらかじめ各変量で上限閾値を決めておき、判定モデル格納部35に各変量に対する上限閾値を記憶させておく。そして、いずれか1つの変量またはすべての変量について変量の値が、上限閾値を超えたら、機器制御部37にて装置の緊急停止をさせるなどの方法を行う。図35の例では、各変量において上限閾値を超える部分を選択するようにセグメントテンプレートが当てはめられた例を示す。
【０１４６】
その後、あるいはこれと並行して、上限閾値を超えた部分を含むようにセグメントテンプレートを適用して図35のようにデータを切り出し、切り出したデータに基づき異常判定部39による判定を行う。異常判定により正常と判定されたときは、緊急停止（管制運転）を機器制御部37により自動解除する。なお、上限閾値は、事前にユーザが与えておけばよい。あるいは、訓練データを分割して判定する前述した方法で、いくつかの閾値候補を選択してそれらを比較し、その比較した候補の中から疑似判定性能が最も良い閾値を採用してもよい。
【０１４７】
図36は、本変形例に係るクライアントの動作の一例を示すフローチャートである。
【０１４８】
判定対象データ入力部32がセンシングデータ格納部31にセンサデータが入力されたか否かを監視する（S501）。センサデータが入力されない場合は、監視員等から停止指示が入力されたか確認し、入力された場合は本フローを終了し、入力されない場合はS501に戻る。
【０１４９】
S502においてセンサデータが入力された場合は、判定対象データ入力部32はセンサデータをセンシングデータ格納部31から判定対象データとして読み出し、波形前処理部33を介して異常判定部39に出力する。異常判定部39はセグメントテンプレートを移動させながら、各変量のすべてまたはいずれか1つ以上がそれぞれの上限閾値を超えたか判断する（S505）。超えていないときはステップS501に戻り、超えたときは機器制御部37を介して監視対象機器の緊急停止等を行う（S506）。
【０１５０】
一方、セグメント選択部36では、上限閾値を超えたと判断されたときのセグメントテンプレートの位置における各変量のデータを切り出して異常判定部39に送り、異常判定部39は、受け取った各変量のデータと、判定モデルに基づき判定を行う（S507）。
【０１５１】
正常と判定したときは、異常判定部39は、機器制御部37を介して緊急停止等を解除し（S509）、判定結果と、切り出したデータを含む一定時間長のデータとを判定結果格納部40に格納する（S511）。一方、異常と判定したときは、異常判定部39は、その旨を通知表示部38を介して通知または表示する（S510）。
【０１５２】
以上説明した実施形態によれば、蓄積された多チャンネルセンサデータとそれらに対応した異常判定結果（クラス）の組を活用し、センサ同士の依存関係を指定可能としつつ、判定精度を向上させることができる。波形データのどの部分が判定に寄与しているかの根拠を示せる形（変量毎の区間の位置関係）で判定を行うことができる。
【０１５３】
以上説明した実施形態は、半導体製造装置や製品製造ラインにおける製造装置の監視システムやエレベータ監視装置、空調システム監視装置、電力システム監視装置や医療・介護におけるバイタルセンシング装置の監視システムや健康機器の監視装置など、品質管理・保守・状態監視などのさまざまな遠隔監視システムに利用することができる。
【０１５４】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１５５】
11…訓練データ格納部；12…訓練データ入力部；13…波形前処理部；14…波形分割部；15…セグメント格納部；16…確率・尤度計算部；17…疑似判定評価部；18…最良モデル格納部；19…最良モデル選定部；20…モデル送信部；21…通知部；22…判定結果受信部；30…センシング部；31…センシングデータ格納部；32…判定対象データ入力部；33…波形前処理部；34…モデル受信部；35…判定モデル格納部；36…セグメント選択部；37…機器制御部；38…通知表示部；39…異常判定部；40…判定結果格納部；41…判定結果送信部
【図１】
2013210945.tif 000012
【図２】
2013210945.tif 000013
【図３】
2013210945.tif 000014
【図４】
2013210945.tif 000015
【図５】
2013210945.tif 000016
【図６】
2013210945.tif 000017
【図７】
2013210945.tif 000018
【図８】
2013210945.tif 000019
【図９】
2013210945.tif 000020
【図１０】
2013210945.tif 000021
【図１１】
2013210945.tif 000022
【図１２】
2013210945.tif 000023
【図１３】
2013210945.tif 000024
【図１４】
2013210945.tif 000025
【図１５】
2013210945.tif 000026
【図１６】
2013210945.tif 000027
【図１７】
2013210945.tif 000028
【図１８】
2013210945.tif 000029
【図１９】
2013210945.tif 000030
【図２０】
2013210945.tif 000031
【図２１】
2013210945.tif 000032
【図２２】
2013210945.tif 000033
【図２３】
2013210945.tif 000034
【図２４】
2013210945.tif 000035
【図２５】
2013210945.tif 000036
【図２６】
2013210945.tif 000037
【図２７】
2013210945.tif 000038
【図２８】
2013210945.tif 000039
【図２９】
2013210945.tif 000040
【図３０】
2013210945.tif 000041
【図３１】
2013210945.tif 000042
【図３２】
2013210945.tif 000043
【図３３】
2013210945.tif 000044
【図３４】
2013210945.tif 000045
【図３５】
2013210945.tif 000046
【図３６】
2013210945.tif 000047