(57)【要約】【課題】診断精度を向上可能な異常診断装置、異常診断方法、異常診断プログラム、及び記録媒体を提供すること。【解決手段】異常診断装置１は、診断対象データを機械システム２から取得する取得部１１と、診断対象データと条件設定情報とを用いて抽出条件を決定し、複数のデータセットを含む抽出元データから学習データを抽出する抽出部１２と、学習データから学習情報を作成する作成部１３と、学習情報と、学習データとして抽出されたデータセットの抽出件数に応じた診断閾値と、に基づいて、診断対象データが異常であるか否かを判断する診断部１４と、を備え、複数のデータセットのそれぞれは、機械システム２が正常な状態である場合の複数の項目のパラメータ値を含み、抽出部１２は、抽出元データに含まれる複数のデータセットのうち、抽出条件を満たすデータセットの群を学習データとして抽出する。【選択図】図１
2020107027.tif 000002
【特許請求の範囲】
【請求項１】
パターン認識手法を用いて診断対象システムに係る異常診断を行う異常診断装置であって、
複数の項目のパラメータ値を含む診断対象データを前記診断対象システムから取得する取得部と、
複数のデータセットを含む抽出元データを格納する第１記憶部と、
前記診断対象データと抽出条件を決定するための条件設定情報とを用いて前記抽出条件を決定し、前記抽出元データから学習データを抽出する抽出部と、
前記学習データから前記パターン認識手法に用いられる学習情報を作成する作成部と、
前記学習情報と、前記抽出部によって前記学習データとして抽出されたデータセットの抽出件数に応じた診断閾値と、に基づいて、前記診断対象データが異常であるか否かを判断する診断部と、
を備え、
前記複数のデータセットのそれぞれは、前記診断対象システムが正常な状態である場合の前記複数の項目のパラメータ値を含み、
前記抽出部は、前記抽出元データに含まれる前記複数のデータセットのうち、前記抽出条件を満たすデータセットの群を前記学習データとして抽出する、異常診断装置。
【請求項２】
前記診断閾値は、前記抽出件数が小さいほど大きい値に設定される、請求項１に記載の異常診断装置。
【請求項３】
データセットの件数とそれぞれ対応付けられた複数の閾値を記憶する第２記憶部をさらに備え、
前記診断部は、前記複数の閾値から、前記抽出件数に対応付けられた閾値を前記診断閾値として選択する、請求項１又は請求項２に記載の異常診断装置。
【請求項４】
前記複数の閾値を設定する設定部をさらに備え、
前記設定部は、前記抽出元データに含まれる前記複数のデータセットの第１部分集合である部分抽出元データと、前記抽出元データに含まれる前記複数のデータセットの第２部分集合である検証データ群と、を準備し、
前記設定部は、前記検証データ群に含まれる検証データと、前記条件設定情報と、を用いて、前記部分抽出元データから閾値設定用の学習データである閾値学習データを抽出し、前記閾値学習データから閾値設定用の学習情報である閾値学習情報を作成し、
前記設定部は、前記閾値学習情報を用いて前記検証データの異常度スコアを算出し、前記異常度スコアと前記閾値学習データに含まれるデータセットの件数とに基づいて、前記複数の閾値を設定する、請求項３に記載の異常診断装置。
【請求項５】
前記設定部は、複数の異常データセットを含む異常検証データ群をさらに準備し、
前記検証データ群に基づいて取得した第１分布と、前記異常検証データ群に基づいて取得した第２分布と、に基づいて、前記複数の閾値を設定し、
前記複数の異常データセットのそれぞれは、前記診断対象システムが異常な状態である場合の前記複数の項目のパラメータ値を含み、
前記第１分布及び前記第２分布のそれぞれは、前記抽出件数ごとの前記異常度スコアの取り得る範囲を示す、請求項４に記載の異常診断装置。
【請求項６】
前記第１記憶部に格納されている前記抽出元データを更新する更新部をさらに備え、
前記更新部は、正常なデータセットを前記抽出元データに追加することで、前記抽出元データを更新し、
前記設定部は、前記抽出元データが更新されたことに応じて、前記複数の閾値を再設定する、請求項４又は請求項５に記載の異常診断装置。
【請求項７】
パターン認識手法を用いて診断対象システムに係る異常診断を行う異常診断装置が実行する異常診断方法であって、
複数の項目のパラメータ値を含む診断対象データを前記診断対象システムから取得するステップと、
前記診断対象データと抽出条件を決定するための条件設定情報とを用いて前記抽出条件を決定するステップと、
複数のデータセットを含む抽出元データから学習データを抽出するステップと、
前記学習データから前記パターン認識手法に用いられる学習情報を作成するステップと、
前記学習情報と、前記学習データとして抽出されたデータセットの抽出件数に応じた診断閾値と、に基づいて、前記診断対象データが異常であるか否かを判断するステップと、
を備え、
前記複数のデータセットのそれぞれは、前記診断対象システムが正常な状態である場合の前記複数の項目のパラメータ値を含み、
前記抽出するステップでは、前記抽出元データに含まれる前記複数のデータセットのうち、前記抽出条件を満たすデータセットの群が前記学習データとして抽出される、異常診断方法。
【請求項８】
パターン認識手法を用いて診断対象システムに係る異常診断をコンピュータに実行させる異常診断プログラムであって、
複数の項目のパラメータ値を含む診断対象データを前記診断対象システムから取得するステップと、
前記診断対象データと抽出条件を決定するための条件設定情報とを用いて前記抽出条件を決定するステップと、
複数のデータセットを含む抽出元データから学習データを抽出するステップと、
前記学習データから前記パターン認識手法に用いられる学習情報を作成するステップと、
前記学習情報と、前記学習データとして抽出されたデータセットの抽出件数に応じた診断閾値と、に基づいて、前記診断対象データが異常であるか否かを判断するステップと、
を前記コンピュータに実行させ、
前記複数のデータセットのそれぞれは、前記診断対象システムが正常な状態である場合の前記複数の項目のパラメータ値を含み、
前記抽出するステップでは、前記抽出元データに含まれる前記複数のデータセットのうち、前記抽出条件を満たすデータセットの群が前記学習データとして抽出される、
異常診断プログラム。
【請求項９】
パターン認識手法を用いて診断対象システムに係る異常診断をコンピュータに実行させる異常診断プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
複数の項目のパラメータ値を含む診断対象データを前記診断対象システムから取得するステップと、
前記診断対象データと抽出条件を決定するための条件設定情報とを用いて前記抽出条件を決定するステップと、
複数のデータセットを含む抽出元データから学習データを抽出するステップと、
前記学習データから前記パターン認識手法に用いられる学習情報を作成するステップと、
前記学習情報と、前記学習データとして抽出されたデータセットの抽出件数に応じた診断閾値と、に基づいて、前記診断対象データが異常であるか否かを判断するステップと、
を前記コンピュータに実行させ、
前記複数のデータセットのそれぞれは、前記診断対象システムが正常な状態である場合の前記複数の項目のパラメータ値を含み、
前記抽出するステップでは、前記抽出元データに含まれる前記複数のデータセットのうち、前記抽出条件を満たすデータセットの群が前記学習データとして抽出される、
異常診断プログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、異常診断装置、異常診断方法、異常診断プログラム、及び記録媒体に関する。
【背景技術】
【０００２】
複数の機器が動作するプラント等の機械システムでは、複数のセンサ等を用いてシステムの状態が計測され、計測されたデータを用いて機械システムに問題が生じているか等の異常診断を行うことが一般的である。近年、機械システムにおける異常診断を高精度に行うことを目的として、パターン認識技術を用いた分析方法が検討されている。
【０００３】
例えば、特許文献１には、機械システムの状況変化に応じた異常診断を行うことを目的として、過去の機械システムの状態を示す複数のデータセットから抽出条件を満たすデータセットを学習データとして抽出し、学習データから作成された学習情報に基づいて異常診断を行う異常診断装置が記載されている。この異常診断装置では、診断対象データに含まれるパラメータ値と、学習データの抽出条件を決定するための抽出条件情報と、を組み合わせて、学習データの抽出条件を決定することで、診断対象データに応じて学習データを動的に選択している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−１０２８２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＭＴ法（Mahalanobis-Taguchi  Method）等のように、診断対象データの異常度スコアを算出し、予め設定された一定の診断閾値と異常度スコアとを比較することで、異常診断を行う手法がある。特許文献１に記載の異常診断装置では、抽出条件を満たすデータセットを学習データとしているので、学習データに含まれるデータセットの件数が抽出条件に応じて変化し得る。一般に、学習データに含まれるデータセットの件数が少ないと、正常な診断対象データを診断した場合の異常度スコアのばらつきが大きくなる。このため、特許文献１に記載の異常診断装置において、異常度スコアを用いた異常診断を行うと、正常な診断対象データを異常と診断する誤検知が発生するおそれがある。誤検知を低減するために、診断閾値を大きい値に設定すると、異常な診断対象データを正常と診断する未検知が発生するおそれがある。
【０００６】
本開示は、診断精度を向上可能な異常診断装置、異常診断方法、異常診断プログラム、及び記録媒体を説明する。
【課題を解決するための手段】
【０００７】
本開示の一側面に係る異常診断装置は、パターン認識手法を用いて診断対象システムに係る異常診断を行う装置である。この異常診断装置は、複数の項目のパラメータ値を含む診断対象データを診断対象システムから取得する取得部と、複数のデータセットを含む抽出元データを格納する第１記憶部と、診断対象データと抽出条件を決定するための条件設定情報とを用いて抽出条件を決定し、抽出元データから学習データを抽出する抽出部と、学習データからパターン認識手法に用いられる学習情報を作成する作成部と、学習情報と、抽出部によって学習データとして抽出されたデータセットの抽出件数に応じた診断閾値と、に基づいて、診断対象データが異常であるか否かを判断する診断部と、を備える。複数のデータセットのそれぞれは、診断対象システムが正常な状態である場合の複数の項目のパラメータ値を含む。抽出部は、抽出元データに含まれる複数のデータセットのうち、抽出条件を満たすデータセットの群を学習データとして抽出する。
【発明の効果】
【０００８】
本開示によれば、診断精度を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、一実施形態に係る異常診断装置の機能ブロックを示す図である。
【図２】図２は、閾値テーブルの一例を示す図である。
【図３】図３は、抽出件数ごとの異常度スコアの分布を示す図である。
【図４】図４は、図１の異常診断装置が行う異常診断方法の一連の処理を示すフローチャートである。
【図５】図５は、図１の異常診断装置が行う抽出元データの更新処理を示すフローチャートである。
【図６】図６は、図１の異常診断装置が行う閾値テーブルの設定処理を示すフローチャートである。
【図７】図７は、異常診断プログラムの構成を示す図である。
【図８】図８の（ａ）は、図１の異常診断装置における診断閾値を説明するための図である。図８の（ｂ）は、比較例に係る異常診断装置における診断閾値を説明するための図である。
【図９】図９は、閾値テーブルの設定処理の変形例を説明するための図である。
【発明を実施するための形態】
【００１０】
以下に説明される本開示に係る実施形態は本発明を説明するための例示であるので、本発明は以下の内容に限定されるべきではない。
【００１１】
［１］実施形態の概要
本開示の一側面に係る異常診断装置は、パターン認識手法を用いて診断対象システムに係る異常診断を行う装置である。この異常診断装置は、複数の項目のパラメータ値を含む診断対象データを診断対象システムから取得する取得部と、複数のデータセットを含む抽出元データを格納する第１記憶部と、診断対象データと抽出条件を決定するための条件設定情報とを用いて抽出条件を決定し、抽出元データから学習データを抽出する抽出部と、学習データからパターン認識手法に用いられる学習情報を作成する作成部と、学習情報と、抽出部によって学習データとして抽出されたデータセットの抽出件数に応じた診断閾値と、に基づいて、診断対象データが異常であるか否かを判断する診断部と、を備える。複数のデータセットのそれぞれは、診断対象システムが正常な状態である場合の複数の項目のパラメータ値を含む。抽出部は、抽出元データに含まれる複数のデータセットのうち、抽出条件を満たすデータセットの群を学習データとして抽出する。
【００１２】
本開示の別の側面に係る異常診断方法は、パターン認識手法を用いて診断対象システムに係る異常診断を行う異常診断装置が実行する方法である。この異常診断方法は、複数の項目のパラメータ値を含む診断対象データを診断対象システムから取得するステップと、診断対象データと抽出条件を決定するための条件設定情報とを用いて抽出条件を決定するステップと、複数のデータセットを含む抽出元データから学習データを抽出するステップと、学習データからパターン認識手法に用いられる学習情報を作成するステップと、学習情報と、学習データとして抽出されたデータセットの抽出件数に応じた診断閾値と、に基づいて、診断対象データが異常であるか否かを判断するステップと、を備える。複数のデータセットのそれぞれは、診断対象システムが正常な状態である場合の複数の項目のパラメータ値を含む。抽出するステップでは、抽出元データに含まれる複数のデータセットのうち、抽出条件を満たすデータセットの群が学習データとして抽出される。
【００１３】
本開示のさらに別の側面に係る異常診断プログラムは、パターン認識手法を用いて診断対象システムに係る異常診断をコンピュータに実行させるプログラムである。この異常診断プログラムは、複数の項目のパラメータ値を含む診断対象データを診断対象システムから取得するステップと、診断対象データと抽出条件を決定するための条件設定情報とを用いて抽出条件を決定するステップと、複数のデータセットを含む抽出元データから学習データを抽出するステップと、学習データからパターン認識手法に用いられる学習情報を作成するステップと、学習情報と、学習データとして抽出されたデータセットの抽出件数に応じた診断閾値と、に基づいて、診断対象データが異常であるか否かを判断するステップと、をコンピュータに実行させる。複数のデータセットのそれぞれは、診断対象システムが正常な状態である場合の複数の項目のパラメータ値を含む。抽出するステップでは、抽出元データに含まれる複数のデータセットのうち、抽出条件を満たすデータセットの群が学習データとして抽出される。
【００１４】
本開示のさらに別の側面に係る記録媒体は、パターン認識手法を用いて診断対象システムに係る異常診断をコンピュータに実行させる異常診断プログラムを記録したコンピュータ読み取り可能な記録媒体である。この記録媒体に記録された異常診断プログラムは、複数の項目のパラメータ値を含む診断対象データを診断対象システムから取得するステップと、診断対象データと抽出条件を決定するための条件設定情報とを用いて抽出条件を決定するステップと、複数のデータセットを含む抽出元データから学習データを抽出するステップと、学習データからパターン認識手法に用いられる学習情報を作成するステップと、学習情報と、学習データとして抽出されたデータセットの抽出件数に応じた診断閾値と、に基づいて、診断対象データが異常であるか否かを判断するステップと、をコンピュータに実行させる。複数のデータセットのそれぞれは、診断対象システムが正常な状態である場合の複数の項目のパラメータ値を含む。抽出するステップでは、抽出元データに含まれる複数のデータセットのうち、抽出条件を満たすデータセットの群が学習データとして抽出される。
【００１５】
上記異常診断装置、異常診断方法、異常診断プログラム、及び記録媒体では、診断対象データと抽出条件を決定するための条件設定情報とを用いて抽出条件が決定され、抽出元データに含まれる複数のデータセットのうち、抽出条件を満たすデータセットの群が学習データとして抽出され、学習データからパターン認識手法に用いられる学習情報が作成される。このようにして作成された学習情報を用いて診断対象データを診断した場合、診断対象データが正常であっても、異常度スコアが取り得る値の範囲が、データセットの抽出件数に応じて異なる。これに対し、上記異常診断装置、異常診断方法、異常診断プログラム、及び記録媒体では、学習情報と、学習データとして抽出されたデータセットの抽出件数に応じた診断閾値と、に基づいて、診断対象データが異常であるか否かが判断される。例えば、正常な診断対象データの異常度スコアが取り得る範囲を考慮して、学習データに含まれるデータセットの抽出件数に応じて診断閾値が定められることにより、正常な診断対象データを異常と診断する誤検知、及び異常な診断対象データを正常と診断する未検知の発生を低減することが可能となる。その結果、診断精度を向上させることが可能となる。
【００１６】
診断閾値は、抽出件数が小さいほど大きい値に設定されてもよい。一般に、学習データに含まれるデータセットの抽出件数が小さいほど、正常な診断対象データを診断した場合の異常度スコアのばらつきが大きくなる。このため、データセットの抽出件数が小さいほど、診断閾値を大きい値に設定することで、誤検知の発生を低減することが可能となる。また、データセットの抽出件数が大きいほど、診断閾値が小さい値に設定されるので、未検知の発生を低減することが可能となる。
【００１７】
上記異常診断装置は、データセットの件数とそれぞれ対応付けられた複数の閾値を記憶する第２記憶部をさらに備えてもよい。診断部は、複数の閾値から、抽出件数に対応付けられた閾値を診断閾値として選択してもよい。この場合、抽出件数に対応付けられた閾値を第２記憶部から取得するだけで診断閾値が設定されるので、診断閾値の設定を簡易化することができる。
【００１８】
上記異常診断装置は、複数の閾値を設定する設定部をさらに備えてもよい。設定部は、抽出元データに含まれる複数のデータセットの第１部分集合である部分抽出元データと、抽出元データに含まれる複数のデータセットの第２部分集合である検証データ群と、を準備してもよい。設定部は、検証データ群に含まれる検証データと、条件設定情報と、を用いて、部分抽出元データから閾値設定用の学習データである閾値学習データを抽出してもよく、閾値学習データから閾値設定用の学習情報である閾値学習情報を作成してもよい。設定部は、閾値学習情報を用いて検証データの異常度スコアを算出してもよく、異常度スコアと閾値学習データに含まれるデータセットの件数とに基づいて、複数の閾値を設定してもよい。抽出元データに含まれる複数のデータセットのそれぞれは、診断対象システムが正常な状態である場合の複数の項目のパラメータ値を含む。このため、抽出元データを用いて異常度スコアを算出することで、正常な診断対象データの異常度スコアが取り得る範囲を把握することができる。これにより、データセットの件数とそれぞれ対応付けられた複数の閾値を、正常な診断対象データの異常度スコアが取り得る範囲に基づいて設定することができるので、診断閾値を最適化することが可能となる。その結果、診断精度を一層向上させることが可能となる。
【００１９】
設定部は、複数の異常データセットを含む異常検証データ群をさらに準備してもよく、検証データ群に基づいて取得した第１分布と、異常検証データ群に基づいて取得した第２分布と、に基づいて、複数の閾値を設定してもよい。複数の異常データセットのそれぞれは、診断対象システムが異常な状態である場合の複数の項目のパラメータ値を含んでもよい。第１分布及び第２分布のそれぞれは、抽出件数ごとの異常度スコアの取り得る範囲を示してもよい。この場合、正常な診断対象データの異常度スコアが取り得る範囲だけでなく、異常な診断対象データの異常度スコアが取り得る範囲を考慮して、抽出件数ごとの閾値が設定される。このため、診断閾値がさらに最適化されるので、診断精度をより一層向上させることが可能となる。
【００２０】
上記異常診断装置は、第１記憶部に格納されている抽出元データを更新する更新部をさらに備えてもよい。更新部は、正常なデータセットを抽出元データに追加することで、抽出元データを更新してもよい。設定部は、抽出元データが更新されたことに応じて、複数の閾値を再設定してもよい。この場合、正常なデータセットが追加されることに応じて、複数の閾値が再設定される。これにより、診断対象システムの最新の状況を反映した複数の閾値から診断閾値が選択され得るので、診断精度をより一層向上させることが可能となる。
【００２１】
［２］実施形態の例示
以下、本開示の実施形態について、図面を参照しながら説明する。なお、図面の説明において同一要素には同一符号を付し、重複する説明を省略する。
【００２２】
図１は、一実施形態に係る異常診断装置の機能ブロックを示す図である。図１に示される異常診断装置１は、パターン認識手法を用いて機械システム２に係る異常診断を行う装置である。異常診断装置１は、機械システム２及び外部装置３と通信可能に接続されている。パターン認識手法は、異常診断の対象となる診断対象データが示すパターンが正常であるか否かを、学習データにより形成される学習情報に基づいて判断する手法である。パターン認識手法の例としては、ＭＴ法（Mahalanobis-Taguchi  Method）、ＲＴ法（Recognition-Taguchi  Method）、誤圧法（標準化誤圧法）、ＲＥ法（再構成誤差法）、ＳＢＬ（Sparse  Bayesian  Learning）、主成分分析、重回帰分析、及びロジスティック回帰分析（多変量解析）等が挙げられる。パターン認識手法は、これらに限定されない。
【００２３】
機械システム２は、診断対象となるシステムである。機械システム２としては、例えば、ガスタービン、航空エンジン、及び真空炉等の機械システムが挙げられる。機械システム２には、機械システム２の動作状況を確認するために、複数のセンサが取り付けられている。機械システム２は、複数の項目それぞれのパラメータ値を含むデータセットを診断対象データとして異常診断装置１に送信する。データセットは、サンプルデータとも称される。
【００２４】
項目は、機械システム２の特徴量である。項目の例としては、機械システム２が備える複数種の機器（バルブ、及びポンプ等）の制御値、指令値、及び応答値、並びに、機械システム２に設けられた複数のセンサによって検出された各センサ値が挙げられる。パラメータ値の項目数は、例えば数百以上である。
【００２５】
なお、サンプルデータ（データセット）には、機械システム２の内部状況によって変化するパラメータ値だけでなく、機械システム２の外部状況によって変化するパラメータ値が含まれる場合がある。機械システム２の外部状況によって変化するパラメータ値とは、外部の装置等によって指定された値、及び外部環境に係る情報を示す値であって、機械システム２における制御に由来する値とは異なる。このようなパラメータ値の例としては、機械システム２の周辺の温度、及び特定の機器の出力設定値等が挙げられる。一方、機械システム２の内部状況によって変化するパラメータ値とは、機械システム２の動作によって変化するパラメータ値である。このようなパラメータ値の例としては、機械システム２に設けられたセンサのセンサ値が挙げられる。機械システム２の異常診断には、少なくとも内部状況によって変化するパラメータ値が用いられる。
【００２６】
外部装置３は、例えば、ディスプレイ等により構成され、異常診断装置１による診断結果を出力する機能を有する。
【００２７】
異常診断装置１は、物理的には、プロセッサ１０と、記憶装置２０と、を備えている。
【００２８】
記憶装置２０は、例えば、ＲＡＭ（Random  Access  Memory）、半導体メモリ、及びハードディスク装置といったデータの読み書きが可能な記録媒体によって構成される。記憶装置２０は、蓄積データ記憶部２１（第１記憶部）と、学習情報記憶部２２と、閾値記憶部２３（第２記憶部）と、異常診断プログラムＰと、を備えている。
【００２９】
蓄積データ記憶部２１は、学習データとして利用される可能性のあるデータセットの群である抽出元データを格納している。抽出元データは、複数のデータセットを含む。複数のデータセットのそれぞれは、機械システム２が正常な状態である場合のサンプルデータであり、正常状態における複数の項目のパラメータ値を含む。複数のデータセットのそれぞれは、機械システム２から過去に送信されたサンプルデータである。複数のデータセットのそれぞれは、当該データセットが取得された時刻を示す時刻情報、及び当該データセットが正常であるか異常であるかを示す状態フラグ等を含む。
【００３０】
なお、抽出元データは、機械システム２から送信されたサンプルデータだけでなく、他のデータを含んでもよい。すなわち、抽出元データは、機械システム２とは異なる機械システム（例えば、別サイトに存在する同系統の設備等）から取得されたデータ、及び機械システム２を模したシステムにおける特定の環境条件でのシミュレーション結果等を含んでもよい。
【００３１】
学習情報記憶部２２は、後述の作成部１３で作成された学習情報を一時的に保持する。学習情報は、パターン認識手法に用いられる情報である。詳細は後述するが、異常診断装置１では、後述の診断対象データを機械システム２から取得する度に学習情報が作成される。学習情報記憶部２２は、異常診断の都度作成される学習情報を一時的に保持すると共に、異常診断に係る一連の処理が終了すると、異常診断に用いられた学習情報を消去する。
【００３２】
閾値記憶部２３は、データセットの抽出件数とそれぞれ対応付けられた複数の閾値を格納している。具体的には、閾値記憶部２３は、後述の設定部１７によって設定された閾値テーブルを格納している。図２に示されるように、閾値テーブルでは、データセットの抽出件数と、閾値と、が対応付けられている。図２では、各閾値は、抽出件数の範囲と対応付けられている。各抽出件数に対して、１つの閾値が割り当てられている。
【００３３】
プロセッサ１０の例としては、ＣＰＵ（Central  Processing  Unit）、マイクロコントローラ、及びＤＳＰ（Digital  Signal  Processor）が挙げられる。プロセッサ１０は、シングルプロセッサでもよく、マルチプロセッサでもよい。プロセッサ１０は、機能的には、取得部１１と、抽出部１２と、作成部１３と、診断部１４と、出力部１５と、更新部１６と、設定部１７と、を備えている。プロセッサ１０が記憶装置２０に記憶されている異常診断プログラムＰを読み出して実行することにより、取得部１１、抽出部１２、作成部１３、診断部１４、出力部１５、更新部１６、及び設定部１７の各機能が実現される。異常診断プログラムＰの具体的な構成については後述する。
【００３４】
取得部１１は、診断対象データを機械システム２から取得する。取得部１１は、取得した診断対象データを抽出部１２及び診断部１４に出力する。
【００３５】
抽出部１２は、取得部１１から受け取った診断対象データと、抽出部１２に予め設定された条件設定情報と、に基づいて、抽出元データから学習データを抽出する。具体的には、抽出部１２は、診断対象データと条件設定情報とを用いて学習データの抽出条件を決定する。抽出部１２は、蓄積データ記憶部２１に格納されている抽出元データを蓄積データ記憶部２１から読み出し、抽出条件に基づいて、抽出元データから学習データを抽出する。具体的には、抽出部１２は、抽出元データに含まれる複数のデータセットのうち、抽出条件を満たすデータセットの群を学習データとして抽出元データから抽出する。抽出部１２は、抽出した学習データを作成部１３に出力する。
【００３６】
ここで、抽出条件の決定方法について詳細に説明する。条件設定情報は、学習データの抽出条件を決定するための情報であって、データセットを構成する複数の項目に含まれる１以上の項目に関する条件を示す。条件設定情報は、例えば、項目を一意に識別可能な項目ＩＤ（Identifier）と、項目ＩＤによって示される項目のパラメータ値に対する条件を示す条件情報と、を含む。抽出部１２は、条件設定情報に含まれる項目ＩＤによって示される項目のパラメータ値を診断対象データから取得し、当該パラメータ値と条件設定情報に含まれる条件情報によって示される条件とを用いて抽出条件を決定する。
【００３７】
例えば、項目ＩＤによって示される項目が「吸気温度」であり、条件情報によって示される条件が「±２度」であるとする。診断対象データの吸気温度（のパラメータ値）が「２０度」である場合、抽出条件は、「吸気温度（のパラメータ値）が１８度以上であり、かつ、２２度以下であること」と決定される。例えば、項目ＩＤによって示される項目が「設定出力」であり、条件情報によって示される条件が「±１ＭＷ（メガワット）」であるとする。診断対象データの出力（のパラメータ値）が「１０ＭＷ」である場合、抽出条件は、「設定出力（のパラメータ値）が９ＭＷ以上であり、かつ、１１ＭＷ以下であること」と決定される。
【００３８】
このように、条件設定情報とは、抽出条件を決めるための条件に係る部分を具体的に示した情報であって、診断対象データに含まれる特定のパラメータ値を利用することで、学習データの抽出条件を決定する情報である。なお、診断対象データに含まれる特定のパラメータ値を利用せず、「パラメータＣのパラメータ値が１０〜３０であること」というように抽出条件を設定することも可能である。しかし、機械システム２から取得した診断対象データの状況を考慮せずに学習データが抽出されるので、診断対象データとの関連性が低い学習情報が作成される。したがって、異常診断装置１では、診断対象データに含まれるパラメータ値と、学習データの抽出条件を決定するための条件設定情報と、を組み合わせて、学習データの抽出条件を決定する構成が採用される。
【００３９】
なお、条件設定情報において、条件が設定される項目としては、機械システム２の状況を特定することが可能な項目が選択される。状況には、例えば、機械システム２の運転モード（運転及び非運転等）、並びに、季節等による機械システム２の環境状況が含まれる。このような項目のパラメータ値を学習データの抽出に利用することで、機械システム２が置かれている状況が類似しているデータセットが抽出元データから抽出され得る。
【００４０】
条件設定情報は、異常診断装置１の操作者等によって予め設定される。抽出部１２は、複数の条件設定情報を保持してもよい。この場合、抽出部１２は、診断対象データに応じて、複数の条件設定情報から学習データの抽出に利用する条件設定情報を選択してもよい。例えば、抽出部１２は、診断対象データの取得時間帯に応じて、学習データの抽出に利用する条件設定情報を選択してもよい。抽出部１２は、操作者の指定に従って、学習データの抽出に利用する条件設定情報を選択してもよい。
【００４１】
作成部１３は、抽出部１２から受け取った学習データから、診断対象データに対応した学習情報を作成する。異常診断装置１がＭＴ法を用いて診断を行う場合、学習情報は、単位空間（ＭＴ法の場合には、マハラノビス空間）を示す情報である。作成部１３は、学習データに含まれるデータセットの抽出件数とともに、学習情報を学習情報記憶部２２に出力し、学習情報及び抽出件数を学習情報記憶部２２に格納する。
【００４２】
診断部１４は、作成部１３によって作成された学習情報と、診断閾値と、に基づいて、診断対象データが異常であるか否か（すなわち、機械システム２が異常であるか否か）を判断する。具体的には、診断部１４は、学習情報記憶部２２から学習情報及び抽出件数を読み出し、機械システム２から取得した診断対象データについて、学習情報に基づいて、サンプルデータの診断のために必要な数値（異常度スコア）等の算出を行う。異常度スコアは、診断対象データ（機械システム２）の異常の程度を示す指標である。異常度スコアが大きいほど診断対象データ（機械システム２）が異常である可能性が高く、異常度スコアが小さいほど診断対象データ（機械システム２）が正常である可能性が高い。異常診断装置１がＭＴ法を用いて診断を行う場合、診断部１４は、診断対象データと学習情報とに基づいて、異常度スコアとしてマハラノビス距離を算出する。
【００４３】
診断部１４は、異常度スコアと診断閾値とを比較することによって、診断対象データ（機械システム２）が異常であるか否かを判断する。診断閾値は、抽出部１２によって学習データとして抽出されたデータセットの抽出件数に応じた閾値である。診断部１４は、閾値記憶部２３に格納されている複数の閾値から、抽出件数に対応付けられている閾値を診断閾値として選択する。診断部１４は、異常度スコアが診断閾値よりも大きい場合、機械システム２（診断対象データ）が異常であると判断する。診断部１４は、異常度スコアが診断閾値以下である場合、機械システム２（診断対象データ）が正常であると判断する。診断部１４は、機械システム２（診断対象データ）が正常であるか異常であるかを示す診断結果を出力部１５に出力する。
【００４４】
出力部１５は、診断部１４から受け取った診断結果を出力する。本実施形態では、出力部１５は、外部装置３に診断結果を出力する。出力部１５は、診断部１４による診断結果と学習情報に関連する情報とを組み合わせて外部装置３に出力してもよい。出力部１５は、予め定められた出力形式に対応させて診断結果及び関連情報を準備し、それらの情報を外部装置３に出力する。出力部１５は、診断対象データを診断結果とともに更新部１６に出力してもよい。
【００４５】
更新部１６は、蓄積データ記憶部２１に格納されている抽出元データを更新する。更新部１６は、１以上の正常なデータセットを取得し、正常なデータセットを抽出元データに追加することで、抽出元データを更新する。更新部１６は、例えば、異常診断装置１の操作者が入力装置を用いて異常診断装置１に入力したデータセットを、正常なデータセットとして取得してもよい。更新部１６は、機械システム２から複数のデータセットを順次取得し、複数のデータセットのうちの正常を示す状態フラグが付されたデータセットを正常なデータセットとして取得してもよい。
【００４６】
例えば、異常診断装置１の操作者が、入力装置を用いて機械システム２が正常であった期間（正常期間）を異常診断装置１に入力する。更新部１６は、異常診断装置１に入力された複数のデータセットのうち、機械システム２の正常期間に得られたデータセットに対して、正常を示すように状態フラグを設定する。更新部１６は、診断部１４の診断結果に応じて状態フラグを設定してもよい。
【００４７】
更新部１６は、更新タイミングで抽出元データを更新する。更新タイミングは、特定のイベントが発生したことを検出したタイミングである。特定のイベントの例としては、機械システム２のメンテナンスが完了したこと、抽出元データを前回更新してから一定時間が経過したこと、連続する所定数の診断対象データの異常度スコアが診断閾値よりも大きいこと、及び操作者が入力装置を用いて更新指示を異常診断装置１に入力したことが挙げられる。つまり、抽出元データは、自動更新されてもよく、手動更新されてもよい。
【００４８】
設定部１７は、蓄積データ記憶部２１に格納されている抽出元データから複数の閾値を算出し、閾値記憶部２３の閾値テーブルに複数の閾値を設定する。具体的に説明すると、設定部１７は、蓄積データ記憶部２１に格納されている抽出元データを読み出し、抽出元データに含まれる複数のデータセットから、部分抽出元データと検証データ群とを準備する。部分抽出元データは、抽出元データに含まれる複数のデータセットの部分集合である。検証データ群は、抽出元データに含まれる複数のデータセットの部分集合であって、部分抽出元データとは異なる。設定部１７は、例えば、抽出元データから部分抽出元データ及び検証データ群をそれぞれ任意に（ランダムに）抽出する。設定部１７は、抽出元データを部分抽出元データと検証データ群とに分割してもよい。なお、部分抽出元データと検証データ群とは、完全に一致していなければよく、重複していなくてもよいし、一部重複していてもよい。抽出元データに含まれているデータセットは、いずれも正常なデータセットであるので、検証データ群に含まれる各データセット（検証データ）は正常なデータセットである。
【００４９】
設定部１７は、検証データ群に含まれる検証データと、条件設定情報と、を用いて、部分抽出元データから閾値学習データを抽出する。閾値学習データは、閾値設定用の学習データである。閾値学習データの抽出方法は、学習データの抽出方法と同様であるので、詳細な説明を省略する。なお、条件設定情報は、抽出部１２が保持している条件設定情報と同じでもよく、異なっていてもよい。設定部１７は、閾値学習データから閾値学習情報を作成する。閾値学習情報は、閾値設定用の学習情報である。閾値学習情報の作成方法は、学習情報の作成方法と同様であるので、詳細な説明を省略する。
【００５０】
設定部１７は、閾値学習情報を用いて検証データの異常度スコアを算出する。設定部１７は、異常度スコアと閾値学習データに含まれるデータセットの抽出件数とに基づいて、複数の閾値を設定する。
【００５１】
具体的に説明すると、設定部１７は、上述のようにして各検証データの異常度スコアを算出し、検証データの閾値学習データとして抽出されたデータセットの抽出件数と、その検証データの異常度スコアと、の関係を示す分布Ｍａ（図３参照）を取得する。検証データの異常度スコアが取り得る値の範囲は、閾値学習データに含まれるデータセットの抽出件数に応じて異なる。より具体的には、図３に示されるように、抽出件数が小さいほど、異常度スコアが取り得る値のばらつき（範囲）が大きい。これは、抽出件数が小さい場合には、閾値学習情報が統計的に無意味な平均値を有することが一因であると考えられる。また、機械システム２の状態が遷移中であることにより、抽出件数が小さいこともある。そのときのデータセットに対応する閾値学習情報で異常診断をするので、様々な異常度スコアが算出されると考えられる。
【００５２】
設定部１７は、例えば、分布Ｍａに基づいて、抽出件数と異常度スコアの最大値との関係を示す曲線を関数フィッティングにより算出する。設定部１７は、算出した曲線を用いて、抽出件数に対する異常度スコアの最大値をその抽出件数の閾値として設定する。設定部１７は、分布Ｍａを抽出件数のビン幅で区切り、区切られた区間ごとの閾値を標準偏差等の統計量を用いて算出してもよい。区間ごとの閾値は、例えば、区間に含まれる異常度スコアの最大値として算出されてもよい。
【００５３】
設定部１７は、設定タイミングで閾値テーブルに複数の閾値を設定する。設定部１７は、機械システム２の稼働前に複数の閾値を設定してもよく、機械システム２の稼働中に複数の閾値を設定してもよい。設定タイミングは、例えば、抽出元データが更新されたこと、及び操作者が入力装置を用いて設定指示を異常診断装置１に入力したことが挙げられる。つまり、閾値テーブルは、自動設定（再設定）されてもよく、手動設定（再設定）されてもよい。
【００５４】
次に、図４を参照しながら、異常診断装置１が行う異常診断方法について説明する。図４は、図１の異常診断装置が行う異常診断方法の一連の処理を示すフローチャートである。図４に示される一連の処理は、例えば、機械システム２において診断対象データが得られるごとに開始される。
【００５５】
まず、取得部１１が機械システム２から診断対象データを取得する（ステップＳ０１）。そして、取得部１１は、取得した診断対象データを抽出部１２及び診断部１４に出力する。
【００５６】
続いて、抽出部１２は、取得部１１から診断対象データを受け取ると、保持している複数の条件設定情報から、診断対象データに対応した条件設定情報を選択する。そして、抽出部１２は、診断対象データと条件設定情報とを用いて学習データの抽出条件を決定する（ステップＳ０２）。
【００５７】
続いて、抽出部１２は、蓄積データ記憶部２１に格納されている抽出元データを蓄積データ記憶部２１から読み出し、抽出条件に基づいて、抽出元データから学習データを抽出する（ステップＳ０３）。具体的には、抽出部１２は、抽出元データに含まれる複数のデータセットのうち、抽出条件を満たすデータセットを抽出元データから抽出する。そして、抽出部１２は、抽出した学習データを作成部１３に出力する。
【００５８】
続いて、作成部１３は、抽出部１２から学習データを受け取ると、学習データから、診断対象データに対応した学習情報を作成する（ステップＳ０４）。続いて、作成部１３は、作成した学習情報が適切であるか否かを判断する（ステップＳ０５）。例えば、抽出したデータセットの抽出件数は十分であったものの、抽出条件が不適切であるために、学習データとして用いられるデータセットが極端に偏っている場合等に、学習情報は適切でないと判断され得る。作成部１３には、学習情報が適切であるか否かの判断基準が予め設定されている。作成部１３は、その判断基準に基づいて、学習情報が適切であるか否かを判断する。作成部１３は、学習情報が適切でないと判断した場合（ステップＳ０５；ＮＯ）、以降の処理を中止する。そして、異常診断装置１が行う異常診断方法の一連の処理が終了する。
【００５９】
一方、ステップＳ０５において、作成部１３は、学習情報が適切であると判断した場合（ステップＳ０５；ＹＥＳ）、学習情報及び抽出件数を学習情報記憶部２２に出力し、学習情報及び抽出件数を学習情報記憶部２２に格納する。そして、作成部１３は、学習情報記憶部２２に学習情報及び抽出件数を格納した後に、学習情報の作成処理が終了したことを診断部１４に通知する。なお、作成部１３は、学習情報が適切でないと判断した場合にも、処理を中止したことを診断部１４に通知する。
【００６０】
続いて、診断部１４は、作成部１３から学習情報の作成処理が終了した旨の通知を受けると、学習情報に基づいて、診断対象データの異常診断を行う（ステップＳ０６）。具体的には、診断部１４は、学習情報記憶部２２から学習情報及び抽出件数を読み出して、診断対象データと学習情報とを用いて異常度スコアを算出する。そして、診断部１４は、閾値記憶部２３に格納されている閾値テーブルから、抽出件数に対応付けられた閾値を診断閾値として取得し、異常度スコアと診断閾値とを比較することによって、診断対象データが異常であるか否かを判断する。そして、診断部１４は、診断対象データが正常であるか異常であるかを示す診断結果を出力部１５に出力する。
【００６１】
続いて、出力部１５は、診断部１４から診断結果を受け取ると、診断結果を出力する（ステップＳ０７）。本実施形態では、出力部１５は、診断結果に所望の加工を行った上で、外部装置３に診断結果を出力する。このとき、出力部１５は、学習情報記憶部２２に格納されている学習情報及び抽出件数を消去してもよい。また、出力部１５は、診断対象データを診断結果とともに更新部１６に出力してもよい。なお、処理が中止された場合には、診断部１４は、異常診断が中止されたことを示す診断結果を出力部１５に出力し、出力部１５は、外部装置３等に異常診断が行われなかったことを通知する。以上により、異常診断装置１が行う異常診断方法の一連の処理が終了する。
【００６２】
次に、図５を参照しながら、抽出元データの更新処理について説明する。図５は、図１の異常診断装置が行う抽出元データの更新処理を示すフローチャートである。図５に示される一連の処理は、例えば、機械システム２からデータセットが送信されたことにより開始される。
【００６３】
まず、更新部１６がデータセットを取得する（ステップＳ１１）。更新部１６は、例えば、機械システム２から複数のデータセットを順次取得する。そして、更新部１６は、取得した複数のデータセットのそれぞれに状態フラグを設定する（ステップＳ１２）。例えば、異常診断装置１の操作者が、入力装置を用いて機械システム２の正常期間を異常診断装置１に入力する。更新部１６は、異常診断装置１に入力された複数のデータセットのうち、機械システム２の正常期間に得られたデータセットに対して、正常を示すように状態フラグを設定する。更新部１６は、診断部１４の診断結果に応じて状態フラグを設定してもよい。
【００６４】
続いて、更新部１６は、更新タイミングであるか否かを判断する（ステップＳ１３）。更新部１６は、例えば、機械システム２のメンテナンスのような特定のイベントが発生した場合に、更新タイミングであると判断する（ステップＳ１３；ＹＥＳ）。そして、更新部１６は、抽出元データを更新する（ステップＳ１４）。具体的には、更新部１６は、ステップＳ１１において取得された複数のデータセットのうち、正常を示す状態フラグが付されたデータセットを正常なデータセットとして取得し、正常なデータセットを抽出元データに追加することで、抽出元データを更新する。そして、更新部１６は、一連の処理を再び行う。
【００６５】
一方、ステップＳ１３において、更新部１６は、更新タイミングでないと判断した場合（ステップＳ１３；ＮＯ）、抽出元データの更新を行うことなく、一連の処理を再び行う。
【００６６】
このように、更新タイミングごとに、正常を示す状態フラグが付されたデータセットが抽出元データに追加され、抽出元データに含まれるデータセットの数が増加する。
【００６７】
次に、図６を参照しながら、閾値テーブルの設定処理について説明する。図６は、図１の異常診断装置が行う閾値テーブルの設定処理を示すフローチャートである。図６に示される一連の処理は、例えば、異常診断装置１の操作者が入力装置を用いて異常診断装置１に閾値テーブルの設定指示を入力することにより開始される。この処理は、例えば、異常診断装置１が異常診断を行う前に実施される。
【００６８】
まず、設定部１７が、蓄積データ記憶部２１に格納されている抽出元データを読み出し、部分抽出元データ及び検証データ群を準備する（ステップＳ２１）。
【００６９】
続いて、設定部１７は、検証データ群に含まれている複数の検証データから１つの検証データを選択（取得）する（ステップＳ２２）。そして、設定部１７は、保持している複数の条件設定情報から、検証データに対応した条件設定情報を選択する。そして、設定部１７は、検証データと条件設定情報とを用いて、閾値学習データの抽出条件を決定する（ステップＳ２３）。ステップＳ２３の処理は、ステップＳ０２の処理と同様である。つまり、ステップＳ２３の処理は、抽出部１２が行う抽出条件の決定処理と同様である。
【００７０】
続いて、設定部１７は、抽出条件に基づいて、部分抽出元データから閾値学習データを抽出する（ステップＳ２４）。ステップＳ２４の処理は、ステップＳ０３の処理と同様である。つまり、ステップＳ２４の処理は、抽出部１２が行う学習データの抽出処理と同様である。
【００７１】
続いて、設定部１７は、閾値学習データから、検証データに対応した閾値学習情報を作成する（ステップＳ２５）。ステップＳ２５の処理は、ステップＳ０４の処理と同様である。つまり、ステップＳ２５の処理は、作成部１３が行う学習情報の作成処理と同様である。
【００７２】
続いて、設定部１７は、検証データと閾値学習情報とを用いて検証データの異常度スコアを算出する（ステップＳ２６）。例えば、設定部１７は、ＭＴ法によって異常度スコアを算出する。
【００７３】
続いて、設定部１７は、検証データ群に含まれているすべての検証データが選択されたか否かを判断する（ステップＳ２７）。設定部１７は、未選択の検証データがあると判断した場合（ステップＳ２７；ＮＯ）、未選択の検証データから１つの検証データを選択する（ステップＳ２２）。そして、設定部１７は、選択された検証データに対して、ステップＳ２３〜ステップＳ２６の処理を行い、ステップＳ２７の判断を再び行う。
【００７４】
一方、ステップＳ２７において、設定部１７は、すべての検証データが選択されたと判断した場合（ステップＳ２７；ＹＥＳ）、閾値を算出する（ステップＳ２８）。例えば、設定部１７は、複数の検証データのそれぞれについて、閾値学習データとして抽出されたデータセットの抽出件数と、その検証データの異常度スコアと、の関係を示す分布Ｍａ（散布図）を作成する。ここで、検証データ群は、同一の機械システム２のあらゆる正常状態におけるデータセットを含む。したがって、同じ抽出件数の閾値学習データ同士であっても、それぞれに含まれるデータセットは互いに異なる。そして、設定部１７は、分布Ｍａに基づいて、複数の閾値を算出する。例えば、設定部１７は、分布Ｍａを抽出件数のビン幅で区切り、区切られた区間ごとの閾値を標準偏差等の統計量を用いて算出する。
【００７５】
続いて、設定部１７は、算出した抽出件数（区間）ごとの閾値を、閾値記憶部２３に格納されている閾値テーブルに設定する（ステップＳ２９）。以上により、異常診断装置１が行う閾値テーブルの設定処理が終了する。
【００７６】
次に、図７を参照しながら、コンピュータを異常診断装置１として機能させるための異常診断プログラムＰを説明する。図７は、異常診断プログラムの構成を示す図である。
【００７７】
図７に示されるように、異常診断プログラムＰは、メインモジュールＰ１０、取得モジュールＰ１１、抽出モジュールＰ１２、作成モジュールＰ１３、診断モジュールＰ１４、出力モジュールＰ１５、更新モジュールＰ１６、及び設定モジュールＰ１７を備える。メインモジュールＰ１０は、異常診断に係る処理を統括的に制御する部分である。取得モジュールＰ１１、抽出モジュールＰ１２、作成モジュールＰ１３、診断モジュールＰ１４、出力モジュールＰ１５、更新モジュールＰ１６、及び設定モジュールＰ１７を実行することにより実現される機能はそれぞれ、上記実施形態における取得部１１、抽出部１２、作成部１３、診断部１４、出力部１５、更新部１６、及び設定部１７の機能と同様である。
【００７８】
異常診断プログラムＰは、ＣＤ−ＲＯＭ（Compact  Disk  Read  Only  Memory）、ＤＶＤ−ＲＯＭ（Digital  Versatile  Disk  Read  Only  Memory）、及び半導体メモリ等の有形の記録媒体に固定的に記録された状態で提供されてもよい。異常診断プログラムＰは、搬送波に重畳されたデータ信号として通信ネットワークを介して提供されてもよい。
【００７９】
次に、図８の（ａ）及び図８の（ｂ）を参照しながら、異常診断装置１、異常診断方法、異常診断プログラムＰ、及び記録媒体の作用効果を説明する。図８の（ａ）は、図１の異常診断装置における診断閾値を説明するための図である。図８の（ｂ）は、比較例に係る異常診断装置における診断閾値を説明するための図である。図８の（ａ）及び図８の（ｂ）の横軸は、学習データとして抽出されたデータセットの抽出件数を示す。図８の（ａ）及び図８の（ｂ）の縦軸は、異常度スコアを示す。なお、比較例に係る異常診断装置は、一定の診断閾値が用いられる点において、異常診断装置１と主に相違する。
【００８０】
正常な診断対象データの異常度スコアが診断閾値を下回り、異常な診断対象データの異常度スコアが診断閾値を上回るように、診断閾値は設定される必要がある。異常診断装置１、及び比較例に係る異常診断装置では、診断対象データと抽出条件を決定するための条件設定情報とを用いて抽出条件が決定され、抽出元データに含まれる複数のデータセットのうち、抽出条件を満たすデータセットの群が学習データとして抽出され、学習データからパターン認識手法に用いられる学習情報が作成される。このようにして作成された学習情報を用いて診断対象データを診断した場合、診断対象データが正常であっても、異常度スコアが取り得る値の範囲が、データセットの抽出件数に応じて異なる。具体的には、抽出件数が小さいほど、異常度スコアが取り得る値のばらつき（範囲）が大きい。
【００８１】
図８の（ｂ）に示されるように、比較例に係る異常診断装置では、診断閾値Ｄｔｈが、一定の異常度スコアに設定される。この場合、散布図（分布図）の領域Ｒ１に位置する診断対象データは、正常であるにもかかわらず、その異常度スコアが診断閾値Ｄｔｈよりも大きいので、異常と診断される。つまり、抽出件数が小さい場合には、正常な診断対象データを異常と診断する「誤検知」が発生する。また、散布図の領域Ｒ２に位置する診断対象データは、異常であるにもかかわらず、その異常度スコアが診断閾値Ｄｔｈよりも小さいので、正常と診断される。つまり、抽出件数が大きい場合には、異常な診断対象データを正常と診断する「未検知」が発生する。
【００８２】
比較例に係る異常診断装置は、誤検知対策として、抽出件数が所定の件数Ｎｔｈよりも小さい場合に、異常診断を行わないように構成されてもよい。件数Ｎｔｈは、診断結果（学習情報）の信頼性を維持できる抽出件数の下限値である。この場合、例えば、外部環境が大きく変化すると抽出件数が小さくなるので、異常診断が行われない。このため、診断能力が低下する。
【００８３】
これに対し、図８の（ａ）に示されるように、異常診断装置１では、抽出件数に応じて、診断閾値Ｄｔｈが変更される。具体的には、正常な診断対象データの異常度スコアが取り得る範囲を考慮して、学習データに含まれるデータセットの抽出件数に応じて診断閾値Ｄｔｈが変更される。つまり、学習情報と、学習データとして抽出されたデータセットの抽出件数に応じた診断閾値と、に基づいて、診断対象データが異常であるか否かが判断される。
【００８４】
より具体的には、診断閾値Ｄｔｈは、抽出件数が小さいほど大きい値に設定される。これにより、抽出件数が小さい場合には、異常度スコアがある程度大きくても診断対象データは正常と診断されるので、誤検知の発生を低減することが可能となる。また、抽出件数が件数Ｎｔｈよりも小さく、診断結果（学習情報）の信頼性が低い場合でも、異常診断を行うことが可能となる。さらに、診断閾値Ｄｔｈは、データセットの抽出件数が大きいほど、小さい値に設定される。これにより、抽出件数が大きい場合には、異常度スコアがあまり大きくなくても診断対象データは異常と診断されるので、未検知の発生を低減することが可能となる。その結果、診断精度を向上させることが可能となる。
【００８５】
例えば、診断対象データＤ１は、予兆レベルの小さな異常時のデータセットである。比較例に係る異常診断装置では、診断対象データＤ１は正常と診断され、未検知が発生する。一方、異常診断装置１では、診断対象データＤ１は異常と診断される。このように、異常診断装置１では、予兆レベルの小さな異常であっても検知可能となる。
【００８６】
閾値記憶部２３は、データセットの抽出件数とそれぞれ対応付けられた複数の閾値を管理する閾値テーブルを格納している。診断部１４は、閾値テーブルの複数の閾値から、抽出件数に対応付けられた閾値を診断閾値として選択する。このように、抽出件数に対応付けられた閾値を閾値記憶部２３から取得するだけで診断閾値が設定されるので、診断閾値の設定を簡易化することができる。
【００８７】
異常診断装置１では、抽出元データから、抽出件数ごとに異常度スコアが取り得る範囲を示す分布Ｍａが作成される。具体的には、抽出元データに含まれる複数のデータセットの部分集合である部分抽出元データと、抽出元データに含まれる複数のデータセットの部分集合である検証データ群と、が準備される。そして、検証データ群に含まれる検証データと、条件設定情報と、を用いて、部分抽出元データから閾値学習データが抽出され、閾値学習データから閾値学習情報が作成され、閾値学習情報を用いて検証データの異常度スコアが算出される。抽出元データに含まれる複数のデータセットのそれぞれは、機械システム２が正常な状態である場合のデータセットである。このため、抽出元データを用いて異常度スコアを算出することで、正常な診断対象データの異常度スコアが取り得る範囲を把握することができる。具体的には、各検証データについて算出された異常度スコアと、その異常度スコアを算出する際に用いられた閾値学習情報のもととなる閾値学習データに含まれるデータセットの抽出件数と、の関係を示す分布Ｍａが得られる。この分布Ｍａを用いて、データセットの抽出件数とそれぞれ対応付けられた複数の閾値を、正常な診断対象データの異常度スコアが取り得る範囲に基づいて設定することができるので、診断閾値を最適化することが可能となる。
【００８８】
設定部１７は、更新部１６によって抽出元データが更新されたことに応じて、閾値テーブルを再設定してもよい。この場合、正常なデータセットが追加されることにより抽出元データが更新されたことに応じて、閾値テーブルが再設定される。これにより、機械システム２の最新の状況を反映した複数の閾値から診断閾値が選択され得るので、診断精度をより一層向上させることが可能となる。
【００８９】
なお、本開示に係る異常診断装置、異常診断方法、異常診断プログラム、及び記録媒体は上記実施形態に限定されない。
【００９０】
例えば、上記実施形態では、異常診断装置１は１台の装置により構成されているが、異常診断装置１は複数の装置により構成されてもよい。
【００９１】
プロセッサ１０に代えて、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＰＬＤ（Programmable  Logic  Device）、及びＦＰＧＡ（Field  Programmable  Gate  Array）等が用いられてもよい。
【００９２】
図１に示された機能ブロックの区分は、一例であって、異常診断装置１は、その機能に応じて、別の機能ブロックに区分されてもよい。また、異常診断装置１の各機能部は、さらに細分化されてもよく、いくつかの機能部が１つの機能部に統合されてもよい。
【００９３】
また、機械システム２の正常な状態は、外的要因によって変化し得る。例えば、機械システム２のメンテナンスが行われた場合には、機械システム２の正常な状態は変化し得る。機械システム２のメンテナンスの例としては、機械システム２に設けられているセンサの交換が挙げられる。このため、抽出元データに格納されている各データセットは、正常な状態が変化する前のデータセットであるか正常な状態が変化した後のデータセットであるかを示す変更フラグをさらに含んでもよい。変更フラグは、デフォルトで正常な状態が変化した後のデータセットであることを示す。機械システム２のメンテナンスが行われた場合には、更新部１６は、メンテナンス完了時点よりも前の時刻を示す時刻情報を有するデータセットの変更フラグを、正常な状態が変化する前のデータセットを示すように設定する。そして、抽出部１２は、変更フラグを参照して、抽出元データに含まれる複数のデータセットのうち、正常な状態が変化した後のデータセットから、学習データを抽出してもよい。あるいは、更新部１６は、正常な状態が変化する前のデータセットを抽出元データから削除することで、抽出元データを更新してもよい。
【００９４】
この構成によれば、正常な状態が変化する前のデータセットが除外された上で、学習データが抽出されるので、抽出条件を満たすデータセットの探索に要する時間を低減することができる。また、正常な状態が変化する前のデータセットを抽出元データから削除することで、蓄積データ記憶部２１に保持されるデータセットの数を減らすことができ、蓄積データ記憶部２１の容量を削減することが可能となる。
【００９５】
異常診断装置１の操作者が入力装置を用いて蓄積データ記憶部２１に格納されているデータセットの状態フラグを変更可能に構成されていてもよい。例えば、誤検知であることが判明した場合に、状態フラグが異常であることを示すように変更されてもよい。
【００９６】
学習データに含まれるデータセットの抽出件数が大きいほど診断精度は向上するものの、抽出件数がある程度大きくなると、抽出件数がそれ以上増えたとしても、診断精度はほとんど変化しなくなる。一方、抽出件数が大きいほど、処理時間が掛かる。このため、抽出部１２は、データセットの抽出件数が上限数（上限値）を超えた場合には、抽出条件を満たすデータセットの群を、予め定められた基準であるソート基準でソートし（並び替え）、先頭から上限数分のデータセットを学習データとして抽出してもよい。上限数は、統計量を十分に説明可能な数であり、例えば、検定統計量である。上限数は、例えば１０００件程度に設定される。
【００９７】
ソート基準として、例えば、基準時点から近い順が用いられる。基準時点の例としては、機械システム２の診断時、及び機械システム２の出荷時が挙げられる。基準時点として診断時が用いられる場合には、抽出部１２は、抽出条件を満たすデータセットの群を日付（日時）の新しい順（つまり、診断対象データの診断時刻に近い順）にソートする。基準時点として機械システム２の出荷時が用いられる場合には、抽出部１２は、抽出条件を満たすデータセットの群を日付（日時）の古い順に（つまり、機械システム２の出荷時から順に）ソートする。
【００９８】
ソート基準として、基準値との差分の小さい順が用いられてもよい。基準値の例としては、診断対象データに含まれる複数の項目のうちのある項目のパラメータ値が挙げられる。具体的には、抽出部１２は、複数の項目のうちのある項目について、診断対象データに含まれるパラメータ値との差分（差の絶対値）が小さい順に、抽出条件を満たすデータセットの群をソートする。このような項目として、例えば、設定出力が用いられる。また、吸気温度等の外部環境を示す項目が選択されてもよい。ソート基準として、異常度スコアの小さい順が用いられてもよい。
【００９９】
この場合、設定部１７は、上限数までの抽出件数の範囲に対して、抽出件数ごとの閾値を設定しておけばよい。これにより、閾値テーブルが保持する閾値の数を減らすことができるので、閾値記憶部２３の容量を削減することができる。また、学習データに含まれるデータセットの最大数が上限数に制限される。このため、学習情報の作成等に要する時間の増加を抑制することができる。その結果、機械システム２の状況に応じた異常診断を行いつつ、診断に要する時間の増加を抑制することが可能となる。
【０１００】
上記実施形態では、設定部１７は、正常なデータセットのみを含む検証データ群を準備しているが、この検証データ群に加えて、異常検証データ群を準備してもよい。異常検証データ群に含まれる各検証データは、機械システム２が異常な状態である場合のデータセット（異常データセット）である。つまり、異常データセットは、機械システム２が異常な状態である場合の複数の項目のパラメータ値を含む。異常検証データ群は、例えば、異常診断装置１の操作者によって異常診断装置１に入力される。
【０１０１】
図９に示されるように、設定部１７は、異常検証データ群に含まれる各検証データについても、検証データ群と同様にして異常度スコアを算出し、抽出件数ごとの異常度スコアの分布Ｍｂをさらに作成する。設定部１７は、公知の分類手法（分類器等）を用いて、分布Ｍａと分布Ｍｂとを区切る境界線Ｂを算出する。設定部１７は、例えば、境界線Ｂによって示される抽出件数ごとの異常度スコアを、その抽出件数における閾値として設定する。この場合、正常な診断対象データの異常度スコアが取り得る範囲だけでなく、異常な診断対象データの異常度スコアが取り得る範囲を考慮して、抽出件数ごとの閾値が設定される。このため、診断閾値がさらに最適化されるので、診断精度をより一層向上させることが可能となる。
【符号の説明】
【０１０２】
１  異常診断装置
２  機械システム（診断対象システム）
３  外部装置
１０  プロセッサ
１１  取得部
１２  抽出部
１３  作成部
１４  診断部
１５  出力部
１６  更新部
１７  設定部
２０  記憶装置
２１  蓄積データ記憶部（第１記憶部）
２２  学習情報記憶部
２３  閾値記憶部（第２記憶部）
Ｐ  異常診断プログラム
【図１】
2020107027.tif 000003
【図２】
2020107027.tif 000004
【図３】
2020107027.tif 000005
【図４】
2020107027.tif 000006
【図５】
2020107027.tif 000007
【図６】
2020107027.tif 000008
【図７】
2020107027.tif 000009
【図８】
2020107027.tif 000010
【図９】
2020107027.tif 000011