IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日立造船マリンエンジン株式会社の特許一覧

特開2024-132663情報処理装置、推定システム、推定方法、生成方法、推定プログラム、および生成プログラム
<>
  • 特開-情報処理装置、推定システム、推定方法、生成方法、推定プログラム、および生成プログラム 図1
  • 特開-情報処理装置、推定システム、推定方法、生成方法、推定プログラム、および生成プログラム 図2
  • 特開-情報処理装置、推定システム、推定方法、生成方法、推定プログラム、および生成プログラム 図3
  • 特開-情報処理装置、推定システム、推定方法、生成方法、推定プログラム、および生成プログラム 図4
  • 特開-情報処理装置、推定システム、推定方法、生成方法、推定プログラム、および生成プログラム 図5
  • 特開-情報処理装置、推定システム、推定方法、生成方法、推定プログラム、および生成プログラム 図6
  • 特開-情報処理装置、推定システム、推定方法、生成方法、推定プログラム、および生成プログラム 図7
  • 特開-情報処理装置、推定システム、推定方法、生成方法、推定プログラム、および生成プログラム 図8
  • 特開-情報処理装置、推定システム、推定方法、生成方法、推定プログラム、および生成プログラム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024132663
(43)【公開日】2024-10-01
(54)【発明の名称】情報処理装置、推定システム、推定方法、生成方法、推定プログラム、および生成プログラム
(51)【国際特許分類】
   B63B 79/20 20200101AFI20240920BHJP
   G06Q 10/20 20230101ALI20240920BHJP
   G06Q 10/04 20230101ALI20240920BHJP
