図1は本実施例のシステムを説明する図である。本実施例のシステムは、車両101、通信拠点102、原因分類サーバ103、保守拠点105を含み、分析者104は原因分類サーバ103を操作する。なお、本実施例においては、原因分類サーバ103は故障原因情報に基づいて機械の稼働データを分類する方法について記載しているが、保守情報に基づいて稼働データを分類する方法であっても同様の方法を実現できる。
車両101の内部には多数のセンサが内蔵されている。故障時にセンサが検出したセンサデータは車両101から通信拠点102を経由して原因分類サーバ103によって受信される。
原因分類サーバ103は、受信したセンサデータの故障の原因分類を行い、分類結果を保守拠点105に送信する。原因分類のための設定は分析者104によってあらかじめ行われている。保守拠点105は送信されてきた故障の原因分類情報を用いて、効率的な保守作業を行う。車両101、通信拠点102、原因分類サーバ103、保守拠点105、分析者104が操作するインターフェースは規格化された高速ネットワークにより相互に通信が可能である。この高速ネットワークは有線、及び無線の少なくとも1つを含みうる。
ここで故障の原因分類は一般に”教師あり学習”と呼ばれる手法によって行われる。この教師あり学習は、一般に分類問題に用いられる。分類問題では入力データと出力データの組合せを学習させる。その後、入力データのみを与えた際に、出力データを予測する。本実施例における稼働データ分類装置では、入力データが車両故障時のセンサデータに相当し、出力データが故障原因に相当する。教師あり学習と呼ばれる手法には、種々のアルゴリズムが存在する。例えば、サポートベクターマシンやランダムフォレストといったアルゴリズムがこれに当たる。
図2は原因分類サーバ103の構成を説明する図である。原因分類サーバ103は、事例記憶部202、教師情報推定部203、事例選択処理実行判定部204、事例選択部205、教師情報信頼度評価部206、教師情報候補有力度評価部207、原因分類部210で構成される。
原因分類サーバ103の原因分類部210に、車両101からの稼働データ209を入力される。分析者104は表示画面208において、原因分類サーバ103の教師情報候補有力度評価部207を見ることができる。さらに、原因分類サーバの原因分類部210において分類された診断結果が、保守拠点105の分類結果表示部211に表示される。
事例記憶部202は、保守作業入力部201から入力された保守の作業内容のデータを記憶する。これは、保守拠点105にいる保守員が直接、入力する。また、保守員でなくとも分析者104が入力しても構わない。入力は保守拠点105で保守作業が完了するたびに行われる。また、日に1度や週に1度など所定のタイミングで行ってもよい。
事例記憶部202では、過去に発生した故障に関連するデータが保存される。本実施例は、この原因分類サーバ103を用いた故障原因と事例データを学習し故障原因に基づいて稼働データを分類する装置であって、保守作業を事例記憶部202に入力する保守作業入力部201と、前記故障原因と前記事例データ、各事例の車両を特定する情報である車両特定情報、及び保守履歴を格納する事例記憶部202と、事例記憶部202に格納された前記保守履歴で特定の保守作業を行った際の故障原因の確率と前記車両特定情報が同一の車両の一定の期間内に行った保守作業による故障原因の確率から故障原因を推定する教師情報推定部203と、各事例に紐づけられた故障原因の信頼できる度合いを表す信頼度と評価する教師情報信頼度評価部206と、前記信頼度に応じて分類に使用する事例を選択する事例選択部205と、選択された事例とその故障原因に基づいて稼働データを分類する分類部210と、を有する事を特徴とする稼働データ分類装置について主に説明する。
図3に事例記憶部202に記憶されるデータの例を示す。故障番号301には、故障毎に割り振られた故障番号が記憶される。この故障番号は、事例記憶部202に登録された順に従って事例記憶部202から自動で割り振られる。日時302には故障の発生した日時が記憶される。場所303には、故障の発生した場所が記憶される。車両ID304には、故障が発生した車両の車両IDが記憶される。車両IDは車体1台毎に割り振られた数字、文字の列であり、同じ番号を持つ車体は1台しか存在しない。車両情報305には、故障が発生した車両の車両情報が入力される。車両情報とは、車両の型式や搭載しているエンジン等の部品の型式などの情報である。故障種別306には、発生した故障の故障種別が記憶される。故障種別とは、故障によって生じる不具合、異常、症状等を示す情報である。例えばエンジンの急停止や温度の異常がある。故障原因307には、発生した故障の故障原因が記憶される。故障原因とは故障種別と対応する原因である。例えばエンジンの急停止という故障種別には、エンジンの故障や燃料の供給停止といった故障原因などがある。事例サンプル308には、故障発生時のサンプルが記憶される。このサンプルは、例えば車両101に取り付けられた各種センサのデータである。保守作業309には、故障に対して行った保守作業が入力される。この保守作業は例えば、エンジンの故障に対してはエンジン部品の交換が行われ、燃料の供給停止に対しては燃料の補給、配管の点検が行われる。
故障番号301、日時302、場所303、車両ID304、車両情報305、故障種別306、事例サンプル308は、車両101から通信拠点102を通じて原因分類サーバ103が故障時センサデータを受信した時点で、原因分類サーバ103によって自動で記憶される。保守作業309は、保守作業入力部201から入力される。故障原因307は、保守履歴が入力された時点や、入力後一定期間経過後などの所定のタイミングで教師情報推定部203によって入力される。
図4に事例サンプルの説明を示す。時間列401は故障が発生した際の時間情報が記憶されている。アクセル列402、エンジン回転数列403など、車両に関するセンサデータが時間と同期して格納されている。原因分類サーバ103は、故障原因307とサンプルの情報を組み合わせて学習し、故障発生時の稼働データ209の原因を分類する。
図5は教師情報推定部203の考え方を説明する図である。横軸は時間の経過を表す。右に行くほど時間が経過している。破線の上側は車両ID0002の車両に関する保守履歴を表す。車両ID0002では、時刻t1において故障が発生し、保守H1を行った。その後、一定期間内に故障が発生していないため、保守H1が有効であったと推測される。そのため、故障原因は保守H1に対応する故障原因C1である可能性が高いと推測される。前述の例では、保守H1は燃料の補給、配管の点検に当たり、故障原因C1は燃料の供給停止に相当する。このような場合では、時刻t1で発生した故障の事例サンプルに対して、故障原因C1を有力な候補として、事例記憶部202に入力する。なお、本実施例においては、保守作業として1例のみ記載しているが、保守員は通常、複数の保守を行うことが一般的であり、保守作業として1例のみ提案するというものに限らない。
これに対して、破線の下側は車両ID0001に関する保守履歴を表す。車両ID0001では、時刻t2において発生した故障に対して保守H1を行った。しかし、時刻t2とそれほど離れていない時刻t3において、再び同一の故障種別の故障が発生し、保守H1と保守H2を行った。その後、故障が発生しなくなった。この場合には、保守H1は有効でなく、保守H2が有効であったと推測される。そのため、保守H2に対応する故障原因C2である可能性が高いと推測される。前述の例では、保守H2がエンジン部品の交換に当たり、故障原因C2がエンジンの故障に相当する。このような場合には、時刻t2及び時刻t3に発生した故障の事例サンプルに対して、故障原因C2を有力な候補とし、事例記憶部202に入力する。
このように教師情報推定部203では、一定の期間内では同じ故障種別が発生した場合は先に施した保守作業が有効でなかったとし、履歴から有効であった保守作業を推測する。また、一定の期間内で発生した故障は同一の故障原因が引き起こしていると仮定している。さらに、同じ車両IDであっても一定期間以上、時間が離れた同一の故障種別の故障が発生した場合は、必ずしも同一の故障原因が引き起こしているとは限らない。例えば、図5の車両ID0002において、時刻t1より一定期間以上後である時刻t4に同一の故障種別が発生した場合であっても、時刻t1で発生した故障に対して保守H1は変わらず有効であったとする。なお、時刻t4で発生した故障の故障原因の推定には、時刻t1で発生した故障の保守履歴情報を使用しない。
図6に教師情報推定部203の構成を示す。教師情報推定部203は車両保守履歴検索部601、故障期間抽出部602、教師情報類推部603から構成される。
図7に教師情報推定部203の処理フローを示す。
ステップ701で故障原因推定フローを開始する。これは、日に1度、月に1度など所定のタイミング、または分析者によって教師情報推定部が操作されたタイミングで行う。
ステップ702では故障原因を推定するサンプルを決定する。前述の所定のタイミングで行う際は、全てのサンプルに対して故障原因の推定を行う。また、故障原因が未知のサンプルに限って故障原因の推定を行っても良い。前述の分析者によって操作された場合には、全てのサンプル、原因の未知のサンプルの他に、分析者によって指定されたサンプルもあり得る。
ステップ703では、車両保守履歴検索部601が、故障原因を推定するサンプルと同一の車両IDを持つ故障事例を事例記憶部202から読み込む。この読み込みは同一の車両IDを持つ全ての事例を読み込む。また、故障原因を推定するサンプルの故障発生時刻からある期間内に発生した故障事例のみを読み込んでもよい。
ステップ704では、故障期間抽出部602が読み込んだ事例から、故障原因を推定するサンプルと同じ故障期間に属する推測される事例を抽出する。ここで、故障期間とは、同一の故障原因によって故障が発生した期間を示す。同じ故障期間に属する事例の抽出は、次のような方法で行われる。まず、故障原因を推定するサンプルから一定の期間内で発生した故障事例を抽出し、同じ故障期間に属するとする。更に、新しく抽出された同じ故障期間に属する故障事例から、一定の期間内に発生した故障事例を抽出する。新たに追加される故障事例が無くなるまで故障事例を抽出し、同じ故障期間とする。一定の期間は事前に分析者によって与えられている。この値は、全ての故障で同じ値であってもよいし、故障種別、故障原因毎に異なる値にしてもよい。故障原因毎で異なる値にする場合には、故障原因毎に異なる故障期間が生成される。
ステップ705では、同じ故障期間に属する故障事例から故障原因を推定する。これは次式によって推定される。
ここでNは同じ故障期間に属する故障事例を示す。p(*)は確率を表す。はCkはk番目の故障発生時点での故障原因であり、Hkはk番目の故障発生時に行った保守作業である。p(Ck|Hk)はk番目の故障発生時に保守作業Hkを行った際の故障原因Ckの確率を表す。また、p(Ck|H1,…,Hk-1)は、1番目からk-1番目に保守作業H1からHk-1を行った際の故障原因Ckの確率を表す。また、左辺は、各故障原因の確率を表す。これらの確率は、分析者によって事前に与えられる。また、過去の事例データから求めても良い。数1によって最も高い確率が得られた故障原因を、事例記憶部202に入力する故障原因とする。また、N個の事例に対して原因分類部210で故障原因をN回分類し、最も多く分類された故障原因を事例記憶部202に入力する故障原因としてもよい。
また、本実施例では教師情報推定部203で故障原因の推定を行ったが、例えば有効である保守作業を教師情報として推定してもよい。この場合も数1と同様の形式で推定される。
ステップ706では、同じ故障期間に属する故障事例のデータに同じ故障原因を入力する。この際には、同じ故障期間全てに対して故障原因を入力する。また、ステップ704で用いる一定の期間より短い期間内の故障事例のみに故障原因を入力しても良い。
ステップ707で故障原因推定フローを終了する。
事例選択処理実行判定部204は、事例選択部205での処理を実行するか判定する。後述の事例選択部205で行う処理は、計算負荷が高い。そのため、事例選択処理実行判定部204を設ける事で効率的な運用を行う。この実行判定は故障原因分類が行われる単位毎に行われる。ここで故障原因分類が行われる単位とは、例えば故障種別の事である。また、故障原因分類が行われる単位は、故障種別、車両情報の組合せを単位としても良い。事例選択部205での処理の実行判定は、事例記憶部202に記憶されているサンプルの数によって決定される。ここで、サンプルの数とは、事例選択部205の処理の対象となる故障種別のサンプルの数である。このサンプル数が一定以上あれば事例選択部205での処理は実行しない。事例選択処理実行判定に関するサンプル数の閾値は、事前に分析者によって与えられる。また、サンプル数による事例選択処理実行判定以外にも、正答率による判定も考えられる。この場合には、事例選択処理の対象となる故障種別のサンプルで、1つ抜き法と呼ばれる交差検証を行い教師あり学習を用いて正答率を計算する。ここで正答率は、交差検証の対象となるサンプルの数で交差検証で、事例記憶部に記憶されている故障原因に分類されたサンプルの数を割った値である。この正答率が一定以上であれば、事例選択部205での処理は実行しない。事例選択処理実行判定に関する正答率の閾値は、事前に分析者によって与えられる。また、分析者によって事例選択処理実行判定が行われてもよい。この場合には、分析者が事例選択処理を実行しないとした時点以降は実行せず、事例選択処理を実行するとした時点以降では実行する。
事例選択部205では、故障原因分類に用いる事例を選択する。
特許文献2に見られるような交差検証で正常データから異常データを除去する手法は、一般に外れ値検知と呼ばれる。特許文献2のような正常時のセンサデータのみを学習する方法は”教師なし学習”と呼ばれる。教師なし学習は、教師あり学習とは異なり、入力データのみを学習する。その後、新たな入力データが与えられた際には、これまで学習したデータとの距離を出力する。一方で、教師あり学習とは、入力データと故障原因情報もしくは保守情報を学習する。特許文献2では、入力データとして機械正常時のセンサデータを与え学習させる。その後、機械を運転時のセンサデータを与え、学習した機械正常時センサデータとの距離を計算し、一定以上離れている場合には、機械が異常であるとして診断する。そのため、学習するデータの中に異常なデータが混入してしまうと、適切な異常診断が行えない。これは機械運転時に異常なセンサデータが与えられても、学習データに近いデータが存在する場合には、学習データとの距離が十分大きくならないためである。そのため、教師なし学習においては、学習データから異常と推定されるデータを除外する外れ値検知の検討が十分に行われてきた。教師なし学習において外れ値検知で除外されるデータは、発生頻度の低いデータである。そのため、学習したデータとの距離を計算する教師なし学習においては、発生頻度の低いデータはノイズとなり、学習結果に悪影響を及ぼす。
しかしながら、従前の教師あり学習においては、学習データから異常と推定されるデータを除外する手法に対する検討は十分に行われていない。これは、教師あり学習の扱う主問題が分類問題であるためである。分類問題では、多くのセンサデータの中から異なる特徴を見つける事が重要である。例えば、エンジン急停止という故障種別においてエンジンの故障と燃料の供給停止という異なる故障原因を分類するという問題を扱う。エンジンの故障の際には燃料が十分供給されていてもエンジンが動作しない、燃料の供給停止の際には燃料が十分供給されていない点が故障原因を分類する特徴となる。教師あり学習では、多くのセンサデータの中から分類に有効な特徴を探索する。そのため、データの発生頻度は低い場合であっても、故障原因の分類に有効な特徴となる可能性がある。また、通常の教師あり学習で扱う問題では学習データが十分に存在する。そのような場合には、発生頻度の低いデータが分類に有効でない時は特徴として採用されない。このような理由で、教師あり学習においては外れ値検知のような学習データに対する検証は行わない。
しかしながら、故障原因分類では、学習データの選定が重要となる。これは、学習時の出力データである故障原因の信頼性が低いためである。通常の教師あり学習では、出力データの信頼性は十分に高い。例えば、一般の教師あり学習では、自然言語処理や画像認識を扱う。例えば、画像認識で大量の画像から海の画像と山の画像を識別する問題を考える。多くの人間は画像に対して、それが海の画像であるか、山の画像であるかを識別できる。そのため、教師あり学習で学習する出力データ(海の画像であるか、山の画像であるか)の信頼性は高い。これに対して、故障原因分類の問題では、出力データ(故障原因)の信頼性は高くない。これは、機械の専門家であっても故障の原因の特定は難しい点、機械の専門家は多く存在しない点、1台当たりの故障原因の特定には長い時間が必要である点がある。そのため、機械専門家による出力データの生成は、現実的には困難である。また、保守拠点での保守作業による出力データの生成も困難である。これは、保守員の経験が浅い、故障した車両が新しい型式である等の理由によって保守員が十分な保守の知識を持っていないために適切な保守ができない事があるためである。また保守拠点の保守員は必要以上の保守を行う事があるためである。ここで、必要以上の保守とは、例えば、エンジンの故障という故障原因に対して、エンジン部品の交換に加え、燃料の補給、配管の点検を行うことである。このような場合には、どの保守作業が故障原因に対して有効であったかを判定するためには、機械の専門家が必要となる。そのため、この場合でも有効であった保守が不明となるため、真の故障原因が不明であり、適切な入力を行えず、出力データの信頼性が低くなる。本実施例における教師情報推定部203のように、保守履歴から真の故障原因を推定することも可能であるが、この場合も同様に出力データの信頼性は十分高くない。
このような課題に対応するために、本実施例では、故障原因分類に用いる事例の選択を行う。この事例選択は、各事例に対して出力データの信頼性を評価し、信頼性の低いデータは学習に用いない、または信頼性の高いと推測される故障原因を与える。これにより、故障原因分類に用いる学習データの信頼性を向上させる。
図8に事例選択部205、教師情報信頼度評価部206、教師情報候補有力度評価部207の処理フローを示す。
ステップ801で事例選択部の処理フローを開始する。これは、日に一度、月に一度、または新しい事例が事例記憶部に入力された時など所定のタイミングで行われる。また、事例選択部のフローは故障原因分類が行われる単位毎に実行判定及び実行する。また、事例選択処理実行判定部で事例選択処理を実行しないと判定された場合には、ステップ801でフローは開始されない。その場合には、故障原因分類には全てのサンプルを用いる。または、その時点で既に選択されているサンプルを使用する。
ステップ802では教師情報信頼度評価部206で、各サンプルの信頼度を評価する。この信頼度は、各サンプルに与えられた故障原因が信頼できる度合を表す。真の故障原因とは異なる故障原因を与えられたサンプルは信頼度が低くなり、真の故障原因に等しい故障原因が与えられたサンプルは信頼度が高くなる。ここで教師情報とは教師あり学習における出力データであり、本実施例では故障原因である。
ステップ803では、教師情報候補有力度評価部207で、ステップ802で信頼度がある閾値より低いとされたサンプルに対して、より有力な教師情報を推定する。ここで有力な教師情報とは、真の故障原因と推定される教師情報である。また、ある閾値は事前に分析者によって与えられる。また、本実施例では信頼度がある閾値より低いサンプルのみ、有力な教師情報を推定するが、全てのサンプルに対して教師情報を推定してもよい。
ステップ804では、信頼度の低いサンプルの故障原因を変更する。すなわち、教師情報候補有力度評価部207で有力度が高いとされた教師情報を、有力な故障原因として分析に用いる。
ステップ805では故障原因変更前後での正答率を計算する。すなわち、ステップ802時点での故障原因で計算した正答率とステップ804で信頼度の低いサンプルの故障原因を変更した後での正答率を計算する。
ステップ806では故障原因変更前後での正答率を比較する。もし、故障原因を変更した場合に正答率が高い場合にはステップ807へ進む。反対に故障原因を変更しない場合に正答率が高い場合にはステップ808へ進む。
ステップ807では、故障原因分類に用いる教師情報である故障原因を決定する。この場合はステップ804で推定された有力度の高い故障原因を原因分類部210で使用する事例及び故障原因として、原因分類部210に送信する。その後ステップ812に進み、事例選択フローを終了する。
ステップ808では、故障原因を変更せず、信頼度の低いサンプルを除外する前後での正答率を計算する。ステップ808に進んだ場合には、故障原因を変更した場合に正答率が低下するため、故障原因の変更を行わない。この場合には、信頼度の低いサンプルを学習に悪影響を与えるサンプルとして除外する事で、原因分類部210での正答率向上を図る。
そのため、ステップ802時点での故障原因、サンプル数での正答率と、ステップ802時点でのサンプル数以下である信頼度が低いサンプルを除外した後のサンプル数で、それぞれ正答率を計算する。
ステップ809で、信頼度の低いサンプルを除外した前後での正答率を比較する。信頼度の低いサンプルを除外しない場合に正答率が高い場合にはステップ810に進む。信頼度の低いサンプルを除外した場合に正答率が高い場合には、ステップ811に進む。
ステップ810では、故障原因分類に用いるサンプルを決定する。この場合はステップ802時点での故障原因、サンプルを原因分類部210で使用する事例及び故障原因として、原因分類部210に送信する。その後ステップ812に進み、事例選択フローを終了する。
ステップ811では、故障原因分類に用いるサンプルを決定する。この場合はステップ802時点での故障原因で、信頼度が低いサンプルを除外した後のサンプルを原因分類部210で使用する事例及び故障原因として、原因分類部210に送信する。その後ステップ812に進み、事例選択フローを終了する。
図8では、信頼度の低いサンプル全てを一括して故障原因を変更する例を示したが、信頼度の低いサンプルの一部のみ故障原因を変更してもよい。この場合には、最も信頼度が低いサンプルの故障原因を変更し、正答率を計算する。故障原因の変更前より正答率が向上した場合には、最も信頼度の低いサンプルの故障原因を変更する。故障原因の変更前より正答率が向上しない場合には、最も信頼度の低いサンプルの故障原因は変更しない。次に2番目に信頼度の低いサンプルの教師情報を変更し、正答率を計算する。故障原因の変更前より正答率が向上した場合には、2番目に信頼度の低いサンプルの故障原因を変更する。故障原因の変更前より正答率が向上しない場合には、2番目に信頼度の低いサンプルの故障原因を変更しない。このように信頼度の低いサンプルから順に正答率を計算し、正答率が向上したサンプルの故障原因の変更を行う方法でもよい。また、1度全てのサンプルの故障原因の変更を検討した後に故障原因が変更されたサンプルが存在した場合には、再度信頼度を計算しなおし、信頼度の低いサンプルから順に故障原因の変更を検討してもよい。また、信頼度の高いサンプルから順に故障原因の変更を検討してもよいし、信頼度とは無関係な順番、例えば事例の発生日時などの順で故障原因の変更を検討してもよい。
また、図8では信頼度の低いサンプル全てを一括に学習から除外する例を示したが、故障原因の変更手順と同様に、一部のサンプルのみ学習から除外してもよい。この場合も、信頼度の低いサンプルから順に、除外し正答率を検討し、除外前より正答率が向上した際には信頼度の低いサンプルを除外する。また、故障原因の変更時と同様に、除外する順は問わない。
また、故障原因の変更、サンプルの除外を交互に繰り返しても良い。
また、正答率ではなく、正解したサンプル数で評価してもよいし、正答率が一定以上向上した際のみ、故障原因の変更及びサンプルの除外を適用してもよい。
このように、正答率を基準として、各事例の原因分類部での使用、不使用や原因分類部で使用する際の故障原因を選択する事で、原因分類部の正答率を向上させる。
図9に教師情報信頼度評価部206での処理のイメージを示す。ここでは簡単のため、N個のサンプルの中に、真の故障原因とは異なる故障原因が与えられているサンプルが1個だけある場合について説明する。
全サンプル901は学習データとして全サンプルが与えられている事を示す。実線で囲まれている正しい故障原因のサンプル1は、サンプル1に真の故障原因が与えられている事を示している。正しい故障原因のサンプル2〜正しい故障原因のサンプルN-1も同様である。破線で囲まれている誤った故障原因のサンプルNは、サンプルNには真の故障原因とは異なる故障原因が与えられている事を示している。すなわち、サンプル1〜サンプルN-1のN-1個のサンプルが真の故障原因を与えられており、サンプルNのみ1サンプルが真の故障原因とは異なる故障原因が与えられている。この状態で正答率を計算した際に、正答率がAとなったとする。
N-1サンプル902はN-1個のサンプルを示している。すなわち902aでは正しい故障原因のサンプル1を除いたサンプル2〜NのN-1個のサンプルがある。902bでは正しい故障原因のサンプル2を除いたサンプル1, 3〜NのN-1個のサンプルがある。902cでは誤った故障原因のサンプルNを除いたサンプル1〜N-1のN-1個のサンプルがある。
903ではN-1サンプルでの正答率及び信頼度を示す。903aではサンプル2〜NのN-1サンプルで得られた正答率とサンプル1の信頼度を示す。この時、正答率が全サンプルでの正答率Aと同等であったとする。このような状況では、サンプル1は少なくともN個のサンプルでは故障原因分類に大きな影響を及ぼすサンプルではない。そのため、サンプル1の信頼度は中となる。903bではサンプル1と3〜NのN-1個のサンプルで得られた正答率とサンプル2の信頼度を示す。この時正答率がAより低下したとする。この場合では、サンプル2がN個のサンプルでの故障原因分類での正答率に重要なサンプルである。そのため、このサンプルの信頼度は高い。903cでは真の故障原因とは異なる故障原因が与えられたサンプルNが除かれた上でのサンプル1〜N-1のN-1個での正答率とサンプルNの信頼度を示す。このような場合では、故障原因分類に悪影響を及ぼす誤った教師情報を持つサンプルが除外されたため、正答率は向上する。そのため、サンプルNの信頼度は低い。
以上のように、教師情報信頼度評価部206では、全サンプルから1事例ずつサンプルを除外し正答率を計算する。除外したサンプルが正しい故障原因を与えられたサンプルである場合には、正答率は変化しない、または低下することが考えられる。そのため、正答率が変化しない、または低下する場合には、除外したサンプルに対して中程度または高い信頼度を与える。除外したサンプルが真の故障原因とは異なる故障原因を与えられている場合には、正答率が向上する事が想定される。そのため、正答率が向上した場合には、除外したサンプルの信頼度は低くなる。このようにして、各サンプルの信頼度を計算する。
図10に教師情報信頼度評価部206の処理フローを示す。
ステップ1001で処理フローを開始する。これは事例選択部の処理フローステップ802が実行されるタイミングで開始される。
ステップ1002では全サンプルN個での正答率を計算する。
ステップ1003では繰り返し数iに1を代入する。
ステップ1004では、全サンプルからi番目のサンプルを除外し、N-1個のサンプルを生成する。
ステップ1005では、ステップ1004で生成されたN-1個のサンプルで正答率を計算する。
ステップ1006では、ステップ1002で計算した全サンプルN個での正答率とステップ1005で計算したN-1個のサンプルでの正答率から信頼度を計算する。信頼度は数2によって計算される。
ここで、Riは信頼度をi番目のサンプルの信頼度を表す。AはN個のサンプルでの正答率を表す。A-iはi番目のサンプルを除外したN-1個のサンプルで計算した正答率を示す。
ステップ1007では全てのサンプルに対して信頼度を計算したか調べる。i=Nであれば全サンプルN個の信頼度の計算を完了したとしてステップ1009に進む。i=Nでなければステップ1008に進む。
ステップ1008ではiに1足す。
ステップ1009で教師情報信頼度評価部の処理フローを終了する。
また、ここでは1つのサンプルのみを除外して信頼度を評価する方法について記述した。この際、除外する1サンプル以外は全て最初に与えられている故障原因を用いているが、信頼度の計算と故障原因の変更を並行して行ってもよい。例えば、まず最も信頼度の低いサンプルを特定し、最も信頼度の低いサンプルに対して教師情報候補有力度評価部207で有力な故障原因を推定し、故障原因を変更する。その後、もう一度全てのサンプルに対して信頼度を計算し、最も信頼度の低いサンプルに対して再び教師情報有力度評価部207で有力な故障原因を推定し、故障原因を変更する。このように信頼度の計算と信頼度の低いサンプルの有力な教師情報の推定、故障原因の変更を繰り返してもよい。この場合には、繰り返し計算した回数が一定以上となった時点や故障原因が変更されなくなる時点で繰り返し計算を終了する。
また、ここでは、1つのサンプルのみを除外して信頼度を評価する方法について記述した。また、反対にサンプルを1つずつ加え信頼度を評価する方法も考えられる。この場合には、まず既に信頼度が分かっているサンプルN個で正答率を計算する。その後、信頼度を計算するサンプルを加えN+1個のサンプルで正答率を計算し、サンプルを加えた前後の正答率から信頼度を計算する。信頼度を計算したいサンプルが複数ある場合には、信頼度が既知のサンプルN個に順番にサンプルを加えN+1個のサンプルで正答率の計算及び信頼度の計算を繰り返す。
このようにして計算された信頼度は、各サンプルの正答率への寄与を表している。そのため、信頼度が高く評価されたサンプルは、原因分類部210で使用すれば正答率の向上が見込める。反対に信頼度が低く評価されたサンプルは、原因分類部210で使用すれば正答率の低下を招く恐れが高い。この信頼度を根拠として、事例選択部205は、原因分類部210での正答率が高くなるように事例の選択を行う。また、この信頼度は表示画面208に出力され、分析者104によって確認される。その後、分析者は信頼度に応じて各サンプルを原因分類部210での使用、不使用を決定できる。
図11では教師情報候補有力度評価部207の処理フローを示す。
ステップ1101で処理フローを開始する。これは、事例選択部205の処理フローのステップ803を実行するタイミングで開始する。
ステップ1102で教師情報候補の有力度を計算するサンプルを決定する。これは、教師情報候補有力度計算部が自動で実行する。
ステップ1103では、正答率を計算する。ここで正答率を計算する際には、有力度を計算するサンプルは、ステップ1104、1105を繰り返すたびに教師情報である故障原因が変更される。有力度を計算するサンプル以外のサンプルはステップ1101時点で与えられている故障原因を教師情報として固定し、正答率を計算する。
ステップ1104では、有力度を計算するサンプルが全ての故障原因を教師情報にした際の正答率を計算したか調べる。全ての故障原因を教師情報とした場合全てに対して正答率の計算が完了していればステップ1106に進み、完了していなければステップ1105に進む。
ステップ1105では、有力度の計算するサンプルの故障原因を変更する。ここで変更する故障原因は、まだステップ1103で正答率の計算を終えていない故障原因となる。
ステップ1106では各故障原因での正答率から各故障原因の有力度を計算する。有力度の計算は数3によって行われる。
ここでWcは故障原因がcの有力度を表す。Acは故障原因がcの時の正答率を表す。右辺の分母は、全ての故障原因での正答率の総和を表す。
事例選択部等で信頼度の低いサンプルの故障原因を変更する際には、最も有力度の高い故障原因に変更する。また、ここでは有力度の計算に正答率のみを用いたが、数1で求められる各故障原因の発生確率を用いて重みづけを行ってもよい。この場合には有力度は数4で求められる。
ここでp(c)は、数1で求められる故障原因cの発生確率である。
ステップ1107では、全てのサンプルに対して有力度を計算したか調べる。まだ、全てのサンプルに対して有力度を計算してなければ、ステップ1102に進み有力度を計算していないサンプルの有力度の計算を行う。全てのサンプルに対して有力度の計算が完了していれば、ステップ1108に進み、教師情報候補有力度評価部の処理フローを終了する。
このようにして計算された有力度は、サンプルの故障原因を変更した際の、正答率の変化を表す。すなわち、有力度の高い故障原因に変更した場合には、原因分類部210での正答率の向上が見込まれる。反対に、有力度の低い故障原因に変更した場合には、原因分類部210での正答率の低下が見込まれる。事例選択部205はこのように算出された各サンプルの有力度を用いて、各事例の故障原因を決定する。また、この有力度は表示画面208に出力され、分析者104によって確認される。その後、分析者は有力度に応じて各サンプルを原因分類部210で使用する際の故障原因を選択できる。
図12は、表示画面208の構成を示した図である。
選択対象表示部1201は、事例選択部の対象を表示する。ここで対象とは、例えば、車両情報や、故障種別である。また、車両IDを表示してもよい。
信頼度表示部1202は、教師情報信頼度評価部206で計算した各事例の信頼度を表示する。
有力度表示部1203は、教師情報候補有力度評価部207で計算した各事例の有力度を表示する。
保守履歴表示部1204は、事例記憶部202に記憶されている各事例の保守履歴を表示する。
データ表示部1205は、事例毎の時系列データや散布図などのセンサデータを表示する。
代表例表示部1206は、各故障原因の代表的な時系列データや散布図などのセンサデータを表示する。
事例使用選択部1207では、分析者104が各事例を原因分類部210での使用、不使用を選択できる。
原因変更部1208では、分析者104が各事例の原因を変更する。
分類性能表示部1209は、選択されている事例、故障原因での分類性能を表示する。ここで分類性能とは、例えば正答率である。また、正答率の他にも、故障原因をクラスとみなした際のクラス内分散、クラス間分散や各故障原因の平均値などの統計量を用いてもよい。
事例選択検証部1210では、分析者104が選択した各事例の使用、不使用、故障原因の変更等を用いた際の正答率等の分類性能を計算し、分類性能表示部1209に表示する。これは、分析者によって事例選択検証部1210の実行を選択されたタイミングで実行する。
図8で示した事例選択部の処理フローでは、原因分類サーバが自動的に原因分類部210で使用する事例を選択する例を示した。しかし、分析者104が表示画面208で、信頼度や有力度、保守履歴、センサデータ等を参考にして、原因分類部210で各事例の使用、不使用、原因の変更を行ってもよい。
図13は、表示画面208の画面例を示した図である。
選択対象表示部1301aは、事例選択部の対象を表示する。131aでは車両情報、故障種別に加え、各故障原因のサンプル数を表示する。1301bでは、信頼度表示部1202で選択されたサンプルのサンプル名、車両IDを表示する。
信頼度表示部1302では、各事例のサンプル名、故障原因、信頼度、事例選択結果、選択原因を表示する。ここで、故障原因は、事例記憶部202に記憶されている故障原因である。信頼度は教師情報信頼度評価部206で計算された各事例の信頼度である。事例選択結果は、各事例を原因分類部210での使用、不使用を表示したものであり、使用となっている事例は原因分類部210で使用し、不使用となっている事例は原因分類部210で使用しない。選択原因は、原因分類部210で各事例を使用する際の教師情報、すなわち故障原因を表示する。この事例選択結果と選択原因は分析者104によって、使用、不使用や、選択原因の変更が可能である。これらの機能は、図12の事例使用選択部1207と原因変更部1208の機能である。このように、事例使用選択部1207と原因変更部1208は信頼度表示部1202と同じ画面上に配置してもよい。ここで、サンプル3の背景が灰色になっているのは、サンプル3が分析者104によって選択されている事を示し、選択された事例の有力度は有力度表示部1303に、選択された事例の保守履歴は保守履歴表示部1304に、選択された事例のセンサデータはデータ表示部1305に表示される。
また、信頼度表示部は、信頼度の値によって昇順、降順などに並び替えることができる。さらに信頼度が一定以上、または一定以下の事例を色分けして表示することもかのうである。
有力度表示部1303は、選択された事例の有力度を表示する。ここで、有力度表示部1303は有力度の値によって昇順、降順などに並び替えることができる。さらに有力度が一定以上、または一定以下の事例を色分けして表示することもかのうである。
保守履歴表示部1304では、選択された事例と同一の車両IDを持つ車両の保守履歴が表示される。ここで横軸は保守が行われた日付を表し、各日付で行われた保守を表示する。
データ表示部1305は、選択された事例のセンサデータを表示する。ここで表示するデータは、時系列データ、センサ間の散布図、FFTや移動平均などの処理を行った後のデータなどを選択できる。
代表例表示部1306は、各故障原因で典型例として選択された事例のデータを表示する部分である。ここで表示するデータはデータ表示部1305と同様に、時系列データ、センサ間の散布図、FFTや移動平均などの処理を行った後のデータなどを選択できる。
分類性能表示部1307は、現在の分類性能を表示する。ここでは、分類性能として正答率を用いた場合について例示する。
事例選択検証部1308は、分析者104によって選択された場合に、現在の事例選択結果及び選択原因を用いて交差検証を行い、分類性能を算出し、分類性能表示部1307の値を更新する。
確定部1309は、分析者104によって選択された場合に、現在の事例選択結果及び選択原因を原因分類部210で使用する事例及び故障原因として、原因分類部210に送信する。
分析者104は、この表示部を使って最も正答率が向上する事例選択を効率的に行う。
例えば、信頼度表示部1302を用いて信頼度の低い事例を選択し、有力度表示部1303や保守履歴表示部1304で、信頼度の低い事例の有力度、保守履歴を確認する。有力度表示部1303では、分析者104は、最も正答率が向上すると想定される故障原因を確認できる。また、データ表示部1305や代表例表示部1306で、各事例のデータと各故障原因の代表的なデータを比較する事で、各事例のデータと有力な故障原因の候補のデータを比較し、類似した波形、分布等の特徴を示すとみられる原因を有力な原因と考えられる。また、保守履歴表示部で、有力とみられる故障原因に対応する保守が行われておらず、かつ保守後一定期間経過したにも関わらず故障が再発していない場合には、有力度やセンサデータでの類似などで有力な故障原因は真の原因とは異なる可能性が高い等の推測が可能である。このように、分析者104は信頼度、有力度、データ、保守履歴等を総合的に加味し、最もありえそうな故障原因を推測し、選択原因を変更する。また、いずれの原因も信憑性に欠けると判断した場合には、サンプルの事例選択結果を不使用にすることで、原因分類部210で使用するデータへのノイズ混入を最小化し、正答率の向上が期待される。
また、各事例の事例選択結果、選択原因を変更した後に、事例選択検証部1308を選択する事で、正答率の変化を確認する。正答率が検証前より向上した場合には、より正しい故障原因を推定できたとし、確定部1309を選択し、事例選択を終了する。反対に、正答率が低下した場合には、事例選択に誤りがあったとして、変更を棄却するか、より正答率が高くなる事例選択結果、選択原因を模索する。
このようにして、信頼度、有力度、データ、保守履歴等の情報を用いて、分析者104は効率的に事例選択を行う。
図14に原因分類部の構成を示す。分類部1401及び選択事例記憶部1402からなる。分類部1401では、選択事例記憶部1402に格納されている車両、故障種別毎の各サンプルを入力データとし、車両、故障種別毎の故障原因を教師情報として教師あり学習による分類を行う。本実施例では、SVMと呼ばれるアルゴリズムを用いる。しかし、SVM以外の教師あり学習の手法であっても本実施例は適用できる。SVM以外の教師あり学習手法とは例えば、ランダムフォレストやニューラルネットワーク等がある。
選択事例記憶部1402では、原因分類部で使用する事例を記憶する。ここで保管される事例は、事例記憶部202に記憶されている事例の一部、または全部である。事例選択部205から送信されたサンプル及び故障原因、が格納される。または、表示画面208で分析者104から送信された事例選択結果及び選択原因が格納される。
図15は本実施例における選択事例記憶部1402に格納された過去の故障原因と稼働データが紐づいた状態の階層構造の一例を示している。車両階層1501では、車両M1、M2、M3・・・が格納されている。故障種別階層1502には故障種別F1、F2・・・が格納されている。故障原因階層1503では、故障種別階層1502の故障種別と関連する故障原因が格納されている。例えば、車両M1の故障種別F1についてはそれと関連する故障原因A、B・・・Xが格納されている。より具体的には、故障種別F1としてエンジン停止が格納されている場合には、故障原因階層1503にはエンジン部品の故障や燃料の供給停止といった故障原因が格納される。サンプル階層1504では、車種、故障種別、故障原因と関連付けられているサンプルが格納されている。
図16は分類結果表示部211の構成を示した図である。分類結果表示部211は車両情報表示部1600と故障種別表示部1601、データ情報表示部1602、分類原因表示部1603、処置方法表示部1604によって構成されている。
車両情報表示部1600では、故障原因を分類した稼働データが発生した車両に関する情報を表示する。ここで車両に関する情報とは、車両IDや走行距離、車体やエンジン等の型式などである。
故障種別表示部1601では故障種別を表示する。データ情報表示部1602は稼働データ209の情報を表示する。これは各センサの値の特徴や、各センサの時系列データである。分類原因表示部1603は、原因分類部210から出力された各故障原因を表示する。処置方法表示部1604では、あらかじめ登録されている各故障原因に対する処置方法を表示する。保守拠点105においては、表示された故障原因の確率とその処置方法を参考にして、効率的な保守作業を行う。
図17は保守作業入力部201の構成を示した図である。保守拠点105にいる保守員は、保守結果表示部に表示された故障の分類結果を参考に保守作業を行う。その後、実際に行った保守作業を保守作業入力部201に入力する。
車両情報表示部1700は保守作業を行った車両に関する情報を表示する。ここで車両に関する情報とは、車両IDや故障の発生時刻、車体やエンジン等の型式などである。
故障種別表示部1701は、保守の対象となった故障の種別であり、例えば、エンジンの故障などが挙げられる。
分類原因表示部1702は、分類結果表示部211の分類原因表示部1603に表示される故障原因を表示する。
保守員はこれらの車両情報表示部1700、故障種別表示部1701、分類原因表示部1702に表示された情報を参考にし、実際の故障と保守の組合せを入力する。
保守日時入力部1703では、保守員が保守を行った日時を入力する。
保守作業入力部1704では、保守員が実際に行った保守作業を入力する。
以上のように本実施例では、保守員による保守作業の入力、保守作業から故障原因の推定、推定された故障原因の信頼度の評価、有力な故障原因の推定を繰り返すことで、データの量が増える毎に正答率が向上していく仕組みを提供する。
また、本実施例では教師情報として故障原因を扱ったが、例えば有効な保守作業を教師情報として扱ってもよい。有効な保守作業を教師情報として扱う場合では、保守履歴が1つ以上の教師情報の候補として与えられることとなる。教師情報候補となる保守作業が1つの場合には従来の教師あり学習の枠組みとなるが、複数の教師情報候補が与えられた場合には従来の教師あり学習の枠組みでは扱えない。本実施例では、このような事例に対しても有力と推測される教師情報を推測し、分類を行うことが可能である。
以上、本発明は実施例に限定されるものではなく様々な変形例が含まれる。車両は商用車である必要はないし、本発明の思想は車両以外の船舶、航空機に例示される移動体、移動体以外の機械の保守に適用してもよい。上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。