(57)【要約】【課題】  診断のためにノイズの影響を抑えたセンサデータの分割の技術を提供する。【解決手段】  センサデータを前処理するプリプロセッサにおいて、時系列のセンサデータを取得し、センサデータに含まれるノイズに対して異なる影響を示す第１の指標と第２の指標を計算し、第１の指標と第２の指標に応じてノイズの影響が抑えられた区間を設定する区間設定部と、前記区間設定部で設定された区間であって、ノイズの影響が抑えられた区間単位で、センサデータの傾向が変化する分割点を設定する分割処理部と、前記分割処理部で設定された分割点の時刻から分割点ベクトルを生成して出力する分割点抽出処理部と、を備える。【選択図】図１
2018055552.tif 000002
【特許請求の範囲】
【請求項１】
センサデータを前処理するプリプロセッサにおいて、
時系列のセンサデータを取得し、センサデータに含まれるノイズに対して異なる影響を示す第１の指標と第２の指標を計算し、第１の指標と第２の指標に応じてノイズの影響が抑えられた区間を設定する区間設定部と、
前記区間設定部で設定された区間であって、ノイズの影響が抑えられた区間単位で、センサデータの傾向が変化する分割点を設定する分割処理部と、
前記分割処理部で設定された分割点の時刻から分割点ベクトルを生成して出力する分割点抽出処理部と、
を備えたことを特徴とするプリプロセッサ。
【請求項２】
請求項１に記載のプリプロセッサにおいて、
前記区間設定部は、
複数の区間のそれぞれに対して、１つの区間に含まれる複数のセンサデータから１つの区間に対する１つの変化の値を計算し、隣接する変化の値の差に基づく第１の指標を計算し、変化の値とセンサデータの差とに基づく第２の指標を計算し、第１の指標と第２の指標に応じて区間を設定し、
前記分割処理部は、
前記区間設定部で設定された区間であって、時刻的に最も近い２つの区間それぞれにおいて計算された変化の値の差が、予め設定された条件を満たす２つの区間に応じて分割点を設定すること
を特徴とするプリプロセッサ。
【請求項３】
請求項２に記載のプリプロセッサにおいて、
前記区間設定部は、
区間の長さとして複数の候補が設定され、
設定された候補となる長さのそれぞれに対して、第１の指標と第２の指標を計算し、
第１の指標と第２の指標に応じて区間の長さを設定すること
を特徴とするプリプロセッサ。
【請求項４】
請求項３に記載のプリプロセッサにおいて、
前記区間設定部は、
第１の係数と第２の係数がさらに設定され、
第１の指標に第１の係数を乗算した結果と、第２の指標に第２の係数を乗算した結果とが一致する区間の長さを設定すること
を特徴とするプリプロセッサ。
【請求項５】
請求項４に記載のプリプロセッサにおいて、
前記区間設定部は、
設定された候補となる長さを個数とするセンサデータを含む時間を表す区間であって、センサデータの時系列にしたがって順次対象とする区間を設定し、設定された各区間に含まれる複数のセンサデータを特定して、区間それぞれに対する１つずつの変化の値を計算すること
を特徴とするプリプロセッサ。
【請求項６】
請求項５に記載のプリプロセッサにおいて、
前記区間設定部は、
１つの区間に含まれる複数のセンサデータを従属変数とし、従属変数とされた複数のセンサデータそれぞれに対応する時刻を独立変数として、線形回帰の傾きを計算することにより、１つの区間に対する１つの変化の値を計算すること
を特徴とするプリプロセッサ。
【請求項７】
請求項６に記載のプリプロセッサにおいて、
前記区間設定部は、
対象となる区間の傾きの値の符号と、その区間の次に対象となる区間の傾きの値の符号の相異の個数をカウントすることにより第１の指標を計算し、
傾きの値に基づく回帰直線とセンサデータの残差の合計を計算することにより第２の指標を計算すること
を特徴とするプリプロセッサ。
【請求項８】
請求項７に記載のプリプロセッサにおいて、
前記分割処理部は、
前記区間設定部で設定された区間であって、対象となる区間と、その区間の次に対象となる区間とのそれぞれにおいて計算された傾きが異なると判定すると、分割点を設定すること
を特徴とするプリプロセッサ。
【請求項９】
請求項２に記載のプリプロセッサにおいて、
前記分割処理部で設定された分割点の間であって、予め設定された値より短い分割点間を、その分割点間に隣接する分割点間と併合して新たな分割点を設定する併合処理部をさらに備え、
前記分割点抽出処理部は、
前記分割処理部で設定された分割点の時刻あるいは前記併合処理部で設定された分割点の時刻から分割点ベクトルを生成して出力すること
を特徴とするプリプロセッサ。
【請求項１０】
請求項４に記載のプリプロセッサにおいて、
前記区間設定部で取得されたセンサデータと、前記分割処理部で設定された分割点を表示し、分割点の変更の操作を受け付け、受け付けた操作に応じて第１の係数と第２の係数を変更する表示制御部をさらに備えたこと
を特徴とするプリプロセッサ。
【請求項１１】
センサデータに基づき異常を判定する診断装置において、
前記診断装置は、プリプロセッサと診断処理部を有し、
前記プリプロセッサは、
時系列のセンサデータを取得し、センサデータに含まれるノイズに対して異なる影響を示す第１の指標と第２の指標を計算し、第１の指標と第２の指標に応じてノイズの影響が抑えられた区間を設定する区間設定部と、
前記区間設定部で設定された区間であって、ノイズの影響が抑えられた区間単位で、センサデータの傾向が変化する分割点を設定する分割処理部と、
前記分割処理部で設定された分割点の時刻から分割点ベクトルを生成して、前記診断処理部へ出力する分割点抽出処理部と、を備え、
前記診断処理部は、
前記プリプロセッサから出力された分割ベクトルを受信して、正常ベクトルとの類似度を計算し、予め設定された閾値より類似度が低いと判定すると、診断結果を異常とする診断処理部を備えたこと
を特徴とする診断装置。
【請求項１２】
請求項１１に記載の診断装置において、
前記区間設定部は、
複数の区間のそれぞれに対して、１つの区間に含まれる複数のセンサデータから１つの区間に対する１つの変化の値を計算し、隣接する変化の値の差に基づく第１の指標を計算し、変化の値とセンサデータの差とに基づく第２の指標を計算し、第１の指標と第２の指標に応じて区間を設定し、
前記分割処理部は、
前記区間設定部で設定された区間であって、時刻的に最も近い２つの区間それぞれにおいて計算された変化の値の差が、予め設定された条件を満たす２つの区間に応じて分割点を設定すること
を特徴とする診断装置。
【請求項１３】
請求項１２に記載の診断装置において、
前記診断処理部は、
受信された分割ベクトルと、複数の正常ベクトルそれぞれとの距離を計算し、距離の最小値を類似度に変換し、
受信された分割ベクトルのデータと、距離の計算対象となる正常ベクトルのデータとの差を計算し、差の合計を距離とすること
を特徴とする診断装置。
【請求項１４】
請求項１１に記載の診断装置において、
前記プリプロセッサは、
前記分割処理部で設定された分割点の間に含まれるセンサデータの極大値と極小値の差を計算して特徴量とし、前記診断処理部へ出力する特徴量計算部をさらに備え、
前記診断処理部は、
前記プリプロセッサから出力された特徴量を受信し、正常クラスタの特徴量との距離に応じて診断結果を異常と診断し、複数の診断結果を総合判定すること
を特徴とする診断装置。
【請求項１５】
請求項１４に記載の診断装置において、
前記プリプロセッサは、
前記分割処理部で設定された分割点の間に含まれるセンサデータを前記診断処理部へ出力するデータ抽出処理部をさらに備え、
前記診断処理部は、
前記プリプロセッサから出力されたセンサデータを受信し、正常クラスタとの距離に応じて診断結果を異常と診断し、複数の診断結果を総合判定すること
を特徴とする診断装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリプロセッサおよび診断装置に関する。
【背景技術】
【０００２】
クラスタリングに基づく異常予兆診断技術では、時刻で変化する多次元時系列センサデータ（以下ではセンサデータと呼ぶ）を複数の区間（時間）に分けて処理する必要がある。その理由は、複数の状態が混在する場合に異なる状態のデータが混在するので、その複雑な空間分布を表現するためのクラスタが、必ずしも異なる状態を区別しきれるとは限らず、状態を区別しきれないことにより異常の検出感度が低くなる可能性があるためである。
【０００３】
例えば、「ＯＦＦ」、「ＯＮ」、「過渡」の３つの状態を含む電流センサデータを診断するときに、電流値が設定値の０．５倍で実際は異常の「ＯＮ」の電流データであっても、時刻で変化する「過渡」の状態のクラスタに入ってしまう場合もあり、正常なデータと判定されてしまう。それを解決するために、異常診断の前にセンサデータを複数の状態区間に分割してそれぞれに処理（プリプロセッシング）する方法が有効と考えられる。
【０００４】
時刻で変化するセンサデータの異常予兆診断のため、様々なデータ分割技術がこれまでに開発されている。特許文献１には、設備のイベント情報を用いて運転状態別にモード分割する技術が開示されている。特許文献２には、イベント情報を使用することができるが、イベント情報がない場合にセンサデータの変動範囲によって、状態遷移点を検出する技術が開示されている。特許文献３には、センサデータとその隣接するセンサデータとの差分を計算し、その差分の値によってデータを分割する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１５−１７２９４５号公報
【特許文献２】特開２０１１−２４３１１８号公報
【特許文献３】特開２０１３−１７５１０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１〜３に開示された技術を用いれば、それぞれの開示範囲でデータを分割することは可能である。しかしながら、特許文献１に開示された技術ではイベント情報が必要であるため、設備の種類とセンサの設定に依存し、イベント情報が不足するときに分割できないという課題がある。
【０００７】
また、特許文献２に開示された技術では、既知の定常状態を検出して過渡状態区間を推定するので、既知の定常状態が必要な条件であるから、定常ではなく時刻とともに変化するデータを分割するのが難しい。
【０００８】
特許文献３に開示された技術では、隣接するセンサデータとの差分計算の結果にセンサデータのノイズが大きく影響するので、平滑化処理があるとしても、差分に基づく分割結果にもノイズに起因する細かい区間が多く発生するという課題がある。また、多様な装置のセンサデータに対して、例えば、異なるＳＮ比を持つ複数のセンサのセンサデータに対して、平滑化などの重要なパラメータを最適化する処理が開示されていないので、異なるセンサによってデータ分割の精度が変わるという課題もある。
【０００９】
また、実際のセンサデータは、一般に、大きい変動（トレンド）と小さい変動の両方を含むことが多い。そのような場合、どの程度の変動をノイズとして扱うか、信号として扱って分割する必要があるか、についてユーザが定義したり確認したりする機能も求められるが、特許文献３にはこの要求に対する技術の開示は見当たらず、ユーザが分割をカスタマイズすることは難しい。
【００１０】
そこで、本発明は、診断のためにノイズの影響を抑えたセンサデータの分割の技術を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明に係る代表的な診断装置のプリプロセッサは、センサデータを前処理するプリプロセッサにおいて、時系列のセンサデータを取得し、センサデータに含まれるノイズに対して異なる影響を示す第１の指標と第２の指標を計算し、第１の指標と第２の指標に応じてノイズの影響が抑えられた区間を設定する区間設定部と、前記区間設定部で設定された区間であって、ノイズの影響が抑えられた区間単位で、センサデータの傾向が変化する分割点を設定する分割処理部と、前記分割処理部で設定された分割点の時刻から分割点ベクトルを生成して出力する分割点抽出処理部と、を備えたことを特徴とする。
【発明の効果】
【００１２】
本発明によれば、診断のためにノイズの影響を抑えたセンサデータの分割の技術を提供すること可能になる。
【図面の簡単な説明】
【００１３】
【図１】異常予兆診断システムの例を示す図である。
【図２】区間の変更による影響の例を示す図である。
【図３】区間設定部による指標Ａの例を示す図である。
【図４】区間設定部による指標Ｂの例を示す図である。
【図５】区間設定部の処理フローの例を示す図である。
【図６】区間の設定の例を示す図である。
【図７】区間の長さと指標Ａと指標Ｂの関係の例を示す図である。
【図８】データ分割処理部の処理フローの例を示す図である。
【図９】分割点併合処理部の処理フローの例を示す図である。
【図１０】分割結果表示制御部のＧＵＩ画面の例を示す図である。
【図１１】複数のセンサにおけるセンサデータの分割の例を示す図である。
【図１２】複数のセンサにおけるセンサデータの別の分割の例を示す図である。
【図１３】分割データを連続して送信する例を示す図である。
【図１４】分割データの送信ごとに応答する例を示す図である。
【図１５】分割データを並列に送信する例を示す図である。
【図１６】分割点ベクトルの例を示す図である。
【図１７】分割点ベクトルを用いた異常予兆診断の処理フローの例を示す図である。
【図１８】センサデータの特徴量を計算の例を示す図である。
【図１９】複数の異常診断結果の利用の例を示す図である。
【発明を実施するための形態】
【００１４】
本発明の実施形態は、プリプロセッサと異常予兆診断処理部を含む異常予兆診断装置あるいは異常予兆診断システムである。その実施形態の例として、プリプロセッサと異常予兆診断処理部は、一般的なコンピュータであって、プログラムにしたがって処理するソフトウェアの実装であってもよいし、一般的なコンピュータではなく専用のハードウェアの実装であってもよい。
【００１５】
また、コンピュータに専用のハードウェアを組み込み、ソフトウェアの実装とハードウェアの実装を組み合わせて実装してもよい。プリプロセッサは、異常予兆診断処理部の前処理として外部接続されてもよいし、異常予兆診断処理部の中に組み込まれて内部接続されてもよいし、他のデータ処理と兼用されるモジュールとして外部接続されてもよい。以下、実施形態について図面を用いて説明する。
【００１６】
時刻の経過にしたがって変化するセンサデータを、複数の区間に分割し、各区間あるいは複数の区間をまとめた分割点間をそれぞれに診断する例を説明する。図１は、異常予兆診断システムの例を示す図である。
【００１７】
図１に示すように、異常予兆診断システムの例は、異常予兆診断処理部２と、その前処理装置であるプリプロセッサ１と、多次元センサ３を備える。多次元センサ３は、多次元のセンサデータを時系列に出力するものであり、異常予兆診断システムの外にあってもよく、プリプロセッサ１と異常予兆診断処理部２は異常予兆診断装置であってもよい。
【００１８】
プリプロセッサ１は、区間設定部１１、データ分割処理部１２、分割点併合処理部１３、分割結果表示制御部１４、データ抽出処理部１５、分割点抽出処理部１６、特徴量計算部１７を備える。また、異常予兆診断処理部２は、異常予兆診断装置２１、分割点時刻異常診断処理部２２、異常予兆診断装置２３、診断結果総合判定処理部２４を備える。
【００１９】
プリプロセッサ１では、監視装置となる多次元センサ３から収集したセンサデータに対し、センサデータの変動（トレンド）を表現する時間変化すなわちセンサデータをグラフで表した場合の傾きの時刻による変化を求める。このために、区間設定部１１は、１つの傾きで表される時間の範囲を区間として求め、その区間ごとにセンサデータの傾きを求めることにより、センサデータの時刻による変化を得る。
【００２０】
ここで、１つの傾きの値は正、負、ゼロ付近の値のいずれかである。データ分割処理部１２は、連続する同じ傾きの値の区間を１つにまとめて、まとめられた区間の境界点となる傾きの値の変化する点を分割点として求める。分割点併合処理部１３は、分割点間の距離（時間）または分割点の数の条件によって分割点の前後を併合する。すなわち、分割点を削除して、分割されていた２つの時間を１つに併合する。
【００２１】
分割結果表示制御部１４は、センサデータと分割点を画面に表示し、ユーザによる分割の修正を受け付け、修正内容をパラメータ（係数）として区間設定部１１に送信し、区間設定部１１に再処理させる。
【００２２】
データ抽出処理部１５は分割点間ごとにセンサデータを抽出して異常予兆診断処理部２へ送信する。分割点抽出処理部１６は、分割点の時刻を抽出して異常予兆診断処理部２へ送信する。特徴量計算部１７は、分割点間ごとのセンサデータの特徴量を計算して異常予兆診断処理部２へ送信する。特徴量については図１８を用いて後で説明する。
【００２３】
異常予兆診断処理部２は、プリプロセッサ１からセンサデータ、分割点の時刻、特徴量を受信する。異常予兆診断装置２１は、分割点間ごとのセンサデータを用いて、従来のクラスタリング手法により異常診断する。分割点時刻異常診断処理部２２は、分割点の時刻を用いて異常診断する。異常予兆診断装置２３は、分割点間ごとの特徴量を用いて、従来のクラスタリング手法により異常診断する。
【００２４】
診断結果総合判定処理部２４は、異常予兆診断装置２１と分割点時刻異常診断処理部２２と異常予兆診断装置２３の異常診断した結果に基づいて、分割点間ごとにセンサデータが異常か否かを総合的に判定する。
【００２５】
図２は、区間の変更による影響の例を示す図である。区間設定部１１が設定する区間すなわち１つの傾きで表される時間が変わると、センサデータの変動（トレンド）の表現精度に影響する。グラフ３０は、縦軸がセンサデータの値であって横軸が時刻であり、センサデータはノイズを含むため、センサデータの値に乱れがある。
【００２６】
このグラフ３０のセンサデータに対して、区間を「３」、「１１」、「３１」に設定し、それぞれの区間ごとにセンサデータの値から１つの傾きを計算し、計算された傾きと時刻との関係を時間変化として表したグラフをグラフ３１、３２、３３に示す。
【００２７】
グラフ３１は区間を「３」に設定したときのグラフである。グラフ３１に示すように、区間が短すぎると、傾きの計算へのノイズの影響が大きく、センサデータのトレンドとノイズの区別がつかないため、センサデータのトレンドを正確に反映しない。
【００２８】
グラフ３２は区間を「１１」に設定したときのグラフである。グラフ３２に示すように、適切な区間が設定されると、センサデータのトレンドを正確に反映する。その理由は、区間を長く設定すれば、より多くのデータを用いて線形回帰による傾きを計算することになり、平均化の効果があるためである。すなわち、ノイズの影響は、トレンドを表す多くのセンサデータにより薄まる。
【００２９】
しかし、区間が長すぎると、過度の平均化の効果が生じて悪影響が出る。グラフ３３は区間を「３３」に設定したときのグラフである。グラフ３３に示すように、ノイズのみならず元のセンサデータに含まれるセンサデータの一部のトレンドまでもなくなり、センサデータのトレンドを正確に反映しない。
【００３０】
このような状況であるので、ノイズの影響と過度の平均化の効果の影響の両方を低減するために、区間を最適化する必要がある。センサデータによってノイズとデータのトレンドの幅が異なるので、最適な区間は異なる。次に、区間の最適化に使用する評価指標について説明する。
【００３１】
なお、多次元センサ３が何らかの装置の状態を検出する場合、時間３０ａにおけるセンサデータのように、センサデータが急に変化し、その変化のパターンがその装置固有の一定のパターンを示す場合がある。例えば、装置の電源を投入したときのセンサデータのパターン（例えば、立上り波形）は一定である場合があり、このパターンの発生がセンサデータの時刻の基準となってもよい。この一定のパターンはセンサデータの値が「０」からの変化であってもよい。
【００３２】
図３、４は、区間設定部１１の評価指標の例を示す図である。これらの評価指標は、ノイズの影響と過度の平均化の効果の影響の両方を低減するために、両者の影響を評価する指標の例であるが、これらの例に限定されるものではなく、様々な統計量や計算式を評価指標として使用してもよい。
【００３３】
図３に示した例は、ある区間（時間）が設定され、区間内に含まれる複数のセンサデータから１つの傾きを正（＋）か負（−）の符号として計算し、評価の対象となる時間（複数の区間を含む時間）内の隣接異符号ペア数を、ノイズの影響の評価のための指標として使用する。例えば、ノイズの影響が大きい場合は、計算した傾きも大きく変動し、隣接異符号ペア数が多くなる。
【００３４】
図３において、ある第１の時間を区間とすると、センサデータから計算される傾きは、その区間内は直線となる折れ線３５ａで表され、直線が右上がりの部分は傾きが正（＋）、直線が右下がりの部分は傾きが負（−）となる。そして、隣接する正（＋）３７と負（−）３８のペアが隣接異符号ペアである。ここでは、正（＋）３７の左隣りの負（−）と正（＋）３７とも隣接異符号ペアとする。
【００３５】
区間を長くすると、この指標は減るので、傾きの長く続く部分が有利となる。第１の時間より長い区間の場合は、例えば直線３６ａのような傾きになる。以下では、この指標を指標Ａと呼ぶ。指標Ａを計算するために、図６に後述する時刻に応じて変化する傾きを計算する。
【００３６】
線形回帰法を用いて各区間のセンサデータから傾きを計算する時、線形回帰法で計算された直線とセンサデータとの残差の和が計算される。その残差は、区間内のセンサデータのトレンドを１つの直線で表現したときのトレンドと実際のセンサデータとの誤差を表す。そして、区間内のセンサデータが同じトレンドにしたがう場合、残差は実際のセンサデータに含まれるノイズが原因となって生じる誤差である。
【００３７】
区間が長すぎて、１つの区間に異なるトレンドのセンサデータが含まれると、残差に、そのトレンドの異なるという現象も誤差として含まれるので、残差が通常より大きくなる傾向がある。このような特徴があるので、本実施例では残差を指標として過度の平均化の効果の影響評価に使用する。
【００３８】
図４において、ある第２の時間を区間とすると、センサデータから計算される傾きは、少なくともその区間内は直線となる折れ線３５ｂで表され、例えば、センサデータが２つの異なるトレンドを含む場合、折れ線３５ｂは第１のトレンドを左側で傾きが正（＋）で表し、第２のトレンドを右側で傾きが負（−）で表す。
【００３９】
また、第２の時間より長い区間の場合は、例えば、２つのトレンドを跨る直線３６ｂのような傾きになり、領域３９内の細かな正（＋）と負（−）の傾きにともなう残差がノイズによるものであるとしても、領域３９の左端と右端のように第１のトレンドを表すセンサデータや第２のトレンドを表すセンサデータとの間にも残差が発生してしまう。
【００４０】
このように、この指標は、区間を長くすると値が増加するので、指標Ａの逆で、傾きの短く続く部分が有利となる。以下では、この指標を指標Ｂと呼ぶ。指標Ｂを計算するために、図６に後述する時刻に応じて変化する傾きを計算する。そして、指標Ａと指標Ｂの両方を用いることにより、区間を最適化することができる。
【００４１】
図５は、区間設定部１１の処理フローの例を示す図である。この処理では、指標Ａと指標Ｂを用いて区間の長さを最適化する。このために、区間の長さと位置を変更しながら指標Ａと指標Ｂを計算し、区間の長さと位置の組み合わせに対する指標Ａと指標Ｂを得て、区間の長さを決定する。
【００４２】
予め、区間の長さの最適化範囲が値「３」〜「５１」として設定されており、その範囲内のすべての奇数値「３」、「５」、「７」、．．．、「４９」、「５１」に対して計算するため、区間設定部１１は、最適化範囲の中から計算にまだ使用されていない区間の長さを１つ取り出して、計算対象の区間の長さに設定する（ステップ５１）。このために、ステップ５１の１回目の実行では奇数値「３」が設定され、２回目の実行では奇数値「５」が設定されてもよい。
【００４３】
また、予め、最適化に使用されるセンサデータの時間（例えば８時間など、センサデータが検出する対象の稼働時間など）が設定されており、その時間内のすべての時刻に、区間の位置を移動しながら計算するため、区間設定部１１は、設定された時間の中から計算にまだ使用されていない時刻を１つ取り出して、計算対象の区間の位置すなわち区間の中心の時刻に設定する（ステップ５２）。この設定については図６を用いて後述する。
【００４４】
区間設定部１１は、ステップ５１、５２で設定された区間におけるセンサデータのグラフの傾きを計算して、指標Ｂを計算し（ステップ５３）、指標Ａを計算する（ステップ５４）。そして、予め設定された時間の最後のセンサデータまで計算の対象となったかを判定し（ステップ５５）、最後のセンサデータまで計算の対象となっていないと判定すると、ステップ５２へ戻って、次のセンサデータの位置を含むように区間を移動し、最後のセンサデータまで計算の対象となっていると判定すると、ステップ５６へ進む。
【００４５】
図６は、区間の設定の例を示す図である。区間が設定される時刻を移動しながら、区間に含まれるセンサデータの傾きが計算されるため、計算された傾きの値は時間変化を表すことになる。この例では、センサデータが一定の時間ごとに存在し、区間の長さは５個のデータであって、区間の時間的な長さも一定である。
【００４６】
計算対象となる区間の中心のセンサデータの前後（（区間の長さ−１）／２）個のデータに対して、（式３）の公式となる線形回帰を行う。
【００４７】
Ｓ＝ａ×Ｔ＋ｂ          （式３）
ここで、（式３）は縦軸をＳ、横軸をＴとしたときに直線を表す式であり、Ｓ（従属変数）はセンサデータに対応する値、Ｔ（独立変数）は時刻であり、係数ａは傾き、係数ｂは区間の端（切片）のセンサデータに対応する値である。
【００４８】
図６において、Ｓとなるセンサデータ６１からセンサデータ６３、およびＴとなるこれらのセンサデータの時刻から、係数ａとなる傾きの値６５が計算される。係数ｂも計算されてもよい。次回のステップ５２の実行では区間が次の位置に設定され、センサデータ６２からセンサデータ６４が傾きの値６６の計算に使用される。
【００４９】
予め設定された最適化に使用されるセンサデータの時間（評価の対象となる時間）の最初と最後のセンサデータに対して、その前後のセンサデータが不足して計算できないので、ゼロまたは傾きと区別できる値が設定されてもよい。図６の例ではこのような値６７などとして「×」を設定した。また、本実施例では、予め設定された時間のセンサデータそれぞれに対して計算するとしたが、計算時間を短縮するために数個のセンサデータを飛ばしながら傾きを計算し、計算しない時刻の傾きは隣の計算した傾きの平均値で補足してもよい。
【００５０】
また、本実施例では、区間の中心の傾きを計算すると定義したが、実装の状況によって区間内の他の位置と定義してもよい。例えば、リアルタイムで計算する場合に、計算時点の傾きを、計算時点から前の区間に含まれるセンサデータで計算すると定義してもよい。さらに、以上を処理の前に、外れ値処理や正規化処理などの前処理が行われてもよい。
【００５１】
ここで、ステップ５３の指標Ｂの計算は、例えば、センサデータ６１からセンサデータ６３およびＴから（式３）の係数ａと係数ｂが計算された後、計算された係数ａと係数ｂを用いてセンサデータ６１の時刻をＴとする（式３）のＳを計算し、計算されたＳとセンサデータ６１の値との差（残差に相当）を計算し、このような差の計算をセンサデータ６３まで繰り返して、計算された５つの差の合計であってもよい。
【００５２】
ステップ５４の指標Ａの計算は、値６５を記憶し、値６６を記憶するときに、記憶された値６５と値６６が異符号ペアであるかを判定して、異符号ペアであると判定した場合は異符号ペアの個数をカウントアップし、このような記憶と判定とカウントアップの処理を値６６以降でも実行してもよい。
【００５３】
図５へ戻り、ステップ５６で区間設定部１１は、最適化範囲の最後の長さまで完了したかを判定する。例えば奇数値「３」、「５」、「７」、．．．、「４９」、「５１」においては、奇数値「５１」まで完了したかを判定する。完了していないと判定するとステップ５１へ戻って、次の奇数値を設定し、完了したと判定するとステップ５７へ進む。ステップ５１〜５６で計算された指標Ａと指標Ｂの例を図７に示す。
【００５４】
既に説明したように、指標Ａは区間が短くなると増加し、指標Ｂは区間が長くなると増加する。このため、指標Ａに係数Ａを乗じた値の実線７１、７２も区間が短くなると上昇し、指標Ｂに係数Ｂを乗じた値の破線７３も区間が長くなると上昇する。図７の例で、実線７１、７２と破線７３の交わる点の区間の長さ７４、７５を最適化された区間の長さとしてもよい（ステップ５７）。
【００５５】
このようにすると、係数Ａと係数Ｂの設定によって、指標Ａと指標Ｂそれぞれの重要度を変更することができ、最適化された区間の長さに影響を与えられる。例えば、実線７１に対して係数Ａを増加させると実線７２となって、指標Ａの影響度が大きくなり、区間の長さ７４が区間の長さ７５へと変化して、区間が長くなる傾向を示す。係数Ａと係数Ｂは、ユーザによって設定されてもよいし、テストデータの分割結果によって  設定されてもよい。
【００５６】
別の最適化の評価の例を（式１）と（式２）で説明する。  
評価値Ｃ ＝ 指標Ａ×係数Ａ ＋ 指標Ｂ×係数Ｂ      （式１）
評価値Ｄ ＝ 指標Ａ×指標Ｂ                        （式２）
（式１）により計算された評価値Ｃが最小となる区間の長さが、最適化された区間の長さとされてもよい。また、（式２）により計算される評価値Ｄが最大となる区間の長さが、最適化された区間の長さとされてもよい。図７に示した最適化と（式１）を用いた最適化と（式２）を用いた最適化とは選択可能であってもよい。
【００５７】
本実施例では、ユーザが分割結果を修正した結果によって係数Ａと係数Ｂを調整する手段を提供する。これにより、ユーザが分割処理のメカニズムを理解しなくても、手軽に分割プロセスをカスタマイズすることができる。詳細については後述する。
【００５８】
図８は、データ分割処理部１２の処理フローの例を示す図である。データ分割処理部１２は、区間設定部１１が設定した区間の情報を用いて、センサデータを時刻で分割する。このため、本実施例では、時刻の流れに沿って傾き値の正、負、ゼロ付近の間で変化する時刻を分割点とする。
【００５９】
ただし、ゼロ付近については、実際のセンサデータにノイズが含まれるために完全なゼロの点が少ないので、予め設定された閾値より傾き値の絶対値が小さい場合は、上昇でも降下でもない定常トレンドを表現するゼロ付近と定義する。この定義に応じて、同じ閾値より傾き値の絶対値が大きい場合に、正または負と定義してもよい。
【００６０】
データ分割処理部１２は、まず、時刻的に最初の区間の傾き値を傾きＡに設定し、最初の区間の代表時刻を始点と終点の両方に設定して、最初の区間を以下の処理の対象区間に設定する（ステップ８１）。区間の代表時刻は、区間の中の中心のセンサデータに対応する時刻であってもよいし、区間の中の他のセンサデータに対応する時刻であってもよい。
【００６１】
データ分割処理部１２は、ステップ８１あるいは（ステップ８２からステップ８７のループにおける）前回のステップ８２で設定された対象区間の時刻的に次の区間を新たな対象区間に設定し、その新たな対象区間の傾き値と代表時刻をそれぞれ傾きＢと時点Ｂに設定する。
【００６２】
データ分割処理部１２は、傾きＡと傾きＢが同じ傾き値であるかを判定し、同じ傾き値であると判定すると、ここでの終点では分割しないため、時点Ｂを新たな仮の終点とすべく、時点Ｂの時刻を終点に設定して、終点を更新する（ステップ８４）。また、同じ傾き値ではないと判定すると、ここでの終点で分割するため、ステップ８５へ進む。
【００６３】
データ分割処理部１２は、傾きＡと始点と終点それぞれの値を保存し（ステップ８５）、終点で分割したことを記録する。そして、傾きＢの値を傾きＡに設定し、時点Ｂの値を始点と終点の両方に設定して、傾きＡと始点と終点を更新し（ステップ８６）、新たな分割点を見つけるための基準とする。
【００６４】
データ分割処理部１２は、対象区間が時刻的に最後の区間であるかを判定し（ステップ８７）、最後の区間ではないと判定するとステップ８２へ戻り、対象区間の次の区間を新たな対象区間に設定して処理を繰り返し、最後の区間であると判定すると分割の処理を終了する。このステップ８７における対象区間はステップ８２で設定された対象区間である。また、ステップ８４からステップ８７へ進んで分割の処理を終了する場合、傾きＡと始点と終点それぞれの値が保存されてもよい。
【００６５】
なお、１回のステップ８５の実行において保存された始点と終点はそれぞれ分割点であり、この始点と終点との間を分割点間と呼ぶことにする。そして、分割点間が複数の区間を含む場合、含まれる区間の傾き値の正、負、ゼロ付近は同じであるので、１つの分割点間は１つのトレンドを表す可能性が高い。
【００６６】
また、分割点間と時刻的に次の分割点間とでは、前者の分割点間の終点である分割点と後者の分割点間の始点である分割点の２つの分割点が隣接するため、隣接する２つの内のいずれか一方の分割点を、前者の分割点間と後者の分割点間との間の１つの分割点とみなしてもよい。
【００６７】
図９は、分割点併合処理部１３の処理フローの例を示す図である。分割点併合処理部１３は、隣接する分割点間を併合し、分割点を少なくして分割点間を長くする。例えば、区間設定部１１で区間を設定することにより、ノイズの影響を低減できるが、ノイズが原因で生じる短くて無用な分割点間がいくつか残る可能性があり、これを解決するために併合する。
【００６８】
また、分割点間の数が既知の場合に、分割点間を併合することで分割の精度を向上することができる。例えば、センサデータを３つに分割するという条件が予め設定されている場合、分割点間を短い順で併合し、最後に３つの分割点間にまとめてもよい。本実施例では、最も短い分割点間から隣接する分割点間と併合する。
【００６９】
このために、分割点併合処理部１３は、まず、データ分割処理部１２がステップ８５などで保存した分割点に基づく分割点間の中で最も短い分割点間を見つけ出す（ステップ９１）。この例では、見つけた分割点間に時刻的に前と後に隣接する２つの分割点間の中で短い方の分割点間を併合対象として選択する（ステップ９２）。そして、この選択された併合対象の分割点間と最も短い分割点間とを併合する（ステップ９３）。
【００７０】
この例のステップ９２において、併合対象は短い方を選択する場合について説明したが、実際のデータによっては長い方を選択してもよい。または、ユーザにより設定された他の併合対象選択基準に基づいて選択してもよい。
【００７１】
併合された分割点間は１つの分割点間として保存され、分割の条件を満足するかを判定し（ステップ９４）、満足しないと判定した場合は、ステップ９１へ戻り、併合された分割点間も１つの分割点間として、最も短い分割点間を見つけ出すという処理を、分割の条件を満足するまで繰り返す。
【００７２】
分割の条件は、例えば、最も短い分割点間に含まれるセンサデータ数が「５」以上であるという条件であってもよいし、分割点間の数が「３」であるという条件であってもよいし、他の条件であってもよい。また、分割の目的によっては、この併合処理をスキップしてもよく、スキップした場合、データ分割処理部１２の出力は分割結果表示制御部１４に送信される。さらに、分割の条件を満たす場合、分割点併合処理部１３は、データ分割処理部１２で分割した分割点を併合することなく分割結果表示制御部１４に送信してもよい。
【００７３】
図１０は、分割結果表示制御部１４のＧＵＩ画面の例を示す図である。本実施例のＧＵＩ画面には、設定画面１４１と監視画面１４５が切り替え可能に含まれる。分割結果の表示は、設定画面１４１の表示部分１４１１のように、横軸を時刻で縦軸をセンサデータの値として複数のセンサデータと各分割点を表示する。
【００７４】
過去の分割結果を表示するために、横軸のスクロールバーが表示される。また、５個以上のセンサに関して、分割結果を表示するため、表示部分１４１１に縦軸のスクロールバーが表示される。スクロールせずに表示の対象となる時間は、表示範囲１４１２で３０分、１時間、１日などの選択メニューが表示される。監視ボタン１４１３へのクリック（タッチ）が検出されると、監視画面１４５に切り替えて表示する。
【００７５】
監視画面１４５には、表示部分１４５３のような簡潔な画面で、選択されたセンサの分割結果が拡大されて表示される。選択メニュー１４５１は選択されるセンサの識別子が表示される。表示範囲１４５２は表示範囲１４１２と同様の選択を可能にする表示である。設定ボタン１４５４へのクリックが検出されると、設定画面１４１に切り替えて表示する。なお、監視画面１４５を表示するときには、ユーザによる修正の操作がないので、センサデータと分割点の情報をそのまま次の処理部に送信する。
【００７６】
設定画面１４１はユーザが分割結果を修正するための画面であるが、分割点を直接に修正するには、分割処理のメカニズムが分からなければならないので、ユーザにとって修正の難しいケースもある。それを解決するために、本実施例は、直観的に理解できるパラメータを提供する。例えば、計算パラメータ設定１４２０に示すように、トレンド表現精度とノイズ抑制強度のスライドを表示し、スライドの移動を検出してスライドの位置に応じた値の入力を可能にする。
【００７７】
スライドに位置に応じて入力された値は、分割処理のためのパラメータに変換される。例えば、トレンド表現精度の値を増加するスライドの操作を検出すると、区間設定部１１の処理に使用される（式１）の係数Ｂの値を増加し、指標Ｂの影響度が増加する。また、ノイズ抑制強度の値を増加するスライドの操作を検出すると、区間設定部１１の処理に使用される（式１）の係数Ａの値を増加し、指標Ａの影響度が増加する。これらにより、ユーザが簡単に分割処理の動作を制御することができる。なお、パラメータが変更された結果の分割の状態は、リアルタイムに表示部分１４１６へ表示されてもよい。
【００７８】
より便利な入力の機能は、ユーザによる分割結果の画面での直接修正を受け付けることである。選択メニュー１４１４は選択されるセンサの識別子が表示され、選択メニュー１４１４で選択されたセンサのセンサデータと分割結果の拡大図が、表示部分１４１６に表示される。ここで、表示範囲１４１５は表示範囲１４１２と同様の選択を可能にする表示である。
【００７９】
表示部分１４１６において、縦破線が分割点の例であり、縦破線がユーザにより指定されることで、指定された縦破線に対応する分割点が修正の対象となる。移動ボタン１４１７、追加ボタン１４１８、削除ボタン１４１９は、分割点の位置にオフセットを設定する修正、分割点を追加する修正、分割点を削除する修正をそれぞれ指示されるためのボタンである。表示部分１４１６における縦破線の指定あるいは縦破線の無い時刻の指定を検出し、各ボタンへのクリックを検出して、これらの検出に基づく処理を行う。
【００８０】
例えば、ユーザが分割結果を観察すると、１つ重要な変動が、その変動の幅の小さいことが原因で分割されなかったことが分かる。その時、ユーザが追加ボタン１４１８をクリックして、設定画面１４１の表示部分１４１６で分割点を追加したい位置をクリックすれば、これらのクリックの情報を得た分割結果表示制御部１４が、クリックにより指定された分割点の位置で分割するようなパラメータを探す。
【００８１】
このような分割点の追加の場合は、計算区間が長すぎて過度の平均効果が起こっている可能性があるため、（式１）の係数Ｂの増加により、追加された分割点を算出されるまで指標Ｂの影響度が増加されてもよい。ユーザの修正を実現できるパラメータが見つかったら、パラメータは区間設定部１１に送信され、それ以降の分割処理に反映されてもよい。
【００８２】
さらに設定画面１４１では、修正されたパラメータを複数のセンサのデータへ適用する指示のための全部適用ボタン１４２１、修正されたパラメータを１つのセンサのデータへ適用する指示のための単一適用ボタン１４２２、修正されたパラメータを保存する指示のための保存ボタン１４２３、保存されたパラメータを読込む読込ボタン１４２４も表示される。
【００８３】
図１１は、複数のセンサにおけるセンサデータの分割の例を示す図である。複数のセンサによるセンサデータを分割する場合に、センサごとに分割結果の異なる可能性がある。例えば、分割した区間の数が異なる、または分割点の時刻が互いにずれる。これに対して、選択された代表センサの分割に基づいて、他のセンサのセンサデータが分割されてもよい。
【００８４】
例えば、複数のセンサデータを区間ごとにクラスタリングする場合は、データ欠損があれば多次元空間で表現できないので、データ欠損のないセンサのセンサデータ分割点と一致しなければならない。そのため、ここでの分割は、選択された代表センサのセンサデータの分割点がすべてのセンサデータに適用される。
【００８５】
図１１の例では、「センサＡ」が代表センサであり、「センサＡ」のセンサデータ１１１に基づいて計算された分割点１１４、１１５が、「センサＢ」のセンサデータ１１２と「センサＣ」のセンサデータ１１３に適用され、それぞれ分割点１１６、１１７と分割点１１８、１１９になる。
【００８６】
代表センサを選択する処理として、各センサのセンサデータのＳＮ比を計算し、一番高いＳＮ比を持つセンサが代表センサであってもよい。また、各センサのセンサデータのサンプルが分割され、分割された区間の数が一番多いセンサが代表センサであってもよい。また、過去の異常予兆診断事例によって異常を検出する感度の高いセンサが代表センサであってもよい。
【００８７】
図１２は、複数のセンサにけるセンサデータの分割の別の例を示す図である。複数のセンサによるセンサデータを分割する場合に、センサごとに分割結果が異なってもよい。異常予兆診断の内容によっては、センサごとのセンサデータの分割点が比較される場合や、センサごとに特徴量が計算される場合もあり、このような場合はセンサごとにセンサデータが分割されてもよい。
【００８８】
図１２の例では、「センサＡ」のセンサデータ１２１の分割点の個数は「２」であり、「センサＢ」のセンサデータ１２２の分割点の個数は「４」であり、「センサＣ」のセンサデータ１２３の分割点の個数は「６」であって、個数が異なる。また、分割点の時刻においても、分割点１２４と分割点１２５と分割点１２６とでは時刻が異なる。
【００８９】
図１３から図１５を用いて、プリプロセッサ１から異常予兆診断処理部２へ分割データを送信する手順の例を説明する。分割データは、各分割点間のセンサデータの状態を表すデータであり、センサデータの分割点の時刻情報（タイムスタンプ）またはセンサデータ内での順番（位置）を表すインデックスを含み、後述する分割ベクトルであってもよい。各分割データは時刻順に送信され、異常予兆診断処理部２の設定によって、分割データのそれぞれが識別できるように送信される。
【００９０】
図１３は、分割データを連続して送信する例を示す図である。この例では、プリプロセッサ１が異常予兆診断処理部２へ、１つの分割点間に対応する１つの分割データ１３０１を送信すると、分割点間の送信終了を示す完了信号１３０２を送信し、次の分割データ１３０３を送信すると、完了信号１３０４を送信する。  
図１４は、分割データの送信ごとに応答する例を示す図である。プリプロセッサ１が異常予兆診断処理部２へ分割データ１３０５を送信すると、通信はいったんアイドリング１３０６の状態となり、プリプロセッサ１は異常予兆診断処理部２から送信可信号１３０７を受信すると、次の分割データを送信する。
【００９１】
図１５は、分割データを並列に送信する例を示す図である。プリプロセッサ１は異常予兆診断処理部２へ複数の分割データ１３０８、１３０９を並列に送信する。図１３、１４を用いて説明した送信の手順と組み合わせて、並列の送信に加えて、並列の送信を繰り返してもよい。
【００９２】
図１６は、分割点ベクトルの例を示す図である。分割点の情報は、予兆診断で処理されやすい分割点ベクトルに変換される。図１６の例では、分割結果が、センサデータ内の順番、分割点間の始点の時刻、分割点間の終点の時刻、分割点間のセンサデータの傾きを表す状態から成り、分割点ベクトルは分割点間の始点の時刻をベクトルとして表現したものである。
【００９３】
ここで、さらに処理をしやすいように、時刻あるいはインデックスは実数に変換される。図１６の例では始点や終点の時刻を整数で示したが、一般に時刻は例えば「２０１５年０３月０１日０８時１０分００秒」などというフォーマットの情報で表される。このような情報に対して、分割点間の関係を維持する線形的な実数にマッピングする。
【００９４】
これにより、例えば、分割点間の始点の時刻である「２０１５年０３月０１日０８時１０分００秒」は、予め設定された基準時刻の「２０１５年０１月０１日００時００分００秒」と比較され、両者の秒単位の時間差が計算されて、「５１２７０００」という実数に変換される。
【００９５】
なお、図１６の分割結果からも明らかなように、ある分割点間の終点と、次の分割点間の始点とは隣接するので、これらの時刻も昇順に並ぶため、分割点ベクトルの実数も昇順に並ぶ。また、分割点ベクトルは、分割点間の終点の時刻に関するベクトルであってもよい。
【００９６】
図１７は、分割点ベクトルを用いた異常予兆診断の処理フローの例を示す図である。図１７の例は、正常データのベクトルを用いてクラスタリングなどにより学習し、学習したベクトルと新しく取得されたセンサデータの分割点ベクトルとを比較するため、類似度を算出して、新しく取得されたセンサデータが異常であるか否かを判定する。なお、この分割点ベクトルの異常診断には、さまざまな種類の機械学習が適用されてもよい。
【００９７】
正常データは変動パターン（トレンドパターン）に規則性があり、正常な状態の実際のセンサデータと正常データを同じ処理により分割すると、変動パターンを表す分割結果すなわち分割点ベクトルには、大きな差は発生しない。しかし、異常な状態の実際のセンサデータすなわち異常データには正常データとは異なる変動があり、その変動は新たな分割点を発生させる可能性があるので、その分割点の差により異常を検出することが可能となる。その分割点の差には、例えば分割点の数の差や位置の差がある。
【００９８】
まず、分割点時刻異常診断処理部２２は学習処理として、正常データを用いて正常クラスを作成する（ステップ１７０１）。クラスの作成は、そのクラスに所属するデータにそのクラスのラベルを付ける。このため、正常クラスは正常というラベルが付けられたデータの集合であり、特には、各要素に正常というラベルが付けられた分割点ベクトルである。以下では、診断対象のセンサデータの分割点ベクトルと区別するために、正常クラスの分割点ベクトルを正常ベクトルと呼ぶ。
【００９９】
正常データは複数種類あり、正常ラベルも複数種類あってもよい。例えば、センサの検出モードが複数種類ある、またはセンサの検出対象となる装置などに動作モードが複数種類あり、異なる検出モードまたは動作モードに応じて異なる変動パターンが正常パターンとして存在してもよい。
【０１００】
異常データの変動パターンが予め判明している場合は、異常クラスを作成してもよい。また、複数の異常状態があり、複数種類の異常データが判明している場合は、例えば異常Ａクラス、異常Ｂクラス、異常Ｃクラスのように、複数のクラスを作成してもよい。なお、ステップ１７０１のクラスの作成は、異常診断より前に予め実行されていてもよい。
【０１０１】
診断対象となるセンサデータの分割点ベクトルと正常データの正常ベクトルを比較するために分割点時刻異常診断処理部２２は、類似度を計算する（ステップ１７０２）。類似度の計算の具体的な処理は、後述するステップ１７１１からステップ１７１４である。そして、計算された類似度が予め設定された閾値より低いかを判定し（ステップ１７０３）、低いと判定すると、診断結果を異常とする（ステップ１７０４）。このために、異常ということを表す値を所定の記憶領域に格納するなどしてもよい。
【０１０２】
類似度を計算するため、まず分割点時刻異常診断処理部２２は、複数の正常ベクトルを含む正常クラスから、それまでに抽出されていない正常ベクトルを１つ抽出する（ステップ１７１１）。そして、抽出された正常ベクトルと分割点ベクトルとの距離を計算する。距離の計算の具体的な処理は、後述するステップ１７２１からステップ１７２４である。
【０１０３】
分割点時刻異常診断処理部２２は、正常クラスに抽出されていない正常ベクトルが残っており、抽出が完了していないと判定すると（ステップ１７１３）、ステップ１７１１へ戻り、他の正常ベクトルを抽出する。また、ステップ１７１３で抽出が完了したと判定すると、複数の正常ベクトルそれぞれと計算された距離の中で最小値を特定し、特定された最小値の逆数を計算して類似度とする（ステップ１７１４）。
【０１０４】
距離を計算するため、まず分割点時刻異常診断処理部２２は、複数のデータを含む分割点ベクトルから、それまでに抽出されていないデータを１つ抽出する（ステップ１７２１）。そして、ステップ１７１１で抽出された正常ベクトル内の最も値の近いデータとの差を計算する（ステップ１７２２）。
【０１０５】
分割点時刻異常診断処理部２２は、分割点ベクトルに抽出されていないデータが残っており、抽出が完了していないと判定すると（ステップ１７２３）、ステップ１７２１へ戻り、他のデータを抽出する。また、ステップ１７２３で抽出が完了したと判定すると、ステップ１７２２で計算された差の合計を計算して距離とする。
【０１０６】
以上の処理において、例えば、診断対象となるセンサデータの分割点ベクトルをＳＤとし、３つの正常ベクトル（正常クラスの分割点ベクトル）をＮＤ−Ａ、ＮＤ−Ｂ、ＮＤ−Ｃとし、これらの分割点ベクトルのそれぞれは、図１６を用いて説明した複数の区間の始点（分割点）を含む分割点ベクトルであって、「２０１５年０１月０１日００時００分００秒」の代わりに、それぞれの（センサ）データの取得される当日の「００時００分００秒」が基準時刻であってもよい。
【０１０７】
また、予め分割点ベクトルの一部のパターン（例えば、立上り波形）が設定されており、図２を用いて説明したように、その設定されたパターンと一致する分割点ベクトルの時刻を基準時刻として、分割点ベクトル内の他の時刻（区間の始点に対応する実数）を再変換してもよい。
【０１０８】
そして、分割点ベクトルに含まれるデータは、変換された実数であるから、２つの実数の差が距離の一部として計算され、差の値の小さい組み合わせが近いと特定されてもよい。２つの実数の差の合計が計算され、ＳＤとＮＤ−Ａの距離がＤＩＳＴ−Ａ、ＳＤとＮＤ−Ｂの距離がＤＩＳＴ−Ｂ、ＳＤとＮＤ−Ｃの距離がＤＩＳＴ−Ｃとした場合、類似度は１／ｍｉｎ（ＤＩＳＴ−Ａ、ＤＩＳＴ−Ｂ、ＤＩＳＴ−Ｃ）と計算されてもよい。
【０１０９】
ここで、距離の計算は、分割点数の違いと分割点位置（時刻あるいは変換された実数）の違いとの両方が反映する計算であってもよい。ＮＤ−Ａ、ＮＤ−Ｂ、ＮＤ−Ｃは、正常の度合いの異なる正常Ａクラス、正常Ｂクラス、正常Ｃクラスという複数のクラスであり、正常の度合いが最低の正常Ｃクラスとの類似度が高い場合は、異常の可能性が高くなっていると判定されてもよい。このように複数のクラスとの類似度を判定することで、より正確な診断に役立ち、異常の種類や原因の判断に役立つ。
【０１１０】
図１８は、センサデータの特徴量の計算の例を示す図である。この特徴量は、ある分割点間におけるセンサデータの変動の量である。例えば、特徴量計算部１７は、図１８に示した１つの分割点間の範囲内の「極大値」と「極小値」を算出し、算出された「極大値」と「極小値」との「差」を計算する。ここで、計算された差は時系列ではなく、１つの分割点間に対して１つの値となり、図１８に示した「傾き」や「時間間隔」に依存しない。
【０１１１】
異常予兆診断装置２３は、計算された特徴量を多次元データとして、クラスタリング手法により異常診断する。例えば、正常なサンプルとして学習用の複数のセンサデータそれぞれを複数の分割点間に分割し、複数のセンサデータにおいて対応する分割点間ごとにＫ−Ｍｅａｎｓを用いて正常クラスタを予め求めておく。
【０１１２】
そして、異常予兆診断装置２３は、各分割点間に分割された診断対象のセンサデータを、分割点間ごとに正常クラスタと比較して、クラスタの中心からの最短距離が所定の閾値を超えれば、診断対象のセンサデータは異常であると判定する。
【０１１３】
図１９は、複数の診断結果の利用の例を示す図である。図１９の例では、診断対象となるセンサデータ１９１の内容に応じて「データＡ」から「データＥ」であり、異常予兆診断装置２１あるいは異常予兆診断装置２３の診断結果１９２と、分割点時刻異常診断処理部２２の診断結果１９３が各データに対応して判定された状態において、診断結果総合判定処理部２４が診断結果１９４を総合的に判定する。
【０１１４】
この例での診断結果１９２、１９３、１９４は「正常」か「異常」のいずれか１つであり、「データＣ」と「データＤ」と「データＥ」のように、診断結果１９２、１９３のいずれかが「異常」であれば、診断結果１９４は「異常」と判定される。また、「データＡ」と「データＢ」のように、診断結果１９２、１９３の両方が「正常」であれば、診断結果１９４は「正常」と判定される。
【０１１５】
ここでは、２つの診断結果１９２、１９３から診断結果１９４を判定する例を示したが、３つ以上の診断結果に基づいて総合的な診断結果が判定されてもよい。データ抽出処理部１５の出力するセンサデータに応じた異常予兆診断装置２１の診断結果と、分割点抽出処理部１６の出力する分割点に応じた分割点時刻異常診断処理部２２の診断結果と、特徴量計算部１７の出力する特徴量に応じた異常予兆診断装置２３の診断結果とに基づいて総合的な診断結果が判定されてもよい。
【０１１６】
また、診断結果総合判定処理部２４は、総合的な判定として、統計的な手法の処理を実行してもよい。例えば、複数の診断結果に占める「異常」の割合が、予め設定されたパーセント以上であれば、「異常」と判定してもよいし、複数の診断結果それぞれに重みを付けて、「異常」の割合を計算して、予め設定されたパーセント以上であれば、「異常」と判定してもよい。
【０１１７】
以上で説明したように、指標Ａと指標Ｂを用いて区間を設定するため、センサデータのノイズを抑えたデータ分割が可能になる。また、同じ傾きの状態となる区間をまとめることにより、トレンドを表すことができ、異なる傾きの状態となる区間に分割点を設定することにより、トレンドの変化を表すことができる。そして、短い分割点間を他の分割点間と併合することにより、ノイズの影響をさらに低減できる。
【０１１８】
また、センサデータと分割点を表示することにより、ユーザが分割点を確認することが可能になり、ユーザによる分割点の変更に操作に応じて係数Ａと係数Ｂを変更するため、ユーザが分割の処理に関する知識を持たない場合でも容易に分割点を修正することが可能になる。さらに、複数のセンサのセンサデータのそれぞれに対しても分割点を設定することが可能であり、複数種類の診断結果に基づいて総合的に判定することも可能になる。
【符号の説明】
【０１１９】
１：プリプロセッサ、２：異常予兆診断処理部、１１：区間設定部、１２：データ分割処理部、１３：分割点併合処理部、１４：分割結果表示制御部、１５：データ抽出処理部、１６：分割点抽出処理部、１７：特徴量計算部
【図１】
2018055552.tif 000003
【図２】
2018055552.tif 000004
【図３】
2018055552.tif 000005
【図４】
2018055552.tif 000006
【図５】
2018055552.tif 000007
【図６】
2018055552.tif 000008
【図７】
2018055552.tif 000009
【図８】
2018055552.tif 000010
【図９】
2018055552.tif 000011
【図１０】
2018055552.tif 000012
【図１１】
2018055552.tif 000013
【図１２】
2018055552.tif 000014
【図１３】
2018055552.tif 000015
【図１４】
2018055552.tif 000016
【図１５】
2018055552.tif 000017
【図１６】
2018055552.tif 000018
【図１７】
2018055552.tif 000019
【図１８】
2018055552.tif 000020
【図１９】
2018055552.tif 000021