(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-15
(45)【発行日】2024-04-23
(54)【発明の名称】要因分析装置、要因分析方法、及び要因分析プログラム
(51)【国際特許分類】
G05B 23/02 20060101AFI20240416BHJP
【FI】
G05B23/02 302Y
G05B23/02 301Y
(21)【出願番号】P 2020114148
(22)【出願日】2020-07-01
【審査請求日】2022-08-04
(73)【特許権者】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(74)【代理人】
【識別番号】110000578
【氏名又は名称】名古屋国際弁理士法人
(72)【発明者】
【氏名】森部 敦
【審査官】松本 泰典
(56)【参考文献】
【文献】特開2020-035407(JP,A)
【文献】特開2013-041448(JP,A)
【文献】特開2011-141658(JP,A)
【文献】特開2007-198918(JP,A)
【文献】特開2008-215113(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 23/02
(57)【特許請求の範囲】
【請求項1】
記憶装置(107)に保存されている正常モデルを取得するように構成されたモデル取得部(108)と、
機器が有する複数の系統の各々の監視対象データを取得するように構成された監視対象データ取得部(101)と、
前記複数の系統の各々に対して、前記正常モデルと前記監視対象データに基づいた値との距離を算出するように構成された距離算出部(108)と、
前記複数の系統の各々について、前記距離算出部により算出された前記距離と残りの系統の各々の前記距離との差分を算出し、算出された前記差分を足し合わせて差分和を算出し、算出された前記差分和を用いてパレート図を作成し、作成された前記パレート図に基づいて、前記複数の系統のうちから異常要因である系統を特定するように構成された要因分析部(110)と、
前記要因分析部により作成された前記パレート図を表示するように構成された表示部(111)と、を備える、
要因分析装置。
【請求項2】
状態観測器を生成するように構成された状態観測器生成部(104)と、
前記複数の系統の各々の学習対象データを取得するように構成された学習対象データ取得部(101)と、
前記学習対象データを前記状態観測器に入力して得られる第1状態観測値と、前記学習対象データとを結合して、競合型ニューラルネットワークに入力することにより前記正常モデルを生成するように構成された正常モデル生成部(105)と、を更に備え、
前記監視対象データに基づいた値は、前記監視対象データを前記状態観測器に入力して得られる第2状態観測値と、前記監視対象データとを結合した値に相当する、
請求項
1に記載の要因分析装置。
【請求項3】
記憶装置から正常モデルを取得し、
複数の系統のそれぞれの監視対象データを取得し、
前記複数の系統の各々に対して、前記正常モデルと前記監視対象データに基づいた値との距離を算出し、
前記複数の系統の各々について、算出された前記距離と残りの系統の各々の前記距離との差分を算出し、
算出された前記差分を足し合わせて差分和を算出し、
算出された前記差分和を用いてパレート図を作成し、
作成された前記パレート図に基づいて、前記複数の系統のうちから異常要因である系統を特定し、
作成された前記パレート図を表示する、
要因分析方法。
【請求項4】
記憶装置から正常モデルを取得し、
複数の系統のそれぞれの監視対象データを取得し、
前記複数の系統の各々に対して、前記正常モデルと前記監視対象データに基づいた値との距離を算出し、
前記複数の系統の各々について、算出された前記距離と残りの系統の各々の前記距離との差分を算出し、
算出された前記差分を足し合わせて差分和を算出し、
算出された前記差分和を用いてパレート図を作成し、
作成された前記パレート図に基づいて、前記複数の系統のうちから異常要因である系統を特定し、
作成された前記パレート図を表示する、
コンピュータで実行可能な要因分析プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、機器、特に自動車などの輸送機器や農具機器、建設機器の異常の要因を分析する装置に関する。
【背景技術】
【0002】
近年、機械学習を用いた各種機器の異常検知が提案されている。特許文献1に記載の異常監視装置は、回転機器等の設備の異常の有無を診断する。具体的には、上記異常監視装置は、競合型ニューラルネットワークを用いて、実センサ観測値を万遍なく学習させることにより、回転数、経年劣化、日時、季節等によって正常状態にばらつきがある場合でも、異常の有無を適切に診断している。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
機器の異常が検知された場合、機器の品質管理等のため、異常に寄与する要因を分析することが求められる。
本開示の1つの局面は、異常要因を適切に分析することが可能な要因分析装置を提供することを目的とする。
【課題を解決するための手段】
【0005】
本開示の1つの局面の要因分析装置は、モデル取得部(108)と、監視対象データ取得部(101)と、距離算出部(108)と、要因分析部(110)と、を備える。モデル取得部は、記憶装置(107)に保存されている正常モデルを取得するように構成される。監視対象データ取得部は、機器が有する複数の系統の各々の監視対象データを取得するように構成される。距離算出部は、複数の系統の各々に対して、正常モデルと監視対象データに基づいた値との距離を算出するように構成される。要因分析部は、距離算出部により算出された距離に基づいて、複数の系統のうちから異常要因である系統を特定するように構成される。
【0006】
本開示の1つの局面の要因分析装置によれば、各系統に対して、正常モデルと監視対象データに基づいた値との距離が算出される。算出された距離は、正常モデルからの各系統の乖離量に相当する。すなわち、複数の系統のうち距離が比較的大きい系統は、正常モデルからの乖離量が比較的大きく、全体の異常に対して寄与が大きい要因に相当する。したがって、算出された各系統の距離に基づいて、異常要因を適切に分析することができる。
【0007】
本開示の別の1つの局面の要因分析方法は、記憶装置から正常モデルを取得し、複数の系統のそれぞれの監視対象データを取得し、複数の系統の各々に対して、正常モデルと監視対象データに基づいた値との距離を算出し、距離に基づいて、複数の系統のうちから異常要因である系統を特定する。
本開示の別の1つの局面の要因分析方法によれば、上述の要因分析装置と同様の効果を奏する。
【0008】
本開示のさらに別の1つの局面の要因分析プログラムによれば、記憶装置から正常モデルを取得し、複数の系統のそれぞれの監視対象データを取得し、複数の系統の各々に対して、正常モデルと監視対象データに基づいた値との距離を算出し、距離に基づいて、複数の系統のうちから異常要因である系統を特定することを、コンピュータで実行可能である。
【0009】
本開示のさらに別の1つの局面の要因分析プログラムによれば、上述の要因分析装置と同様の効果を奏する。
【図面の簡単な説明】
【0010】
【
図1】本開示の第1実施形態に係る要因分析装置の構成を説明するブロック図である。
【
図2】本開示の第1実施形態に係る学習処理を示すフローチャートである。
【
図3】本開示の第1実施形態に係る状態観測器の生成処理を示すフローチャートである。
【
図4】本開示の第1実施形態に係る状態観測器の一例を示す図である。
【
図5】本開示の第1実施形態に係る状態観測器の別の一例を示す図である。
【
図6】本開示の第1実施形態に係る状態観測器間の相関の最大化を説明する説明図である。
【
図7】本開示の第1実施形態に係る要因分析処理を示すフローチャートである。
【
図8】本開示の第1実施形態に係る各系統の異常度算出処理を示すフローチャートである。
【
図9】本開示の第1実施形態に係る正常面と異常データとの距離、及び正常面と正常データとの距離を示す図である。
【
図10】本開示の第1実施形態に係る正常面と各系統のデータとの距離に基づいたパレット図である。
【
図11】本開示の第2実施形態に係る異常判定処理を示すフローチャートである。
【
図12】本開示の第2実施形態の別例に係る総合異常度算出処理を示すフローチャートである。
【
図13】本開示の第2実施形態の別例に係る異常要因の分析結果を示す図である。
【発明を実施するための形態】
【0011】
以下、図面を参照しながら、本開示を実施するための形態を説明する。
(第1実施形態)
<1-1.要因分析装置の構成>
まず、本実施形態に係る要因分析装置100の構成について、
図1を参照して説明する。本実施形態では、車両に搭載された車両の要因分析装置を例として説明するが、本開示は、車載以外の車両の要因分析装置も含む。車載以外の車両の要因分析装置として、例えば、車両の外部に設けられ、車両のコネクティッドECUに有線又は無線で接続される要因分析装置が挙げられる。また、本開示は、機器は車両に限らず、車両以外の機器も含む。なお、本開示の「異常」は、すでに発生している異常だけでなく、発生することが予知される異常も含む。
【0012】
要因分析装置100は、CPU、ROM、RAM、I/O等を備えるコンピュータを主体とし、信号取得部101、学習対象データ記憶部102、監視対象データ記憶部103、状態観測器生成部104、状態観測器情報記憶部105、正常モデル生成部106、正常モデルパラメータ記憶部107、異常度算出部108、要因分析部110、及び表示部111の機能を実現する。各機能の詳細は後述する。
【0013】
要因分析装置100は、車両の各系統の監視対象データと正常モデルとを用いて、各系統の異常度合いを算出し、どの系統が車両の異常の要因となっているかを分析する。なお、ここでの系統は、車両の機能ごとのまとまりに相当する。つまり、車両を構成する制御装置、センサ等を機能ごとにまとめたものを系統と呼ぶ。車両の複数の系統は、例えば、点火制御系、燃料制御系、空気計測系、空燃比測定系、スロットル計測系、空気制御系、駆動計測系などを含む。
【0014】
<1-2.処理>
<1-2-1.学習処理>
次に、要因分析装置100が実行する学習処理について、
図2のフローチャートを参照して説明する。
【0015】
まず、S10では、信号取得部101が、学習対象データを取得する。学習対象データは、車両の故障及び/又は故障メカニズムに関するデータであり、車両に関するデータや走行環境に関するデータ等を含む。学習対象データは、車両の正常状態におけるデータである。すなわち、学習対象データは、車両に異常がない場合における、車両の故障及び/又は故障メカニズムに関するデータである。
【0016】
信号取得部101は、要因分析装置100に直接又は間接的に接続された各種センサから、学習対象データを取得する。また、信号取得部101は、ネットワークを介して、学習対象データを間接的に取得してもよい。例えば、信号取得部101は、ネットワークを介してデータベースからダウンロードすることにより、学習対象データを取得してもよい。
【0017】
各種センサは、例えば、温度計、湿度計、GPSなど、車両に搭載されたセンサを含む。また、各種センサは、エンジン回転センサ、タービン回転センサ、電圧センサ、空燃比センサなど、各種の車両電子制御装置に接続されたセンサを含む。
【0018】
学習対象データに含まれる車両に関するデータは、例えば、エンジン回転数、タービン回転数、酸素センサ電圧、空燃比センサ電流などである。また、学習対象データに含まれる走行環境に関するデータは、例えば、温度、湿度、位置情報などである。
【0019】
続いて、S20では、信号取得部101は、S10において取得した学習対象データに対して、正規分布に近づける分布変換を行う。分布変換の例として、Bоx-Cоx変換や、Johnsоn変換があげられる。分布変換することにより、各系統の異常度の算出制度が向上する。
【0020】
続いて、S30では、信号取得部101は、分布変換した学習対象データを学習対象データ記憶部102に保存する。学習対象データ記憶部102は、学習対象データを記憶するデータベースである。本実施形態において、後述するデータベースも含む各種のデータベースは、ハードディスク、フラッシュメモリでもよし、RAMでもよい。また、各種のデータベースは、揮発性メモリ、不揮発性メモリのいずれであってもよい。
【0021】
続いて、S40では、状態観測器生成部104が、状態観測器を生成する。状態観測器は、オブザーバ又はソフトセンサとも称する。具体的には、状態観測器生成部104は、
図3に示すフローチャートに基づいて、状態観測器を生成する。
【0022】
まず、S100では、状態観測器生成部104に変数構成が入力される。変数は、信号取得部101が取得する学習対象データ及び後述する監視対象データに対応する。状態観測器生成部104は、設定者の知見に基づき、状態観測器が車両の機能や故障メカニズムを表現するために必要又は有益な変数構成が入力されるようにしてもよい。状態観測器及び状態観測器を構成する変数の詳細は後述する。なお、ここでの変数構成は、1つの変数、又は複数の変数の組み合わせに相当する。
【0023】
次に、S110では、状態観測器生成部104は、変数構成に含まれる変数を用いて、系統ごとに状態観測器を生成する。具体的には、状態観測器生成部104は、式(1)に示すように、系統ごとに、入力された変数構成に含まれる変数を線形結合することにより、状態観測器を生成する。なお、Aは係数、Xは変数、pは状態観測器の番号、nは変数の番号、A_pS_pはp番目の状態観測器(すなわち、状態観測値)に相当する。係数Aの初期値はランダムな値とし、変数Xを結合して、状態観測器の初期値を生成する。変数Xは、各系統の学習対象データに対応する。
【0024】
【0025】
状態観測器は、要因分析装置100の分析対象となる機器の機能、又は機器の故障メカニズムを反映していることが望ましい。本実施形態では、機器の機能の例として、車両の駆動系や車両の空燃比を含む。また、機器の故障メカニズムは、機器の故障が生じる仕組みに相当する。また、機器の機能または機器の故障メカニズムに応じて、状態観測器から出力される状態観測値が変化することが、機器の故障メカニズムを反映していることに相当する。
【0026】
状態観測器の変数構成に含まれる変数は、要因分析装置100の分析対象となる機器の機能、又は機器の故障メカニズムの因子であることが望ましい。例えば、機器の故障メカニズムの一例としてエンジンのオーバーヒートの場合、エンジンの温度がオーバーヒートを引き起こす直接的な因子である。また、エンジンの回転数や冷却液の量がエンジンの温度上昇を引き起こす直接的な因子、すなわち、オーバーヒートを引き起こす間接的な因子である。学習対象データは、これらの直接的及び間接的な因子の値を各種センサ等により取得したデータに相当する。
【0027】
例えば、
図4に示すように、機器の機能を車両の駆動系として第1の状態観測器を生成する場合、変数X_11,X_12は、例えば、エンジン回転数及びタイービン回転数に対応するとする。この場合、式(2)に示すように、変数X_11と変数X_12とを線形結合することにより、第1の状態観測器として、駆動系状態観測器Uを生成する。
【0028】
【0029】
また、
図5に示すように、機器の機能を空燃比系として第2の状態観測器を生成する場合、変数X_21,X_22は、例えば、酸素センサ電圧値及び空燃比センサ電流値に対応するとする。この場合、式(3)に示すように、変数X_21と変数X_22とを線形結合することにより、第2の状態観測器として、空燃比系状態観測器Tを生成する。
【0030】
【0031】
当然ながら、上述した変数以外の変数を用いて状態観測器を生成してもよい。また、結合する変数の数は2つに限らず、3つ以上でもよい。さらに、生成する状態観測器の数は2つに限らず、1つでもよいし、3つ以上でもよい。
【0032】
本実施形態では、状態観測器の例として、入力-出力の2層構造を有する例を挙げたが、3層以上であってもよい。3層以上の場合、階層型ニューラルネットワークを用いて記述してもよい。
【0033】
また、状態観測器として、変数を線形で結合する例を挙げたが、これに限らず、非線形な結合で構成されてもよい。例えば、階層型ニューラルネットワークを用いて記述する場合は、シグモイド関数を用いるので、非線形の結合で構成されることになる。
【0034】
状態観測器を生成することにより、直接センサ等で測定することができない状態観測値を推定することができる。また、状態観測器に機器の機能や故障メカニズムを反映させることにより、故障の要因分析が容易になる。
【0035】
続いて、S120では、状態観測器生成部104が、S110において生成した状態観測器の数が1つか2つ以上かを判定する。S120において、1つと判定した場合は、S160の処理へ進み、2つ以上と判定した場合は、S130の処理へ進む。
【0036】
S130では、状態観測器生成部104は、S110において生成した状態観測器の数が2つか3つ以上かを判定する。S130において、2つと判定した場合は、S140の処理へ進み、3つ以上と判定した場合は、S150の処理へ進む。
【0037】
S140では、状態観測器生成部104は、生成した2つの状態観測器の相関を最大化する。具体的には、式(4)、(5)に示すように、第1の状態観測器の係数と第2の状態観測器の係数を調整することにより、相関を最大化する。n,mは、状態観測器の番号、Vは分散である。式(4)の分子は、第1の状態観測器と第2の状態観測器の標本共分散、式(4)の分母は、それぞれ第1の状態観測器の標本分散、第2の状態観測器の標本分散である。式(5)は、ラグランジュの未定乗数法の制約条件であり、本実施形態では1となる。
【0038】
【0039】
【0040】
S150では、状態観測器生成部104は、生成した3つ以上の状態観測器の相関を最大化する。例えば、第1の状態観測器、第2の状態観測器及び第3の状態観測器が生成されている場合、
図6に示すように、2つの状態観測器間の相関の和を最大化することが望ましい。具体的には、式(6)を用いて、2つの状態観測器間の相関の和を最大化する。Nは状態観測器の総数である。gは和を表す関数であり、gの括弧内は和の対象である。状態観測器が4つ以上の場合でも、3つの場合と同様の方法で最大化を行う。なお、本実施形態において、「和」とは、単純和の他、二乗和、絶対値和など、演算に和を含んでいればよい。
【0041】
【0042】
S160では、状態観測器生成部104は、算出した状態観測器の係数と変数構成と、S20において用いた分布変換パラメータとを紐づけて、データベースである状態観測器情報記憶部105に保存する。
【0043】
なお、状態観測器生成部104は、状態観測器を生成するときに備えていればよく、一旦状態観測器を生成し状態観測器の変数構成及び係数を状態観測器情報記憶部105に保存した後は、要因分析装置100から切り離してもよい。
【0044】
続いて、
図2に戻り、S50において、正常モデル生成部106が、第1の状態観測値を取得する。具体的には、正常モデル生成部106は、学習対象データ記憶部102から学習対象データを読み出すとともに、状態観測器情報記憶部105から状態観測器の変数構成及び係数を読み出す。そして、正常モデル生成部106は、系統ごとに、読み出した変数に、読み出した学習対象データを当てはめることにより、第1の状態観測値を算出する。
【0045】
例えば、正常モデル生成部106は、学習データとして取得したエンジン回転数及びタービン回転数を式(2)に代入して、第1の状態観測値として駆動系状態観測値U1を算出する。また、正常モデル生成部106は、学習データとして取得した酸素センサ電圧値及び空燃比センサ電流値を式(3)に代入して、空燃比状態観測値T1を算出する。
【0046】
続いて、S60では、正常モデル生成部106は、S50において取得した第1の状態観測値と学習対象データとを結合する。例えば、エンジン回転数、タービン回転数、駆動系状態観測値U1、酸素センサ電圧値、空燃比センサ電流値、及び空燃比系状態観測値T1の6つのデータを結合する。なお、ここでの「結合して」とは、第1の状態観測値と学習対象データとを同時に競合型ニューラルネットワークに入力できる状態であれば足りる。
【0047】
続いて、S70では、正常モデル生成部106は、S60において結合したデータを競合型ニューラルネットワークに入力することにより、正常モデルとして正常面を学習する。競合型ニューラルネットワークは、入力層と出力層の2つの層を備えるネットワークであり、複数個の入力層ニューロンと、入力層ニューロンに全結合で結ばれた複数個の出力層ニューロンとで構成されている。各出力層ニューロンの重みデータが、正常面に相当する。
【0048】
なお、競合型ニューラルネットワークに与える初期値としては、例えば、車種、測定季節、昼夜、カスタマイズ仕様、経年度など、入力されるデータの属性の組み合わせが複数ある場合、万遍なくサンプリングあるいはランダムにサンプリングすることが望ましい。これにより、競合型ニューラルネットワークのマップ上のニューロンの重みベクトルの学習時の収束を速くすることができる。
【0049】
続いて、S80では、正常モデル生成部106は、S70において学習した正常面などの学習済みパラメータを、データベースである正常モデルパラメータ記憶部107に保存する。以上で本処理を終了する。
【0050】
<1-2-2.要因分析処理>
次に、要因分析装置100が実行する要因分析処理について、
図7のフローチャートを参照して説明する。本実施形態では、要因分析装置100は、所定周期で、本処理を実行する。
【0051】
まず、S200では、信号取得部101が、監視対象データを取得する。監視対象データは、車両が正常状態であるときに限らないデータであって、学習対象データと同種類のデータである。信号取得部101は、学習対象データと同様に、各種センサ及び/又はネットワークを介して、監視対象データを取得する。本実施形態では、監視対象データは時系列のデータである。
【0052】
続いて、S210では、信号取得部101は、状態観測器情報記憶部105から分布変換パラメータを読み出す。そして、信号取得部101は、読み出した分布変換パラメータを用いて、S200において取得した監視対象データに対して、正規分布に近づける分布変換を行う。
【0053】
続いて、S220では、信号取得部101は、分布変換した監視対象データを、データベースである監視対象データ記憶部103に保存する。
続いて、S230では、異常度算出部108が、第2の状態観測値を取得する。具体的には、異常度算出部108は、監視対象データ記憶部103から監視対象データを読み出すとともに、状態観測器情報記憶部105から状態観測器の変数構成及び係数を読み出す。そして、異常度算出部108は、系統ごとに、読み出した変数に、読み出した学習対象データを当てはめることにより、第2の状態観測値を算出する。
【0054】
例えば、異常度算出部108は、学習データとして取得したエンジン回転数及びタービン回転数を式(2)に代入して、第2の状態観測値として駆動系状態観測値U2を算出する。また、異常度算出部108は、学習データとして取得した酸素センサ電圧値及び空燃比センサ電流値を式(3)に代入して、空燃比状態観測値V2を算出する。
【0055】
続いて、S240では、異常度算出部108は、S230において取得した第2の状態観測値と監視対象データとを結合する。例えば、エンジン回転数、タービン回転数、駆動系状態観測値U2、酸素センサ電圧値、空燃比センサ電流値、及び空燃比系状態観測値V2の6つのデータを結合する。
【0056】
続いて、S250では、異常度算出部108は、正常モデルパラメータ記憶部107から正常面すなわちニューロンの重みデータなどの学習済みパラメータを読み出す。そして、異常度算出部108は、S240において結合したデータを競合型ニューラルネットワークに入力することにより、系統ごとに、監視対象データ及び第2の状態観測値と正常面との距離を、異常度として算出する。つまり、監視対象データ及び第2の状態観測値と正常面との乖離を距離で表し、異常度とする。具体的には、異常度算出部108は、
図8に示すフローチャートに基づいて、k時点における各系統の異常度を算出する。以下では、監視対象データ及び第2の状態観測値をまとめて検証用データと称する。
【0057】
まず、S300では、異常度算出部108は、ループカウンタlに1を設定する。
続いて、S310では、異常度算出部108は、監視時点kでの検証用データZ_kと、検証用データZ_kと各ニューロンの重みデータW_i,jとのユークリッド距離D_k,l,i,jを算出する。ここで、iは、1~Nの整数であり、Nは正常面の横サイズを示す。jは、1~Mの整数であり、Mは正常面の縦サイズを示す。W_i,jは、X個の要素を有するベクトルであり、Xは系統の総数を示す。W_i,jの各要素は、各系統のニューロンの重みに相当する。
【0058】
そして、異常度算出部108は、算出したユークリッド距離D_k,l,i,jの中から最小ユークリッド距離D_k,lを算出する。算出した最小ユークリッド距離D_k,lは、X個の要素を有するベクトルである。最小ユークリッド距離D_k,lの各要素は、各系統の正常値からの乖離量、すなわち異常度に相当する。
【0059】
続いて、S320では、異常度算出部108は、ループカウンタlが規定値Lを超えているか否か判定する。規定値Lは任意に設定可能であり、例えば10回に設定する。S320において、異常度算出部108は、ループカウンタlが規定値L以下と判定した場合は、S330の処理へ進み、ループカウンタlが規定値Lを超えていると判定した場合は、S350の処理へ進む。
【0060】
S330では、異常度算出部108は、ループカウンタlをインクリメントして、l+1に更新する。
続いて、S340では、異常度算出部108は、ニューロンの重みの集合Wから、ニューロンの重みW’_k,lを取り除く。ニューロンの重みの集合Wは、W_1,1,…,W_1,M,W_2,1…,W_2,M,…,W_i,j,…,W_N,1,…,W_N,MからなるN×M個の要素を有する行列である。ニューロンの重みW’_k,lは、D_k,lを算出する際に検証用データに一番近かったニューロンの重みである。
【0061】
異常度算出部108は、S340の処理の後、S310の処理へ戻り、S310~S340の処理を繰り返し実行する。すなわち、異常度算出部108は、検証用データZ_kと、ニューロンの重みW’_k,lが取り除かれたニューロンの重み集合Wの各ニューロンの重みデータW_i,jとのユークリッド距離D_k,l,i,jを算出する。さらに、異常度算出部108は、算出したユークリッド距離D_k,l,i,jの中から最小ユークリッド距離D_k,lを算出する。
【0062】
そして、異常度算出部108は、ループカウンタlが規定値Lを超えるまで、S310~S340の処理を繰り返し実行する。これにより、ユークリッド距離D_k,l,i,jの中から、小さいものから順にL個の最小ユークリッド距離D_k,lが算出される。
【0063】
そして、S350において、異常度算出部108は、L個の最小ユークリッド距離D_k,lを合計して、k時点における距離D_kを算出する。距離D_kは、X個の要素を有するベクトルであり、各要素は、各系統の異常度に相当する。
図9に示すように、検証用データZ_kのうち正常な系統のデータは、正常面からの距離が比較的小さくなる。一方、検証用データZ_kのうち異常な系統のデータは、正常面からの距離が比較的大きくなる。
【0064】
続いて、
図7に戻って、S260では、要因分析部110が、S350において算出した距離D_kに基づいて、
図10に示すようなパレート図を作成する。具体的には、要因分析部110は、複数の系統の各々について、各系統の距離D_kと、残りの系統の各々の距離D_kとの差分を算出し、算出した差分を足し合わせて差分和を算出する。要因分析部110は、算出した差分和を用いて、パレート図を作成する。パレート図は、系統ごとの頻度と累積比率とを含む。
【0065】
さらに、要因分析部110は、複数の系統のうちから異常要因である系統を特定する。例えば、要因分析部110は、複数の系統のうち、頻度が高い方からL2番目までの系統を異常要因と判定してもよい。あるいは、要因分析部110は、頻度が頻度閾値以上で、且つ、頻度が高い方からL3番目までの系統を異常系統と判定してもよい。ここでの「異常」とは、発生している異常のみならず、異常の予兆も含む。
【0066】
続いて、表示部111は、S260において作成したパレート図をディスプレイに表示する。以上で、本処理を終了する。
<1-3.効果>
以上説明した第1実施形態によれば、以下の効果が得られる。
【0067】
(1)複数の系統の各々ごとに、正常面と検証用データとの距離D_kが算出される。算出された距離D_kは、正常面からの各系統の乖離量に相当する。すなわち、複数の系統のうち距離D_kが比較的大きい系統は、正常モデルからの乖離量が比較的大きく、全体の異常に対して寄与が大きい要因に相当する。したがって、算出された各系統の距離に基づいて、異常要因を分析することができる。
【0068】
(2)各系統の距離D_kに基づいたパレート図を表示することにより、ユーザは、各系統が系統全体の異常に対してどの程度寄与しているか、容易に認識することができる。
(3)状態観測器及び競合型ニューラルネットワークを用いることにより、機器の機能や故障メカニズムを反映させた正常面を生成することができる。さらに、この正常面と検証用データとの距離D_kを算出することにより、機器のどの系統で異常が生じているか、あるいは、異常が生じる可能性があるのかを高精度に分析することができる。ひいては、異常要因を高精度に分析することができる。
【0069】
(第2実施形態)
<2-1.第1実施形態との相違点>
第2実施形態は、基本的な構成は第1実施形態と同様であるため、共通する構成については説明を省略し、相違点を中心に説明する。なお、第1実施形態と同じ符号は、同一の構成を示すものであって、先行する説明を参照する。
【0070】
前述した第1実施形態では、各系統の異常度を算出して、異常要因を特定した。これに対し、第2実施形態では、系統全体の総合異常度を算出し、総合異常度が異常閾値を超える場合に異常要因を特定する点で、第1実施形態と相違する。具体的には、
図1に破線で示すように、第2実施形態に係る要因分析装置100は、判定部109を更に備える。
【0071】
<2-2.異常判定処理>
次に、要因分析装置100が実行する異常判定処理について、
図11のフローチャートを参照して説明する。
【0072】
まず、S400~S440では、S200~S240と同様の処理を実行する。
続いて、S450では、異常度算出部108が、総合異常度C_kを算出する。具体的には、異常度算出部108は、S250と同様に、距離D_kを算出する。そして、距離D_kのX個の要素D_k,1、D_k,2…D_k,Xの大きさを足し合わせて、X個の系統全体の総合異常度C_kを算出する。
【0073】
続いて、S460では、判定部109が、S450において算出された総合異常度C_kが異常閾値以下か否か判定する。異常閾値は、S70において、学習対象データ及び第1の状態観測値とニューロンの重みデータとの差分を用いて算出してもよい。
【0074】
S460において、総合異常度C_kが異常閾値以下であると判定した場合は、S470の処理へ進む。S470では、判定部109が、車両が正常であると判定して、本処理を終了する。
【0075】
一方、S460において、総合異常度C_kが異常閾値を超えていると判定した場合は、S480の処理へ進む。S480では、判定部109が、車両が異常であると判定して、S490の処理へ進む。
【0076】
S490では、要因分析部110が、S260及びS270と同様の処理を実行して、パレート図を作成して表示するとともに、X個の系統のうちの異常な系統を特定する。以上で本処理を終了する。
【0077】
<2-3.効果>
以上説明した第2実施形態によれば、前述した第1実施形態の効果(1)~(3)に加え、以下の効果が得られる。
【0078】
(4)距離D_kのX個の要素D_k,1、D_k,2…D_k,Xの総和から、X個の系統全体の総合異常度C_kを算出することにより、系統全体の異常の有無を認識することができる。
<2-4.第2実施形態の別例>
次に、第2実施形態の別例に係る総合異常度算出処理について、
図12のフローチャートを参照して説明する。本別例では、異常度算出部108は、S450における処理の代わりに、
図12のフローチャートを実行する。
【0079】
まず、S500及びS510では、S300及びS310と同様の処理を実行して、最小ユークリッド距離D_k,lを算出する。
続いて、S520では、検証用データZ_kとそれに最も近いニューロンの重みデータ
W’_k,lとから、コサイン類似度cosθ_k,lを算出する。
【0080】
続いて、S530では、最小ユークリッド距離距離D_k,lとコサイン類似度cosθ_k,lとから、異常度C_k,lを算出する。
S540~S560では、S320~S340と同様の処理を実行する。すなわち、異常度算出部108は、ループカウンタlが規定値Lを超えるまで、S510~S560の処理を繰り返し実行する。
【0081】
そして、S570では、L個の異常度C_k,lを足し合わせて、総合異常度C_kを算出する。以上で本処理を終了する。
【0082】
さらに、第2実施形態の別例に係る要因分析処理について説明する。
第1実施形態では、要因分析部110は、各系統の検証用データZ_kと正常面との距離に基づいて、異常要因を特定した。これに対して、本別例では、要因分析部110は、角度/共分散に基づいて、異常要因を特定する。
【0083】
式(7)及び(8)に示すように、要因分析部110は、S480において以上と判定された検証用データZ_kを基準に時間的に前、後、又は前及び後の検証用データを用いて異常の要因を特定してもよい。本別例では、要因分析部110は、異常と判定された検証用データZ_kの前後5点の計11点のデータを用いて異常の要因を特定する。sは、監視対象データ及び第2状態観測値を特定する値であり、1≦s≦Sである。Sは、監視対象データ及び第2状態観測値の合計数である。
【0084】
全体の異常度に寄与する要因を分析する際に、少数の監視対象データのみを用いるとノイズによる影響によって正確な分析が難しい。また、複数の系統のうちのいずれの系統に要因があるかを見極めるのは困難である。そこで、本別例では、状態観測値を複数の測定点を用いて分析することにより、ノイズに対してロバストにすることができる。
【0085】
【0086】
【0087】
さらに、要因分析部は、式(9)及び(10)を用いて、類似度γ_sを算出する。f_allは、第2状態観測器の各々から算出される値であるf_k,sの総和であり、全体の異常傾向を示す。類似度γ_sは、全体の異常傾向f_allに対する各系統の異常度の類似度に相当する。類似度γ_sの値が大きい系統ほど、全体の異常度に対する寄与が大きい要因である。f´は、平均との偏差ベクトルを示す。
【0088】
【0089】
【0090】
さらに、表示部111は、
図13に示すように、総合異常度C_kに寄与が大きい系統(例えば、類似度γ_sが0.4以上)を表示する。
なお、本別例では、検証用データと正常面との角度に基づいて要因を分析する。そのため、
図9に示すように、異常データが点火制御系の軸に沿っており、異常データと正常面との角度が比較的小さい場合には、異常データと正常面との距離が離れていても、
図7に示すように類似度γ_sは、大きくならない。すなわち、点火制御系が異常要因と特定されない。このような場合でも、
図10に示すように、検証用データと正常面との距離を用いると、点火制御系を異常要因と特定することができる。
【0091】
また、検証用データが所定期間一定で変化がない場合、式10の分母の分散が0となるため類似度γ_sが算出できない。よって、このような場合も、第1実施形態のように、検証用データと正常面との距離を用いると、異常要因を特定することができる。したがって、角度と距離の両方を用いて、異常要因を特定するとよい。
【0092】
(他の実施形態)
以上、本開示を実施するための形態について説明したが、本開示は上述の実施形態に限定されることなく、種々変形して実施することができる。
【0093】
(a)第1実施形態では、各系統の距離D_kに基づいてパレット図を作成したが、これに限定されるものではない。各系統の距離D_kに基づいて、全体の異常度に対する各系統の異常度の寄与がわかる図であれば他の図を作成してもよい。
【0094】
(b)上記実施形態では、kを時点とし、監視対象データZ_kを時系列のデータとしたが、監視対象データZ_kは時系列のデータに限らない。例えば、監視対象データZ_kは、ある地点を通過した複数の車両のデータであってもよい。この場合、kは、複数の車両の個々の車両を特定する。
【0095】
(c)上記実施形態では、要因分析装置100が、状態観測器生成部104、状態観測器情報記憶部105、学習対象データ記憶部102、正常モデル生成部106、及び正常モデルパラメータ記憶部107を備えていたが、これらを備えていなくてもよい。例えば、要因分析装置100は、インターネットを介して状態観測器情報記憶部105及び正常モデルパラメータ記憶部107と接続され、インターネットを介して、状態観測器の変数構成及び係数と、正常モデルとを取得してもよい。
【0096】
(d)本開示に記載の要因分析装置100及びその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリを構成することによって提供された専用コンピュータにより、実現されてもよい。あるいは、本開示に記載の要因分析装置100及びその手法は、一つ以上の専用ハードウェア論理回路によってプロセッサを構成することによって提供された専用コンピュータにより、実現されてもよい。もしくは、本開示に記載の要因分析装置100及びその手法は、一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリと一つ以上のハードウェア論理回路によって構成されたプロセッサとの組み合わせにより構成された一つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されてもよい。要因分析装置100に含まれる各部の機能を実現する手法には、必ずしもソフトウェアが含まれている必要はなく、その全部の機能が、一つあるいは複数のハードウェアを用いて実現されてもよい。
【0097】
(e)上記実施形態における1つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、1つの構成要素が有する1つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、1つの構成要素によって実現したり、複数の構成要素によって実現される1つの機能を、1つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換してもよい。
【0098】
(f)上述した要因分析装置の他、当該要因分析装置を構成要素とするシステム、当該要因分析装置としてコンピュータを機能させるためのプログラム、このプログラムを記録した半導体メモリ等の非遷移的実態的記録媒体、要因分析方法など、種々の形態で本開示を実現することもできる。
【符号の説明】
【0099】
100…要因分析装置、101…信号取得部、102…学習対象データ記憶部、103…監視対象データ記憶部、104…状態観測器生成部、105…状態観測器情報記憶部、106…正常モデル生成部、107…正常モデルパラメータ記憶部、108…異常度算出部、110…要因分析部、111…表示部。