(57)【要約】      （修正有）【課題】装置に異常があると判定された場合、装置の異常に関連するデータを特定する。【解決手段】異常診断装置は、所定の装置の動作に応じて値が変化する複数のデータを、第１データとして取得し、予め取得された複数のデータに基づいて構築された第１学習モデルと第１データとに基づいて、所定の装置の異常の有無を判定し、所定の装置に異常があると判定された場合、第１データから所定のパターンで第２データを選択して取得する取得部と、予め取得された複数のデータのうち第２データに対応するデータに基づいて構築された第２学習モデルと第２データとに基づいて、所定の装置の異常の有無を判定する判定部と、第１データのうち所定の装置の異常に関連するデータが特定可能となるまで取得部と判定部とを繰り返し動作させ、繰り返し動作した後の判定部の判定結果に基づいて、第１データのうち所定の装置の異常に関連するデータを特定する特定部と、を含む。【選択図】図９
2020170397.tif 000002
【特許請求の範囲】
【請求項１】
所定の装置の動作に応じて値が変化する複数のデータを、第１データとして取得する第１取得部と、
予め取得された前記複数のデータに基づいて構築された第１学習モデルと、前記第１データと、に基づいて、前記所定の装置の異常の有無を判定する第１判定部と、
前記所定の装置に異常があると判定された場合、前記第１データから所定のパターンで第２データを選択して取得する第２取得部と、
予め取得された前記複数のデータのうち前記第２データに対応するデータに基づいて構築された第２学習モデルと、前記第２データと、に基づいて、前記所定の装置の異常の有無を判定する第２判定部と、
前記第１データのうち前記所定の装置の異常に関連するデータが特定可能となるまで、前記第２取得部と、前記第２判定部とを繰り返し動作させる繰り返し処理部と、
前記繰り返し処理部が動作した後の前記第２判定部の判定結果に基づいて、前記第１データのうち前記所定の装置の異常に関連するデータを特定する特定部と、
を含む情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記第２取得部は、
前記第１データからｉ番目のデータを除く前記所定のパターンで、前記第２データを選択して取得し、
前記繰り返し処理部は、
前記ｉ番目のデータが、前記第１データに含まれる前記複数のデータの最後のデータとなるまで、前記第２取得部と、前記第２判定部とを繰り返し動作させること、
を特徴とする情報処理装置。
【請求項３】
請求項１または請求項２に記載の情報処理装置であって、
前記第２判定部は、
前記所定の装置に異常がないと判定した場合、第１の値を出力し、前記所定の装置に異常があると判定した場合、第２の値を出力すること、
を特徴とする情報処理装置。
【請求項４】
請求項１〜３の何れか一項に記載の情報処理装置であって、
前記第１学習モデルは、
予め取得された前記複数のデータを教師データとして構築されたモデルであり、
前記第２学習モデルは、
予め取得された前記前記複数のデータのうち前記第２データに対応するデータを教師データとして構築されたモデルであること、
を特徴とする情報処理装置。
【請求項５】
請求項１〜４の何れか一項に記載の情報処理装置であって、
前記所定の装置の異常に関連するデータを出力する出力部を含むこと、
を特徴とする情報処理装置。
【請求項６】
コンピュータが、
所定の装置の動作に応じて値が変化する複数のデータを、第１データとして取得する第１取得処理と、
予め取得された前記複数のデータに基づいて構築された第１学習モデルと、前記第１データと、に基づいて、前記所定の装置の異常の有無を判定する第１判定処理と、
前記所定の装置に異常があると判定された場合、前記第１データから所定のパターンで選択された第２データを取得する第２取得処理と、
予め取得された前記複数のデータのうち前記第２データに対応するデータに基づいて構築された第２学習モデルと、前記第２データと、に基づいて、前記所定の装置の異常の有無を判定する第２判定処理と、
前記第２取得処理と、前記第２判定処理とを繰り返し実行させる繰り返し処理と、
前記繰り返し処理が実行された後の前記第２判定処理の判定結果に基づいて、前記第１データのうち前記所定の装置の異常に関連するデータを特定する特定処理と、
を実行する、情報処理方法。
【請求項７】
コンピュータに、
所定の装置の動作に応じて値が変化する複数のデータを、第１データとして取得する第１取得処理と、
予め取得された前記複数のデータに基づいて構築された第１学習モデルと、前記第１データと、に基づいて、前記所定の装置の異常の有無を判定する第１判定処理と、
前記所定の装置に異常があると判定された場合、前記第１データから所定のパターンで選択された第２データを取得する第２取得処理と、
予め取得された前記複数のデータのうち前記第２データに対応するデータに基づいて構築された第２学習モデルと、前記第２データと、に基づいて、前記所定の装置の異常の有無を判定する第２判定処理と、
前記第２取得処理と、前記第２判定処理とを繰り返し実行させる繰り返し処理と、
前記繰り返し処理が実行された後の前記第２判定処理の判定結果に基づいて、前記第１データのうち前記所定の装置の異常に関連するデータを特定する特定処理と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、装置に取り付けられた複数のセンサからのデータに基づいて構築された学習モデルと、装置が動作している際のデータとに基づいて、装置の異常検知が実施されることがある（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−１０２７６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、学習モデルは、一般的に複雑な関数で表される。このため、装置の異常検知がされた際に、例えば学習モデルから、装置の異常に関連するデータを特定することは難しい。
【０００５】
本発明は、上記のような従来の問題に鑑みてなされたものであって、装置に異常があると判定された場合、装置の異常に関連するデータを特定する技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
前述した課題を解決する主たる本発明は、所定の装置の動作に応じて値が変化する複数のデータを、第１データとして取得する第１取得部と、予め取得された前記複数のデータに基づいて構築された第１学習モデルと、前記第１データと、に基づいて、前記所定の装置の異常の有無を判定する第１判定部と、前記所定の装置に異常があると判定された場合、前記第１データから所定のパターンで第２データを選択して取得する第２取得部と、予め取得された前記複数のデータのうち前記第２データに対応するデータに基づいて構築された第２学習モデルと、前記第２データと、に基づいて、前記所定の装置の異常の有無を判定する第２判定部と、前記第１データのうち前記所定の装置の異常に関連するデータが特定可能となるまで、前記第２取得部と、前記第２判定部とを繰り返し動作させる繰り返し処理部と、前記繰り返し処理部が動作した後の前記第２判定部の判定結果に基づいて、前記第１データのうち前記所定の装置の異常に関連するデータを特定する特定部と、を含む情報処理装置である。
【発明の効果】
【０００７】
本発明によれば、装置に異常があると判定された場合、装置の異常に関連するデータを特定することができる。
【図面の簡単な説明】
【０００８】
【図１】異常診断システム１０の構成を示す図である。
【図２】モデル構築装置２０のハードウェア構成の一例を示す図である。
【図３】記憶装置３２に記憶される情報の一例を示す図である。
【図４】データセット４１の一例を示す図である。
【図５】モデル構築装置２０に実現される機能ブロックの一例を示す図である。
【図６】モデル構築装置２０で実行される処理の一例を示すフローチャートである。
【図７】異常診断装置２１のハードウェア構成の一例を示す図である。
【図８】異常診断装置２１に実現される機能ブロックの一例を示す図である。
【図９】異常診断装置２１で実行される処理の一例を示すフローチャートである。
【図１０】データの取得パターンＡ及び判定結果の一例を示す図である。
【図１１】データの取得パターンＢ及び判定結果の一例を示す図である。
【発明を実施するための形態】
【０００９】
本明細書及び添付図面の記載により、少なくとも以下の事項が明らかとなる。
＝＝＝＝＝本実施形態＝＝＝＝＝
＜＜＜異常診断システム１０の構成＞＞＞
図１は、本発明の一実施形態である異常診断システム１０の構成を示す図である。異常診断システム１０は、例えば、商業施設に設置されたショーケース３００の異常を診断するためのシステムであり、モデル構築装置２０、異常診断装置２１を含む。
【００１０】
ショーケース３００は、例えば、食品等を冷却し、保管するための装置であり、コンプレッサ（不図示）等を含む。ショーケース３００には、ショーケース３００の状態を観測するセンサ３１０が、例えばｎ個取り付けられている。なお、図１では、便宜上、ｎ個のセンサ３１０は、１つのブロックとして描かれている。
【００１１】
また、詳細は後述するが、異常診断システム１０は、ｎ個のセンサの夫々から出力されるデータｘ１〜ｘｎの値と、後述する学習モデルと、に基づいて、ショーケース３００の異常を検知するとともに、異常の原因に関連するデータを特定する。
【００１２】
モデル構築装置２０は、ショーケース３００の異常を検知するためのモデルと、異常の原因を特定するためのモデルと、を構築する。なお、これらのモデルの詳細については後述する。
【００１３】
異常診断装置２１（情報処理装置）は、運転中のショーケース３００から出力されるデータｘ１〜ｘｎと、モデル構築装置２０で構築されたモデルとに基づいて、ショーケース３００の異常の有無と、異常の原因に関連するデータを特定する。なお、モデル構築装置２０と、異常診断装置２１とは、ネットワーク２５を介して接続されている。
＜＜＜モデル構築装置２０について＞＞＞
＝＝モデル構築装置２０の構成＝＝
図２は、モデル構築装置２０のハードウェア構成の一例を示す図である。モデル構築装置２０は、ＣＰＵ（Central Processing Unit）３０、メモリ３１、記憶装置３２、入力装置３３、表示装置３４、及び通信装置３５を含むコンピュータである。
【００１４】
ＣＰＵ３０は、メモリ３１や記憶装置３２に格納されたプログラムを実行することにより、モデル構築装置２０における様々機能を実現する。
【００１５】
メモリ３１は、例えばＲＡＭ（Random-Aaccess Mmemory）等であり、プログラムやデータ等の一時的な記憶領域として用いられる。
【００１６】
記憶装置３２は、ＣＰＵ３０によって実行されるプログラムや、処理される各種データを格納する不揮発性の記憶装置である。
【００１７】
入力装置３３は、ユーザによるコマンドやデータの入力を受け付ける装置であり、キーボード、タッチパネルディスプレイ上でのタッチ位置を検出するタッチセンサなどの入力インタフェースを含む。
【００１８】
表示装置３４は、例えばディスプレイなどの装置であり、通信装置３５は、ネットワーク２５を介して、異常診断装置２１や他のコンピュータと各種プログラムやデータの受け渡しを行う。
＝＝記憶装置３２の情報＝＝
図３は、記憶装置３２に記憶される情報の一例を示す図である。記憶装置３２は、制御プログラム４０、データセット４１、学習モデルＭ０，Ｍ１〜Ｍｎを含む。
【００１９】
制御プログラム４０は、モデル構築装置２０が有する各種機能を実現するためのプログラムを総称しており、例えば、ＯＳ（Operating System）等を含む。
【００２０】
データセット４１は、図４に示すように、例えば、異なる時刻に測定されたデータｘ１〜ｘｎと、測定されたデータｘ１〜ｘｎが正常データであるか異常データであるかを示す“ラベルｙ”と、を含む。なお、「正常データ」とは、ショーケース３００の動作が正常である際のデータであり、これらのデータには、“ラベルｙ”として“正常”を示す“０”が付される。また、「異常データ」とは、ショーケース３００の動作が異常である際のデータであり、これらのデータには、“異常”を示す“ラベルｙ”として“１”が付される。例えば、時刻ｔ１に測定されたデータｘ１〜ｘｎ（サンプル番号１のデータ）は、“ラベルｙ”が“０”であるため、ショーケース３００が正常時のデータである。
【００２１】
ここで、データｘ１は、例えば、ショーケース３００の所定の場所に取り付けられた温度センサからの出力であり、データｘ２は、コンプレッサの冷媒の流量を計測する流量計からの出力である。また、データｘｎは、例えば、ショーケース３００内のコンプレッサの圧力を計測する圧力センサからの出力である。なお、他のデータについても、ｘ１，ｘ２等と同様であるため、ここでは詳細な説明は省略する。また、データセット４１は、予め記憶装置３２に格納されていることとする。
【００２２】
学習モデルＭ０（第１学習モデル）は、ショーケース３００に異常が有るか否かを、ｎ個のデータｘ１〜ｘｎから判別するための判別式、あるいは数式（以下、まとめて「関数」と称する。）を含んで構成される。学習モデルＭ０の学習が行われると、“関数”の係数等が調整され、異常検出の精度が変化する。なお、本実施形態において、学習モデルＭ０の“関数”は、ｙ＝ｆ（ｘ１，ｘ２，〜，ｘｎ）と表される。
【００２３】
学習モデルＭ１〜Ｍｎ（第２学習モデル）は、ショーケース３００に異常が有ると判定された場合、異常に関連するデータを特定するために用いられるモデルである。具体的には、学習モデルＭｉ（ｉ＝１〜ｎ）は、除去されたｉ番目のデータｘｉが異常の原因に関連しているか否かを判定するためのモデルである。
【００２４】
例えば、学習モデルＭ１は、ｎ個のデータから、１番目のデータｘ１を除去したｎ−１個のデータｘ２〜ｘｎに基づいて、ショーケース３００に異常が有るか否かを判別するための関数を含む。つまり、学習モデルＭ１の“関数”は、ｙ＝ｆ（ｘ２，〜，ｘｎ）と表される。このような学習モデルＭ１が用いられ、ショーケース３００に異常が有ると判定されると、１番目のデータｘ１は、異常の原因に関連していないことになる。一方、学習モデルＭ１が用いられ、ショーケース３００に異常が無いと判定されると、除去された１番目のデータｘ１が、異常の原因に関連していることになる。
【００２５】
学習モデルＭ２は、ｎ個のデータから、２番目のデータｘ２を除去したｎ−１個のデータｘ１，ｘ３〜ｘｎに基づいて、ショーケース３００に異常が有るか否かを判別するための関数を含む。つまり、学習モデルＭ１の“関数”は、ｙ＝ｆ（ｘ１，ｘ３，〜，ｘｎ）と表される。したがって、学習モデルＭ２は、学習モデルＭ１と同様に、除去された２番目のデータｘ２が異常の原因に関連しているか否かを判定するためのモデルである。
【００２６】
学習モデルＭ３〜Ｍｎも、学習モデルＭ１，Ｍ２と同様であるため、ここでは詳細な説明は省略する。
＝＝機能ブロック＝＝
図５は、モデル構築装置２０に実現される機能ブロックの一例を示す図である。モデル構築装置２０のＣＰＵ３０が、制御プログラム４０を実行することにより、モデル構築装置２０には、取得部５０、前処理部５１、モデル構築部５２及び判定部５３が実現される。
【００２７】
取得部５０は、記憶装置３２に格納されたデータセット４１を取得し、前処理部５１は、取得されたデータセット４１のデータｘ１〜ｘｎに所定の処理を施す。具体的には、前処理部５１は、例えば、ｎ個のデータの夫々を標準化する。
【００２８】
ここで、「標準化」とは、同じ属性のデータに含まれる最大値（“ｍａｘ”）と、最小値（“ｍｉｎ”）とを用いて、同じ属性のデータの値が０〜１までの範囲に含まれるよう、データの値を変換することをいう。このため、データｘ１の“ｍ”番目のデータであるデータｘ１ｍは、下記の式（１）で標準化されることになる。
【００２９】
ｘ１ｍ（ｎｅｗ）＝（ｘ１ｍ−ｍｉｎ）／（ｍａｘ−ｍｉｎ）・・・（１）
なお、ここで、“ｘ１ｍ（ｎｅｗ）”は、“ｍ”番目データｘ１ｍが標準化された際のデータである。このような処理がデータｘ１〜ｘｎの夫々に施されることにより、後述する学習モデル（関数）の係数等の調整が容易になる。なお、本実施形態では、前処理部５１は、データｘ１〜ｘｎに標準化の処理を施すこととしたが、正規化等、他の処理を施しても良い。
【００３０】
モデル構築部５２は、前処理が施されたデータセット４１の“０”のラベルが付された正常データと、“１”のラベルが付された異常データと、を教師データとして、学習モデルＭ０，Ｍ１〜Ｍｎの学習を行う。
【００３１】
具体的には、モデル構築部５２は、データセット４１の全ての変数（データｘ1〜ｘｎ）の正常データと、異常データとを教師データとして、例えば、サポートベクターマシーン（ＳＶＭ）等の学習方法を用いて、学習モデルＭ０を構築する。
【００３２】
また、モデル構築部５２は、データセット４１から１番目（ｉ＝１）の変数であるデータｘ1を除去した正常データと、異常データとを教師データとして、サポートベクターマシーンの機械学習を行い、学習モデルＭ１を構築する。
【００３３】
つまり、モデル構築部５２は、データセット４１からｉ番目の変数であるデータｘｉを除去した正常データと、異常データとを教師データとして、サポートベクターマシーンの機械学習を行う、学習モデルＭｉ（ｉ＝１〜ｎ）を求める。
【００３４】
また、ここでは、サポートベクターマシーンの学習方法を用いて、学習モデルＭ０〜Ｍｎを求めることとしたが、これに限られず、例えば、ニューラルネットワーク等の分類モデルや、他の回帰モデルを用いて学習モデルＭ０〜Ｍｎを構築しても良い。また、判定部５３は、ｎ＋１個の全ての学習モデルＭ０〜Ｍｎが構築されたか否かを判定する。
＜＜モデル構築処理Ｓ１０＞＞
図６は、モデル構築装置２０が実行する処理の一例を示すフローチャートである。まず、取得部５０は、記憶装置３２に格納されたデータセット４１を取得する（Ｓ２０）。そして、前処理部５１は、データセット４１に含まれる全サンプルのデータｘ１〜ｘｎに対し、標準化の処理を施す（Ｓ２１）。
【００３５】
モデル構築部５２は、標準化されたデータセット４１の全ての変数（データｘ1〜ｘｎ）の正常データと、異常データとを教師データとして、サポートベクターマシーンの学習方法を用いて、学習モデルＭ０を構築する（Ｓ２２）。
【００３６】
また、モデル構築部５２は、データｘ１〜ｘｎのうち、１番目のデータｘ１を選択して除去すべく、変数ｉを“１”に設定する（Ｓ２３）。そして、モデル構築部５２は、データｘ１〜ｘｎから、ｉ番目のデータを除去し、残りのデータを選択する（Ｓ２４）。
【００３７】
さらに、モデル構築部５２は、処理Ｓ２４で選択したデータを教師データとして、学習モデルＭｉを構築する（Ｓ２５）。判定部５３は、ｎ＋１個の全ての学習モデルＭ０〜Ｍｎが構築されたか否かを判定する（Ｓ２６）。全ての学習モデルが構築されていない場合（Ｓ２６：Ｎｏ）、モデル構築部５２は、変数ｉを“１”だけインクリメントする（Ｓ２７）。この結果、変数ｉがインクリメントされる前に選択されていたデータの次のデータが除去され（Ｓ２４）、学習モデルが構築される（Ｓ２５）。このように、処理Ｓ２４〜Ｓ２７が繰り返されることにより、順次学習モデルＭ１〜Ｍｎが構築される。
【００３８】
一方、全ての学習モデルが構築された場合（Ｓ２６：Ｙｅｓ）、モデル構築部５２は、全ての学習モデルＭ０〜Ｍｎを、記憶装置３２に格納する（Ｓ２８）。
＜＜＜異常診断装置２１について＞＞＞
＝＝異常診断装置２１の構成＝＝
図７は異常診断装置２１のハードウェア構成の一例を示す図である。異常診断装置２１は、ＣＰＵ７０、メモリ７１、記憶装置７２、入力装置７３、表示装置７４、及び通信装置７５を含むコンピュータである。なお、異常診断装置２１のハードウェア構成は、モデル構築装置２０のハードウェア構成と同じであるため、ここでは詳細な説明は省略する。
【００３９】
記憶装置７２は、学習モデルＭ０〜Ｍｎ、診断プログラム８０、及び診断データ８１を記憶する。学習モデルＭ０〜Ｍｎは、モデル構築装置２０で予め構築されたモデルである。
【００４０】
診断プログラム８０は、制御プログラム４０と同様に、異常診断装置２１が有する各種機能を実現するためのプログラムである。
【００４１】
診断データ８１は、ショーケース３００に異常が有るか否かを診断した診断結果を示すデータである。
＝＝機能ブロック＝＝
図８は、異常診断装置２１に実現される機能ブロックの一例を示す図である。ＣＰＵ７０が、診断プログラム８０を実行することにより、ＣＰＵ７０には、異常診断装置２１には、第１取得部１００、前処理部１０１、第１判定部１０２、第２取得部１０３、第２判定部１０４、繰り返し処理部１０５、特定部１０６、及び出力部１０７が実現される。
【００４２】
第１取得部１００は、センサ３１０から出力されるデータｘ１〜ｘｎを、所定間隔毎（例えば、１０分毎）に、「取得データ（第１データ）」として取得する。前処理部１０１は、第１取得部１００が取得した取得データに対し、“標準化”の処理を施す。
【００４３】
第１判定部１０２は、標準化の処理が施された取得データと、全変数（データｘ１〜ｘｎ）で構築された学習モデルＭ０とに基づいて、ショーケース３００の異常の有無を判定する。なお、第１判定部１０２は、ショーケース３００に異常がないと判定した場合、判定結果として“０”を出力し、ショーケース３００に異常があると判定した場合、判定結果として“１”を出力する。
【００４４】
第２取得部１０３は、第１判定部１０２が、ショーケース３００に異常が有ると判定した場合、ｎ個の取得データ（データｘ１〜ｘｎ）のうち、ｉ番目のデータを除くパターン（以下、パターンＡｉと称する。）で選択されたｎ−１個のデータ（第２データ）を取得する。
【００４５】
第２判定部１０４は、ｉ番目のデータを除いて選択されたデータと、ｉ番目のデータを除いて構築された学習モデルＭｉと、に基づいて、ショーケース３００の異常の有無を判定する。なお、第２判定部１０４も、第１判定部１０２と同様に、ショーケース３００に異常が無いと判定した場合、判定結果として“０（第１の値）”を出力し、ショーケース３００に異常があると判定した場合、判定結果として“１（第２の値）”を出力する。
【００４６】
繰り返し処理部１０５は、ショーケース３００の異常に関連するデータが特定可能となるまで、第２取得部１０３、第２判定部１０４の処理を実行させる。具体的には、繰り返し処理部１０５は、ｉ番目のデータが最後のデータ（ここでは、データｘｎ）となるまで、第２取得部１０３、第２判定部１０４の処理を繰り替えし実行させる。
【００４７】
特定部１０６は、第２判定部１０４の判定結果に基づいて、ショーケース３００の異常に関連するデータを特定する。
【００４８】
出力部１０７は、異常の有無や、特定部１０６で特定されたデータに関する情報を、記憶装置７２に格納するとともに、表示装置７４や管理者の端末（不図示）に出力する。以下、各機能ブロックの詳細を、異常診断装置２１で実行される判定処理とともに説明する。
＜＜異常診断処理Ｓ１１＞＞
まず、図９に示すように、第１取得部１００は、センサ３１０からのデータｘ１〜ｘｎを取得する（Ｓ５０：第１取得処理）。そして、前処理部１０１は、取得データ（ｘ１，〜，ｘｎ）に対し、“標準化”の処理を施す（Ｓ５１）。
【００４９】
標準化処理Ｓ５１が実行されると、第１判定部１０２は、標準化がされた取得データと、学習モデルＭ０とに基づいて、ショーケース３００に異常が有るか否かを判定する（Ｓ５２：第１判定処理）。第１判定部１０２がショーケース３００に異常が無いと判定すると（Ｓ５３：Ｎｏ）、出力部１０７は、診断結果等（後述）を、診断データ８１として記憶装置７２に格納するとともに、表示装置７４や管理者の端末（不図示）に出力する（Ｓ６０）。
【００５０】
一方、第１判定部１０２がショーケース３００に異常が有ること判定すると（Ｓ５３：Ｙｅｓ）、第２取得部１０３は、取得データのうち、ｉ番目のデータを除去するための変数ｉに、“１”に設定する（Ｓ５４）。
【００５１】
そして、第２取得部１０３は、取得データからｉ番目のデータを除いたパターンＡｉ（所定のパターン）で、残りのデータを選択し、取得する（Ｓ５５：第２取得処理）。図１０は、４個のデータｘ１〜ｘ４でのパターン及び判定結果を示す図である。例えば、取得データ（ｘ１〜ｘ４）から１番目（ｉ＝１）のデータを除いた“パターンＡ１”の場合、データｘ１が除かれ、残りのデータｘ２〜ｘ４が選択され、取得される。
【００５２】
第２判定部１０４は、ｉ番目のデータが除去されて所得されたデータと、ｉ番目のデータを除いて構築された学習モデルＭｉと、に基づいて、ショーケース３００の異常の有無を判定する（Ｓ５６：第２判定処理）。例えば、図１０の“パターンＡ１”の場合、データｘ２〜ｘ４と、学習モデルＭ１とに基づいて、異常判定が実行される。なお、図１０においては、例えば、“データｘ２”がショーケース３００の異常に関連するデータであり、“パターンＡ１”には、“データｘ２”が含まれている。このため、第２判定部１０４は、“パターンＡ１”のデータｘ２〜ｘ４と、学習モデルＭ１を用いて異常判定を実施すると、“異常が有る”ことを示す判定結果“１”を出力する。
【００５３】
そして、繰り返し処理部１０５は、除去されるｉ番目のデータが、データｘ１〜ｘｎのうち、ｎ番目のデータ、つまり、最後のデータｘｎとなったか否かを判定する（Ｓ５７）。ｉ番目のデータが、最後のデータでない場合（Ｓ５７：Ｎｏ）、繰り返し処理部１０５は、変数ｉを“１”だけインクリメントし（Ｓ５８）、処理Ｓ５５を繰り返し実行させる。この結果、ｉ番目のデータが、最後のデータｘｎとなるまで、処理Ｓ５５〜Ｓ５８が繰り返される。なお、処理Ｓ５７及び処理Ｓ５８は、繰り返し処理に相当する。
【００５４】
処理Ｓ５５〜Ｓ５８が繰り返されると、例えば図１０に示すように、“パターンＡ１”以外に、データｘ２が除去された際の“パターンＡ２”、データｘ３が除去された際の“パターンＡ３”、データｘ４が除去された際の“パターンＡ４”の夫々の判定結果が得られることになる。なお、上述のように、ここでは、データｘ２が異常に関連するデータであるため、データｘ２が除去された“パターンＡ２”の判定結果のみが正常（“０”）となる。
【００５５】
そして、ｉ番目のデータが、最後のデータである場合（Ｓ５７：Ｙｅｓ）、特定部１０６は、第２判定部１０４の判定結果に基づいて、ショーケース３００の異常に関連するデータを特定する（Ｓ５９：特定処理）。図１０の例では、データｘ２が除去された“パターンＡ２”の判定結果のみが正常（“０”）となり、他のパターンの判定結果は、異常（“１”）となる。このような場合、特定部１０６は、データｘ２を、ショーケース３００の異常に関連するデータと特定する。
【００５６】
また、出力部１０７は、診断結果等を、記憶装置７２に格納するとともに、表示装置７４や管理者の端末（不図示）に出力する（Ｓ６０）。なお、処理Ｓ５３で異常がないと判定された場合（Ｓ５３：Ｎｏ）、出力部１０７は、ショーケース３００に異常がないことを示す診断結果を出力する。一方、処理Ｓ５９が実行された場合、出力部１０７は、ショーケース３００に異常があること、及び異常に関連するデータを含む情報を出力する。この結果、ショーケース３００の利用者や管理者等は、ショーケース３００の診断結果を正確に把握できる。
＜＜他のパターン＞＞
上述した実施例では、例えば４個のデータｘ１〜ｘ４のうち、ｉ番目のデータが除かれて取得されることとしたが、これに限られない。
【００５７】
例えば、図１１に示すように、データｘ４は除かれず、３個のデータｘ１〜ｘ３のから、２個のデータが順次除かれて取得されることとしても良い。このような場合、例えば、データｘ１，ｘ２が除去される“パターンＢ１”と、データｘ１，ｘ３が除去される“パターンＢ２”と、データｘ２，ｘ３が除去される“パターンＢ３”とが実行されることになる。
【００５８】
そして、パターンＢ１〜Ｂ３の夫々に対する学習モデルが予め記憶装置７２に格納されている場合、上述した実施例と同様に、データｘ１〜ｘ４のうち、異常に関連するデータを特定できる。
【００５９】
例えば、データｘ２が異常に関連するデータである場合、図１１に示すよう、“パターンＢ２”の判定結果のみが異常（“１”）を示す結果となる。また、仮に、データｘ４が異常に関連するデータである場合、パターンＢ１〜Ｂ３の全ての判定結果が異常を示す。
【００６０】
したがって、このような場合であっても、ショーケース３００に異常がある場合、異常に関連するデータの特定が可能となる。ただし、パターンＢ１〜Ｂ３の夫々に対する学習モデルは、（ｘ３，ｘ４），（ｘ２，ｘ４），（ｘ１，ｘ４）を教師データとして予め構築される必要がある。
＝＝＝まとめ＝＝＝
以上、本実施形態の異常診断システム１０について説明した。異常診断装置２１における第２判定部１０４の判定結果は、取得データに、ショーケース３００の異常に関連するデータが含まれているか否かにより変化する。したがって、本実施形態の特定部１０６は、このような判定結果の変化に基づいて、ショーケース３００の異常に関連するデータを特定することができる。したがって、例えば、学習モデルＭ０が非線形の関数を含む場合であっても、異常に関するデータを特定でき、異常の原因の推定が可能となる。
【００６１】
また、第２判定部１０４は、例えば、ｉ番目のデータを除いて選択されたデータと、ｉ番目のデータを除いて構築された学習モデルＭｉと、に基づいて、ショーケース３００に異常があるか否かを判定する。そして、繰り返し処理部１０５は、取得データの最後のデータが除去されるまで、第２判定部１０４の動作を繰り返し実行させる。このような処理が実行されることにより、取得データに含まれるデータが、装置の異常に関連するか否かを適切に判定できる。
【００６２】
また、例えば、第２判定部１０４は、ショーケース３００の異常の有無を、０〜１の間で変化する値、つまり、異常があるか否かを示す指標（例えば、確率）を出力しても良い。ただし、このような場合、異常なしを示す“０”と、異常ありを示す“１”とが出力される場合と比較すると、判定結果から異常に関連するデータを特定する処理が複雑となる。本実施形態の第２判定部１０４は、“０”または“１”を出力するため、異常に関連するデータを容易に特定できる。
【００６３】
また、学習モデルＭ０〜Ｍｎは、教師データに基づいて構築されたモデルであるため、例えば、教師データを用いずに構築されたモデルと比較すると、精度良くショーケース３００の異常を検出できる。
【００６４】
また、出力部１０７は、異常判定の結果や異常に関するデータを、例えば、表示装置７４や管理者の端末等に出力する。このため、ショーケース３００の利用者や管理者等は、ショーケース３００の異常や診断結果を直ちに把握できる。
【００６５】
上記の実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。また、本発明は、その趣旨を逸脱することなく、変更や改良され得るとともに、本発明にはその等価物が含まれるのはいうまでもない。
【００６６】
例えば、本実施形態の異常診断システム１０は、ショーケース３００の異常診断を実施したが、他の装置や機器、設備であっても良い。
【符号の説明】
【００６７】
１０  異常診断システム
２０  モデル構築装置
２１  異常診断装置
２５  ネットワーク
３０，７０  ＣＰＵ
３１，７１  メモリ
３２，７２  記憶装置
３３，７３  入力装置
３４，７４  表示装置
３５，７５  通信装置
４０  制御プログラム
４１  データセット
Ｍ０〜Ｍｎ  学習モデル
５０  取得部
５１，１０１  前処理部
５２  モデル構築部
８０  診断プログラム
８１  診断データ
１００  第１取得部
１０２  第１判定部
１０３  第２取得部
１０４  第２判定部
１０５  繰り返し処理部
１０６  特定部
１０７  出力部
【図１】
2020170397.tif 000003
【図２】
2020170397.tif 000004
【図３】
2020170397.tif 000005
【図４】
2020170397.tif 000006
【図５】
2020170397.tif 000007
【図６】
2020170397.tif 000008
【図７】
2020170397.tif 000009
【図８】
2020170397.tif 000010
【図９】
2020170397.tif 000011
【図１０】
2020170397.tif 000012
【図１１】
2020170397.tif 000013