【FI】
B63B79/20
G06Q10/20
G06Q10/04
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2023043521
(22)【出願日】2023-03-17
(71)【出願人】
【識別番号】523085083
【氏名又は名称】日立造船マリンエンジン株式会社
(74)【代理人】
【識別番号】110000338
【氏名又は名称】弁理士法人 HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】赤荻 祐亮
(72)【発明者】
【氏名】藤堂 聖真
【テーマコード(参考)】
5L010
5L049
【Fターム(参考)】
5L010AA04
5L049AA04
5L049CC15
5L049CC20
(57)【要約】
【課題】適切な推定結果を得ると共に原因の推定を容易化する。
【解決手段】情報処理装置(1)は、船舶のエンジンの状態に関する目的変数と当該エンジンの状態に関する説明変数との関係を機械学習することにより生成された決定木モデル111A-1等を用いて、状態判定の対象となる対象エンジンの状態に関する説明変数から当該対象エンジンの状態を推定する状態推定部(104)を備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
船舶のエンジンの状態に関する目的変数と当該エンジンの状態に関する説明変数との関係を機械学習することにより生成された決定木モデルを用いて、状態判定の対象となる対象エンジンの状態に関する説明変数から当該対象エンジンの状態を推定する状態推定部を備える情報処理装置。
【請求項2】
前記対象エンジンの動作中に観測された観測値から1または複数種類の統計値を算出する統計値算出部を備え、
前記状態推定部は、算出された前記統計値を前記説明変数として用いて前記対象エンジンの状態を推定する、請求項1に記載の情報処理装置。
【請求項3】
前記対象エンジンの種類の指定を受け付ける受付部を備え、
前記状態推定部は、複数の前記決定木モデルのうち、前記受付部が受け付けた種類に応じた決定木モデルを用いて前記対象エンジンの状態を推定する、請求項1または2に記載の情報処理装置。
【請求項4】
船舶のエンジンの状態に関する目的変数と当該エンジンの状態に関する説明変数との関係を示す訓練データを取得するデータ取得部と、
前記訓練データを用いた機械学習により、エンジンの状態を推定するための決定木モデルを生成する決定木モデル生成部と、を備える情報処理装置。
【請求項5】
前記決定木モデル生成部は、
(1)前記船舶の運航期間中であって、前記エンジンが正常であることが確認された時点から当該時点の所定時間前の時点までの期間、
(2)前記船舶の運航期間中であって、前記エンジンが正常であることが確認された時点から所定時間が経過するまでの期間、
(3)前記船舶の運航開始時点から所定時間が経過するまでの期間、および
(4)前記船舶の運航期間中であって、異常が発生した前記エンジンにおける当該異常が解消した時点から所定時間が経過するまでの期間、
の少なくとも何れかの期間の前記エンジンの状態に関する説明変数に対し、当該エンジンの状態が正常であることを示す目的変数が対応付けられた前記訓練データを用いて前記決定木モデルを生成する、請求項4に記載の情報処理装置。
【請求項6】
前記決定木モデル生成部は、
(1)前記船舶の運航期間中であって、前記エンジンに異常が発生したことが確認された時点から当該時点の所定時間前の時点までの期間、および
(2)前記船舶の運航期間中であって、前記エンジンに異常が発生したことが確認された時点から当該異常が解消するまでの期間、
の少なくとも何れかの期間の前記エンジンの状態に関する説明変数に対し、当該エンジンの状態が異常であることを示す目的変数が対応付けられた前記訓練データを用いて前記決定木モデルを生成する、請求項4または5に記載の情報処理装置。
【請求項7】
前記決定木モデル生成部は、前記エンジンに異常が発生したことが確認された異常確認時点から当該異常確認時点の所定時間前の時点までの期間を複数に区分し、各区分の前記エンジンの状態に関する説明変数に対し、当該エンジンの状態が異常であることを示す目的変数であって、前記異常確認時点に近い区分ほど危険度が高いことを示す目的変数が対応付けられた前記訓練データを用いて前記決定木モデルを生成する、請求項4または5に記載の情報処理装置。
【請求項8】
前記説明変数の候補のそれぞれについて、当該候補の前記推定における重要度を算出する重要度算出部と、
前記候補と当該候補の重要度とを対応付けて表示させる表示制御部と、
表示された候補のうち、前記決定木モデルの生成に用いる候補の指定を受け付ける受付部と、を備える請求項4または5に記載の情報処理装置。
【請求項9】
船舶のエンジンの状態に関する目的変数と当該エンジンの状態に関する説明変数との関係を機械学習することにより生成された決定木モデルを用いて、状態判定の対象となる対象エンジンの状態に関する説明変数から当該対象エンジンの状態を推定する情報処理装置と、
前記情報処理装置に前記推定を実行させ、当該推定の結果を受信して出力する端末装置と、を含むエンジンの状態の推定システム。
【請求項10】
1または複数の情報処理装置により実行される、状態判定の対象となる対象エンジンの状態の推定方法であって、
船舶のエンジンの状態に関する目的変数と当該エンジンの状態に関する説明変数との関係を機械学習することにより生成された決定木モデルを用いて、前記対象エンジンの状態に関する説明変数から当該対象エンジンの状態を推定する状態推定ステップを含む、推定方法。
【請求項11】
1または複数の情報処理装置により実行される決定木モデルの生成方法であって、
船舶のエンジンの状態に関する目的変数と当該エンジンの状態に関する説明変数との関係を示す訓練データを取得するデータ取得ステップと、
前記訓練データを用いた機械学習により、エンジンの状態を推定するための決定木モデルを生成する決定木モデル生成ステップと、含む生成方法。
【請求項12】
請求項1に記載の情報処理装置としてコンピュータを機能させるための推定プログラムであって、前記状態推定部としてコンピュータを機能させるための推定プログラム。
【請求項13】
請求項4に記載の情報処理装置としてコンピュータを機能させるための生成プログラムであって、前記データ取得部および前記決定木モデル生成部としてコンピュータを機能させるための生成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は船舶のエンジンの状態を推定する情報処理装置等に関する。
【背景技術】
【0002】
船舶においてエンジンはまさに心臓部であり、エンジンの状態を適切に診断することは、船舶の安全かつ安定的な運航を実現するために必要不可欠である。このような診断は、従来から機関士等により人手で行われている。また、このような診断を自動で行う技術も開発されている。例えば、下記の特許文献1には、舶用エンジンに関する各種データ(具体的には温度、圧力、振動加速度)に基づいて舶用エンジンの診断および寿命予測を行う情報処理装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2002-183341号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1の技術では、観測された温度や圧力が異常値となったときにエンジンに異常が発生したと診断されると考えられる。しかしながら、近年では船舶用のエンジンの高機能化および複雑化が進んでいることから、このような単純な診断では適切な状態推定を行うことは難しい。また、特許文献1の技術では観測された温度や圧力が記録されるだけである。そして、そのようなデータのみから異常が発生した原因を推定することは困難であって、この点においても改善の余地がある。
【0005】
本発明の一態様は、推定したい様々な状態に応じた適切な推定結果を得ることが可能であり、かつ、推定された状態となった原因の推定を容易化することができる情報処理装置等を実現することを目的とする。
【課題を解決するための手段】
【0006】
上記の課題を解決するために、本発明の一態様に係る情報処理装置は、船舶のエンジンの状態に関する目的変数と当該エンジンの状態に関する説明変数との関係を機械学習することにより生成された決定木モデルを用いて、状態判定の対象となる対象エンジンの状態に関する説明変数から当該対象エンジンの状態を推定する状態推定部を備える。
【0007】
また、本発明の他の態様に係る情報処理装置は、上記の課題を解決するために、船舶のエンジンの状態に関する目的変数と当該エンジンの状態に関する説明変数との関係を示す訓練データを取得するデータ取得部と、前記訓練データを用いた機械学習により、エンジンの状態を推定するための決定木モデルを生成する決定木モデル生成部と、を備える。
【0008】
また、本発明の一態様に係る、エンジンの状態の推定システムは、上記の課題を解決するために、船舶のエンジンの状態に関する目的変数と当該エンジンの状態に関する説明変数との関係を機械学習することにより生成された決定木モデルを用いて、状態判定の対象となる対象エンジンの状態に関する説明変数から当該対象エンジンの状態を推定する情報処理装置と、前記情報処理装置に前記推定を実行させ、当該推定の結果を受信して出力する端末装置と、を含む。
【0009】
また、本発明の一態様に係る、対象エンジンの状態の推定方法は、上記の課題を解決するために、1または複数の情報処理装置により実行される、状態判定の対象となる対象エンジンの状態の推定方法であって、船舶のエンジンの状態に関する目的変数と当該エンジンの状態に関する説明変数との関係を機械学習することにより生成された決定木モデルを用いて、前記対象エンジンの状態に関する説明変数から当該対象エンジンの状態を推定する状態推定ステップを含む。
【0010】
また、本発明の一態様に係る、決定木モデルの生成方法は、上記の課題を解決するために、1または複数の情報処理装置により実行される決定木モデルの生成方法であって、船舶のエンジンの状態に関する目的変数と当該エンジンの状態に関する説明変数との関係を示す訓練データを取得するデータ取得ステップと、前記訓練データを用いた機械学習により、エンジンの状態を推定するための決定木モデルを生成する決定木モデル生成ステップと、含む。
【発明の効果】
【0011】
本発明の一態様によれば、推定したい様々な状態に応じた適切な推定結果を得ることが可能になると共に、推定された状態となった原因の推定を容易化することができる。
【図面の簡単な説明】
【0012】
図1】本発明の一実施形態に係る情報処理装置の要部構成の一例を示すブロック図である。
図2】本発明の一実施形態に係る推定システムの概要を示す図である。
図3】電子メールにより状態推定の実行指示と推定結果の受信とを行う例を説明する図である。
図4】学習用データの収集方法を示す図である。
図5】学習用データの例を示す図である。
図6】説明変数の重要度の算出方法を説明する図である。
図7】決定木モデルの生成方法の一例を示すフローチャートである。
図8】決定木モデルを更新する際の決定木モデルの生成方法の一例を示すフローチャートである。
図9】対象エンジンの状態の推定方法の一例を示すフローチャートである。
【発明を実施するための形態】
【0013】
〔システム概要〕
図2は、推定システム1000の概要を示す図である。推定システム1000は、船舶のエンジンの状態を推定するシステムである。なお、状態の推定には、現在の状態の推定の他、将来の状態の推定(すなわち予測)も含まれる。図示のように、推定システム1000には、情報処理装置1と端末装置2とデータサーバ3とが含まれている。
【0014】
詳細は後述するが、情報処理装置1は、船舶のエンジンの状態に関する目的変数と当該エンジンの状態に関する説明変数との関係を機械学習することにより生成された決定木モデルを用いて、状態判定の対象となる対象エンジンの状態に関する説明変数から当該対象エンジンの状態を推定する。
【0015】
端末装置2は、情報処理装置1に対象エンジンの状態の推定を実行させ、当該推定の結果を受信して出力する。図示の例では、端末装置2はノート型のパーソナルコンピュータであり、対象エンジンを備えた船舶に配置されている。なお、端末装置2は、情報処理装置1と通信可能で、推定結果を自機で出力できるかまたは他の装置に出力させることができるものであればよい。また、その設置場所は特に限定されない。
【0016】
データサーバ3は、対象エンジンの状態に関する各種データを記録するサーバである。情報処理装置1は、データサーバ3に記録されたデータをそのまま説明変数として、あるいは当該データから生成された説明変数を用いて対象エンジンの状態の推定を行う。
【0017】
以上のように、推定システム1000は、船舶のエンジンの状態に関する目的変数と当該エンジンの状態に関する説明変数との関係を機械学習することにより生成された決定木モデルを用いて、状態判定の対象となる対象エンジンの状態に関する説明変数から当該対象エンジンの状態を推定する情報処理装置1と、情報処理装置1に上記推定を実行させ、当該推定の結果を受信して出力する端末装置2と、を含む。
【0018】
決定木モデルの生成時に、どのような説明変数を適用するかは任意に設定することができる。このため、推定システム1000によれば、推定したい状態に応じた説明変数を予め設定しておくことで、適切な推定結果を得ることができる。また、推定に用いた決定木モデルを参照することにより、推定された状態となった原因を推定することが可能である。よって、推定システム1000によれば、推定したい様々な状態に応じた適切な推定結果を得ることが可能になると共に、推定された状態となった原因の推定を容易化することができるという効果が得られる。
【0019】
例えば、図2の例では、対象エンジンの状態が正常である可能性の高さと、対象エンジンに異常Aが発生している可能性の高さと、対象エンジンに異常Bが発生している可能性の高さとをそれぞれ示す棒グラフが端末装置2の表示部に表示されている。これにより、端末装置2のユーザは、対象エンジンに異常Aが発生している可能性が高いことを認識し、早期に適切な措置を採ることができる。また、ユーザは、推定に用いた決定木モデルを参照することにより異常Aが発生した原因を推定することができる。例えば、推定に用いた決定木モデルを用いれば、フォルトツリー解析(Fault Tree Analysis)により原因を推定することも可能である。
【0020】
〔状態推定の実行指示の送信および推定結果の受信の例〕
端末装置2が、情報処理装置1に対象エンジンの状態推定を実行させるために送信する実行指示の態様は特に限定されない。また、端末装置2が、当該推定の結果を受信する態様も特に限定されない。例えば、推定システム1000においては、端末装置2が電子メールにより情報処理装置1に状態推定を実行させ、同じく電子メールによりその推定結果を受信できるようにしてもよい。
【0021】
図3は、電子メールにより状態推定の実行指示と推定結果の受信とを行う例を説明する図である。電子メールにより情報処理装置1に状態推定を実行させる場合、例えば、図3のAに示すように、宛先入力欄A1に、状態推定の実行指示の送信先として定められた所定のアドレスを入力させ、件名入力欄A2に、指示内容を示す文を入力させるようにしてもよい。また、本文入力欄A3には、状態推定に必要な情報を入力させるようにしてもよい。図3の例では、対象エンジンの識別情報である4ケタの数字が本文入力欄A3に入力されていると共に、添付ファイルとして観測データA4が添付されている。観測データA4は、対象エンジンを備えた船舶の運航期間中に各種センサによって観測された観測値を含んでいる。
【0022】
端末装置2のユーザは、以上のような情報を入力した電子メールを送信するだけで、情報処理装置1に状態推定を実行させることができる。なお、観測データを情報処理装置1側で取得できる場合には、観測データの添付を省略してもよい。
【0023】
情報処理装置1は、上記のような電子メールが送信されると、当該電子メールの本文に記載されている識別番号により対象エンジンを特定する。そして、情報処理装置1は、当該電子メールに添付されている観測データA4から説明変数を生成すると共に、データサーバ3から対象エンジンの状態推定に用いる他の説明変数または他の説明変数の元になるデータを取得する。なお、状態推定に用いる全ての説明変数を揃えるために必要な全てのデータを添付ファイルとして送信させるようにしてもよく、この場合データサーバ3からデータを取得する必要はない。情報処理装置1は、必要な説明変数が揃うと、それら説明変数を決定木モデルに入力し、決定木モデルの出力値から対象エンジンの状態を推定する。
【0024】
そして、情報処理装置1は、推定結果を示すデータを生成し、当該データを電子メールに添付して、上述したAの電子メールの送信元に送信する。推定結果を通知する電子メールは例えば図3のBに示すようなものであってもよい。この電子メールの本文欄B1には、状態推定が完了したこと、推定結果が添付ファイルとして添付されていること、および対象エンジンの識別情報が記載されている。そして、この電子メールには、推定結果を示す添付ファイルB2が添付されている。端末装置2のユーザは、添付ファイルB2を開くことにより、推定結果を確認することができる。
【0025】
なお、推定結果を添付ファイルとして送信することは推定結果の通知態様の一例に過ぎず、推定結果の通知態様としては任意の態様を適用することができる。例えば、電子メールの本文に推定結果を記載して通知するようにしてもよい。添付ファイルとして送信することの利点としては、画像ファイル等の形式で推定結果を通知することができる点が挙げられる。推定結果を添付ファイルで通知する場合、例えば、図2の例のようなグラフの画像データを添付ファイルとすることも可能である。
【0026】
〔情報処理装置の構成〕
図1は、情報処理装置1の要部構成の一例を示すブロック図である。図示のように、情報処理装置1は、情報処理装置1の各部を統括して制御する制御部10と、情報処理装置1が使用する各種データを記憶する記憶部11を備えている。また、情報処理装置1は、情報処理装置1が他の装置と通信するための通信部12、情報処理装置1に対する各種データの入力を受け付ける入力部13、および情報処理装置1が各種データを出力するための出力部14を備えている。
【0027】
また、制御部10には、データ取得部101、受付部102、統計値算出部103、状態推定部104、決定木モデル生成部105、重要度算出部106、表示制御部107、および更新制御部108が含まれている。また、記憶部11には、決定木モデル111A-1、111A-2、111B-1、および111B-2が記憶されている。なお、これらを区別する必要がないときには単に決定木モデル111と表記する。
【0028】
(決定木モデルの生成に関する構成)
上述のように情報処理装置1は、エンジンの状態を推定する機能を備えている。また、決定木モデル111を生成する機能も備えている。以下では、決定木モデル111を生成する機能を担う各部について説明する。なお、重要度算出部106は決定木モデル111の生成に関する構成要素であるが、これについては図6に基づいて後に説明する。
【0029】
データ取得部101は、船舶のエンジンの状態に関する目的変数と当該エンジンの状態に関する説明変数との関係を示す訓練データを取得する。複数種類の決定木モデル111を生成する場合、データ取得部101は、各決定木モデル111について1セットの訓練データを取得すればよい。例えば、決定木モデル111A-1、111A-2、111B-1、および111B-2という4種類の決定木モデル111を生成する場合、データ取得部101は、4セットの訓練データを取得すればよい。
【0030】
なお、決定木モデル111A-1と111A-2は、エンジンの状態が正常であるか異常Aが発生しているかを推定するモデルであり、決定木モデル111B-1と111B-2は、エンジンの状態が正常であるか、異常B(異常Aとは異なる種類の異常)が発生しているかを推定するモデルである。このように、異常の種類毎に決定木モデル111を生成することにより、異常の種類に応じた説明変数を適用して高精度な推定を行うことが可能になる。
【0031】
また、枝番号が同じ決定木モデル111は、同じ種類のエンジンに適合するモデルである。つまり、決定木モデル111A-1と111B-1はある種類のエンジンに適合し、決定木モデル111A-2と111B-2は他の種類のエンジンに適合する。このように、エンジンの種類毎に決定木モデル111を生成することにより、エンジンの種類に応じた説明変数を適用して高精度な推定を行うことが可能になる。
【0032】
エンジンをどのように種類分けするかは任意である。例えば、ボア径(ピストンの内径)によりエンジンを種類分けしてもよい。一般に、ボア径が異なるとエンジンの性能は大きく異なるためである。この場合、決定木モデル111A-1と111B-1は同じボア径のエンジンについて収集されたデータから生成された訓練データを用いて生成され、同様に、決定木モデル111A-2と111B-2は同じボア径(上記ボア径とは異なるボア径)のエンジンについて収集されたデータから生成された訓練データを用いて生成される。
【0033】
統計値算出部103は、エンジンの動作中に観測された観測値から1または複数種類の統計値を算出する。観測値は、対象エンジンの状態に関連するものであればよく、例えばエンジンまたはその周囲に設置された各種センサ(例えば、温度センサや圧力センサ等)で測定されたデータを観測値としてもよい。また、統計値をどのようなものとするかも特に限定されない。例えば、統計値算出部103は、所定期間に観測された観測値について、それらの平均値、最大値、最小値、最大値と最小値の差、最頻値、および分散の少なくとも何れかを算出してもよい。また、例えば、観測値が離散値である場合には最頻値のみを算出する、等のように観測値の種類に応じて算出する統計値を異なるものとしてもよい。
【0034】
決定木モデル生成部105は、データ取得部101が取得する訓練データを用いた機械学習により、エンジンの状態を推定するための決定木モデル111を生成する。学習のアルゴリズムは木構造のモデルを生成可能なものであればよい。また、生成する決定木モデル111の種類も特に限定されない。例えば、決定木モデル生成部105は、ジニ不順度またはエントロピーを指標として決定木の分岐条件を統計的に学習するCART(Classification And Regression Tree)アルゴリズムにより、ランダムフォレストモデルを生成してもよい。決定木モデル111をランダムフォレストモデルとする場合、決定木モデル111は複数の決定木を含み、それらの決定木による推論結果の多数決により最終的な推論結果が決定される。決定木モデル111をランダムフォレストモデルとすることにより、高精度な推定結果を得ることが可能になる。
【0035】
表示制御部107は、決定木モデル111の生成の際にユーザに確認してもらう必要のある各種情報を表示装置に表示させる。表示装置は、情報処理装置1が備えているものであってもよいし、他の装置が備えているものであってもよい。例えば、出力部14が表示装置である場合、表示制御部107は、出力部14に情報を表示させてもよい。また、表示制御部107は、図2の例のように、端末装置2が備える表示部に情報を表示させてもよい。
【0036】
更新制御部108は、決定木モデル111の更新を制御する。より詳細には、更新制御部108は、所定の条件が充足されたときに、新たな決定木モデル111を決定木モデル生成部105に生成させる。所定の条件は任意に設定すればよい。例えば、対象エンジンを備えた船舶が運航中である場合、新たな観測値等の学習に用いることのできるデータが随時得られ、それらのデータから新たな訓練データを生成することができる。このため、更新制御部108は、新たな訓練データが得られたことを条件として新たな決定木モデル111を生成させてもよい。これにより、船舶の運航中に、常に最新の訓練データを反映させた決定木モデル111を用いた状態推定を行うことが可能になる。
【0037】
以上のように、情報処理装置1は、船舶のエンジンの状態に関する目的変数と当該エンジンの状態に関する説明変数との関係を示す訓練データを取得するデータ取得部101と、上記訓練データを用いた機械学習により、エンジンの状態を推定するための決定木モデル111を生成する決定木モデル生成部105と、を備える。
【0038】
上記の構成によれば、推定したい状態に応じた説明変数を予め設定しておくことで、適切な推定結果を得ることが可能な決定木モデル111を生成することができる。また、決定木モデル111を参照することにより、推定された状態となった原因を推定することが可能である。
【0039】
よって、上記の構成によれば、推定したい様々な状態に応じた適切な推定結果を得ることが可能になると共に、推定された状態となった原因の推定を容易化することができるという効果が得られる。
【0040】
(状態推定に関する構成)
以下では、対象エンジンの状態を推定する機能を担う各部について説明する。なお、情報処理装置1は、必ずしも対象エンジンの状態を推定する機能と決定木モデル111を生成する機能との両方を備えている必要はない。これら各機能をそれぞれ別の情報処理装置に持たせてもよい。
【0041】
データ取得部101は、対象エンジンの状態を推定する際には、当該推定に必要な各種データ、具体的には決定木モデル111に入力する説明変数または当該説明変数の元になる観測値を含む観測データ等を取得する。
【0042】
受付部102は、対象エンジンの種類の指定を受け付ける。対象エンジンの種類は、その状態の推定に用いる決定木モデル111を決定するために用いられる情報である。例えば、受付部102は、対象エンジンのボア径を、当該対象エンジンの種類を示す情報として受け付けてもよい。また、情報処理装置1により状態を推定する対象エンジンのそれぞれについて予め識別情報を付与し、各対象エンジンの種類を識別情報に対応付けて記憶しておいてもよい。この場合、受付部102は、対象エンジンの種類を指定する情報として、対象エンジンの識別情報の入力を受け付けてもよい。
【0043】
統計値算出部103は、対象エンジンの動作中に観測された観測値から1または複数種類の統計値を算出する。使用する観測値およびどのような統計値を算出するかは、推定に用いる決定木モデル111によって決まる。例えば、推定に用いる決定木モデル111の説明変数に、所定位置に設置された温度センサによる測定値の平均値が含まれている場合、統計値算出部103は、当該測定値を上記観測値として取得し、その測定値の平均値を上記統計値として算出する。
【0044】
状態推定部104は、船舶のエンジンの状態に関する目的変数と当該エンジンの状態に関する説明変数との関係を機械学習することにより生成された決定木モデル111を用いて、状態判定の対象となる対象エンジンの状態に関する説明変数から当該対象エンジンの状態を推定する。
【0045】
より詳細には、状態推定部104は、統計値算出部103により算出された統計値を説明変数として用いて対象エンジンの状態を推定する。無論、説明変数には、統計値以外のデータが含まれていてもよい。統計値以外の説明変数はデータ取得部101により取得される。
【0046】
なお、状態推定部104は、複数の決定木モデル111のうち、受付部102が受け付けた種類に応じた決定木モデル111を用いて対象エンジンの状態を推定する。例えば、受付部102が対象エンジンのボア径の入力を受け付けた場合、状態推定部104は、そのボア径に対応する決定木モデル111を用いる。
【0047】
表示制御部107は、対象エンジンの状態推定においてユーザに確認してもらう必要のある各種情報を表示装置に表示させる。例えば、表示制御部107は、状態推定部104の推定結果を示す情報(例えば図2のようなグラフ)を生成して、端末装置2の表示部に表示させてもよい。
【0048】
以上のように、情報処理装置1は、船舶のエンジンの状態に関する目的変数と当該エンジンの状態に関する説明変数との関係を機械学習することにより生成された決定木モデル111を用いて、状態判定の対象となる対象エンジンの状態に関する説明変数から当該対象エンジンの状態を推定する状態推定部104を備える。よって、推定したい様々な状態に応じた適切な推定結果を得ることが可能になると共に、推定された状態となった原因の推定を容易化することができるという効果が得られる。
【0049】
また、情報処理装置1は、対象エンジンの動作中に観測された観測値から1または複数種類の統計値を算出する統計値算出部103を備え、状態推定部104は、算出された統計値を説明変数として用いて対象エンジンの状態を推定する。統計値は、その元になった観測値よりも説明変数としての適性が高い場合があり、上記の構成によれば、そのような場合に推定精度を向上させることができる。また、1つの観測値から複数種類の統計値を算出することも可能であり、これにより説明変数を多様化して推定精度を向上させることが可能になる。
【0050】
また、情報処理装置1は、対象エンジンの種類の指定を受け付ける受付部102を備え、状態推定部104は、複数の決定木モデル111のうち、受付部102が受け付けた種類に応じた決定木モデル111を用いて対象エンジンの状態を推定する。これにより、対象エンジンの種類に応じた決定木モデル111を用いることができるため、推定結果の確度を高めることができる。
【0051】
〔学習用データの収集について〕
決定木モデル111の生成に用いる訓練データの元になる学習用データの収集について図4に基づいて説明する。図4は、学習用データの収集方法を示す図である。
【0052】
エンジンの現在または将来の状態が正常であるか異常であるかを推定する決定木モデル111を生成するためには、
(1)エンジンの状態が正常であるときの観測データ等(以下、正常データと呼ぶ)に基づいて生成された説明変数に対し、エンジンの状態が正常であることを示すラベルを付した訓練データと、
(2)エンジンの状態が異常であるときの観測データ等(以下、異常発生データと呼ぶ)に基づいて生成された説明変数に対し、エンジンの状態が異常であることを示すラベルを付した訓練データと、が必要になる。過去に就航した船舶の観測データやログデータからこのような訓練データを生成することができる。
【0053】
例えば、図4に示すように、船舶の運航開始時点から所定時間が経過するまでの期間C1に観測された観測データ等を正常データとしてもよい。なお、ここでいう「観測データ等」には、各種センサにより観測された観測値の他、運航期間中に記録されたログデータ(例えば、アラームが発報された回数等を示すデータ)等が含まれていてもよい。
【0054】
また、船舶の運航期間中であって、異常が発生したエンジンにおける当該異常が、例えばその異常に対する処置を行うことにより解消した時点から所定時間が経過するまでの期間C2に観測された観測データ等を正常データとしてもよい。
【0055】
さらに、例えば、船舶の運航期間中であって、エンジンが正常であることが確認された時点から当該時点の所定時間前の時点までの期間C3に観測された観測データ等を正常データとしてもよい。また、例えば、船舶の運航期間中であって、エンジンが正常であることが確認された時点から所定時間が経過するまでの期間C4に観測された観測データ等を正常データとしてもよい。
【0056】
以上のような期間に収集した正常データからエンジンの状態に関する説明変数を生成し、生成した説明変数に対し、当該エンジンの状態が正常であることを示す目的変数を対応付けることにより訓練データが生成される。
【0057】
そして、決定木モデル生成部105は、(1)船舶の運航期間中であって、エンジンが正常であることが確認された時点から当該時点の所定時間前の時点までの期間C3、(2)船舶の運航期間中であって、エンジンが正常であることが確認された時点から所定時間が経過するまでの期間C4、(3)船舶の運航開始時点から所定時間が経過するまでの期間C1、および(4)船舶の運航期間中であって、異常が発生したエンジンにおける当該異常が解消した時点から所定時間が経過するまでの期間C2、の少なくとも何れかの期間のエンジンの状態に関する説明変数に対し、当該エンジンの状態が正常であることを示す目的変数が対応付けられた訓練データを用いて決定木モデル111を生成してもよい。
【0058】
上記(1)~(4)の期間におけるエンジンの状態は何れも正常である可能性が高いから、上記の構成によれば、妥当な訓練データを用いて妥当な決定木モデル111を生成することが可能になる。
【0059】
また、図4に示すように、船舶の運航期間中であって、エンジンに異常が発生したことが確認された時点から当該時点の所定時間前の時点までの期間D1に観測された観測データ等を異常発生データとしてもよい。この異常発生データは、異常発生の予兆を示すものといえるから、この異常発生データに基づいて生成した決定木モデル111を用いることにより、近い将来に異常が発生するか否かを予測することができる。
【0060】
また、船舶の運航期間中であって、エンジンに異常が発生したことが確認された時点から当該異常が解消するまでの期間D2に観測された観測データ等を異常発生データとしてもよい。
【0061】
以上のような期間に収集した異常発生データからエンジンの状態に関する説明変数を生成し、生成した説明変数に対し、当該エンジンの状態が異常であることを示す目的変数を対応付けることにより訓練データが生成される。
【0062】
そして、決定木モデル生成部105は、(1)船舶の運航期間中であって、エンジンに異常が発生したことが確認された時点から当該時点の所定時間前の時点までの期間D1、および(2)船舶の運航期間中であって、エンジンに異常が発生したことが確認された時点から当該異常が解消するまでの期間D2の少なくとも何れかの期間のエンジンの状態に関する説明変数に対し、当該エンジンの状態が異常であることを示す目的変数が対応付けられた訓練データを用いて決定木モデル111を生成してもよい。
【0063】
上記(1)、(2)の期間におけるエンジンは何れも異常な状態であるかまたは異常の前兆が現れた状態である可能性が高いから、上記の構成によれば、妥当な訓練データを用いて妥当な決定木モデル111を生成することが可能になる。なお、発生した異常の種類毎に異なる目的変数を対応付けて、異常の種類に応じた訓練データを生成してもよい。これにより、それぞれが異なる種類の異常に対応する複数の決定木モデル111を生成することができる。
【0064】
また、エンジンに異常が発生したことが確認された時点から当該時点の所定時間前の時点までの期間を複数に区分してもよい。例えば、図4に示す例では期間D3をD3-1~D3-3の3つに区分している。これらの期間のうち、期間D3-3は異常発生時点から時間的に最も近いことから、異常が発生してしまう危険性が最も高い期間であり、異常の発生を未然に防ぐためには至急の措置が必要な期間であるといえる。一方、期間D3-1は異常発生時点から時間的に最も離れており、異常が発生してしまう危険性が最も低い期間であり、比較的余裕をもった対応が可能な期間であるといえる。また、期間D3-2は期間D3-1とD3-3の中間的な期間であり、異常が発生してしまう危険性も中程度であるといえる。
【0065】
このように、期間D3-1~D3-3は、何れも異常発生の前兆が現れる期間である点で共通しているが危険度が相違している。このため、異常確認時点に近い区分に収集した異常発生データから生成された説明変数に対しては、危険度(緊急度と言い換えることもできる)が高いことを示す目的変数を対応付けるようにしてもよい。一方、異常確認時点から遠い区分に収集した異常発生データから生成された説明変数に対しては、危険度(緊急度と言い換えることもできる)が相対的に低いことを示す目的変数を対応付けるようにしてもよい。
【0066】
そして、決定木モデル生成部105は、エンジンに異常が発生したことが確認された異常確認時点から当該異常確認時点の所定時間前の時点までの期間を複数に区分し、各区分のエンジンの状態に関する説明変数に対し、当該エンジンの状態が異常であることを示す目的変数であって、異常確認時点に近い区分ほど危険度が高いことを示す目的変数が対応付けられた訓練データを用いて決定木モデル111を生成してもよい。これにより、異常が発生する時点に近付くにつれて危険度が高くなるような推論結果が得られる決定木モデル111を生成することができる。
【0067】
なお、区分の態様は任意であり、図4に示す例に限られない。例えば、異常が発生した時点を含む区分(最も危険度が高い区分)と、異常が発生した時点から所定時間前の時点を中心とする区分(危険度が2番目に高い区分)と、当該時点からさらに所定時間前の時点を中心とする区分(危険度が3番目に高い区分)、というように、異常が発生した時点を基準として複数の時点を設定し、各時点に対応する区分を設定してもよい。例えば、異常が発生した当日を危険度が最も高い区分とし、その前日を危険度が次に高い区分とし、異常が発生した日の2日前を危険度が次に高い区分としてもよい。
【0068】
〔学習用データの生成方法について〕
上述のようにして収集した正常データおよび異常発生データは、例えば図5のようなテーブル形式の学習用データとして記録しておいてもよい。図5は、学習用データの例を示す図である。
【0069】
図5に示す学習用データは、観測データおよびログデータに対し、それらデータのクラスが対応付けられたものであり、データの日付ごとに記録されている。例えば、2021/1/1の日付のデータには、観測データとして当該日付に観測された観測値Aの値「xxx」および観測値Bの値「yyy」等が記録されている。観測データには、例えば、エンジンのシリンダ内の筒内圧やエンジン回転数などのアナログ値を記録したものが含まれていてもよいし、エンジン制御ユニットのオン/オフ情報のようなデジタル値を時系列で記録したものが含まれていてもよい。
【0070】
また、図5に示すデータセットには、ログデータとしてアラームAの発報回数「m」およびアラームBの発報回数「n」等が記録されている。なお、ログデータの集計期間は観測データの集計期間よりも長くしてもよい。例えば、観測データは図5のように一日単位で集計し、ログデータは一月あるいは一年単位で集計してもよい。
【0071】
また、2021/1/1の日付のデータのクラスは「0」となっている。当該クラスは目的変数の値であり、例えば「0」は正常、「1」は異常A、「2」は異常B、等のように推定する状態に応じたクラスを予め規定しておき、該当するクラスを記録しておく。また、複数種類のエンジンについてのデータを1つのテーブルに記録する場合、エンジンの種類についても記録するようにしてもよい。
【0072】
また、各データにはデータ名を付与してもよい。例えば、状態とエンジンの種類と日付とを含むデータ名を付与してもよく、この場合、データ名からエンジンの種類と日付を特定することができる。
【0073】
このようなデータから訓練データを生成する場合、まず、統計値算出部103が、各観測値の統計値を算出する。例えば、統計値算出部103、図5のように一日単位でデータが記録されている場合、一日に観測された各観測値の統計値を算出してもよい。
【0074】
図5に示される各データと、それらのデータから算出された統計値とが説明変数となり、それらに対応付けられたクラスが目的変数となって、訓練データが完成する。ここで、状態判定の対象となる異常が複数種類ある場合、決定木モデル生成部105は、異常の種類毎に決定木モデル111を生成してもよい。
【0075】
例えば、異常Aと異常Bのそれぞれについて決定木モデル111を生成するとする。この場合、決定木モデル生成部105は、クラスが「1」の訓練データとクラスが「0」の訓練データとを含む訓練データセットを用いて、状態が正常であるか異常Aに該当するかを推論する決定木モデル111を生成する。また、決定木モデル生成部105は、クラスが「2」の訓練データとクラスが「0」の訓練データとを含む訓練データセットを用いて、状態が正常であるか異常Bに該当するかを推論する決定木モデル111を生成する。
【0076】
また、決定木モデル生成部105は、3クラス以上の分類を行う決定木モデル111を生成してもよい。例えば、決定木モデル生成部105は、クラスが「0」~「3」の訓練データをそれぞれ含む訓練データセットを用いて決定木モデル111を生成してもよい。この場合、対象エンジンの状態を、正常、異常A、および異常Bの何れかに分類する決定木モデル111が生成される。
【0077】
〔重要度について〕
上述のように、様々なデータから様々な説明変数を生成することが可能であるが、多数の説明変数を用いることは必ずしも決定木モデル111の精度向上につながらない。説明変数は、推定したい状態に特に関連性の高いものに絞り込むことが好ましい。重要度算出部106は、この絞り込みに関する構成要素である。
【0078】
具体的には、重要度算出部106は、説明変数の候補のそれぞれについて、当該候補の推定における重要度を算出する。また、表示制御部107は、説明変数の候補と、重要度算出部106が算出した重要度とを対応付けて表示させる。そして、受付部102は、表示された候補のうち、決定木モデル111の生成に用いる候補の指定を受け付ける。
【0079】
これにより、ユーザは、重要度を参考にしつつ、自身が重要と考える説明変数を指定することが可能になる。したがって、算出した重要度とユーザの意図の両方を反映させた説明変数を適用した決定木モデル111を生成することが可能になる。
【0080】
ここで、決定木モデル111では、説明変数を用いてデータの分割を行うが、その分割によってジニ係数が大きく低下していた場合、その説明変数はジニ係数を低下させるのに貢献した重要な説明変数となっているといえる。よって、重要度算出部106は、どれだけジニ係数を低下させるのに貢献したかを示す値を重要度として算出してもよい。なお、重要度算出部106は、エントロピーを低下させるのにどれだけ貢献したかを示す値を重要度として算出してもよい。
【0081】
例えば、決定木モデル111が二分木のランダムフォレストモデルである場合、重要度算出部106は、図6に示す式により、説明変数Xの重要度I(X)を算出してもよい。図6は、説明変数の重要度の算出方法を説明する図である。
【0082】
なお、図6に示す重要度I(X)の算出式において、F(X)は決定木モデル111内における説明変数Xを分割対象とするノードの集合、N(k)はある親ノードkにおけるサンプル数、G(k)はある親ノードkにおけるジニ係数、NLC(k)はある親ノードkにおける左側の子ノードのサンプル数、GLC(k)はある親ノードkにおける左側の子ノードのジニ係数、NRC(k)はある親ノードkにおける右側の子ノードのサンプル数、GRC(k)はある親ノードkにおける右側の子ノードのジニ係数である。
【0083】
例えば、図6に示す決定木は、ノード1~5からなり、データをクラスAとBに分類する二分木である。この決定木におけるノード1~5は、サンプル数がそれぞれ10、8、2、3、5であり、ジニ係数がそれぞれ0.5、0.468、0、0.444、0.48である。ノード1における分岐の条件は説明変数Xがa以上であるか否かであり、a以上であればノード2に、a未満であればノード3に分岐する。また、ノード2における分岐の条件は説明変数Xがb以上(b>a)であるか否かであり、b以上であればノード4に、b未満であればノード5に分岐する。
【0084】
この決定木における説明変数Xの重要度I(X)を算出する場合、F(X)=2であるから、I(X)=10×0.5-(8×0.468+2×0)+8×0.468-(3×0.444+5×0.48)=1.268となる。重要度算出部106は、このようにして各説明変数の重要度I(X)を算出する。
【0085】
なお、決定木モデル生成部105は、重要度算出部106が算出した重要度が上位の所定数の説明変数を用いて決定木モデル111を生成してもよい。また、決定木モデル生成部105は、重要度算出部106が算出した重要度が所定の閾値以上の説明変数を用いて決定木モデル111を生成してもよい。これらの場合、使用する説明変数が自動で決定されるから、説明変数の候補の表示と候補の指定の受付を行う必要はない。また、重要度の算出は行わず、ユーザ(例えば対象エンジンについて熟知した有識者)に候補の指定を行わせるようにしてもよい。有識者の知見を候補指定に反映させることにより、推論精度の向上が期待できると共に、原因の分析が容易な決定木モデル111を生成することが可能になる。
【0086】
〔学習について〕
決定木モデル111をランダムフォレストモデルとする場合、決定木モデル生成部105は、まず、ブートストラップ法により訓練データから重複を許して複数回のサンプリングを行い、複数の訓練データセットを生成する。次に、決定木モデル生成部105は、生成した各訓練データセットから決定木を生成する。決定木の生成にジニ不純度を用いる場合、決定木モデル生成部105は、各説明変数に様々な閾値を組み合わせて様々な分岐条件を生成し、各分岐条件により訓練データをふるい分けしたときのジニ不純度の変化量をそれぞれ計算する。そして、決定木モデル生成部105は、ジニ不純度の変化量が最も大きかった分岐条件を決定木の分岐条件に決定する。このような処理を決定木が所定の深さに到達するまで繰り返すことにより1つの決定木が生成される。そして、同じ処理を他の訓練データセットについても行うことにより複数の決定木からなる決定木モデル111が生成される。
【0087】
決定木モデル111をランダムフォレストモデルとする場合、上記のように、ランダムにサンプリングした複数の訓練データセットを用いた学習を行う。また、推論時には複数の決定木の出力の多数決により最終的な推定結果を得る。これにより、通常の決定木モデルと比較して汎化性能を高め、過学習を抑制することができる。
【0088】
なお、1つの決定木モデル111は、2つの状態(例えば正常と異常)の何れに該当するかを推定するものであってもよいし、3つ以上の状態(例えば正常と異常Aと異常B)の何れに該当するかを推定するものであってもよい。
【0089】
後者の場合で、かつ決定木モデル111をランダムフォレストモデルとする場合、決定木モデル生成部105は、まず、推論の対象となる各状態を目的変数とする訓練データセットを用いて、何れの状態に該当するかを推論する決定木を生成してもよい。そして、決定木モデル生成部105は、生成した決定木モデル111を用いた推論において、推論精度が所定の閾値以下であった状態については、当該状態を目的変数とする訓練データセットを用いて決定木を生成してもよい。このような処理を、全ての状態についての推定精度が閾値を超えるまで繰り返すことにより、複数の決定木からなる決定木モデル111を生成することができる。なお、推論精度の評価手法は特に限定されない。例えば、交差検証等により推論精度を評価してもよい。
【0090】
例えば、異常A~Dの各状態を目的変数とする訓練データを用いて生成した1つ目の決定木の推論精度が、異常Aについては閾値を超えるが、異常B~Dについては閾値以下であったとする。この場合、決定木モデル生成部105は、訓練データのうち異常B~Dを目的変数とするものを用いて2つ目の決定木を生成する。ここで、2つ目の決定木の推論精度が、異常Bについては閾値を超えるが、異常C、Dについては閾値以下であった場合、決定木モデル生成部105は、訓練データのうち異常C、Dを目的変数とするものを用いて3つ目の決定木を生成する。そして、3つ目の決定木の推論精度が異常C、Dの何れについても閾値を超える場合、決定木モデル生成部105は決定木の生成を終了し、これら3つの決定木からなるモデルを決定木モデル111とする。
【0091】
また、決定木モデル生成部105は、ある種類の異常が発生した(あるいは発生する)ことを予測する決定木と、その種類の異常を分類する決定木とを含む決定木モデル111を生成してもよい。
【0092】
例えば、エンジンにおけるピストンの異常には、ピストン棒が傷つくことによるものと、ピストンリングが破損することによるものとがある。このため、決定木モデル生成部105は、決定木モデル111に含める決定木として、ピストンに異常が発生した(あるいは発生する)ことを予測する決定木に加え、ピストンの異常を、ピストン棒の傷によるものと、ピストンリングの破損によるものとに分類する決定木を生成してもよい。後者の決定木は、ピストン棒の傷によるピストン異常であることを示す目的変数と、ピストンリングの破損によるピストン異常であることを示す目的変数とを含む訓練データを用いて生成することができる。
【0093】
上記のような決定木モデル111を用いて状態を推定する場合、状態推定部104は、ある種類の異常が発生した(あるいは発生する)と推定された場合に、その種類の異常を分類する決定木により異常を分類する。これにより、異常の分析や対処をより的確に行うことが可能になる。
【0094】
〔状態の推定と推定結果の通知について〕
異常の種類に応じて異なる決定木モデル111を用いる場合等のように、複数の決定木モデル111を使用する場合には、使用する決定木モデル111の数だけ推定結果が得られる。また、例えば、一日に観測された観測データから生成された説明変数を用いて生成された決定木モデル111を用いて、複数日の観測データから状態を推定する場合のように、観測期間に応じて複数の推定結果が得られる場合もある。
【0095】
このような場合、表示制御部107は、推定結果を示すデータとして、当該推定結果における各状態の出現頻度を算出し、表示させてもよい。例えば、1月1日から1月3日までの観測データを用い、エンジンが正常であるか異常Aが発生しているかを予測する決定木モデル111A-1と、エンジンが正常であるか異常Bが発生しているかを予測する決定木モデル111B-1とを用いて状態を推定したとする。また、決定木モデル111A-1および111B-1には、一日分の測定データから算出された統計値を説明変数として入力したとする。
【0096】
この場合、1月1日から1月3日までの各日について、決定木モデル111A-1および111B-1の各推論結果が得られるから、表示制御部107は、これらの推定結果における各状態の出現頻度を推定結果として算出すればよい。例えば、1月1日から1月3日までの各日において、決定木モデル111A-1の推論結果が何れも「異常A」であり、決定木モデル111B-1については1月2日の推論結果が「異常B」、1月1日と1月3日は「正常」であったとする。この場合、1月1日から1月3日における「異常A」の頻度は3、「異常B」の頻度は1となる。
【0097】
なお、「正常」は、決定木モデル111A-1および111B-1に共通する状態であるから、そのまま合計すると推論結果における「正常」の値が際立って高くなってしまいがちになる。このため、表示制御部107は、推論結果が「正常」となった回数を、推定結果が「正常」となり得る決定木モデル111の数で割った値を「正常」の頻度としてもよい。上記の例では、推論結果が「正常」となった回数は2、推定結果が「正常」となり得る決定木モデル111の数も2(決定木モデル111A-1および111B-1の2つ)であるから「正常」の頻度は1となる。
【0098】
表示制御部107は、以上のようにして算出した各状態の頻度を例えば図2に示したような棒グラフにしてユーザに提示してもよい。これにより、注目すべき状態を一目で認識させることができる。
【0099】
〔決定木モデルの生成方法〕
本実施形態に係る決定木モデル111の生成方法について図7に基づいて説明する。図7は、決定木モデル111の生成方法の一例を示すフローチャートである。
【0100】
S1(データ取得ステップ)では、データ取得部101が訓練データを取得する。この訓練データは、船舶のエンジンの状態に関する目的変数と当該エンジンの状態に関する説明変数との関係を示すデータである。訓練データは例えばデータサーバ3から取得してもよい。なお、S1で取得される訓練データにおいては説明変数の絞り込みは行われていない。
【0101】
S1における訓練データの取得方法は特に限定されない。例えば、データ取得部101は、予め記憶部11に記憶された訓練データを取得してもよいし、入力部13を介して入力される訓練データを取得してもよいし、通信部12を介して例えば端末装置2等から送信される訓練データを取得してもよい。また、データ取得部101は、上述した正常データと異常発生データを含む学習用データを取得し、それらのデータから訓練データを生成することにより訓練データを取得してもよい。
【0102】
S2(決定木モデル生成ステップ)では、決定木モデル生成部105が、S1で取得された訓練データを用いた機械学習により、エンジンの状態を推定するための決定木モデル111を生成する。例えば、決定木モデル111がランダムフォレストモデルである場合、決定木モデル生成部105は、訓練データを複数に分割し、分割された訓練データのそれぞれから決定木を生成する。これにより、複数の決定木からなる決定木モデル111が生成される。
【0103】
S3では、決定木モデル生成部105は、決定木モデル111の生成を終了するか否かを判定する。ここでは、決定木モデル111の生成に用いる説明変数の絞り込みが終了していれば生成を終了する(S3でYES)と判定し、絞り込みが終了していなければ生成を継続する(S3でNO)と判定する。S3でYESと判定された場合には、直近のS2で生成された決定木モデル111が記憶部11に記憶されて、図7の処理は終了となる。
【0104】
S4では、重要度算出部106が、説明変数の各候補についてその重要度を算出する。なお、説明変数の候補とは、直近のS2において決定木モデル111の生成に用いられた訓練データに含まれる説明変数である。
【0105】
S5では、表示制御部107が、説明変数の候補とS4で算出された当該候補の重要度とを対応付けて表示させる。表示の態様は特に限定されず、例えば表示制御部107は、説明変数の候補とその重要度を一覧表示させてもよく、この際、説明変数の候補を重要度の順に表示させてもよい。また、例えば、表示制御部107は、説明変数の候補のうち、重要度が上位の所定数の候補を表示させ、他の候補はユーザの操作に応じて表示させるようにしてもよい。
【0106】
S6では、受付部102が、S5で表示させた候補に対するユーザの指定を受け付ける。例えば、受付部102は、入力部13を介した入力操作による指定を受け付けてもよい。
【0107】
S6の終了後、処理はS2に戻る。S6から遷移したS2では、決定木モデル生成部105は、S1で取得された訓練データのうち、S6で指定された候補(すなわち説明変数)を用いて決定木モデル111を生成する。そして、続くS3ではYESと判定されて決定木モデル111の生成方法は終了する。
【0108】
なお、S2の処理の後、生成された決定木モデル111の推論精度を評価してもよい。この評価はユーザが行ってもよいし、情報処理装置1に行わせてもよい。この場合、S3では、決定木モデル生成部105は、評価結果が所定の基準を満たす場合にYESと判定し、所定の基準を満たさない場合にはNOと判定してもよい。S3でNOと判定された場合、S4は省略してS5およびS6の処理に進み、再度説明変数を指定させるようにしてもよい。
【0109】
以上のように、本実施形態に係る決定木モデル111の生成方法は、船舶のエンジンの状態に関する目的変数と当該エンジンの状態に関する説明変数との関係を示す訓練データを取得するデータ取得ステップ(S1)と、訓練データを用いた機械学習により、エンジンの状態を推定するための決定木モデル111を生成する決定木モデル生成ステップ(S2)と、含む。よって、推定したい様々な状態に応じた適切な推定結果を得ることが可能になると共に、推定された状態となった原因の推定を容易化することができるという効果が得られる。
【0110】
〔決定木モデルの更新〕
決定木モデル111を更新する際の決定木モデル111の生成方法について図8に基づいて説明する。図8は、決定木モデル111を更新する際の決定木モデル111の生成方法の一例を示すフローチャートである。
【0111】
S11では、更新制御部108が、決定木モデル111の更新要否を判定する。S11の判定条件は予め定めておけばよい。例えば、データサーバ3に記録されているデータを用いて決定木モデル111を更新する場合、データサーバ3に新たな学習用データが追加されたか否かをS11の判定条件としてもよい。また、例えば、アラームの発報をサーバ等で監視している場合、アラームが発報されたときに決定木モデル111の更新要と判定するようにしてもよい。この他にも、例えば、ログデータが追加されたこと、前回の更新から所定期間が経過したこと、ユーザからの更新指示を受け付けたこと等を判定条件としてもよい。また、更新制御部108は、決定木モデル111による推論の結果を解析することにより更新要否を判定してもよい。例えば、更新制御部108は、決定木モデル111による推論結果から、対象エンジンが複数の状態(例えば、正常、異常A、異常B等)のそれぞれに該当する可能性の高さを示す指標値を算出すると共に、それら指標値の比を算出してもよい。そして、更新制御部108は、算出した比の変化量が所定の閾値を超えたときに、推論精度が低下していると判定し、決定木モデル111を更新するようにしてもよい。S11でNOと判定された場合には図8の処理は終了し、S11でYESと判定された場合にはS12に進む。
【0112】
S12では、データ取得部101が、新たな学習用データを取得する。学習用データには観測データおよびログデータが含まれていてもよい。学習用データの取得方法は特に限定されない。例えば、データ取得部101は、予め記憶部11に記憶された学習用データを取得してもよいし、入力部13を介して入力される学習用データを取得してもよいし、通信部12を介して例えば端末装置2等から送信される学習用データを取得してもよい。
【0113】
S13では、統計値算出部103が、S12で取得された学習用データに含まれる観測データの統計値を算出し、これにより新たな訓練データが生成される。なお、学習用データから訓練データを生成する際に、データクレンジング等の処理を施してもよい。また、決定木モデル111の説明変数として統計値を用いない場合にはS13の処理は省略される。
【0114】
S14(データ取得ステップ)では、データ取得部101が、S13で生成された新たな訓練データと、更新前の決定木モデル111の生成に用いられた訓練データとを取得する。
【0115】
S15(決定木モデル生成ステップ)では、決定木モデル生成部105が、S14で取得された訓練データを用いた機械学習により、エンジンの状態を推定するための決定木モデル111を生成し、これにより図示の処理は終了する。生成された決定木モデル111は例えば記憶部11等の状態推定部104が参照可能な記憶装置に記憶され、次回以降の推論に用いられる。
【0116】
〔推定方法〕
情報処理装置1により実行される対象エンジンの状態の推定方法について図9に基づいて説明する。図9は、対象エンジンの状態の推定方法の一例を示すフローチャートである。
【0117】
S21では、データ取得部101が、状態推定の実行指示を受け付ける。状態推定の実行指示は、例えば入力部13を介した入力操作により行われてもよいし、通信部12を介して遠隔で行われてもよい。また、図3に基づいて説明したように、状態推定の実行指示は、電子メール等を介して行われてもよい。なお、外部からの実行指示によらず、所定の条件を満たしたときにS22以下の処理を実行して対象エンジンの状態を推定するようにしてもよい。例えば、前回の推定から所定時間が経過したときに推定を行ってもよいし、船舶の航行スケジュールに応じた所定のタイミング(例えば、出港、航行中、寄港、帰港等のタイミング)で推定を行ってもよい。
【0118】
S22では、データ取得部101は、観測データおよびログデータを取得する。これらのデータは説明変数として用いられるか、または説明変数の算出に用いられるものである。このため、説明変数にログデータおよびログデータから算出されるものの何れも含まれていない場合にはログデータを取得する必要はない。なお、ここで取得した観測データおよびログデータに対し、データクレンジング等の処理を施してもよい。
【0119】
S22における観測データおよびログデータの取得元は特に限定されず、例えば、データ取得部101は、入力部13および通信部12の少なくとも何れかを介して取得してもよい。例えば、電子メールに対象エンジンの識別情報が記載され、また、観測データが添付されている場合、データ取得部101は、添付されている観測データを取得すると共に、当該観測データに含まれる観測値が観測された期間を特定してもよい。そして、当該期間に記録された、上記識別情報で識別される対象エンジンのログデータをデータサーバ3から取得してもよい。
【0120】
S23では、受付部102が、対象エンジンの種類の指定を受け付ける。例えば、図3のように状態推定の実行指示の電子メールの本文に対象エンジンの識別情報が記入されている場合、受付部102は、当該識別情報を対象エンジンの種類を指定するものとして受け付けてもよい。また、例えば、受付部102は、使用可能な決定木モデル111のそれぞれについて、その決定木モデル111に対応する対象エンジンの種類を選択候補としてユーザに提示し、選択させてもよい。
【0121】
S24では、統計値算出部103が、S22で取得された観測データに含まれる、対象エンジンの動作中に観測された観測値から1または複数種類の統計値を算出する。なお、S24で算出される統計値は、S23で指定された種類に応じた決定木モデル111の説明変数として用いられているものである。
【0122】
S25(状態推定ステップ)では、状態推定部104が、S23で指定された種類に応じた決定木モデル111を用いて、S22で取得され、また、S24で算出された説明変数から対象エンジンの状態を推定する。例えば、決定木モデル111がランダムフォレストモデルである場合、状態推定部104は、決定木モデル111に含まれる複数の決定木のそれぞれに説明変数を入力し、各決定木の推定結果の多数決により対象エンジンの状態を推定する。
【0123】
S107では、表示制御部107が、S25の推定結果をユーザに通知する。通知の態様は特に限定されない。例えば、表示制御部107は、S25の推定結果を示すグラフを生成し、生成したグラフを添付した電子メールをユーザのメールアドレス宛に送信することにより推定結果を通知してもよい。また、異常発生時や異常の前兆がある場合には、表示制御部107は、決定木モデル111の画像(例えば、分岐条件をノードとして表した木構造のグラフ)を、推定結果と共に表示させてもよい。これにより、決定木モデル111を用いた原因の推定をより容易にすることができる。
【0124】
以上のように、本実施形態に係る対象エンジンの状態の推定方法は、船舶のエンジンの状態に関する目的変数と当該エンジンの状態に関する説明変数との関係を機械学習することにより生成された決定木モデル111を用いて、対象エンジンの状態に関する説明変数から当該対象エンジンの状態を推定する状態推定ステップ(S25)を含む。よって、推定したい様々な状態に応じた適切な推定結果を得ることが可能になると共に、推定された状態となった原因の推定を容易化することができるという効果が得られる。
【0125】
〔変形例〕
上述の各実施形態で説明した各処理の実行主体は任意であり、上述の例に限られない。つまり、相互に通信可能な複数の情報処理装置により、情報処理装置1と同様の機能を実現することができる。例えば、図7図9に示す各処理を複数の情報処理装置に分担で実行させてもよい。つまり、上述の実施形態における決定木モデル111の生成方法および対象エンジンの状態の推定方法の実行主体は、1つの情報処理装置(コンピュータ)であってもよいし、複数の情報処理装置(コンピュータ)であってもよい。
【0126】
〔ソフトウェアによる実現例〕
情報処理装置1の機能は、情報処理装置1としてコンピュータを機能させるためのプログラムであって、情報処理装置1の各制御ブロック(特に制御部10に含まれる各部)としてコンピュータを機能させるためのプログラム(対象エンジンの状態の推定プログラム/決定木モデルの生成プログラム)により実現することができる。
【0127】
この場合、情報処理装置1は、上記プログラムを実行するためのハードウェアとして、少なくとも1つの制御装置(例えばプロセッサ)と少なくとも1つの記憶装置(例えばメモリ)を有するコンピュータを備えている。この制御装置と記憶装置により上記プログラムを実行することにより、上記実施形態で説明した各機能が実現される。
【0128】
上記プログラムは、一時的ではなく、コンピュータ読み取り可能な、1または複数の記録媒体に記録されていてもよい。この記録媒体は、情報処理装置1が備えていてもよいし、備えていなくてもよい。後者の場合、上記プログラムは、有線または無線の任意の伝送媒体を介して上記装置に供給されてもよい。
【0129】
また、上記各制御ブロックの機能の一部または全部は、論理回路により実現することも可能である。例えば、上記各制御ブロックとして機能する論理回路が形成された集積回路も本発明の範疇に含まれる。この他にも、例えば量子コンピュータにより上記各制御ブロックの機能を実現することも可能である。
【0130】
〔まとめ〕
本発明の態様1に係る情報処理装置は、船舶のエンジンの状態に関する目的変数と当該エンジンの状態に関する説明変数との関係を機械学習することにより生成された決定木モデルを用いて、状態判定の対象となる対象エンジンの状態に関する説明変数から当該対象エンジンの状態を推定する状態推定部を備える。
【0131】
本発明の態様2に係る情報処理装置は、上記態様1において、前記対象エンジンの動作中に観測された観測値から1または複数種類の統計値を算出する統計値算出部を備え、前記状態推定部は、算出された前記統計値を前記説明変数として用いて前記対象エンジンの状態を推定する。
【0132】
本発明の態様3に係る情報処理装置は、上記態様1または2において、前記対象エンジンの種類の指定を受け付ける受付部を備え、前記状態推定部は、複数の前記決定木モデルのうち、前記受付部が受け付けた種類に応じた決定木モデルを用いて前記対象エンジンの状態を推定する。
【0133】
本発明の態様4に係る情報処理装置は、船舶のエンジンの状態に関する目的変数と当該エンジンの状態に関する説明変数との関係を示す訓練データを取得するデータ取得部と、前記訓練データを用いた機械学習により、エンジンの状態を推定するための決定木モデルを生成する決定木モデル生成部と、を備える。
【0134】
本発明の態様5に係る情報処理装置は、上記態様4において、前記決定木モデル生成部は、(1)前記船舶の運航期間中であって、前記エンジンが正常であることが確認された時点から当該時点の所定時間前の時点までの期間、(2)前記船舶の運航期間中であって、前記エンジンが正常であることが確認された時点から所定時間が経過するまでの期間、(3)前記船舶の運航開始時点から所定時間が経過するまでの期間、および(4)前記船舶の運航期間中であって、異常が発生した前記エンジンにおける当該異常が解消した時点から所定時間が経過するまでの期間、の少なくとも何れかの期間の前記エンジンの状態に関する説明変数に対し、当該エンジンの状態が正常であることを示す目的変数が対応付けられた前記訓練データを用いて前記決定木モデルを生成する。
【0135】
本発明の態様6に係る情報処理装置は、上記態様4または5において、前記決定木モデル生成部は、(1)前記船舶の運航期間中であって、前記エンジンに異常が発生したことが確認された時点から当該時点の所定時間前の時点までの期間、および(2)前記船舶の運航期間中であって、前記エンジンに異常が発生したことが確認された時点から当該異常が解消するまでの期間、少なくとも何れかの期間の前記エンジンの状態に関する説明変数に対し、当該エンジンの状態が異常であることを示す目的変数が対応付けられた前記訓練データを用いて前記決定木モデルを生成する。
【0136】
本発明の態様7に係る情報処理装置は、上記態様4から6の何れかにおいて、前記決定木モデル生成部は、前記エンジンに異常が発生したことが確認された異常確認時点から当該異常確認時点の所定時間前の時点までの期間を複数に区分し、各区分の前記エンジンの状態に関する説明変数に対し、当該エンジンの状態が異常であることを示す目的変数であって、前記異常確認時点に近い区分ほど危険度が高いことを示す目的変数が対応付けられた前記訓練データを用いて前記決定木モデルを生成する。
【0137】
本発明の態様8に係る情報処理装置は、上記態様4から7の何れかにおいて、前記説明変数の候補のそれぞれについて、当該候補の前記推定における重要度を算出する重要度算出部と、前記候補と当該候補の重要度とを対応付けて表示させる表示制御部と、表示された候補のうち、前記決定木モデルの生成に用いる候補の指定を受け付ける受付部と、を備える。
【0138】
本発明の態様9に係るエンジンの状態の推定システムは、船舶のエンジンの状態に関する目的変数と当該エンジンの状態に関する説明変数との関係を機械学習することにより生成された決定木モデルを用いて、状態判定の対象となる対象エンジンの状態に関する説明変数から当該対象エンジンの状態を推定する情報処理装置と、前記情報処理装置に前記推定を実行させ、当該推定の結果を受信して出力する端末装置と、を含む。
【0139】
本発明の態様10に係る推定方法は、1または複数の情報処理装置により実行される、状態判定の対象となる対象エンジンの状態の推定方法であって、船舶のエンジンの状態に関する目的変数と当該エンジンの状態に関する説明変数との関係を機械学習することにより生成された決定木モデルを用いて、前記対象エンジンの状態に関する説明変数から当該対象エンジンの状態を推定する状態推定ステップを含む。
【0140】
本発明の態様11に係る生成方法は、1または複数の情報処理装置により実行される決定木モデルの生成方法であって、船舶のエンジンの状態に関する目的変数と当該エンジンの状態に関する説明変数との関係を示す訓練データを取得するデータ取得ステップと、前記訓練データを用いた機械学習により、エンジンの状態を推定するための決定木モデルを生成する決定木モデル生成ステップと、含む。
【0141】
本発明の態様12に係る推定プログラムは、上記態様1に記載の情報処理装置としてコンピュータを機能させるための推定プログラムであって、前記状態推定部としてコンピュータを機能させる。
【0142】
本発明の態様13に係る生成プログラムは、上記態様4に記載の情報処理装置としてコンピュータを機能させるための生成プログラムであって、前記データ取得部および前記決定木モデル生成部としてコンピュータを機能させる。
【0143】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【0144】
1 情報処理装置
101 データ取得部
102 受付部
103 統計値算出部
104 状態推定部
105 決定木モデル生成部
106 重要度算出部
107 表示制御部
111A-1、111A-2、111B-1、111B-2 決定木モデル
1000 推定システム
図1
図2
図3
図4
図5
図6
図7
図8
図9