(57)【特許請求の範囲】
【請求項１】
所定の運転スケジュールが繰り返される機械設備に関して、前記機械設備に設置された複数のセンサの検出値を含む時系列データを取得する時系列データ取得手段と、
前記運転スケジュールを複数の時間帯に分割し、前記複数の時間帯のうち学習対象である時系列データが属する時間帯を特定し、各時間帯ごとにクラスタリングを行うことによって、前記機械設備の正常範囲を示すクラスタを生成又は更新するクラスタリング手段と、
前記複数の時間帯のうち診断対象である時系列データが属する時間帯を特定し、前記クラスタリング手段によって生成又は更新されたクラスタのうち、当該時間帯に対応するクラスタに基づいて前記機械設備の異常予兆の有無を診断する診断手段と、を備え、
前記クラスタリング手段は、
前記時系列データ取得手段によって過去に取得された正常な時系列データを用いて、各時間帯ごとに前記クラスタを生成するクラスタ生成部と、
前記診断手段によって異常予兆なしと診断された時系列データを、前記複数の時間帯のうち当該時系列データが属する時間帯のクラスタに追加して、当該クラスタを更新するクラスタ更新部と、
前記クラスタ更新部によって更新されたクラスタに関して、前記複数のセンサの各検出値を無次元量化して互いに比較可能とする正規化処理を施した値を成分とする特徴ベクトルを、当該クラスタに対応する前記時間帯での各検出値について求め、各特徴ベクトルの重心からの距離に基づいてクラスタ半径を算出し、更新されたクラスタの大きさを表す前記クラスタ半径が所定閾値以上である場合、当該クラスタを分割するクラスタ分割部と、を有し、
前記診断手段は、
前記クラスタ分割部による分割後のクラスタに基づいて、前記機械設備の異常予兆の有無を診断すること
を特徴とする異常予兆診断装置。
【請求項２】
前記クラスタリング手段は、
前記運転スケジュールの実行時間を所定個数に均等に分割して、前記複数の時間帯とすること
を特徴とする請求項１に記載の異常予兆診断装置。
【請求項３】
前記クラスタリング手段は、
前記時系列データ取得手段によって時系列データが取得されたときの前記機械設備の運転モードを特定する運転モード特定部を有し、
前記運転モード特定部によって、前記運転スケジュールを前記複数の時間帯である複数の運転モードに分割し、各運転モードごとにクラスタリングを行うことで前記クラスタを生成又は更新し、
前記診断手段は、
診断対象である時系列データが属する運転モードを特定し、当該運転モードに対応する前記クラスタに基づいて、前記機械設備の異常予兆の有無を診断すること
を特徴とする請求項１に記載の異常予兆診断装置。
【請求項４】
前記クラスタリング手段は、
前記時系列データ取得手段によって時系列データが取得されたときの前記機械設備の運転モードを特定する運転モード特定部を有し、
前記運転モード特定部によって特定した運転モードの実行時間を、各運転モードごとに所定個数に分割し、前記所定個数の各時間帯ごとにクラスタリングを行うことで前記クラスタを生成又は更新し、
前記診断手段は、
診断対象である時系列データが属する運転モードと、前記運転モード内での時間帯と、を特定し、当該運転モード及び当該時間帯に対応する前記クラスタに基づいて、前記機械設備の異常予兆の有無を診断すること
を特徴とする請求項１に記載の異常予兆診断装置。
【請求項５】
所定の運転スケジュールが繰り返される機械設備に関して、前記機械設備に設置された複数のセンサの検出値を含む時系列データを取得する時系列データ取得ステップと、
前記運転スケジュールを複数の時間帯に分割し、前記複数の時間帯のうち学習対象である時系列データが属する時間帯を特定し、各時間帯ごとにクラスタリングを行うことによって、前記機械設備の正常範囲を示すクラスタを生成又は更新するクラスタリングステップと、
前記複数の時間帯のうち診断対象である時系列データが属する時間帯を特定し、前記クラスタリングステップで生成又は更新されたクラスタのうち、当該時間帯に対応するクラスタに基づいて前記機械設備の異常予兆の有無を診断する診断ステップと、を含み、
前記クラスタリングステップは、
前記時系列データ取得ステップで過去に取得された正常な時系列データを用いて、各時間帯ごとに前記クラスタを生成するクラスタ生成ステップと、
前記診断ステップで異常予兆なしと診断された時系列データを、前記複数の時間帯のうち当該時系列データが属する時間帯のクラスタに追加して、当該クラスタを更新するクラスタ更新ステップと、
前記クラスタ更新ステップで更新されたクラスタに関して、前記複数のセンサの各検出値を無次元量化して互いに比較可能とする正規化処理を施した値を成分とする特徴ベクトルを、当該クラスタに対応する前記時間帯での各検出値について求め、各特徴ベクトルの重心からの距離に基づいてクラスタ半径を算出し、更新されたクラスタの大きさを表す前記クラスタ半径が所定閾値以上である場合、当該クラスタを分割するクラスタ分割ステップと、を含み、
前記診断ステップにおいて、
前記クラスタ分割ステップによる分割後のクラスタに基づいて、前記機械設備の異常予兆の有無を診断すること
を特徴とする異常予兆診断方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械設備の異常予兆の有無を診断する異常予兆診断装置等に関する。
【背景技術】
【０００２】
ガスエンジン、化学プラント、発電設備等の機械設備は、安定して正常に稼働することが求められる。このような機械設備の異常が発生する前に、機械設備に設置されたセンサの検出値等に基づいて、異常の前触れ（異常予兆）を検知する技術が知られている。
【０００３】
例えば、特許文献１には、機械設備の保守作業が行われた後のセンサデータを学習対象データとして取得する学習対象データ取得処理と、前記した学習対象データの正常範囲を示す正常モデルを学習する学習処理と、この正常モデルに基づいて機械設備の異常予兆の有無を診断する診断処理と、を行う異常予兆診断装置について記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−００８０９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、機械設備の状態が大きく異なる複数の時刻において、センサデータの値が似通っていることがある。従来は、機械設備の起動から停止までに得られるセンサデータに基づいて、機械設備の正常モデル（複数のクラスタ）が一括で学習されていた。そうすると、機械設備の状態が大きく異なるセンサデータが同一のクラスタに分類され、正常モデルが機械設備の実際の状態から乖離する可能性があった。
【０００６】
なお、特許文献１には、機械設備の運転モードごとに異常予兆診断装置が正常モデルを学習することが記載されている。しかしながら、同一の運転モード内であっても、時間の経過に伴って機械設備の状態は変化する。特許文献１に記載の発明では、このようなセンサデータを「運転モード」内で一括して取り扱っているため、正常モデルが機械設備の実際の状態から乖離し、異常予兆の有無を高精度で診断できない可能性がある。
【０００７】
そこで、本発明は、機械設備の異常予兆の有無を高精度で診断できる異常予兆診断装置等を提供することを課題とする。
【課題を解決するための手段】
【０００８】
前記課題を解決するために、本発明に係る異常予兆診断装置は、所定の運転スケジュールが繰り返される機械設備に関して、前記機械設備に設置された複数のセンサの検出値を含む時系列データを取得する時系列データ取得手段と、前記運転スケジュールを複数の時間帯に分割し、前記複数の時間帯のうち学習対象である時系列データが属する時間帯を特定し、各時間帯ごとにクラスタリングを行うことによって、前記機械設備の正常範囲を示すクラスタを生成又は更新するクラスタリング手段と、前記複数の時間帯のうち診断対象である時系列データが属する時間帯を特定し、前記クラスタリング手段によって生成又は更新されたクラスタのうち、当該時間帯に対応するクラスタに基づいて前記機械設備の異常予兆の有無を診断する診断手段と、を備え、前記クラスタリング手段は、前記時系列データ取得手段によって過去に取得された正常な時系列データを用いて、各時間帯ごとに前記クラスタを生成するクラスタ生成部と、前記診断手段によって異常予兆なしと診断された時系列データを、前記複数の時間帯のうち当該時系列データが属する時間帯のクラスタに追加して、当該クラスタを更新するクラスタ更新部と、前記クラスタ更新部によって更新されたクラスタに関して、前記複数のセンサの各検出値を無次元量化して互いに比較可能とする正規化処理を施した値を成分とする特徴ベクトルを、当該クラスタに対応する前記時間帯での各検出値について求め、各特徴ベクトルの重心からの距離に基づいてクラスタ半径を算出し、更新されたクラスタの大きさを表す前記クラスタ半径が所定閾値以上である場合、当該クラスタを分割するクラスタ分割部と、を有し、前記診断手段は、前記クラスタ分割部による分割後のクラスタに基づいて、前記機械設備の異常予兆の有無を診断することを特徴とする。
なお、詳細については、発明を実施するための形態において説明する。
【発明の効果】
【０００９】
本発明により、機械設備の異常予兆の有無を高精度で診断する異常予兆診断装置等を提供できる。
【図面の簡単な説明】
【００１０】
【図１】本発明の第１実施形態に係る異常予兆診断装置の構成図である。
【図２】機械設備の一回の運転スケジュールにおけるセンサ出力の変化を日付ごとに分けて示した説明図である。
【図３】異常予兆診断装置が備えるデータマイニング手段の構成図である。
【図４】クラスタ生成部によって生成されるクラスタの説明図である。
【図５】時間帯Ａ，Ｂ，Ｃ，Ｄに対応するクラスタを模式的に表した説明図であり、（ａ）は更新前のクラスタの説明図であり、（ｂ）は更新後のクラスタの説明図である。
【図６】異常予兆診断装置の動作の流れを示すフローチャートである。
【図７】クラスタリング手段が実行するクラスタ生成処理のフローチャートである。
【図８】診断手段が実行する診断処理のフローチャートである。
【図９】クラスタリング手段が実行するクラスタ更新処理のフローチャートである。
【図１０】本発明の第２実施形態に係る異常予兆診断装置が備えるデータマイニング手段の構成図である。
【図１１】データマイニング手段が実行するクラスタ更新・分割処理のフローチャートである。
【図１２】クラスタが分割される過程の説明図であり、（ａ）はクラスタ更新処理前の状態を表す説明図であり、（ｂ）はクラスタ更新処理後の状態を表す説明図であり、（ｃ）は（ｂ）のクラスタ分割処理後の状態を表す説明図である。
【図１３】本発明の第３実施形態に係る異常予兆診断装置が備えるデータマイニング手段の構成図である。
【図１４】機械設備の一回の運転スケジュールにおけるセンサ出力の変化を日付ごとに分けて示した説明図である。
【図１５】クラスタリング手段が実行するクラスタ生成処理のフローチャートである。
【図１６】診断手段が実行する診断処理のフローチャートである。
【図１７】クラスタリング手段が実行するクラスタ更新処理のフローチャートである。
【図１８】本発明の第４実施形態に係る異常予兆診断装置が備えるデータマイニング手段の構成図である。
【図１９】クラスタリング手段が実行するクラスタ生成処理のフローチャートである。
【図２０】診断手段が実行する診断処理のフローチャートである。
【図２１】クラスタリング手段が実行するクラスタ更新処理のフローチャートである。
【発明を実施するための形態】
【００１１】
≪第１実施形態≫
図１は、第１実施形態に係る異常予兆診断装置の構成図である。
異常予兆診断装置１は、機械設備２に設置された複数のセンサの検出値を含む時系列データに基づいて、機械設備２に異常予兆があるか否かを診断する装置である。前記した「異常予兆」とは、機械設備２の異常が発生する前触れであり、「異常予兆診断」とは、異常予兆の有無を診断することである。
【００１２】
以下では、異常予兆診断装置１に関する説明に先立って、機械設備２及びコンピュータ３について簡単に説明する。
機械設備２は、例えば、ガスエンジンであり、複数の装置（エンジン本体、発電機、燃焼器、冷却水ポンプ、弁類等：図示せず）を有している。なお、機械設備２の種類はこれに限定されず、ガスタービン、化学プラント、発電設備、医療設備、通信設備等であってもよい。図１に示すように、複数の機械設備２が、ネットワークＮを介して異常予兆診断装置１と通信可能になっている。
【００１３】
また、機械設備２には、所定の物理量（温度、圧力、流量、電圧、電流等）を検出する複数のセンサ（図示せず）が設置されている。各センサは、前記した物理量を所定のサンプリング周期（例えば、３０秒）で検出する。これらの検出値は、ネットワークＮを介して、時系列データとして異常予兆診断装置１に送信される。
【００１４】
図２は、機械設備の一回の運転スケジュールにおけるセンサ出力の変化を日付ごとに分けて示した説明図である。図２の横軸は時刻であり、縦軸は特定のセンサ（例えば、ガスエンジンの冷却水の圧力を検出する圧力センサ）の検出値である。図２では、一例として、１０月１日、２日、３日における当該センサの検出値（センサ出力）を図示した。
【００１５】
図２に示す例では、時刻ｔ０に機械設備２の運転を開始し、その後、所定の制御指令（例えば、冷却水ポンプの回転速度の変化）によって機械設備２の状態を変化させ、時刻ｔ７に機械設備２の運転を終了している。つまり、時刻ｔ０〜ｔ７において、機械設備２の一回分の運転スケジュールが実行される。
このような制御指令の種類、制御の開始・終了時刻等は、機械設備２の運転スケジュールとして予め設定され、この運転スケジュールが各日付ごとに実行される。したがって日付が異なっていても、例えば、時間帯Ｄ（図２の網掛部分）におけるセンサ出力の大きさ・変化量は、非常に似通ったものになる。他の時間帯Ａ，Ｂ，Ｃ，Ｅ，Ｆ，Ｇについても同様であり、また、他のセンサについても同様である。
【００１６】
本実施形態では、このように機械設備２の運転開始から運転終了まで時間（時刻ｔ０〜ｔ７）を複数の時間帯Ａ〜Ｇに分割し、各時間帯ごとに機械設備２の正常範囲を示すクラスタを学習するようにした。なお、クラスタの詳細については後記する。
【００１７】
図１に示すコンピュータ３は、ネットワークＮを介して異常予兆診断装置１と通信可能になっている。コンピュータ３の記憶手段（図示せず）には、機械設備２の運転スケジュールに関する情報が格納されている。この運転スケジュールには、機械設備２の識別情報と、機械設備２の運転開始時刻ｔ０（図２参照）と、運転終了時刻ｔ７（図２参照）と、が含まれる。なお、機械設備２の運転スケジュールに関する情報は、ネットワークＮを介してコンピュータ３から異常予兆診断装置１に送信される。
【００１８】
＜異常予兆診断装置の構成＞
図１に示すように、異常予兆診断装置１は、通信手段１１と、時系列データ取得手段１２と、時系列データ記憶手段１３と、運転スケジュール取得手段１４と、運転スケジュール記憶手段１５と、データマイニング手段１６と、診断結果記憶手段１７と、表示制御手段１８と、表示手段１９と、を備えている。
【００１９】
通信手段１１は、ネットワークＮを介して機械設備２又はコンピュータ３から送信されたデータを受信するものである。通信手段１１として、例えば、ＴＣＰ／ＩＰの通信プロトコルに従ってデータを受信するルータを用いることができる。
【００２０】
時系列データ取得手段１２は、ネットワークＮを介して通信手段１１に送信されたデータのうち、機械設備２に関する時系列データを取得する。前記した時系列データには、機械設備２に設置されたセンサ（図示せず）の検出値と、センサの識別情報と、センサによって物理量が検出された日付・時刻と、が含まれる。
時系列データ取得手段１２は、通信手段１１を介して取得した時系列データを時系列データ記憶手段１３に格納する。
【００２１】
時系列データ記憶手段１３には、時系列データ取得手段１２によって取得された時系列データが、データベースとして記憶されている。なお、時系列データ記憶手段１３として、磁気ディスク装置、光ディスク装置、半導体記憶装置等を用いることができる。
【００２２】
運転スケジュール取得手段１４は、通信手段１１によって受信されたデータのうち、機械設備２の運転スケジュール（機械設備２の識別情報、運転の開始・終了時刻）を取得するものである。運転スケジュール取得手段１４は、通信手段１１を介して取得した運転スケジュールを運転スケジュール記憶手段１５に格納する。
【００２３】
運転スケジュール記憶手段１５には、運転スケジュール取得手段１４によって取得された運転スケジュールが、データベースとして記憶されている。なお、運転スケジュール記憶手段１５として、磁気ディスク装置、光ディスク装置、半導体記憶装置等を用いることができる。
【００２４】
データマイニング手段１６は、統計的なデータ分類手法であるデータマイニング行うことで、機械設備２の正常状態を示すクラスタを生成（又は更新）する機能を有している。また、データマイニング手段１６は、生成（又は更新）したクラスタに基づき、機械設備２の異常予兆の有無を診断する機能も有している。なお、データマイニング手段１６の詳細については後記する。
【００２５】
診断結果記憶手段１７には、データマイニング手段１６の診断結果に関する情報が格納される。前記した診断結果には、機械設備２の識別情報と、異常予兆の有無と、が含まれる。
表示制御手段１８は、データマイニング手段１６による診断結果を表示するための制御信号を表示手段１９に出力する。例えば、表示制御手段１８は、各機械設備２の名称を行とし、診断日の日付を列としてマトリクス形式で診断結果（異常予兆の有無）を表示手段１９に表示させる。その他、表示制御手段１８は、管理者による操作に応じて、機械設備２の時系列データや運転スケジュールを表示手段１９に表示させる。
表示手段１９は、例えば、液晶ディスプレイであり、表示制御手段１８から入力される制御信号に従って、前記した診断結果等を表示する。
【００２６】
図３は、異常予兆診断装置が備えるデータマイニング手段の構成図である。
図３に示すように、データマイニング手段１６は、クラスタリング手段１６１と、診断手段１６２と、を備えている。
【００２７】
（１．クラスタリング手段の構成）
クラスタリング手段１６１は、統計的なデータ分類手法の一つであるクラスタリングを行うことで、機械設備２の正常状態を示すクラスタを生成・更新する機能を有している。すなわち、クラスタリング手段１６１は、機械設備２が正常であるときの時系列データを用いてクラスタを生成し、その後、診断手段１６２の診断結果（異常予兆の有無）を反映させてクラスタを逐次更新する。
【００２８】
なお、機械設備２の正常状態を示すクラスタとは、多次元ベクトル空間においてクラスタ中心ｃ（図４参照）及びクラスタ半径ｒ（図４参照）で特定される領域であり、機械設備２が正常であるときに取得した時系列データを用いて学習される。
【００２９】
図３に示すように、クラスタリング手段１６１は、学習対象データ取得部１６１ａと、時間帯特定部１６１ｂと、学習対象データ記憶部１６１ｃと、クラスタ学習部１６１ｄと、クラスタ情報記憶部１６１ｅと、を有している。
【００３０】
学習対象データ取得部１６１ａは、学習対象となる時系列データ（つまり、学習対象データ）を、時系列データ記憶手段１３から取得する機能を有している。また、学習対象データ取得部１６１ａは、後記する診断部１６２ｅによって「異常予兆なし」と診断された時系列データ（診断対象データ）を、クラスタの更新に用いる学習対象データとして診断結果記憶手段１７から取得する機能も有している。
前記したように、時系列データには、機械設備２に設置されたセンサ（図示せず）の検出値と、センサの識別情報と、センサによって物理量が検出された日付・時刻と、が含まれる。
【００３１】
時間帯特定部１６１ｂは、学習対象データに含まれる時刻情報（センサの検出時刻）を参照し、この時系列データが属する時間帯を特定する。前記した「時間帯」とは、例えば、前記した運転スケジュールの実行時間を所定個数（図２では、時間帯Ａ〜Ｇの７個）に均等に分割することで設定される。なお、運転スケジュールの実行時間を何等分にするかは、機械設備２の特性に基づいて予め設定されている。
時間帯特定部１６１ｂは、特定した時間帯に対応する識別情報を付した上で、学習対象データを学習対象データ記憶部１６１ｃに格納する。
【００３２】
例えば、学習対象データ取得部１６１ａによって取得された学習対象データが、図２に示す１０月３日の時刻ｔ３１に検出された場合について説明する。図２に示す値Ｘ１が検出された時刻ｔ３１は、時間帯Ｄ（時刻ｔ３〜ｔ４）に属している。時間帯特定部１６１ｂは、時間帯Ｄに対応する識別情報を付した上で、この学習対象データを学習対象データ記憶部１６１ｃに格納する。
【００３３】
このように、時間帯特定部１６１ｂは、予め設定された運転スケジュールが一定の周期（本実施形態では、一日）で繰り返される機械設備２に関して、一回分の運転スケジュールを複数の時間帯Ａ〜Ｇに分割し、学習対象データが時間帯Ａ〜Ｇ（図２参照）のいずれに属するかを特定する。
【００３４】
図３に示す学習対象データ記憶部１６１ｃには、時間帯特定部１６１ｂによって識別情報（時間帯Ａ〜Ｇに対応：図２参照）が付された学習対象データが、データベースとして記憶されている。
クラスタ学習部１６１ｄは、前記した識別情報を参照することで、時間帯Ａ〜Ｇのうち学習対象データが属する時間帯を特定し、各時間帯ごとにクラスタリングを行うことでクラスタを生成・更新する。図３に示すように、クラスタ学習部１６１ｄは、クラスタ生成部１６１１ｄと、クラスタ更新部１６１２ｄと、を有している。
【００３５】
クラスタ生成部１６１１ｄは、時系列データ取得手段１２（図１参照）によって過去に取得された正常な時系列データを学習対象データとし、時間帯Ａ〜Ｇに対応するクラスタをそれぞれ生成する。なお、「過去に取得された正常な時系列データ」とは、機械設備２が正常に稼働していることが既知である所定期間（例えば、直近の過去２週間）に取得された時系列データのことである。
【００３６】
例えば、クラスタ生成部１６１１ｄは、図２に示す１０月１日、２日、３日、…の学習対象データのうち、図２に示す時間帯Ｄ（時刻ｔ３〜ｔ４）に含まれる学習対象データを用いてクラスタを生成する。他の時間帯Ａ，Ｂ，Ｃ，Ｅ，Ｆ，Ｇに取得された学習対象データについても同様に、クラスタ生成部１６１１ｄはクラスタを生成する。
【００３７】
次に、クラスタ生成部１６１１ｄによって生成されるクラスタについて説明する。
図４は、クラスタ生成部によって生成されるクラスタの説明図である。機械設備２の状態は、多次元ベクトル空間上において、各センサ（図示せず）の検出値が正規化された値を成分とする特徴ベクトルとして表される。ここで「正規化」とは、センサの検出値を当該センサの代表値（平均値、標準偏差等）で除算するなどして無次元量化し、互いに比較できるようにする処理である。
【００３８】
なお、説明をわかりやすくするため、図４では３個のセンサに対応する３次元ベクトル空間上で各特徴ベクトルを図示した。図４に示す●印それぞれが所定時刻における機械設備２の状態に対応し、特徴ベクトルの各成分が各センサの検出値（正規化された値）に対応している。通常、クラスタは複数存在するが、図４ではクラスタを１個だけ記載した。
【００３９】
クラスタ生成部１６１１ｄは、特定の時間帯（例えば、時間帯Ｄ：図２参照）に属する複数の特徴ベクトルに関して、類似するベクトルごとにクラスタと呼ばれるいくつかの代表グループに分類する。
以下では、一例として、非階層的クラスタリングであるｋ平均法を用いてクラスタリングを行う場合について説明する。クラスタ生成部１６１１ｄは、まず、各特徴ベクトルに対してランダムにクラスタを割り振り、割り振ったデータに基づいて各クラスタの中心（クラスタ中心ｃ：図４参照）を算出する。クラスタ中心ｃは、例えば、クラスタに属する複数の特徴ベクトル（各軸α，β，γの成分：図４参照）の重心である。
【００４０】
次に、クラスタ生成部１６１１ｄは、所定の特徴ベクトルと各クラスタ中心ｃとの距離を求め、この距離が最も小さくなるクラスタに当該特徴ベクトルを割り当て直す。このような処理を全ての特徴ベクトルについて実行し、クラスタの割り当てが変化しなかった場合はクラスタの生成処理を終了する。それ以外の場合は、新しく割り振られたクラスタからクラスタ中心ｃを再計算し、前記した処理を繰り返す。このようにしてクラスタ生成部１６１１ｄは、機械設備２の状態を表す特徴ベクトルを複数のクラスタに分類する。
【００４１】
さらに、クラスタ生成部１６１１ｄは、各クラスタについてクラスタ中心ｃ（図６参照）の座標値と、クラスタ半径ｒと、を算出する。クラスタ半径ｒは、例えば、クラスタ中心ｃと特徴ベクトルとの距離の平均値である。なお、クラスタ半径ｒの算出方法はこれに限定されず、例えば、特徴ベクトルの各成分の分散値に基づいてクラスタ半径ｒを算出するようにしてもよい。
クラスタ生成部１６１１ｄは、生成したクラスタに関するクラスタ情報（クラスタ中心ｃ、クラスタ半径ｒ）をクラスタ情報記憶部１６１ｅ（図３参照）に格納する。
【００４２】
図５（ａ）は、時間帯Ａ，Ｂ，Ｃ，Ｄに対応するクラスタを模式的に表した説明図である。なお、図２に示す時間帯Ｅ〜Ｇのクラスタについては、図示を省略した。●印、■印、×印、□印で示す特徴ベクトルは、それぞれ時間帯Ａ，Ｂ，Ｃ，Ｄのクラスタに属している。
例えば、時間帯Ａに関するクラスタは、この時間帯Ａに属する●印の特徴ベクトルに基づいて生成される。換言すると、例えば、時間帯Ｂに属する特徴ベクトルｐBは、時間帯Ａに対応するクラスタの生成には用いられない。このように本実施形態では、クラスタ生成部１６１１ｄが、各時間帯ごとに独立してクラスタを生成するようにした。
【００４３】
なお、図５では、一つの時間帯に対応するクラスタが一個である場合について図示したが、一つの時間帯（例えば、時間帯Ａ）に対応するクラスタが複数存在することもある。
【００４４】
図３に示すクラスタ更新部１６１２ｄは、後記する診断部１６２ｅによって「異常予兆なし」と診断された時系列データを用いてクラスタを更新する。より詳しく説明すると、クラスタ更新部１６１２ｄは、診断手段１６２の時間帯特定部１６２ｂによって付された識別情報（時間帯Ａ〜Ｇに対応：図２参照）を参照し、「異常予兆なし」の時系列データが取得された時間帯を特定する。そして、クラスタ更新部１６１２ｄは、この時間帯に対応するクラスタに当該時系列データを追加し、クラスタ中心ｃ及びクラスタ半径ｒを再計算する。
【００４５】
例えば、診断手段１６２によって「異常予兆なし」と診断された時系列データが、図２に示す時間帯Ｄ内の所定時刻に取得されたとする。この場合、クラスタ更新部１６１２ｄは、この時系列データを時間帯Ｄに対応するクラスタのメンバとして追加する。そして、クラスタ更新部１６１２ｄは、追加前のメンバである複数の時系列データと、追加した時系列データと、に基づいて、当該クラスタのクラスタ中心ｃ及びクラスタ半径ｒを求め、クラスタを更新する。
【００４６】
図５（ｂ）に示す例では、時間帯Ａのクラスタに特徴ベクトルｑA（「異常予兆なし」の時系列データに対応。）が追加されたことで、クラスタ中心ｃAがクラスタ中心ｃA’に移動し、クラスタ半径ｒAがクラスタ半径ｒA’（≧ｒA）になっている。
なお、一つの時間帯（例えば、時間帯Ａ）に対応するクラスタが複数存在する場合、クラスタ更新部１６１２ｄは、「異常予兆なし」と診断された時系列データの特徴ベクトルと、クラスタ中心と、の距離が最も小さいクラスタに当該時系列データを追加する。
【００４７】
このようにしてクラスタ更新部１６１２ｄは、診断手段１６２において「異常予兆なし」と診断されるたびに、診断対象となった時系列データを特定のクラスタ（時間帯が同一のクラスタ）に組み入れて逐次更新することで、クラスタを成長させる。これによって、時間帯Ａ〜Ｇの各クラスタに関して、機械設備２の正常状態に関する情報を徐々に増加させ、クラスタ中心ｃ及びクラスタ半径ｒをより適切な値に更新できる。
【００４８】
図３に示すクラスタ情報記憶部１６１ｅには、クラスタ生成部１６１１ｄによって生成されたクラスタに関する情報がデータベースとして格納される。前記した情報には、機械設備２の識別情報と、クラスタが属する時間帯と、クラスタ中心ｃの座標と、クラスタ半径ｒと、が含まれる。なお、クラスタ更新部１６１２ｄによってクラスタが更新された場合、前記した情報も更新される。
【００４９】
（２．診断手段の構成）
図３に示す診断手段１６２は、クラスタリング手段１６１によって学習されたクラスタを用いて、機械設備２の異常予兆の有無を診断する機能を有している。
診断手段１６２は、診断対象データ取得部１６２ａと、時間帯特定部１６２ｂと、診断対象データ記憶部１６２ｃと、異常測度算出部１６２ｄと、診断部１６２ｅと、を備えている。
【００５０】
診断対象データ取得部１６２ａは、診断対象となる時系列データ（つまり、診断対象データ）を時系列データ記憶手段１３から所定時間毎に取得する。
なお、前記した「所定時間」（例えば、３０秒）を、クラスタ更新部１６１２ｄの更新周期と等しくすることが好ましい。これによって、クラスタの生成→診断（異常予兆なし）→クラスタの更新→診断（異常予兆なし）→クラスタの更新→…のように、「異常予兆なし」と診断された時系列データをそのままクラスタの更新に用い、さらに更新したクラスタに基づいて異常予兆の有無を診断できるからである。
【００５１】
時間帯特定部１６２ｂは、診断対象データに含まれる時刻情報（センサの検出時刻）を参照し、この診断対象データが時間帯Ａ〜Ｇ（図２参照）のいずれに属するかを特定する。診断対象データ取得部１６２ａは、特定した時間帯に対応する識別情報を付した上で、診断対象データを診断対象データ記憶部１６２ｃに格納する。
【００５２】
診断対象データ記憶部１６２ｃには、時間帯特定部１６２ｂによって識別情報（時間帯Ａ〜Ｇに対応：図２参照）が付された診断対象データが、データベースとして記憶されている。
異常測度算出部１６２ｄは、診断対象データ記憶部１６２ｃから読み出した診断対象データを用いて、機械設備２の異常測度ｕを算出する。まず、異常測度算出部１６２ｄは、診断対象データを正規化（無次元量化）し、各時刻での機械設備２の状態を表す特徴ベクトルを生成する。
【００５３】
そして、異常測度算出部１６２ｄは、診断対象データに含まれている識別情報（例えば、時間帯Ｄ：図２参照）を参照し、この識別情報に対応するクラスタをクラスタ情報記憶部１６１ｅから読み出す。このクラスタは、クラスタリング手段１６１によって生成・更新された最新のクラスタである。さらに、異常測度算出部１６２ｄは、読み出したクラスタに基づいて、診断対象データの異常測度ｕを算出する。
【００５４】
例えば、一つの時間帯Ｄに対応するクラスタが複数存在する場合、異常測度ｕは、次のようにして算出される。すなわち、異常測度算出部１６２ｄは、時間帯Ｄに対応する複数のクラスタのうち、診断対象データに最も近いクラスタ中心ｃを有するものを特定する。さらに異常測度算出部１６２ｄは、特定したクラスタのクラスタ中心ｃから診断対象データまでの距離ｄ（図４参照）と、クラスタ半径ｒと、を用いて、例えば、（数式１）に基づき異常測度ｕを算出する。
【００５５】
ｕ＝ｄ／ｒ・・・（数式１）
【００５６】
異常測度算出部１６２ｄは、算出した異常測度ｕを診断部１６２ｅに出力する。また、異常測度算出部１６２ｄは、診断対象データと、その異常測度ｕと、を対応付けて診断結果記憶手段１７に格納する。
【００５７】
診断部１６２ｅは、異常測度算出部１６２ｄから入力される異常測度ｕに基づき、診断対象である機械設備２について異常予兆の有無を診断する。
異常測度ｕ≦１である場合、診断対象データはクラスタ内に存在している。したがって診断部１６２ｅは、この診断対象データに対応する機械設備２に関して「異常予兆なし」と診断する。
【００５８】
なお、「異常予兆なし」と診断された診断対象データ（時系列データ）は、前記したように、学習対象データ取得部１６１ａによって取得され、クラスタ更新部１６１２ｄによるクラスタの更新処理に用いられる。
【００５９】
また、異常測度ｕ＞１である場合、診断対象データはクラスタの外に存在している。この場合、診断部１６２ｅは、この診断対象データに対応する機械設備２に関して「異常予兆あり」と診断する。なお、診断結果記憶手段１７に格納された情報は、表示制御手段１８（図１参照）によって、表示手段１９（図１参照）に表示される。
【００６０】
＜異常予兆診断装置の動作＞
図６は、異常予兆診断装置の動作の流れを示すフローチャートである。
ステップＳ１０１において異常予兆診断装置１は、クラスタ生成処理を実行する。
図７は、クラスタリング手段が実行するクラスタ生成処理のフローチャートである。
ステップＳ１０１１においてクラスタリング手段１６１は、学習対象データ取得部１６１ａによって、時系列データ記憶手段１３から学習対象データを取得する（時系列データ取得ステップ）。クラスタリング手段１６１は、例えば、過去２週間分の時系列データを、学習対象データとして時系列データ記憶手段１３から取得する。なお、前記した過去２週間、機械設備２は正常に稼働していたものとする。
【００６１】
ステップＳ１０１２においてクラスタリング手段１６１は、時間帯特定部１６１ｂによって、学習対象データが属する時間帯を特定する。すなわち、クラスタリング手段１６１は、学習対象データの検出時刻が時間帯Ａ〜Ｇ（図２参照）のいずれに属するかを特定し、その時間帯に対応する識別情報を学習対象データに付す。
【００６２】
ステップＳ１０１３においてクラスタリング手段１６１は、時間帯特定部１６１ｂによって識別情報が付された学習対象データを、学習対象データ記憶部１６１ｃに格納する。なお、ステップＳ１０１３の終了時において、充分な個数の学習対象データが学習対象データ記憶部１６１ｃに格納されているものとする。
ステップＳ１０１４においてクラスタリング手段１６１は、クラスタ学習部１６１ｄによって、時間帯Ａ〜Ｇ（図２参照）のうち最初に学習する時間帯（例えば、時間帯Ａ）を指定する。
【００６３】
ステップＳ１０１５においてクラスタリング手段１６１は、クラスタ生成部１６１１ｄによって、機械設備２の正常範囲を示すクラスタを生成する（クラスタリングステップ：クラスタ生成ステップ）。すなわち、クラスタリング手段１６１は、ステップＳ１０１４で指定した時間帯Ａの学習対象データを特徴ベクトルに変換し、各特徴ベクトルをクラスタリングすることでクラスタを生成する。
【００６４】
ステップＳ１０１６においてクラスタリング手段１６１は、ステップＳ１０１５で生成したクラスタに関する情報をクラスタ情報記憶部１６１ｅに格納する。
ステップＳ１０１７においてクラスタリング手段１６１は、時間帯Ａ〜Ｇのうち、まだ学習していない時間帯が存在するか否かを判定する。学習していない時間帯が存在する場合（Ｓ１０１７→Ｙｅｓ）、クラスタリング手段１６１の処理はステップＳ１０１４に戻る。一方、全ての時間帯Ａ〜Ｇについて学習した場合（Ｓ１０１７→Ｎｏ）、クラスタリング手段１６１はクラスタ生成処理を終了する（ＥＮＤ）。
【００６５】
図６のステップＳ１０１でクラスタを生成した後、ステップＳ１０２において異常予兆診断装置１は、診断の開始時刻になったか否かを判定する。機械設備２の異常予兆に関する診断処理は、例えば、３０秒ごとに行われる。
診断の開始時刻になった場合（Ｓ１０２→Ｙｅｓ）、異常予兆診断装置１の処理はステップＳ１０３に進む。一方、診断開始時刻になっていない場合（Ｓ１０２→Ｎｏ）、異常予兆診断装置１はステップＳ１０２の処理を繰り返す。
ステップＳ１０３において異常予兆診断装置１は、機械設備２の異常予兆に関する診断処理を実行する。
【００６６】
図８は、診断手段が実行する診断処理のフローチャートである。
ステップＳ１０３１において診断手段１６２は、診断対象データ取得部１６２ａによって、時系列データ記憶手段１３から診断対象データを取得する。この診断対象データは、例えば、３０秒ごとに機械設備２から取得される。
【００６７】
ステップＳ１０３２において診断手段１６２は、時間帯特定部１６２ｂによって、診断対象データが属する時間帯を特定する。すなわち、診断手段１６２は、診断対象データが検出された時刻が時間帯Ａ〜Ｇ（図２参照）のいずれに属するかを特定し、その時間帯に対応する識別情報を診断対象データに付す。
【００６８】
ステップＳ１０３３において診断手段１６２は、時間帯特定部１６２ｂによって識別情報が付された診断対象データを診断対象データ記憶部１６２ｃに格納する。
ステップＳ１０３４において診断手段１６２は、異常測度算出部１６２ｄによって、診断対象データの異常測度ｕを算出する。すなわちステップＳ１０３４で診断手段１６２は、まず、診断対象データを正規化して特徴ベクトルに変換する。そして、診断手段１６２は、ステップＳ１０３２で特定した時間帯（例えば、時間帯Ａ：図２参照）に対応するクラスタのうち、診断対象データの特徴ベクトルに最も近いクラスタ中心ｃを有するクラスタに基づき、異常測度ｕを算出する。
【００６９】
ステップＳ１０３５において診断手段１６２は、診断部１６２ｅによって、診断対象データに関する診断処理を実行する（診断ステップ）。すなわち、診断手段１６２は、ステップＳ１０３４で算出した異常測度ｕと、所定閾値（例えば、所定閾値＝１）と、の大小を比較することで、機械設備２に関する異常予兆の有無を診断する。
ステップＳ１０３６において診断手段１６２は、ステップＳ１０３５の診断結果を診断結果記憶手段１７に格納する。
【００７０】
図６のステップＳ１０３で診断処理を実行した後、ステップＳ１０４において異常予兆診断装置１は、ステップＳ１０３の診断結果が「異常予兆なし」であったか否かを判定する。ステップＳ１０３の診断結果が「異常予兆なし」であった場合（Ｓ１０４→Ｙｅｓ）、異常予兆診断装置１の処理はステップＳ１０５に進む。一方、ステップＳ１０３の診断結果が「異常予兆あり」であった場合（Ｓ１０４→Ｎｏ）、異常予兆診断装置１の処理はステップＳ１０６に進む。
【００７１】
ステップＳ１０５において異常予兆診断装置１は、クラスタ更新処理を実行する。
図９は、クラスタリング手段が実行するクラスタ更新処理のフローチャートである。
ステップＳ１０５１においてクラスタリング手段１６１は、ステップＳ１０３５で「異常予兆なし」と診断された診断対象データを、学習対象データとして取得する。この学習対象データは、図３に示す学習対象データ取得部１６１ａによって、診断結果記憶手段１７から取得される。
【００７２】
ステップＳ１０５２においてクラスタリング手段１６１は、時間帯特定部１６１ｂによって、学習対象データが属する時間帯（図２に示す時間帯Ａ〜Ｇのいずれか）を特定する。
ステップＳ１０５３においてクラスタリング手段１６１は、ステップＳ１０５２で特定した時間帯に属する一つ又は複数のクラスタのうち、学習対象データとクラスタ中心との距離が最小となるクラスタを特定する。
【００７３】
ステップＳ１０５４においてクラスタリング手段１６１は、ステップＳ１０５３で特定したクラスタのメンバとして、ステップＳ１０５１で取得した学習対象データの特徴ベクトルを追加してクラスタを更新する（クラスタリングステップ：クラスタ更新ステップ）。つまり、クラスタリング手段１６１は、前記したクラスタのクラスタ中心ｃ及びクラスタ半径ｒを再計算する。
ステップＳ１０５５においてクラスタリング手段１６１は、ステップＳ１０５４で更新したクラスタに関する情報をクラスタ情報記憶部１６１ｅに格納する。
【００７４】
図６のステップＳ１０５でクラスタを更新した後、ステップＳ１０６において異常予兆診断装置１は、ユーザの操作に基づき、学習処理（クラスタの更新）及び診断処理を終了するか否かを判定する。学習処理及び診断処理を終了する場合（Ｓ１０６→Ｙｅｓ）、異常予兆診断装置１は一連の処理を終了する（ＥＮＤ）。
一方、学習処理及び診断処理を続行する場合（Ｓ１０６→Ｎｏ）、異常予兆診断装置１の処理はステップＳ１０２に戻る。このようにして異常予兆診断装置１は、「異常予兆なし」の診断結果が出るたびに（Ｓ１０４→Ｙｅｓ）、クラスタを逐次更新する（Ｓ１０５）。
なお、図６に示すステップＳ１０６の判定処理を省略し、ステップＳ１０５（又はＳ１０４）の処理を行った後、異常予兆診断装置１の処理をステップＳ１０２に戻すようにしてもよい。
【００７５】
＜効果＞
本実施形態に係る異常予兆診断装置１は、機械設備２の運転スケジュールの実行時間を複数の時間帯Ａ〜Ｇに分割し、それぞれの時間帯Ａ〜Ｇについてクラスタを生成する。したがって、例えば、運転スケジュールの実行時間で得られた時系列データを一括して学習する場合と比較して、機械設備２の実際の状態を適切に反映したクラスタが得られる。
【００７６】
例えば、図５に示す時間帯Ａ（●印）に属する特徴ベクトルｐAと、時間帯Ｂ（■印）に属する特徴ベクトルｐBと、の間は距離は小さく、これらはデータとして似通っている。しかしながら、時間帯Ａと時間帯Ｂとの間で、機械設備２の状態が大きく異なる可能性がある（図２参照）。
仮に、運転スケジュールの実行時間で得られた時系列データを一括で学習した場合、特徴ベクトルｐA，ｐB（図５参照）を含む複数の特徴ベクトルから一つのクラスタが生成される可能性がある。図２に示すように、特徴ベクトルｐAが属する時間帯Ａと、特徴ベクトルｐBが属する時間帯Ｂと、では機械設備２の状態が大きく異なっているため、機械設備２の実際の状態からクラスタが乖離する可能性がある。
【００７７】
これに対して本実施形態に係る異常予兆診断装置１は、時間帯Ａ〜Ｇでそれぞれ独立にクラスタを生成する。したがって、互いに似通ったデータであるものの、時間帯（機械設備２の状態）が異なる特徴ベクトル（例えば、特徴ベクトルｐA，ｐB：図５参照）を区別した上でクラスタを生成できる。これによって、機械設備２の実際の状態が正確に反映されたクラスタを生成し、機械設備２に関する異常予兆の有無を適切に診断できる。
【００７８】
また、異常予兆診断装置１は、診断手段１６２において「異常予兆なし」と診断されるたびに、この診断対象データを新たな学習データとして追加し、クラスタを逐次更新する。これによって、各時間帯での機械設備２の正常状態に関する情報を徐々に増加させ、クラスタ中心ｃ及びクラスタ半径ｒをより適切な値に更新できる。
また、診断対象データから得られる特徴ベクトルは、機械設備２の最新の状態を表している。したがって、季節変化等に伴って機械設備２が経時的に変化した場合でも、この変化に追従してクラスタを更新することができ、ひいては異常予兆の診断精度を高めることができる。
【００７９】
また、異常予兆診断装置１は、機械設備２の運転スケジュールの実行時間を均等に分割して時間帯Ａ〜Ｇ（図２参照）を設定する。したがって、時間帯の設定処理を簡単化し、異常予兆診断装置１の処理負荷を軽減できる。
【００８０】
≪第２実施形態≫
第２実施形態に係る異常予兆診断装置１Ａ（図示せず）は、クラスタ更新後のクラスタ半径ｒが所定閾値ｒth以上である場合にクラスタを分割する点が、第１実施形態とは異なる。
なお、異常予兆診断装置１Ａの全体的な構成は、第１実施形態で説明した図１の構成と同様である。また、異常予兆診断装置１Ａが行うクラスタ生成処理（図７参照）及び診断処理（図８参照）も、第１実施形態と同様である。したがって、第１実施形態と異なる部分（クラスタ更新処理）について説明し、重複する部分についての説明は省略する。
【００８１】
＜異常予兆診断装置の構成＞
図１０は、第２実施形態に係る異常予兆診断装置が備えるデータマイニング手段の構成図である。図１０に示すクラスタ学習部１６１Ａｄは、第１実施形態で説明したクラスタ学習部１６１ｄ（図３参照）にクラスタ分割部１６１３ｄを追加した構成になっている。
クラスタ分割部１６１３ｄは、クラスタ更新部１６１２ｄによって更新されたクラスタのクラスタ半径ｒが所定閾値ｒth以上である場合、当該クラスタを分割する機能を有している。この所定閾値ｒthは、クラスタを分割するか否かの判定基準となる閾値であり、事前のシミュレーションに基づいて予め設定されている。
なお、図１０に示す他の構成については、第１実施形態と同様であるから説明を省略する。
【００８２】
＜異常予兆診断装置の動作＞
図６に示すステップＳ１０３の診断結果が「異常予兆なし」であった場合（Ｓ１０４→Ｙｅｓ）、異常予兆診断装置１Ａは、クラスタ更新処理を実行する。
図１１は、データマイニング手段が実行するクラスタ更新・分割処理のフローチャートである。第１実施形態で説明したステップＳ１０５１〜１０５５の処理（図９参照）に、ステップＳ２００１，Ｓ２００２の処理を追加したものが、図１１に示すフローチャートである。
【００８３】
ステップＳ１０５４においてクラスタを更新した後、ステップＳ２００１においてクラスタリング手段１６１Ａは、更新したクラスタのクラスタ半径ｒ（図４参照）が所定閾値ｒth以上であるか否かを判定する。
クラスタ半径ｒが所定閾値ｒth未満である場合（Ｓ２００１→Ｎｏ）、クラスタリング手段１６１は、ステップＳ１０５５でクラスタ情報を記憶する。この場合、ステップＳ１０５４で更新されたクラスタが、次回の診断処理に用いられる。
【００８４】
一方、クラスタ半径ｒが所定閾値ｒth以上である場合（Ｓ２００１→Ｙｅｓ）、ステップＳ２００２においてクラスタリング手段１６１は、更新したクラスタを分割する。
図１２は、クラスタが分割される過程の説明図である。
例えば、クラスタの更新（Ｓ１０５４）を行う前は、図１２（ａ）に示すように、時間帯Ａのクラスタのクラスタ中心がｃAであり、クラスタ半径がｒAであったとする。その後、図１２（ｂ）に示す学習対象データｑAが追加され、クラスタの更新（Ｓ１０５４）が行われることで、クラスタ中心がｃA’に移動し、クラスタ半径がｒA’（≧ｒA）に変化したとする。
【００８５】
このように時間帯Ａのクラスタのメンバ数が増大すると、それに伴ってクラスタ半径も徐々に大きくなる。なお、クラスタ半径が大きくなり過ぎると、異常予兆を診断する際の感度が低下する可能性がある。クラスタ半径が非常に大きい場合には、異常予兆の発生初期の特徴ベクトルがクラスタに含まれてしまい、「異常予兆なし」と診断されるからである。
【００８６】
したがって、本実施形態では、クラスタを更新した後のクラスタ半径ｒA’が所定閾値ｒth以上である場合、図１１（ｃ）に示すようにクラスタに二つに分割するようにした。なお、クラスタを分割する手順は、クラスタを生成する際の手順と同様である。すなわち、クラスタリング手段１６１Ａは、クラスタに属する全メンバに対してランダムに二つのクラスタを割り振った後、クラスタ中心等を再計算する。
【００８７】
これによって、図１１（ｃ）に示すように、■印のメンバを有するクラスタ（クラスタ中心ｃ１A，クラスタ半径ｒ１A）と、△印のメンバを有するクラスタ（クラスタ中心ｃ２A，クラスタ半径ｒ２A）と、が生成される。
図１１のステップＳ２００２でクラスタを分割した後、ステップＳ１０５５でクラスタリング手段は、クラスタ情報（クラスタ中心、クラスタ半径）をクラスタ情報記憶部１６１ｅに格納する。そして、分割処理を行った後のクラスタに基づき、その後の診断処理（Ｓ１０３：図６参照）が行われる。
【００８８】
＜効果＞
本実施形態によれば、クラスタ半径ｒが所定閾値ｒth以上である場合にクラスタを分割することで、各時間帯（時間帯Ａ〜Ｇ：図２参照）のクラスタを適切に学習できる。また、分割後の各クラスタに基づいて異常予兆診断を行うことで、クラスタのメンバ数の増加に伴って診断の感度が低下することを抑制し、機械設備２の異常予兆の有無を適切に診断できる。
【００８９】
≪第３実施形態≫
第３実施形態では、第１実施形態で説明した時間帯特定部１６１ｂ，１６２ｂ（図３参照）に代えて、運転モード特定部１６１ｆ，１６２ｆを備える構成とした。なお、第３実施形態に係る異常予兆診断装置１Ｂ（図示せず）の全体的な構成は、第１実施形態で説明した図１の構成と同様であり、運転モード特定部１６１ｆ，１６２ｆ以外の構成も第１実施形態と同様である。したがって、第１実施形態と異なる部分について説明し、重複する部分については説明を省略する。
【００９０】
＜異常予兆診断装置の構成＞
図１３は、第３実施形態に係る異常予兆診断装置が備えるデータマイニング手段の構成図である。図１３に示すように、クラスタリング手段１６１Ｂは運転モード特定部１６１ｆを備え、診断手段１６２Ｂは運転モード特定部１６２ｆを備えている。
【００９１】
運転モード特定部１６１ｆは、学習対象データ取得部１６１ａから入力される学習対象データの運転モードを特定する機能を有している。
図１４は、機械設備の一回の運転スケジュールにおけるセンサ出力の変化を日付ごとに分けて示した説明図である。図１４に示す例では、時間帯Ｐにおいて機械設備２が起動され（起動モード）、時間帯Ｑにおいて機械設備２が定常運転され（定常モード）、時間帯Ｒにおいて機械設備２が停止される（停止モード）。このような運転モードの種類と、運転モードが実行される時間帯と、を特定する情報が、運転スケジュール記憶手段１５（図１３照）に格納されている。
なお、運転モードの種類は、図１４に示す例に限定されない。
【００９２】
図１３に示す運転モード特定部１６１ｆは、前記した情報を運転スケジュール記憶手段１５から読み出し、時系列データ取得手段１２（図１参照）によって時系列データ（学習対象データ）が取得されたときの運転モードを特定する。
ちなみに、運転モード特定部１６１ｆが、学習対象データに含まれる制御指令を参照し、この学習対象データの取得時における運転モードを特定するようにしてもよい。
【００９３】
運転モード特定部１６１ｆは、特定した運転モードに対応する識別情報を付した上で、学習対象データを学習対象データ記憶部１６１ｃに格納する。例えば、時間帯特定部１６１ｂは、図１４に示す１０月３日の時刻ｔ０１に取得された学習対象データに関して、起動モード（時間帯Ｐ）に対応する識別情報を付し、識別情報が付された学習対象データを学習対象データ記憶部１６１ｃに格納する。
このようにしてクラスタリング手段１６１Ｂは、機械設備２の運転スケジュールを複数の運転モード（時間帯Ｐ，Ｑ，Ｒ：図１４参照）に分割し、各運転モードごとにクラスタリングを行うことでクラスタを生成・更新する。
【００９４】
図１３に示す運転モード特定部１６２ｆは、診断対象データ取得部１６２ａから入力される診断対象データの運転モードを特定する機能を有している。つまり、運転モード特定部１６２ｆは、時系列データ取得手段１２（図１参照）によって時系列データ（診断対象データ）が取得されたときの運転モードを特定する。
そして、診断手段１６２Ｂは、特定した運転モードに対応するクラスタに基づいて、機械設備２の異常予兆の有無を診断する。
【００９５】
＜異常予兆診断装置の動作＞
異常予兆診断装置１Ｂが実行する処理の一連の流れは、第１実施形態で説明した図６のフローチャートと同様であるが、ステップＳ１０１，Ｓ１０３，Ｓ１０５の内容が第１実施形態とは異なる。
図１５は、クラスタリング手段が実行するクラスタ生成処理のフローチャートである。
ステップＳ１０１１において学習対象データを取得した後、ステップＳ３００１においてクラスタリング手段１６１Ｂは、運転モード特定部１６１ｆによって、学習対象データの運転モードを特定する。
【００９６】
次に、ステップＳ１０１３においてクラスタリング手段１６１Ｂは、ステップＳ３００１で特定した運転モードの識別情報を付した上で、この学習対象データを学習対象データ記憶部１６１ｃに格納する。なお、ステップＳ１０１３の終了時において、充分な個数の学習対象データが学習対象データ記憶部１６１ｃに格納されているものとする。
次に、ステップＳ３００２においてクラスタリング手段１６１Ｂは、クラスタ学習部１６１ｄによって、最初に学習する運転モード（例えば、起動モード：図１４参照）を指定する。
【００９７】
そして、ステップＳ１０１５においてクラスタリング手段１６１Ｂは、ステップＳ３００２で指定した運転モードに対応するクラスタを生成し、ステップＳ１０１６でクラスタ情報をクラスタ情報記憶部１６１ｅに格納する。
【００９８】
次に、ステップＳ３００３においてクラスタリング手段１６１Ｂは、未学習の運転モードが存在するか否かを判定する。未学習の運転モードが存在する場合（Ｓ３００３→Ｙｅｓ）、クラスタリング手段１６１Ｂの処理はステップＳ３００２に戻る。一方、全ての運転モードについて学習した場合（Ｓ３００３→Ｎｏ）、クラスタリング手段１６１Ｂはクラスタ生成処理を終了する（ＥＮＤ）。
【００９９】
このようにクラスタリング手段１６１Ｂは、運転モード特定部１６１ｆによって運転スケジュールを複数の運転モードに分割し、各運転モードごとにクラスタを生成する。ちなみに、各運転モードでクラスタの個数が異なることもある。
【０１００】
図１６は、診断手段が実行する診断処理のフローチャートである。
ステップＳ１０３１において診断対象データを取得した後、ステップＳ４００１において診断手段１６２Ｂは、運転モード特定部１６２ｆによって、診断対象データの運転モードを特定する。
次に、ステップＳ１０３３において診断手段１６２Ｂは、ステップＳ４００１で特定した運転モードの識別情報を診断対象データに付した上で、この診断対象データを診断対象データ記憶部１６２ｃに格納する。
なお、ステップＳ１０３４〜Ｓ１０３６の処理については、第１実施形態と同様であるから説明を省略する。
【０１０１】
このように診断手段１６２Ｂは、診断対象データが取得されたときの機械設備２の運転モードを特定し、各運転モードに対応して異常予兆の有無を個別で診断する。
【０１０２】
図１７は、クラスタリング手段が実行するクラスタ更新処理のフローチャートである。
ステップＳ１０５１で「異常予兆なし」の診断対象データを学習対象データとして取得した後、クラスタリング手段１６１Ｂの処理はステップＳ５００１に進む。
ステップＳ５００１においてクラスタリング手段１６１Ｂは、運転モード特定部１６１ｆによって、学習対象データの運転モードを特定する。
【０１０３】
次に、ステップＳ１０５３においてクラスタリング手段１６１Ｂは、ステップＳ５００１で特定した運転モードに属する一つ又は複数のクラスタのうち、学習対象データとクラスタ中心との距離が最小となるクラスタを特定する。
なお、ステップＳ１０５４，Ｓ１０５５の処理については、第１実施形態と同様であるから説明を省略する。
【０１０４】
このようにクラスタリング手段１６１Ｂは、運転モード特定部１６１ｆによって運転スケジュールを複数の運転モードに分割し、各運転モードごとにクラスタを更新する。
【０１０５】
＜効果＞
本実施形態では、学習対象データの運転モードに対応して個別でクラスタを学習するようにした。したがって、運転モードの切替時刻が一つの時間帯に含まれることを回避できる。つまり、運転モードの切替前後に取得された学習対象データ（機械設備２の状態が異なる複数の時系列データ）が一つのクラスタに含まれないため、機械設備２の実際の状態をクラスタに適切に反映させることができる。
【０１０６】
なお、運転モードが同一であっても、時間の経過に伴って機械設備の状態は時々刻々と変化する。したがって、本実施形態のように一つの運転モードを複数個に分割して個別で学習するほうが、一つの運転モードごとに一括して学習する場合よりも機械設備２の実際の状態をクラスタに正確に反映させることができる。その結果、異常予兆診断装置１Ｂによって、機械設備２の異常予兆の有無を高精度で診断できる。
【０１０７】
≪第４実施形態≫
第４実施形態に係る異常予兆診断装置１Ｃ（図示せず）は、第３実施形態で説明したクラスタリング手段１６１Ｂ（図１３参照）に時間帯特定部１６１ｇ（図１８参照）を追加し、診断手段１６１Ｂ（図１３参照）に時間帯特定部１６２ｇ（図１８参照）を追加した構成になっている。したがって、第３実施形態と異なる部分について説明し、重複する部分については説明を省略する。
【０１０８】
＜異常予兆診断装置の構成＞
図１８は、第４実施形態に係る異常予兆診断装置が備えるデータマイニング手段の構成図である。図１８に示すように、クラスタリング手段１６１Ｃは、時間帯特定部１６１ｇを備えている。また、診断手段１６２Ｃは、時間帯特定部１６２ｇを備えている。
【０１０９】
時間帯特定部１６１ｇは、運転モード特定部１６１ｆによって特定された運転モードの実行時間を所定個数の時間帯に分割し、学習対象データが属する時間帯を特定する。
すなわち、時間帯特定部１６１ｇは、運転スケジュール記憶手段１５に格納されている運転スケジュールを参照し、各運転モード（例えば、定常モード）を所定個数の時間帯に分割する。なお、運転モードの種類に応じて、運転モードの実行時間を分割する際の個数を変えてもよい。そして、時間帯特定部１６１ｇは、学習対象データが属する時間帯の識別情報を付した上で、その学習対象データを学習対象データ記憶部１６１ｃに格納する。
【０１１０】
図１８に示す時間帯特定部１６２ｇは、運転モード特定部１６２ｆによって特定された運転モードの実行時間を所定個数の時間帯に分割し、診断対象データが属する時間帯を特定する。なお、時間帯特定部１６２ｇの機能は、前記した時間帯特定部１６１ｇと同様であるから、詳細な説明を省略する。
【０１１１】
＜異常予兆診断装置の動作＞
異常予兆診断装置１Ｃが実行する処理の一連の流れは、図６に示すフローチャートと同様であるが、ステップＳ１０１，Ｓ１０３，Ｓ１０５の内容が第３実施形態とは異なっている。
図１９は、クラスタリング手段が実行するクラスタ生成処理のフローチャートである。
ステップＳ１０１１において学習対象データを取得した後、ステップＳ３００１においてクラスタリング手段１６１Ｃは、運転モード特定部１６１ｆによって、学習対象データの運転モードを特定する。
【０１１２】
次に、ステップＳ６００１においてクラスタリング手段１６１Ｃは、ステップＳ３００１で特定した運転モードの実行時間を複数の時間帯に分割し、学習対象データが属する時間帯を特定する。
次に、ステップＳ１０１３においてクラスタリング手段１６１Ｃは、ステップＳ３００１で特定した運転モードの識別情報、及びステップＳ６００１で特定した時間帯の識別情報を学習対象データに付した上で、この学習対象データを学習対象データ記憶部１６１ｃに格納する。なお、ステップＳ１０１３の終了時において、充分な個数の学習対象データが学習対象データ記憶部１６１ｃに格納されているものとする。
【０１１３】
次に、ステップＳ６００２においてクラスタリング手段１６１Ｃは、クラスタ学習部１６１ｄによって、最初に学習する運転モードを指定する。例えば、クラスタリング手段１６１Ｃは、最初に学習する対象として機械設備２の起動モードを指定する。
ステップＳ６００３においてクラスタリング手段１６１Ｃは、クラスタ学習部１６１ｄによって、ステップＳ６００２で指定した運転モードにおいて最初に学習する時間帯を指定する。
【０１１４】
次に、ステップＳ１０１５においてクラスタリング手段１６１Ｃは、ステップＳ６００２で指定した運転モード、及びステップＳ６００３で指定した時間帯に対応するクラスタを生成し、ステップＳ１０１６でクラスタ情報をクラスタ情報記憶部１６１ｅに格納する。
【０１１５】
次に、ステップＳ６００４においてクラスタリング手段１６１Ｃは、ステップＳ６００２で指定した運転モードに含まれる複数の時間帯のうち、未学習の時間帯が存在するか否かを判定する。
未学習の時間帯が存在する場合（Ｓ６００４→Ｙｅｓ）、クラスタリング手段１６１Ｃの処理はステップＳ６００３に戻る。一方、未学習の時間帯がない場合（Ｓ６００４→Ｎｏ）、クラスタリング手段１６１Ｃの処理はステップＳ３００３に進む。
【０１１６】
ステップＳ３００３においてクラスタリング手段１６１Ｃは、運転スケジュールのうち未学習の運転モードが存在するか否かを判定する。未学習の運転モードが存在する場合（Ｓ３００３→Ｙｅｓ）、クラスタリング手段１６１Ｃの処理はステップＳ６００２に戻る。一方、未学習の運転モードが存在しない場合（Ｓ３００３→Ｎｏ）、クラスタリング手段１６１Ｃは処理を終了する（ＥＮＤ）。
【０１１７】
このように、クラスタリング手段１６１Ｃは、運転モード特定部１６１ｆによって特定した運転モードの実行時間を、各運転モードごとに所定個数に分割し、所定個数の各時間帯ごとにクラスタを生成する。ちなみに、各時間帯でクラスタの個数が異なることもある。
【０１１８】
図２０は、診断手段が実行する診断処理のフローチャートである。
ステップＳ１０３１において診断対象データを取得した後、ステップＳ４００１において診断手段１６２Ｃは、運転モード特定部１６２ｆによって、診断対象データの運転モードを特定する。
【０１１９】
次に、ステップＳ７００１において診断手段１６２Ｃは、ステップＳ４００１で特定した運転モードの実行時間を複数の時間帯に分割し、診断対象データが属する時間帯を特定する。なお、ステップＳ１０３３〜Ｓ１０３６の処理については、第３実施形態と同様であるから説明を省略する。
【０１２０】
このように診断手段１６２Ｃは、診断対象データが取得されたときの機械設備２の運転モードと、当該運転モード内での時間帯と、を特定し、各運転モード及び各時間帯に対応して異常予兆の有無を個別で診断する。
【０１２１】
図２１は、クラスタリング手段が実行するクラスタ更新処理のフローチャートである。
ステップＳ１０５１で「異常予兆なし」の診断対象データを学習対象データとして取得した後、クラスタリング手段１６１Ｃの処理はステップＳ５００１に進む。
ステップＳ５００１においてクラスタリング手段１６１Ｃは、運転モード特定部１６１ｆによって、学習対象データの運転モードを特定する。
【０１２２】
次に、ステップＳ８００１においてクラスタリング手段１６１Ｃは、ステップＳ５００１で特定した運転モードの実行時間を複数の時間帯に分割し、学習対象データが属する時間帯を特定する。なお、ステップＳ１０５３〜Ｓ１０５５の処理については、第１実施形態と同様であるから説明を省略する。
【０１２３】
このようにクラスタリング手段１６１Ｃは、学習対象データが取得されたときの機械設備２の運転モードと、当該運転モード内での時間帯と、を特定し、各運転モード及び各時間帯に対応してクラスタを更新する。
【０１２４】
＜効果＞
本実施形態に係る異常予兆診断装置１Ｃでは、学習対象データの運転モードと、この運転モード内での時間帯と、に対応して個別でクラスタを学習できる。したがって、一つの運転モードに含まれる時間帯の中でクラスタをきめ細かく学習できる。これによって機械設備２の実際の状態をクラスタに適切に反映させ、異常予兆の有無を高精度で診断できる。
【０１２５】
≪変形例≫
以上、本発明に係る異常予兆診断装置１，１Ａ，１Ｂ，１Ｃについて各実施形態により説明したが、本発明はこれらの記載に限定されるものではなく、種々の変更を行うことができる。
例えば、各実施形態では、一日に一回、予め設定された時刻に機械設備２の運転を開始・終了する場合について説明したが、これに限らない。すなわち、機械設備２の開始時刻を任意の時刻にしてもよい（運転開始後における機械設備２の運転スケジュールさえ定まっていればよい）。この場合でも、時系列データに含まれる制御指令を参照することで、機械設備２の運転時間を算出できる。
【０１２６】
また、第１、第２実施形態では、運転スケジュールの実行時間を所定個数（７個：図２参照）に均等に分割する場合について説明したが、これに限らない。すなわち、事前のシミュレーション等に基づいて、前記した所定個数や各時間帯の長さを適宜設定してもよい。この場合において、各時間帯の長さは不均等であってもよい。第４実施形態についても同様に、一つの運転モードに含まれる各時間帯の個数や長さを適宜設定してもよい。
【０１２７】
また、各実施形態では、クラスタ学習部１６１ｄが非階層的クラスタリングとしてｋ平均法を用いてクラスタリングを行う場合について説明したが、これに限らない。例えば、クラスタ学習部１６１ｄが、非階層的クラスタリングとしてファジィクラスタリングや混合密度分布法等に基づいて学習処理を行うようにしてもよい。
【０１２８】
また、前記実施形態では、機械設備２の使用開始から２週間分の時系列データを学習対象データとしてクラスタを生成し、さらに、クラスタを逐次更新することによってクラスタのメンバ数を徐々に増加させる場合について説明したが、これに限らない。
例えば、「異常予兆なし」の診断対象データを新たな学習対象データとしてクラスタを更新する際、このクラスタに含まれる最も古いデータをクラスタのメンバから除去した上でクラスタ更新処理を行うようにしてもよい。
これによって、経年変化や季節変化で機械設備２の場外が微妙に変化した場合でも、クラスタのメンバを逐次更新していく（いわば、新陳代謝を活発に行う）ことで、機械設備２の状態をクラスタに反映させることができる。
【０１２９】
また、第２実施形態では、クラスタ半径ｒが所定閾値ｒth以上である場合にクラスタを分割する場合について説明したが、これに限らない。例えば、クラスタのメンバ数が所定閾値以上である場合に当該クラスタを分割するようにしてもよい。また、クラスタ半径やメンバ数に関する閾値を、クラスタに含まれる特徴ベクトルの分散に基づいて調整してもよい。
また、第２実施形態では、クラスタ半径ｒが所定閾値ｒth以上である場合にクラスタを二つに分割する場合について説明したが、クラスタを三つ以上に分割してもよい。
【０１３０】
また、第２実施形態では、クラスタを分割する際の判定基準となる所定閾値ｒthが固定値である場合について説明したが、これに限らない。例えば、クラスタの更新に伴ってクラスタ半径ｒが徐々に大きくなり、過去に「異常予兆あり」と診断した時系列データが当該クラスタに含まれる状態になった場合、当該クラスタを分割するようにしてもよい。つまり、クラスタをそれ以上成長させると誤診断する可能性が高くなった時点で、このクラスタを分割するようにしてもよい。
【０１３１】
また、前記実施形態は、適宜組み合わせることができる。例えば、第２実施形態を第３実施形態に適用し、クラスタ分割部１６１３ｄ（図１０参照）による分割後のクラスタに基づいて、診断手段１６２Ｂ（図１３参照）が診断処理を行うようにしてもよい。同様に、第２実施形態を第４実施形態に適用することもできる。
【０１３２】
なお、本発明は、各実施形態で説明した全ての構成を備えるものに限定されない。また、一の実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、また、一の実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成を追加・削除・置換することも可能である。
【０１３３】
また、図１、図３、図１０、図１３、図１８に示す各構成は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、前記の各構成は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テープ、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Solid State Drive）等の記録装置、又は、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に格納することができる。
【０１３４】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０１３５】
１，１Ａ，１Ｂ，１Ｃ  異常予兆診断装置
１１  通信手段
１２  時系列データ取得手段
１３  時系列データ記憶手段
１４  運転スケジュール取得手段
１５  運転スケジュール記憶手段
１６，１６Ａ，１６Ｂ，１６Ｃ  データマイニング手段
１６１，１６１Ａ，１６１Ｂ，１６１Ｃ  クラスタリング手段
１６１ａ  学習対象データ取得部
１６１ｂ  時間帯特定部
１６１ｃ  学習対象データ記憶部
１６１ｄ，１６１Ａｄ  クラスタ学習部
１６１１ｄ  クラスタ生成部
１６１２ｄ  クラスタ更新部
１６１３ｄ  クラスタ分割部
１６１ｅ  クラスタ情報記憶部
１６１ｆ  運転モード特定部
１６２，１６２Ｂ，１６２Ｃ  診断手段
１６２ａ  診断対象データ取得部
１６２ｂ  時間帯特定部
１６２ｃ  診断対象データ記憶部
１６２ｄ  異常測度算出部
１６２ｅ  診断部
１６２ｆ  運転モード特定部
１６２ｇ  時間帯特定部
１７  診断結果記憶手段
１８  表示制御手段
１９  表示手段
２  機械設備
３  コンピュータ
【要約】
【課題】機械設備の異常予兆の有無を高精度で診断する異常予兆診断装置等を提供する。
【解決手段】異常予兆診断装置は、機械設備に設置された複数のセンサの検出値を含む時系列データを取得する時系列データ取得手段と、機械設備の運転スケジュールを複数の時間帯に分割し、各時間帯ごとにクラスタリングを行うクラスタリング手段１６１と、クラスタリング手段１６１によって生成又は更新されたクラスタを用いて機械設備の異常予兆の有無を診断する診断手段１６２と、を備え、クラスタリング手段１６１は、過去に取得された正常な時系列データを用いて各時間帯ごとにクラスタを生成するクラスタ生成部１６１１ｄと、診断手段１６２によって異常予兆なしと診断された時系列データをクラスタのメンバに追加して更新するクラスタ更新部１６１２ｄと、を有する。
【選択図】図３【図１】
0005684941.tif 000002
【図２】
0005684941.tif 000003
【図３】
0005684941.tif 000004
【図４】
0005684941.tif 000005
【図５】
0005684941.tif 000006
【図６】
0005684941.tif 000007
【図７】
0005684941.tif 000008
【図８】
0005684941.tif 000009
【図９】
0005684941.tif 000010
【図１０】
0005684941.tif 000011
【図１１】
0005684941.tif 000012
【図１２】
0005684941.tif 000013
【図１３】
0005684941.tif 000014
【図１４】
0005684941.tif 000015
【図１５】
0005684941.tif 000016
【図１６】
0005684941.tif 000017
【図１７】
0005684941.tif 000018
【図１８】
0005684941.tif 000019
【図１９】
0005684941.tif 000020
【図２０】
0005684941.tif 000021
【図２１】
0005684941.tif 000022