(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023027930
(43)【公開日】2023-03-03
(54)【発明の名称】モデル構築支援システム、およびモデル構築支援方法
(51)【国際特許分類】
G06Q 10/04 20230101AFI20230224BHJP
【FI】
G06Q10/04
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2021133298
(22)【出願日】2021-08-18
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000176
【氏名又は名称】弁理士法人一色国際特許事務所
(72)【発明者】
【氏名】室 啓朗
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049AA04
(57)【要約】
【課題】機器に生じる事象を精度よく予測するための予測モデルの構築を支援する。
【解決手段】モデル構築支援システムは、入力される説明変数に基づき、機器について予測される事象に関する目的変数を出力する予測モデルの構築に用いる識別特徴量、および予測モデルによる目的変数の算出精度を向上させる説明変数のグループへの分割方法の探索を支援する。モデル構築支援システムは、説明変数を複数のグループに分割し、グループの夫々の説明変数に基づき設定した該識別特徴量の精度Cを算出し、精度Cと説明変数が分割前の説明変数の全体に対して占める割合であるカバー率Sとに基づき、グループ毎の識別特徴量のスコアSFを算出する。モデル構築支援システムは、説明変数の分割に用いたグループ分割特徴量の精度Dを算出し、スコアSFとグループの夫々の精度Dとに基づきグループの夫々のスコアSGを算出する。
【選択図】
図9
【特許請求の範囲】
【請求項1】
入力される説明変数に基づき、機器について予測される事象に関する目的変数を出力する予測モデルの構築に用いる特徴量である識別特徴量、および前記予測モデルによる前記目的変数の算出精度を向上させる前記説明変数のグループへの分割方法についての探索を支援する、情報処理システムであって、
プロセッサおよび記憶素子を有する情報処理装置を用いて構成され、
前記説明変数を複数のグループに分割し、前記グループの夫々の前記説明変数に基づき前記識別特徴量を設定した場合における当該識別特徴量の精度Cを算出し、
前記識別特徴量の精度Cと前記グループの夫々の前記説明変数が分割前の前記説明変数の全体に対して占める割合であるカバー率Sとに基づき、前記グループ毎の前記識別特徴量のスコアSFを算出し、算出した前記スコアSFに基づく情報を生成する、
モデル構築支援システム。
【請求項2】
請求項1に記載のモデル構築支援システムであって、
前記説明変数の前記グループへの分割に用いた特徴量であるグループ分割特徴量の精度Dを算出し、
前記スコアSFと前記グループの夫々の前記精度Dとに基づき、前記グループの夫々のスコアSGを算出し、算出した前記スコアSFに基づく情報を生成する、
モデル構築支援システム。
【請求項3】
請求項2に記載のモデル構築支援システムであって、
前記スコアSGを集計することにより前記分割方法についてのスコアであるスコアSDを算出する、
モデル構築支援システム。
【請求項4】
請求項3に記載のモデル構築支援システムであって、
前記スコアSF、前記スコアSG、および前記スコアSDの少なくともいずれかに基づく情報を、前記グループ、前記分割方法、および前記特徴量を木構造で表したグラフに併記した情報を生成する、
モデル構築支援システム。
【請求項5】
請求項3に記載のモデル構築支援システムであって、
前記スコアSDに対する、当該スコアSDの集計に用いた前記スコアSGまたは前記スコアSFの影響の度合いを示す値である影響度に基づき、前記識別特徴量と前記グループ分割特徴量を改善するための指針となる値である報酬を算出する、
モデル構築支援システム。
【請求項6】
請求項5に記載のモデル構築支援システムであって、
前記識別特徴量の探索の履歴を示す情報を記憶し、
前記報酬に、前記履歴に基づき求められる、前記精度Cを向上させる前記識別特徴量が将来探索される確率である成功確率を反映する、
モデル構築支援システム。
【請求項7】
請求項6に記載のモデル構築支援システムであって、
前記成功確率は、過去に探索された前記特徴量の数、または前記特徴量の探索に際し過去に用いた前記説明変数の量に基づき算出される、
モデル構築支援システム。
【請求項8】
請求項5に記載のモデル構築支援システムであって、
前記精度C、前記カバー率S、前記スコアSF、前記スコアSG、前記スコアSD、および前記報酬の少なくともいずれかに基づく情報を、前記グループ、前記分割の種類、および前記特徴量を木構造で表したグラフに併記した情報を生成して出力する、
モデル構築支援システム。
【請求項9】
請求項1に記載のモデル構築支援システムであって、
その横軸方向に複数の前記機器をグループ別に列挙し、その縦軸方向には、前記機器について取得される前記特徴量を列挙し、機器と特徴量との交点に位置する各セルに、当該機器の当該特徴量の前記機器全体の平均値に対する差の大きさに応じた濃度または色で表示した情報を生成する、
モデル構築支援システム。
【請求項10】
入力される説明変数に基づき、機器について予測される事象に関する目的変数を出力する予測モデルの構築に用いる特徴量である識別特徴量、および前記予測モデルによる前記目的変数の算出精度を向上させる前記説明変数のグループへの分割方法についての探索を支援するための、情報処理システムによる情報処理方法であって、
プロセッサおよび記憶素子を有する情報処理装置が、
前記説明変数を複数のグループに分割し、前記グループの夫々の前記説明変数に基づき前記識別特徴量を設定した場合における当該識別特徴量の精度Cを算出するステップと、
前記識別特徴量の精度Cと前記グループの夫々の前記説明変数が分割前の前記説明変数の全体に対して占める割合であるカバー率Sとに基づき、前記グループ毎の前記識別特徴量のスコアSFを算出し、算出した前記スコアSFに基づく情報を生成するステップと、
を実行する、モデル構築支援方法。
【請求項11】
請求項10に記載のモデル構築支援方法であって、
前記情報処理装置が、
前記説明変数の前記グループへの分割に用いた特徴量であるグループ分割特徴量の精度Dを算出するステップと、
前記スコアSFと前記グループの夫々の前記精度Dとに基づき、前記グループの夫々のスコアSGを算出し、算出した前記スコアSFに基づく情報を生成するステップと、
を更に実行する、モデル構築支援方法。
【請求項12】
請求項11に記載のモデル構築支援方法であって、
前記情報処理装置が、
前記スコアSGを集計することにより前記分割方法についてのスコアであるスコアSDを算出するステップ
を更に実行する、モデル構築支援方法。
【請求項13】
請求項12に記載のモデル構築支援方法であって、
前記情報処理装置が、
前記スコアSF、前記スコアSG、および前記スコアSDの少なくともいずれかに基づく情報を、前記グループ、前記分割方法、および前記特徴量を木構造で表したグラフに併記した情報を生成するステップ、
を更に実行する、モデル構築支援方法。
【請求項14】
請求項12に記載のモデル構築支援方法であって、
前記情報処理装置が、
前記スコアSDに対する、当該スコアSDの集計に用いた前記スコアSGまたは前記スコアSFの影響の度合いを示す値である影響度に基づき、前記識別特徴量と前記グループ分割特徴量を改善するための指針となる値である報酬を算出するステップ
を更に実行する、モデル構築支援方法。
【請求項15】
請求項14に記載のモデル構築支援方法であって、
前記情報処理装置が、
前記識別特徴量の探索の履歴を示す情報を記憶するステップと、
前記報酬に、前記履歴に基づき求められる、前記精度Cを向上させる前記識別特徴量が将来探索される確率である成功確率を反映するステップと、
を更に実行する、モデル構築支援方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モデル構築支援システム、およびモデル構築支援方法に関する。
【背景技術】
【0002】
特許文献1には、知識ベースにマッピングされたセンサデータからディープラーニングを用いて特徴量を抽出し、抽出した特徴量に基づきセンサデータを分析するための機械学習モデルを生成して予知分析を行う、プロセッサ実装方法について記載されている。
【0003】
特許文献2には、試行錯誤による実験の多様性を確保し実験を効率化することを目的として構成された情報処理装置(コンピュータ)について記載されている。情報処理装置は、既存のデータから回帰モデルにより実験計画を生成し、各実験計画における特徴間の一致性を示すグラフを表示してユーザに特徴量を選択させる。
【0004】
特許文献3には、OLAP(Online Analytical Processing)ツールを利用した多次元データ分析において、分析担当者による分析対象とするデータ項目の組の選定に要する試行錯誤の削減等を目的として構成されたシステムについて記載されている。上記システムは、多次元データ分析の分析軸を推薦する処理、多次元データのデータ項目間のデータの関連度を算出する処理、上記関連度に基づき分析対象に適するデータ項目の組を抽出する処理、多次元データ分析の際、上記抽出したデータ項目の組を分析者に対して推薦する分析軸として提示する処理を行う。
【0005】
特許文献4には、属性の粒度をユーザが試行錯誤することなく変更することができるようにすることを目的として構成されたデータマイニングシステムについて記載されている。データマイニングシステムは、複数の属性と属性値とを含むデータから属性を選択し、予め記憶する属性に対応する分類を階層的にあらわす分類階層に基づき、選択した属性の属性値をグループ化し、グループ化した属性値と分析対象の属性との関連性の強さを示す検定量を算出し、算出した検定量に基づきグループ化した属性値が分析対象の属性との関係において特徴的であるか否かを判定し、特徴的でないと判定すると、分類階層のうち、前回のグループ化で用いた階層よりも上位の階層の分類に基づきグループ化処理を再度実行する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】米国特許第10664698号明細書
【特許文献2】米国特許第10318674号明細書
【特許文献3】特開2012-103841号公報
【特許文献4】特開2011-034457号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
多数の機器の運用が行われる現場においては、機器の故障の発生を精度よく予測することについての強いニーズが存在する。機器について生じる故障等の事象の発生を高い精度で予測することができれば、機器に生じるトラブルを未然に防ぐことができるとともに、機器の効率的な運用が可能になる。例えば、データセンタやシステムセンタのような現場では、数万台に上る大量の記憶ドライブ(フラッシュモジュールドライブ(FMD(Flash Module Drive)等)が運用されており、こうした記憶ドライブについて精度の高い故障予測モデルを構築することができれば、トラブルの発生を未然に防ぐことができるととも
に、効率的かつ安定したシステムの運用が可能になる。
【0008】
しかし、上記のような故障予測モデルの構築に際しては、次のような課題を解決する必要がある。例えば、実際の機器の運用現場においては、複数の故障モードや運転モードが存在し、これらが多様かつ複雑である場合、適切な特徴量を探索するために多様な要因分析について煩雑な進捗管理を行う必要があり、多大な作業負荷が発生する。また、機器の故障頻度が少ない場合、品種の際や運転モードの差異(月末に使用頻度が上昇する場合等)により、故障の兆候を把握することは困難であり、決定木、ランダムフォレスト、XGBoost等の従来の識別手法では当該課題を解決することができない。また、一般に特徴量の計算式は明らかでない場合が多く、AutoML、遺伝的アルゴリズム、強化学習等の探索手法を用いる場合は特徴量を予め人が用意しておく必要がある。
【0009】
特許文献1~3では、特徴量のスコアを計算して特徴量を探索するが、故障モードや運転モードの多様性については考慮されていない。また、特許文献4では、グループ化した属性値が分析対象の属性との関係において特徴的であるか否かを判定するが、予めグループの階層を人が用意しておく必要がある。
【0010】
本発明はこのような背景に鑑みてなされたものであり、機器に生じる事象を精度よく予測するための予測モデルの構築を支援する、予測モデル構築支援システム、および予測モデル構築支援方法を提供することを目的とする。
【課題を解決するための手段】
【0011】
上記目的を達成するための本発明の一つは、入力される説明変数に基づき、機器について予測される事象に関する目的変数を出力する予測モデルの構築に用いる特徴量である識別特徴量、および予測モデルによる目的変数の算出精度を向上させる説明変数のグループへの分割方法についての探索を支援する、情報処理システム(モデル構築支援システム)であって、プロセッサおよび記憶素子を有する情報処理装置を用いて構成され、前記説明変数を複数のグループに分割し、前記グループの夫々の前記説明変数に基づき前記識別特徴量を設定した場合における当該識別特徴量の精度Cを算出し、前記識別特徴量の精度Cと前記グループの夫々の前記説明変数が分割前の前記説明変数の全体に対して占める割合であるカバー率Sとに基づき、前記グループ毎の前記識別特徴量のスコアSFを算出し、算出した前記スコアSFに基づく情報を生成する。
【0012】
尚、上記した以外の課題、構成および効果は、以下の発明を実施するための形態の説明により明らかにされる。
【発明の効果】
【0013】
本発明によれば、機器に生じる事象を精度よく予測するための予測モデルの構築を支援することができる。
【図面の簡単な説明】
【0014】
【
図1A】説明変数のグループへの分割を考慮する必要がある場合を説明する図である。
【
図1B】説明変数のグループへの分割を考慮する必要がある場合を説明する図である。
【
図2】説明変数をグループに分割した例を示す図である。
【
図7A】モデル構築支援システムのシステム構成図の一例である。
【
図7B】モデル構築支援システムの構成に用いる情報処理装置の一例である。
【
図8】モデル構築支援システムにて取り扱われる主な情報を示す図である。
【
図9】モデル構築支援システムが備える主な機能を示す図である。
【
図14A】プロセス木の一例を示すUML図である。
【
図14B】プロセス木の構成要素の造成を示す図である。
【
図15】メイン処理を説明するフローチャートである。
【
図16】プロセス木に対する主な操作の一覧を示す図である。
【
図17】(a)~(e)操作(処理)に対するプロセス木の変化を説明する図である。
【
図18】データ登録処理の詳細を説明するフローチャートである。
【
図19A】目的変数登録処理の詳細を説明するフローチャートである。
【
図19C】目的変数を登録した後のプロセス木の構造を示す図である。
【
図20】識別特徴量(DFS)登録処理の詳細を説明するフローチャートである。
【
図21】グループ分割処理の詳細を説明するフローチャートである。
【
図22】グループ分割特徴量(GFS)登録処理の詳細を説明するフローチャートである。
【
図23A】グループ分割特徴量(GFS)の登録とグループ分割特徴量(GFS)によるグループ分割処理の詳細を説明するフローチャートである。
【
図23B】グループ分割特徴量(GFS)の登録とグループ分割特徴量(GFS)によるグループ分割処理の実行後のプロセス木の構造の一例である。
【
図24A】スコア計算処理の詳細を説明するフローチャートである。
【
図24B】
図24Aにおけるグループの最良の子の選択処理の詳細を説明するフローチャートである。
【
図25】最新結果の取得処理の詳細を説明するフローチャートである。
【
図26A】最新結果の取得処理の実行前のプロセス木の構造の例を示す図である。
【
図26B】最新結果の取得処理の実行後のプロセス木の構造の例を示す図である。
【
図27A】報酬の計算処理の詳細を説明するフローチャートである。
【
図27B】
図27Aにおける影響度の計算処理の詳細を説明するフローチャートである。
【
図27C】
図27Aにおける難易度の計算処理の詳細を説明するフローチャートである。
【
図28A】分析者等が目視作業により時系列データを分類した結果に基づき、時系列データをグループに分割する場合の一例を示す図である。る。
【
図28C】
図28Aにおけるグループ情報生成処理を説明するフローチャートである。
【
図29A】特徴量テーブルの生成方法の一例を示す図である。
【
図29B】特徴量テーブルの生成方法の一例を示す図である。
【
図32】特徴量の探索を試行錯誤により行う場合を説明する図である。
【発明を実施するための形態】
【0015】
以下、本発明の実施形態について図面を参照しつつ詳細に説明する。尚、本発明は、他の種々の形態でも実施することが可能である。以下の記載および図面は、本発明を説明するための例示に過ぎず、説明の明確化のため、適宜、省略および簡略化がなされている。以下に説明する各構成要素は、とくに限定しない限り単数でも複数でも構わない。
【0016】
以下の説明では、「情報」、「データ」、「表」、「テーブル」等の表現にて各種情報を説明することがあるが、各種情報は、これら以外のデータ構造で表現されていてもよい。識別情報について説明する際に、「識別子」、「ID」等の表現を用いるが、これらはお互いに置換可能である。
【0017】
以下の説明において、符号の前に付した「S」の文字は処理ステップの意味である。以下の説明において、同一のまたは類似する構成について同一の符号を付して重複した説明を省略することがある。また、以下の説明において、説明の都合上、同じ内容の情報に異なる符号を付することがある。
【0018】
以下では、現場で運用されている多数の機器について、各機器から取得される説明変数に基づき、機器の故障等の事象に関する情報(目的変数)を予測するモデル(以下、「予測モデル」と称する。)の構築を支援する情報処理システム(以下、「モデル構築支援システム1」と称する。)について説明する。尚、予測モデルの種類は必ずしも限定されず、DNN(Deep Neural Network)等の機械学習モデルでもよいし、ルールベースによる
ものでもよい。
【0019】
尚、以下では、上記の現場がデータセンタやシステムセンタであり、現場で運用されている上記機器が記憶ドライブ(例えば、フラッシュモジュールドライブ(FMD(Flash Module Drive)))であり、上記説明変数が記憶ドライブについて取得される時系列データであり、上記予想モデルが記憶ドライブの故障を予測するモデルである場合を例として説明する。
【0020】
データセンタやシステムセンタにおける記憶ドライブの運用においては、複数の故障モード(メモリ故障、劣化等)や運転モードが存在する。また、品種の差や運転モードの差(月末における使用頻度の上昇等)により故障の兆候が埋もれてしまうことがある。こうした課題を解決するには、運用されている多数の機器の全ての説明変数(時系列データ)を一括りとした特徴量を探索するだけでなく、説明変数を複数のグループに分割し、グループ単位で特徴量を探索することが有効となる場合がある。そこで、モデル構築支援システム1は、運用されている多数の機器の全ての説明変数(時系列データ)を一括りとした特徴量の探索に有用な情報を提供するとともに、目的変数(故障)の予測精度を向上する上で有効な、説明変数の複数のグループへの分割方法に関する情報を提供する。
【0021】
図1Aおよび
図1Bは、記憶ドライブの故障の予測精度を向上する上で、説明変数のグループへの分割を考慮する必要がある場合を具体的に示した図である。例えば、
図1Aに示すように、現場において、記憶ドライブが閉塞する場合には、「故障」による場合と「戦略的交換」による場合とがある。ここで「戦略的交換」とは、例えば、「劣化度が95%以上の記憶ドライブは故障でなくても交換する」、「その際に同じRAIDを構成する記憶ドライブは交換する」といった場合である。この場合、「故障」と「戦略的交換」の場合の説明変数を異なるグループに分類し、各グループについて個別に特徴量を探索する
ようにすることで、目的変数の予測精度の向上が期待できる。
【0022】
また同図に示すように、記憶ドライブの「故障」の原因には、「ライト故障」、「リード故障」、「通信障害」、「原因記載なし」等がある。この場合、説明変数を原因毎のグループに分類し、各グループについて個別に特徴量を探索するようにすることで、目的変数の予測精度の向上を期待できる。また例えば、
図1Bに示すように、記憶ドライブは、新旧モデルの違いにより、計測値の計算式(例えば、データ容量の計算式)が異なる場合があるが、この場合、説明変数を新旧モデルの各グループに分類し、各グループについて個別に特徴量を探索することで、目的変数の予測精度の向上を期待できる。
【0023】
図2は、説明変数をグループに分割した例を示す図である。この例では、全ての機器(記憶ドライブ)の説明変数(時系列データ)をグループに分割しない場合における、目的変数(故障予兆の有無)の予測精度Cは20%である。
【0024】
同図における分割例1は、全ての機器の説明変数をグループ1とグループ2に分割した場合である。ここで当該分割は、当該分割を行うための特徴量(以下、「グループ分割特徴量」と称する。)を用いて行うが、当該グループ分割特徴量による分割の精度Dは、この例では100%としている。また、当該分割により、説明変数の全体に対するグループ1のカバー率S(Support Ratio)は30%、グループ2のカバー率Sは70%である。
そしてこの例では、グループ1については、当該グループについて探索された特徴量(以下、「識別特徴量」と称する。)に基づく予測モデルによる目的変数の予測精度Cは70%、グループ2については当該グループについて探索された識別特徴量に基づく目的変数の予測精度Cは40%である。
【0025】
同図における分割例2は、全ての機器の説明変数をグループ3とグループ4に分割した場合である。ここで当該分割に用いたグループ分割特徴量による分割の精度Dは20%である。また、当該分割により、説明変数の全体に対すグループ3のカバー率Sは20%、グループ4のカバー率Sは80%である。そしてこの例では、グループ3については、当該グループについて探索された識別特徴量に基づく予想モデルによる目的変数の予測精度Cは80%、グループ4については、当該グループについて探索された識別特徴量に基づく予想モデルによる目的変数の予測精度Cは10%である。
【0026】
前述したように、モデル構築支援システム1は、識別特徴量の探索に有用な情報を提供するとともに、目的変数の予測精度を向上する上で有用となる、説明変数の複数のグループへの分割方法に関する情報を提供する。そのため、予測モデルの構築を行う分析者やドメインエキスパート、サービスビジネスの設計者等は、提供される情報に基づき、効率よく予測精度の高い予想モデルを構築することが可能になる。
【0027】
例えば、分析者は、モデル構築支援システム1により提供される情報に基づき、識別特徴量を改良して目的変数の予測精度を向上させることを検討する。例えば、
図2の例では、分析者は、全体およびグループ1~4のいずれの識別特徴量を改良すべきか、全体およびグループ1~4を更に別のグループに分割すべきか、分割に用いる識別特徴量を改良すべきか等を検討する。
【0028】
また、例えば、ドメインエキスパートは、モデル構築支援システム1により提供される情報に基づき、分析者に対して、新たな識別特徴量についての気づきやヒント(メーカ毎に変数の意味が異なることを思い出した等)を与える、新たな分割方法を提供する(修理センタから故障診断結果を入手する、チャートを目視で分類する(線形/二次曲線等)、問題設定を変更する(寿命到来により交換した機器を故障機器から除外する等)等の行動をとる。
【0029】
また、例えば、サービスビジネスの設計者は、モデル構築支援システム1により提供される情報に基づき発見した故障モードについて、設計部門に根本的な原因対策を依頼することを検討する、予測モデルの対象を変更する(故障識別の対象を、確実に故障識別ができる新機種のみに集中し、古い機種に対する故障識別は諦める等)といった行動をとることができる。
【0030】
モデル構築支援システム1は、分析者等が、適切な目的変数を求めるために「グループへの分割」と「グループ単位での識別特徴量の生成」を繰り返し試行錯誤して予測モデルを構築する作業を支援する。そのために、モデル構築支援システム1は、試行錯誤の過程で設定されるグループおよびグループ単位の識別特徴量に基づき構築される予測モデルに説明変数を与えた場合における「スコア」を算出し、また、当該グループおよび識別特徴量をより適切な方向に改善するための指針となる情報である「報酬」を算出する。そして、グループ、分割の種類、および特徴量を木構造で表したグラフに算出した「スコア」や「報酬」を併記した情報(以下、「モデル構築支援情報」と称する。)を生成して分析者等に提供する。
【0031】
尚、本例では、「スコア」は次のように定義する。まず、識別特徴量のスコアSFを次式で定義する。
[数1]
SF=S*C ・・・式1
上式において、S(Support Ratio)は、あるグループの上位グループに対するカバー率
であり、C(Confidence)は、識別特徴量F(Feature)の精度(例えば機械学習におけるF
値(F-measure))である。
【0032】
また、グループGのスコアであるスコアSGを、次のように定義する。
[数2]
SG=max({SF in G},{SD*D in G}) ・・・式2
【0033】
上記SDは、グループの分割方法についてのスコアSDであり、次のように定義される。尚、Dは、グループ分割特徴量の精度である。
[数3]
SD = sum({SG in D}) ・・・式3
【0034】
また、本実施形態では、「報酬」を次式で定義する。
[数4]
報酬=影響度*成功確率 ・・・ 式4
【0035】
上式において、影響度(個別のグループのスコアを改善することによるグループ全体のスコアの改善効果の度合い)は、グループ全体のスコアの差分(改善による差分)を個別のグループのスコアの差分で除した値(=グループ全体のスコアの差分 / 個別のグルー
プのスコアの差分)である。また、成功確率は、よい特徴量が発見できるかについての確率であり、例えば、これまで探索された(登録された)特徴量の数(既に試行錯誤した数が多ければ既に考え尽くされているとして成功確率は低くなる等)、これまでの挑戦で使用してきた計測値の量(網羅率)(量が多ければ既に検証済の範囲が大きく成功確率は低くなる等)等により取得される。
【0036】
図3A~
図3Cに、スコアの算出例を示す。
図3Aは、故障機器と正常機器の割合を示す帯グラフであり、
図3Bおよび
図3Cは、
図3Aの帯グラフについてのスコアの算出例を示す木構造グラフである。
図3Aに示すように、この例は、説明変数(時系列データ)
のグループへの分割を行わない場合である。
図3Bは、目的変数の予測精度が20%となるような識別特徴量F1が探索された場合であり、識別特徴量F1のスコアSFが20%、グループのスコアSGは20%、分割方法のスコアSDは20%である。また、
図3Cは、目的変数の予測精度が30%となるような識別特徴量F2が見つかった場合であり、識別特徴量F2のスコアSFが30%、グループのスコアSGは30%、分割方法のスコアSDは30%である。
【0037】
図4Aおよび
図4Bに、スコアの他の算出例を示す。
図4Aは、故障機器と正常機器の割合を示す帯グラフであり、
図4Bは、
図4Aの帯グラフについてのスコアを算出例を示す木構造グラフである。
図4Aに示すように、この例は、説明変数(時系列データ)について分割D2を行い、30%と70%の割合で2つのグループ(グループ1、グループ2)に分割する場合である。
図4Bに示すように、例えば、各グループの識別特徴量F21,F22のスコアは80%,20%であり、グループのスコアSGは、グループ1が24%、グループ2が14%、分割D2のスコアSDは38%、グループG11のスコアSGは38%である。
【0038】
図5A、
図5Bにスコアの他の算出例を示す。
図5Aは、故障機器と正常機器の割合を示す帯グラフであり、
図5Bは、
図5Aの帯グラフについてのスコアを算出例を示す木構造グラフである。
図5Aに示すように、この例は、説明変数(時系列データ)を、
図4Aに示す分割D1(グループ1、グループ2)について更に分割D3を行い、分割D1のグループ2の時系列データを、50%と50%の割合で2つのグループ(グループ5、グループ6)に更に分割した場合である。この例では、分割D3のスコアSDは50%、分割D2のスコアSDは61%、グループG11のスコアSGは61%である。この例の場合、分割D4のグループ分割特徴量の精度D(現在20%)を向上させると、全体の分割方法のスコアSDが上昇し、それにより影響度が上昇して報酬が高くなることがわかる。
【0039】
図6は、前述したモデル構築支援情報600の一例である。同図に示すように、モデル構築支援情報600には、グループの関係を階層的に表した木構造グラフである。同グラフを構成するノードには、グループを表すノード、分割を表すノード、分割に所属する各グループを表すノード、各グループにおいて採用した特徴量を表すノード等の種類がある。このうち、グループの全体を表すノードには、目的変数の識別精度とグループ全体の報酬が表記される。また、分割を表すノードには、分割の基準(閉塞個、メーカ別、メモリエラー由来故障等)や分割に用いた特徴量の分割精度、当該分割についての目的変数の識別精度等が表示される。また、グループを表すノードには、分割元(上位の)のグループの説明変数(時系列データ)のカバー率、当該グループによる目的変数の識別精度、および報酬が表示される。また、各グループにおいて採用した特徴量を表すノードには、特徴量の内容、当該特徴量の目的変数の識別精度等が表示される。
【0040】
例示するモデル構築支援情報の場合、例えば、符号611で示すノード群は、分割無しのグループにおいて複数の特徴量が試されており、識別精度の向上に伸び悩んでいることがわかる。そのため、分析者は、例えば、これ以上、分割無しのグループで特徴量を探索すべきでないとの示唆を得ることができる。
【0041】
また、例えば、符号612aで示すノードと符号612bで示すノードとを比較すると、同じ特徴量でもメーカが異なると識別精度に大きく影響することがわる。そのため、分析者は、例えば、メーカにより特徴量の定義が異なる可能性があることを知ることができ、メーカ毎にグループを分けることが目的変数の識別精度を高める上で有効である可能性があるとの示唆を得ることができる。
【0042】
また、例えば、符号613で示すノードでは、目的変数の識別精度が向上している。そ
のため、分析者は、例えば、波形で分割することで目的変数の識別精度が向上するのではないかという示唆を得ることができる。また、分析者は、例えば、波形の分類を機械的に行うソフトウェア(ロジック)を適用することで、効率よく識別精度を高めることができるのではないかとの示唆を得ることができる。
【0043】
尚、
図3B、
図3C、
図4B、
図5B等に示した木構造のグラフを、モデル構築支援情報600として分析者等に提示(表示)するようにしてもよい。これらのグラフを参照することで、分析者等は、識別特徴量の精度C、カバー率S、スコアSF,スコアSG、スコアSD等を視覚的に容易に確認することができ、識別特徴量やグループの分割方法の探索を効率よく行うことができる。
【0044】
続いて、モデル構築支援システム1の具体的な構成について詳述する。
【0045】
図7Aは、モデル構築支援システム1のシステム構成図である。同図に示すように、モデル構築支援システム1は、多数の機器7、センサ装置8、ユーザ端末20、データサーバ30、およびモデル構築支援装置100を含む。これらの装置は、通信ネットワーク5を介して通信可能に接続されている。通信ネットワーク5は、例えば、無線または有線による通信を実現する通信基盤(通信インフラ(Infrastructure))であり、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット、専用線、
各種公衆通信網等である。
【0046】
機器7は、現場で運用される多数の機器であり、本例では、記憶ドライブ(フラッシュモジュールドライブ(FMD(Flash Module Drive))、フラッシュメモリドライブ(SSD(Solid State Drive)、HDD(Hard Disk Drive)等)である。
【0047】
センサ装置8は、通信モジュールおよび各種センサを備え、各種センサにより機器7に関する情報(温度、回転数、データ読み出し速度、データ書き込み速度、IOPS(Input/Output Per Second)、レスポンスタイム、スループット、レイテンシ、残容量等)を
計測し、計測した値に基づく時系列データを生成し、生成した時系列データをデータサーバ30に送信する。各種センサは、温度センサ等のハードウェアにより実現されるものの他、データの読み出し速度や書き込み速度を計測するプログラムのようにソフトウェアにより実現されるものを含む。
【0048】
ユーザ端末2は、情報処理装置(コンピュータ)であり、センサ装置8、データサーバ30、モデル構築支援装置100と通信可能に接続し、これらの装置について、各種情報の設定や提供される情報の取得とユーザへの提示や監視、制御等を行う。
【0049】
データサーバ30は、情報処理装置を用いて構成され、センサ装置8から送られてくる時系列データ等の各種データを蓄積して管理(記憶)する。
【0050】
モデル構築支援装置100は、情報処理装置を用いて構成され、データサーバ30に蓄積されている時系列データの分析、特徴量の抽出、予測モデルの構築、予測モデルの構築を支援するための情報の提供等を行う。
【0051】
図7Bに、ユーザ端末20、データサーバ30、およびモデル構築支援装置100の実現に用いる情報処理装置のハードウェア構成例を示す。
【0052】
例示する情報処理装置10は、プロセッサ11、主記憶装置12、補助記憶装置13、入力装置14、出力装置15、および通信装置16を備える。情報処理装置10は、例えば、パーソナルコンピュータ、スマートフォン、タブレット、オフィスコンピュータ、汎
用機等である。尚、ユーザ端末20、データサーバ30、およびモデル構築支援装置100は、例えば、通信可能に接続された複数の情報処理装置10を用いて実現してもよい。
【0053】
情報処理装置10は、その全部または一部が、例えば、クラウドシステムによって提供される仮想サーバのように、仮想化技術やプロセス空間分離技術等を用いて提供される仮想的な情報処理資源を用いて実現されるものであってもよい。情報処理装置10によって提供される機能の全部または一部は、例えば、クラウドシステムがAPI(Application Programming Interface)等を介して提供するサービスによって実現してもよい。
【0054】
情報処理装置10によって提供される機能の全部または一部は、例えば、SaaS(Software as a Service)、PaaS(Platform as a Service)、IaaS(Infrastructure as a Service)等を利用して実現されるものであってもよい。
【0055】
同図に示すプロセッサ11は、例えば、CPU(Central Processing Unit)、MPU
(Micro Processing Unit)、GPU(Graphics Processing Unit)、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)、
AI(Artificial Intelligence)チップ等を用いて構成されている。
【0056】
主記憶装置12は、プログラムやデータを記憶する装置であり、例えば、ROM(Read
Only Memory)、RAM(Random Access Memory)、不揮発性メモリ(NVRAM(Non Volatile RAM))等の記憶素子を用いて構成される。
【0057】
補助記憶装置13は、例えば、SSD(Solid State Drive)、ハードディスクドライ
ブ、光学式記憶装置(CD(Compact Disc)、DVD(Digital Versatile Disc)等)、ストレージシステム、ICカード、SDカードや光学式記録媒体等の記録媒体の読取/書込装置、クラウドサーバの記憶領域等である。補助記憶装置13には、記録媒体の読取装置や通信装置16を介してプログラムやデータを読み込むことができる。補助記憶装置13に格納(記憶)されているプログラムやデータは主記憶装置12に随時読み込まれる。
【0058】
尚、情報処理装置10の機能を実現するプログラムやデータの全部または一部は、予め主記憶装置12や補助記憶装置13に格納されていてもよいし、必要に応じて、非一時的な記録媒体や他の装置に備えられている非一時的な記憶装置から、記録媒体の読取装置や通信装置を介して主記憶装置12や補助記憶装置13に読み込むようにしてもよい。
【0059】
入力装置14は、外部からの入力を受け付けるインタフェースであり、例えば、キーボード、マウス、タッチパネル、カードリーダ、ペン入力方式のタブレット、音声入力装置等である。
【0060】
出力装置15は、処理経過や処理結果等の各種情報を出力するインタフェースである。出力装置15は、例えば、上記の各種情報を可視化する表示装置(液晶モニタ、LCD(Liquid Crystal Display)、グラフィックカード等)、上記の各種情報を音声化する装置(音声出力装置(スピーカ等))、上記の各種情報を文字化する装置(印字装置等)である。尚、例えば、情報処理装置10が通信装置16を介して他の装置との間で情報の入力や出力を行う構成としてもよい。
【0061】
入力装置14と出力装置15は、ユーザ(利用者や管理者)との間での対話処理(情報の入力受付、情報の提示等)を実現するユーザインタフェースを構成する。
【0062】
通信装置16は、他の装置との間の通信を実現する装置である。通信装置16は、通信ネットワーク5を介して他の装置との間の通信を実現する、有線方式または無線方式の通
信インタフェースであり、例えば、NIC(Network Interface Card)、無線通信モジュール、USBモジュール等である。
【0063】
情報処理装置10には、例えば、オペレーティングシステム、ファイルシステム、DBMS(DataBase Management System)(リレーショナルデータベース、NoSQL等)、KVS(Key-Value Store)等が導入されていてもよい。
【0064】
ユーザ端末20、データサーバ30、およびモデル構築支援装置100の夫々が備える各種の機能は、夫々が備えるプロセッサ11が、主記憶装置12に格納されているプログラムを読み出して実行することにより、もしくは、夫々を構成するハードウェア(FPGA、ASIC、AIチップ等)自体によって実現される。
【0065】
ユーザ端末20、データサーバ30、およびモデル構築支援装置100は、各種の情報(データ)を、例えば、データベースのテーブルやファイルシステムが管理するファイルとして記憶する。
【0066】
図8は、モデル構築支援システム1において取り扱われる主な情報(データ)を示す図である。
【0067】
同図に示すように、データサーバ30は、センサ装置8から受信した時系列データ101を管理(記憶)する。
【0068】
モデル構築支援装置100は、時系列データ101、目的変数102、グループ情報103、特徴量ライブラリ104、特徴量テーブル105、プロセス木106、および機器ID107を記憶する。
【0069】
図9は、モデル構築支援システム1が備える主な機能を示すブロック図である。同図に示すように、モデル構築支援システム1は、説明/目的変数設定部120、検定処理部125、特徴量式登録部130、特徴量登録部133、特徴量スコア算出部135、特徴量設定部137、グループ設定部138、報酬算出部140、モデル構築支援情報生成部143、グループスコア算出部150、グループ登録部155、進捗確認部160、および結果取得部163の各機能を有する。
【0070】
上記機能のうち、説明/目的変数設定部120は、時系列データ101や目的変数102の取得(受信)や設定(登録、編集、削除等)に関する処理を行う。
【0071】
検定処理部125は、予測モデルの検定(目的変数の識別精度の算出等)に関する処理を行う。
【0072】
特徴量式登録部130は、特徴量ライブラリ104の設定(登録、編集、削除等)に関する処理(設定のためのユーザインタフェースの提供等)を行う。
【0073】
特徴量登録部133は、プロセス木106への特徴量に関する情報の登録に関する処理を行う。
【0074】
特徴量スコア算出部135は、特徴量(識別特徴量、グループ分割特徴量)のスコアの算出に関する処理を行う。
【0075】
特徴量設定部137は、特徴量の設定(登録、編集、削除等)に関する処理(設定のためのユーザインタフェースの提供等)を行う。
【0076】
グループ設定部138は、グループに関する情報であるグループ情報103の設定(登録、編集、削除等)に関する処理(設定のためのユーザインタフェースの提供等)を行う。
【0077】
報酬算出部140は、報酬の算出に関する処理を行う。
【0078】
モデル構築支援情報生成部143は、モデル構築支援情報600の生成や提示(表示)に関する処理を行う。
【0079】
グループスコア算出部150は、グループスコアの算出に関する処理を行う。
【0080】
グループ登録部155は、グループに関する情報のプロセス木106への登録に関する処理を行う。
【0081】
図10に、時系列データ101の一例を示す。同図に示すように、例示する時系列データ101は、機器ID1011、タイムスタンプ1012、および計測値群1013の各項目を有する複数のレコードで構成される。時系列データ101のレコードの一つは、ある機器7についてある時点(タイムスタンプ)にセンサ装置8により計測された計測値に対応している。
【0082】
上記項目のうち、機器ID1011には、機器7の識別子である機器IDが格納される。タイムスタンプ1012には、当該計測値が取得された日時を示す情報が格納される。計測値群1013には、一つ以上の種類の計測値が格納される。
【0083】
図11A~
図11Cに、グループ情報103の例を示す。グループ情報103には、グループに関する情報が管理される。
図11Aに示すグループ情報103aには、機器7(機器ID1031a)と当該機器が所属するグループ(GroupSet1032a)との対応が管理される。
図11Bに示すグループ情報103bには、機器(機器ID1031b)毎の目的変数1032bが管理される。
図11Cに示すグループ情報103cには、機器(機器ID1031c)毎の故障理由1032cが管理される。
【0084】
図12に、特徴量ライブラリ104の一例を示す。特徴量ライブラリ104には、特徴量に関する情報が管理される。同図に示すように、例示する特徴量ライブラリ104は、ロジック1041、次元1042、およびラムダ式1043の各項目を有する一つ以上のレコードで構成される。特徴量ライブラリ104の一つのレコードは一つの特徴量(識別特徴量、グループ分割特徴量)に対応している。上記項目のうち、ロジック1041には、当該特徴量の論理(ロジック)の種類を示す情報が格納される。次元1042には、当該特徴量の次元が格納される。ラムダ式1043には、当該特徴量をラムダ式で表現した情報が格納される。
【0085】
図13に、特徴量テーブル105の一例を示す。特徴量テーブル105には、時系列データに基づき特徴量を算出した結果に関する情報が格納される。同図に示すように、特徴量テーブル105は、機器ID1051、および特徴量データ群1052の各項目を含む。上記項目のうち、機器ID1051には、前述した機器IDが格納される。特徴量データ群1052には、一つ以上の種類の特徴量の値が格納される。
【0086】
図14Aは、プロセス木106の構造を示すUML(Unified Modeling Language)図
であり、また、
図14Bは、プロセス木の構成要素の属性を示す図である。
図14Aおよび
図14Bに示すように、プロセス木106は、GroupSet1061、グループを表す変数
であるGroup1062、グループ分割特徴量(GFS)1062、および識別特徴量(DFS)
1065を、機器ID1063および特徴量ID1066に対応づけた構造を有する。
【0087】
図15は、モデル構築支援装置100が行う主な処理(以下、「メイン処理S500」と称する。)を説明するフローチャートである。以下、同図とともにメイン処理S500について説明する。
【0088】
まず、説明/目的変数設定部120が、時系列データ101と目的変数102を設定する処理(データ登録処理S511、目的変数登録処理S512)を行う。
【0089】
続いて、特徴量スコア算出部135が、特徴量スコアを算出し、算出した値を特徴量登録部133と検定処理部125に入力する処理(スコア計算処理S513)を行う。
【0090】
続いて、報酬算出部140が、プロセス木106に基づき報酬を算出する処理(報酬の計算処理S514)を行う。
【0091】
続いて、モデル構築支援情報生成部143が、算出された報酬に基づきモデル構築支援情報を表示して分析者に提示(表示)する処理(モデル構築支援情報表示処理S515)を行う。
【0092】
続いて、モデル構築支援装置100は、分析者による操作入力を待機する(S520)。
【0093】
ここで例えば、分析者が、進捗確認情報の表示操作を行うと、進捗確認部160が、進捗確認情報3100を記載した画面を生成して表示する処理(進捗確認情報表示処理S521)を行う。その後、処理はS520に戻る。
【0094】
また例えば、分析者が、最新結果の表示操作を行うと、結果取得部163が最新結果の表示画面を生成して表示する処理(最新結果の取得処理S522)を行う。その後、処理はS520に戻る。
【0095】
また例えば、分析者が、特徴量のライブラリの登録操作を行うと、特徴量登録部133が、特徴量のライブラリ登録画面を表示して分析者から特徴量のライブラリの登録を受け付ける処理(特徴量ライブラリ登録処理S523)を行う。その後、処理はS520に戻る。
【0096】
また例えば、分析者が、識別特徴量(DFS)の登録操作を行うと、特徴量登録部133
が、識別特徴量(DFS)の登録画面を表示して分析者から識別特徴量(DFS)の登録を受け付ける処理(識別特徴量(DFS)登録処理S524)を行う。その後、処理はS513に
戻る。
【0097】
また例えば、分析者が、時系列データをグループに分割するための操作を行うと、グループ登録部155が、グループ分割の登録画面を表示して分析者からグループ分割の登録を受け付ける処理(グループ分割処理S525)を行う。その後、処理はS513に戻る。
【0098】
また例えば、分析者が、グループ分割特徴量(GFS)を登録するための操作を行うと、
特徴量登録部133が、グループ分割特徴量(GFS)の登録画面を表示して分析者からグ
ループ分割特徴量(GFS)の登録を受け付ける処理(グループ分割特徴量(GFS)登録処理S526)を行う。その後、処理はS513に戻る。
【0099】
また例えば、分析者が、グループ分割特徴量(GFS)の登録とグループ分割を行う操作
を行うと、特徴量登録部133が、グループ分割特徴量(GFS)の登録画面を表示して分
析者からグループ分割特徴量(GFS)の登録を受け付けるとともに、グループ登録部15
5が、プロセス木106に対して、グループ分割特徴量(GFS)によるグループ分割を行
う処理(GFSの登録とGFSによるグループ分割処理S527)を行う。その後、処理はS512に戻る。
【0100】
また例えば、分析者が、目的変数102の変更操作を行うと、説明/目的変数設定部120が、目的変数102を変更するための画面を表示して目的変数102の変更を受け付ける処理(目的変数変更処理S528)を行う。その後、処理はS511に戻る。
【0101】
また例えば、分析者が、時系列データ101の変更操作を行うと、説明/目的変数設定部120が、時系列データ101を変更するための画面を表示して時系列データ101の変更を受け付ける処理(時系列データ変更処理S529)を行う。その後、処理はS511に戻る。
【0102】
図16は、
図15に示したメイン処理S500において行われる、プロセス木106に対する操作(処理)の一覧であり、
図17(a)から
図17(h)は、プロセス木の変化の具体例である。同図において、符号1611は、メイン処理S500における符号を示す。操作内容1612には、当該符号1611に対応するプロセス木106に対する操作の内容である。プロセス木の変化の例1613は、当該操作に対するプロセス木の変化を説明する図の番号(
図17(a)~(h)の少なくともいずれか)である。
【0103】
図18は、
図15に示したデータ登録処理S511の詳細を説明するフローチャートである。以下、同図とともにデータ登録処理S511について説明する。
【0104】
まず、説明/目的変数設定部120は、データサーバ30から説明変数として用いる時系列データを取得し、取得した時系列データを時系列データ101として記憶する(S5111)。
【0105】
続いて、説明/目的変数設定部120は、時系列データ101から機器IDのリストを抽出する(S5112)。
【0106】
続いて、説明/目的変数設定部120は、変数(Group)の登録と、グループスコアの
変数(Group.S)への値(100%)の設定、およびグループに所属する機器IDの変数
(Group.objects)へのS5112で取得した機器IDの設定を行う(S5113)。
【0107】
図19Aは、
図15に示した目的変数登録処理S512の詳細を説明するフローチャートである。以下、同図とともに目的変数登録処理S512について説明する。
【0108】
まず、説明/目的変数設定部120は、目的変数102を取得する(S5121)。
図19Bに目的変数102の一例を示す。
【0109】
続いて、説明/目的変数設定部120は、変数(Group)に変数(GroupSet)を追加す
る。また、変数(ID)に目的変数の列名(Objective列名)を設定し、識別特徴量の精度
C(Confidence)に100%を設定する(S5122)。
【0110】
続いて、説明/目的変数設定部120は、変数(ObjectiveSetID)に、値(GroupSet.ID)を設定する(S5123)。
【0111】
続いて、説明/目的変数設定部120は、Objective列の種類Xを列挙する(S512
4)。
【0112】
続くS5125~S5126では、説明/目的変数設定部120は、全ての種類Xにつ
いて、変数(Group)を変数(GroupSet)の下に登録する処理、変数(Group.ID)に種類Xを設定する処理、変数(Group.S)に種類Xの機器IDの数を設定する処理、および変数(Group.objects)に機器IDの集合を設定する処理を行う。
【0113】
図19Cに、目的変数登録処理S512の実行後のプロセス木の構造の例を示す。
【0114】
図20は、
図15に示した識別特徴量(DFS)登録処理S524の詳細を説明するフロ
ーチャートである。以下、同図とともに識別特徴量(DFS)登録処理S524について説
明する。
【0115】
まず、特徴量登録部133が、分析者から識別特徴量(DFS)の登録を受け付け、受け
付けた識別特徴量(DFS)を指定されたグループの変数(Group)の下位に追加する(S5241)。
【0116】
続いて、特徴量登録部133は、識別特徴量(DFS)の精度(DFS.DC)を求める(S5
242)。具体的には、特徴量登録部133は、まず、指定されたグループの上位グループ(上位Group)を取得し(S52421)、検査対象とするグループを示す変数(検査GroupSet)に上位Groupに所属するグループを設定する(S52422)。そして、特徴量を用いて検査GroupSetを検定した値をDFS.DCに設定する(S52423)。
【0117】
続いて、特徴量登録部133は、識別特徴量(DFS)のスコア(DFS.SF)を求める(S
5243)。具体的には、特徴量登録部133は、まず指定されたグループの上位グループ(上位Group)を取得し(S52431)、上位Groupのスコア(Group.S)にDFS.DCを
乗算した値をDFS.SFとする(S52432)。
【0118】
続いて、特徴量登録部133は、DFS.DCとDFS.SFを、以上により求めた値に更新する(S5244)。
【0119】
図21は、
図15に示したグループ分割処理S525の詳細を説明するフローチャートである。以下、同図とともにグループ分割処理S525について説明する。
【0120】
まず、グループ登録部155は、グループ情報103を取得する(S5251)。
【0121】
続いて、グループ登録部155は、指定されたグループ(Group)の下位に変数(GroupSet)を追加する(S5252)。
【0122】
続いて、グループ登録部155は、GroupSet毎にグループを生成する(S5253)。
【0123】
続くS5254~S5257の処理は、全てのグループを順次選択して行うループ処理である。当該ループ処理において、グループ登録部155は、Groupの登録(S5255
)、グループに分類された機器IDのリストの変数(Group.objects)への設定(S52
56)、およびグループスコアの変数(Group.S)へのグループに分類された機器IDの
比率の設定(S5257)を行う。
【0124】
図22は、
図15に示したグループ分割特徴量(GFS)登録処理S526の詳細を説明
するフローチャートである。以下、同図とともにグループ分割特徴量(GFS)登録処理S
526について説明する。
【0125】
まず、特徴量登録部133は、指定された(GroupSet)の下位にグループ分割特徴量(GFS)を追加する(S5261)。
【0126】
続いて、特徴量登録部133は、GFS.GCを求める(S5262)。具体的には、特徴量登録部133は、まず、変数(g1)の上位のGroupSetの上位のGroupを取得し(S526
21)、変数(g2s)の上位のGroupSetの下位の全てのGroupを取得する(S52622)。そして、特徴量登録部133は、グループ分割特徴量(GFS.features)を用いてg1.objectsからg2.objectsを識別し(S52623)、変数(GFS.GC)に識別精度を設定する(S52624)。
【0127】
図23Aは、
図15に示したGFSの登録とGFSによるグループ分割処理S527の詳細を説明するフローチャートである。以下、同図とともにGFSの登録とGFSによるグループ分割処理S527について説明する。
【0128】
まず、特徴量登録部133は、指定された(GroupSet)の下位にグループ分割特徴量(GFS)を追加し、変数(GFS.GC)に100%を設定する(S5271)。
【0129】
続いて、特徴量登録部133は、変数(g1)の上位のGroupSetの上位のGroupを取得し
(S5272)、グループ分割特徴量(GFS.features)を用いてg1.objectsをグループに分類する(S5273)。
【0130】
続くS5274~S5277の処理は、全てのグループを順次選択して行うループ処理である。当該ループ処理において、特徴量登録部133は、Groupの登録(S5275)
、グループに分類された機器IDのリストの変数(Group.objects)への設定(S527
6)、およびグループスコアの変数(Group.S)へのグループに分類された機器IDの比
率の設定(S5277)を行う。
【0131】
図23Bに、GFSの登録とGFSによるグループ分割処理S527の実行後のプロセス木106の構造の例を示す。
【0132】
図24Aは、
図15に示したスコア計算処理S513の詳細を説明するフローチャートである。以下、同図とともにスコア計算処理S513について説明する。
【0133】
同図において、S5131およびS5132は、プロセス木106の全ての葉について根(ルート)までのノードを順に選択するループ処理である。当該ループ処理において、まず、特徴量スコア算出部135は、選択中のノードがグループ(Group)か否かを判定
する(S5133)。選択中のノードがグループであれば(S5133:YES)、当該グループの最良の子を選択する処理(以下、「グループの最良の子の選択処理S5134」と称する。)を行う。一方、選択中のノードがグループでなければ(S5133:NO)、処理はS5136に進む。
【0134】
図24Bは、
図24Aにおけるグループの最良の子の選択処理S5134の詳細を説明するフローチャートである。
【0135】
まず、特徴量スコア算出部135は、集合Xの記憶領域を確保する(S51341)。
【0136】
S51342~S51343は、当該Groupの下位の全ての識別特徴量(DFS)について
順次選択して行うループ処理である。S51343では、特徴量スコア算出部135は、変数(Y.Item)に選択中の識別特徴量(DFS)を設定し、変数(Y.Score)にDFS.FSを設定し、集合XにYを追加する。
【0137】
S51344~S51346は、当該Groupの下位の全てのGroupSetについて順次選択
して行うループ処理である。S51345では、特徴量スコア算出部135は、変数(maxGC)に、GroupSetの全てのグループ分割特徴量(GFS)のうち最大のGFS.GCを設定する。また、S51346では、特徴量スコア算出部135は、変数(Y.Item)にGroupSetを設定し、変数(Y.Score)にGroupSet.SD * maxGCを設定し、集合XにYを追加する。
【0138】
続くS51347では、特徴量スコア算出部135は、集合XからScoreの最も高い
ItemとScoreを取得して戻り値とする。
【0139】
図24Aに戻り、S5135では、特徴量スコア算出部135は、グループの最良の子の選択処理S5134の戻り値である最良の子のScoreを変数(Group.SG)に設定する。
【0140】
S5136では、特徴量スコア算出部135は、選択中のノードがGroupSetであるか否かを判定する。選択中のノードがGroupSetであれば(S5136:YES)、変数(GroupSet.SD)にGroupSet下位の全てのGroupのスコアSGの合計を設定する。
【0141】
図25は、
図15に示した最新結果の取得処理S522の詳細を説明するフローチャートである。以下、同図とともに最新結果の取得処理S522について説明する。
【0142】
結果取得部163は、まず、変数(最良の識別結果)に根(ルート)のグループ(Group)のGroup.SGを設定する(S5221)。
【0143】
続いて、結果取得部163は、プロセス木106を複製する(S5222)。
【0144】
S5223~S5225までの処理は、プロセス木106の根(ルート)から全ての葉までノードを順に選択するループ処理である。まず、S5224では、結果取得部163は、選択中のノードがグループであるか否かを判定する。選択中のノードがグループであれば(S5224:YES)、前述した
図24Bのグループの最良の子の選択処理S5134を行い、最良の子以外の識別特徴量(DFS)ないしGroupSetを削除する(S5225
)。
【0145】
図26Aに、最新結果の取得処理S522の実行前のプロセス木106の構造の例を、また、
図26Bに、最新結果の取得処理S522の実行後のプロセス木106の構造の例を示す。
【0146】
図27Aは、
図15に示した報酬の計算処理S514の詳細を説明するフローチャートである。以下、同図とともに報酬の計算処理S514について説明する。
【0147】
まず、報酬算出部140は、影響度の計算処理S5241を行う。
【0148】
図27Bは、影響度の計算処理S5241の詳細を説明するフローチャートである。
【0149】
まず、報酬算出部140は、変数(Score_all_B)に、根(ルート)のグループのGroup.SGを設定する(S52411)。
【0150】
同図におけるS51412~S51416までの処理は、全てのグループからグループ
を順次選択するループ処理である。まず、報酬算出部140は、変数(Score_B)にGroup.SGを設定する(S51413)。続いて、報酬算出部140は、変数(Score_A)に Score_B + 定数Xを設定する(S15414)。続いて、報酬算出部140は、
図24Aに示したスコア計算処理S513を行う。続いて、報酬算出部140は、変数(Score_all_A
)に、根(ルート)のグループ(Group)のGroup.SGを設定する(S51415)。続い
て、報酬算出部140は、変数(DC影響度)に(Score_all_A - Score_all_B)/(Score_A - Score_B)を設定する(S51416)。
【0151】
同図におけるS51417~S514102までの処理は、全てのグループ(GroupSet)からGroupSetを順次選択するループ処理である。まず、報酬算出部140は、変数(Score_B)にmax(GFS.GC for all GFS)を設定する(S51418)。また、報酬算出部140は、変数(Score_A)にScore_B + 定数Xを設定する(S51419)。続いて、報酬算出部140は、
図24Aに示したスコア計算処理S513を行う。続いて、報酬算出部140は、変数(Score_all_A)に、根(ルート)のグループのGroup.SGを設定する(S5
14101)。続いて、報酬算出部140は、変数(GC影響度)に(Score_all_A - Score_all_B)/(Score_A - Score_B)を設定する(S51416)。
【0152】
図27Aに戻り、続いて、報酬算出部140は、難易度の計算処理S5242を行う。
【0153】
図27Cは、難易度の計算処理S5242の詳細を説明するフローチャートである。同図におけるS51421~S51426までの処理は、全てのグループからグループと全てのグループの子の識別特徴量(DFS)を順次選択するループ処理である。まず、報酬算
出部140は、変数(A)に識別特徴量(DFS)の数を設定する(S51423)。続いて、報酬算出部140は、変数(B)に、識別特徴量(DFS)のDFS.DCの上位N件を昇順ソー
トした結果のDFS.DCの傾斜を設定する(S15424)。続いて、報酬算出部140は、変数(C)に、全ての子の識別特徴量(DFS)で用いた特徴量の網羅率(例えば、識別特徴量(DFS)の試行錯誤の履歴から把握される網羅率)を設定する(S51425)。続い
て、報酬算出部140は、変数(難易度)にA,B,Cの重み付き和を設定する(S5141
6)。
【0154】
S51427~S514203までの処理は、全てのグループからグループと全てのグループの子のグループ分割特徴量(GFS)を順次選択するループ処理である。まず、報酬
算出部140は、変数(A)にグループ分割特徴量(GFS)の数を設定する(S51429)。続いて、報酬算出部140は、変数(B)に、グループ分割特徴量(GFS)のGFS.GCの上位N件を昇順ソートした結果のGFS.GCの傾斜を設定する(S154201)。続いて、
報酬算出部140は、変数(C)に、全ての子のグループ分割特徴量(GFS)で用いた特徴量の網羅率を設定する(S514202)。続いて、報酬算出部140は、変数(難易度)にA,B,Cの重み付き和を設定する(S514203)。
【0155】
図27Aに戻り、続いて、報酬算出部140は、全てのグループについてGroup.影響度
* Group.難易度を算出してグループ(Groupの報酬(Group.報酬)を求める(S5145)。
【0156】
続いて、報酬算出部140は、全てのグループ(GroupSet)についてGroupSet.影響度 * GroupSet.難易度を算出してグループ(GroupSetの報酬(GroupSet.報酬)を求める(S5146)。
【0157】
図28A~
図28Cは、
図9に示すグループ設定部138が、分析者等が目視作業により時系列データを分類した結果に基づき、時系列データをグループに分割する場合を説明する図である。
図28Aに示すように、この例では、分析者等は、目視により波形を判定
し(放物線または直線のいずれに近いか)(符号2810)、その結果に基づき時系列データを放物線または直線のいずれかに分類し、グループ情報103cを生成している。
【0158】
図28Bは、
図28Aに示す符号2810の作業に際し、グループ設定部138が、グループに所属する全ての機器(Group.objects)についてファイルを出力する場合を説明
するフローチャートである。グループ設定部138は、グループに所属する全ての機器について、ファイル名に機器IDを設定したファイルを生成する(S2811~S2813)。
【0159】
図28Cは、グループ設定部138が、
図28Aに示すグループ情報103cを生成する処理を説明するフローチャートである。S2821~S2824の処理は、指定されたディレクトリの全てのサブディレクトリの全てのファイルを順次選択するループ処理である。上記ループ処理において、グループ設定部138は、機器IDに選択中のファイル名を設定し(S2823)、機器IDとサブディレクトリのレコードを生成する(S2824)。S2825では、グループ設定部138は、生成したレコード群をグループ情報103cとして出力する。
【0160】
図29Aおよび
図29Bは、特徴量テーブル105の生成方法の一例を示す図である。
図29Aは、特徴量として、時間min(X)から時間max(X)までの区間の時系列データの傾き(=(max(y)-min(y))/(max(x)-min(x)))を特徴量とする場合である。尚、特徴量の算出に用いる時系列データの期間としては、例えば、故障の予兆を捉えるために、
図29Bに示すように、直近の所定期間(同図ではBからCまでの6日)を採用しないようにする。
【0161】
図30に、特徴量を所定のアルゴリズム記述言語で記述した場合の一例を示す。
【0162】
図31は、モデル構築支援装置100の進捗確認部160が、分析者等に提示する情報の一例である。進捗確認部160は、プロセス木106に対して行われた処理の履歴に基づき、分析者等による特徴量の探索と説明変数(時系列データ)のグループへの分割の試行錯誤の状況(予測モデルの構築作業の進捗状況)に関する情報を管理している。進捗確認部160は、前述した進捗確認情報表示処理S521において、上記情報に基づき同図に示すグラフ(以下、「進捗確認情報3100」と称する。)を生成し、生成した進捗確認情報3100を分析者等に提示(表示)する。
【0163】
同図に示すように、進捗確認情報3100は、その横軸方向には、各機器の機器IDをグループ別に列挙し、その縦軸方向には、各機器について取得される各種の特徴量を列挙している。また、機器IDと特徴量の交点に位置する各セルには、所定の色(同図では黒色)を、当該機器IDの当該特徴量の機器全体の平均値に対する差の大きさに応じた濃度(または色)で表示している。進捗確認情報3100において、濃度が濃い領域が密集している程、特徴量が目的変数の識別精度の向上への貢献度が高いことを意味しており、上記のような領域の数が多い程、特徴量とグループ分けの探索が適切に進んでいることを意味する。このため、分析者等は、進捗確認情報3100を参照することにより、予測モデルの構築のための特徴量やグループ分けの探索の進捗度合いを視覚的に容易に確認することができる。
【0164】
図32は、適切な特徴量の探索を試行錯誤により行う場合の一例である。試行1では、閾値(th1)により目的変数(故障有無)の判定(識別)を行った場合であり、この場合
、左から2つ目と4つ目の時系列データについての判定に誤りが生じている。試行2では、左から2つ目の時系列データの判定に用いる閾値をth2に調整しており、これにより左
から2つ目の時系列データの判定が正しくなっているが、左から4つめの時系列データの
判定は誤ったままである。試行3では、4つの時系列データを規格化した後に閾値(th1
)を適用しているが、それでも左から4つめの時系列データの判定は誤ったままである。試行4hでは、4つの時系列データを規格化し、傾きの大きさが閾値を超えるか否かで判定を行った場合であり、この例では、全ての時系列データについて正しい判定が行われている。尚、この例の場合、試行4についての特徴量とグループ分けのスコアが最大となる。
【0165】
以上に説明したように、本実施形態のモデル構築支援システム1によれば、機器について予測される事象に関する目的変数を出力する予測モデルについて採用する特徴量、および特徴量を最適化する説明変数のグループへの分割方法についての探索を支援するために有用な様々な情報が多様な観点で提供される。そのため、分析者等は、故障等の機器に生じる事象を精度よく予測するための予測モデルの構築を効率よく行うことができる。
【0166】
尚、本発明は上記の実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記の実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、上記実施形態の構成の一部について、他の構成の追加や削除、置換をすることが可能である。
【0167】
例えば、以上の実施形態では、リスク予測モデルを線形回帰モデルにより構成したが、リスク予測モデルは、例えば、他の種類の統計モデルや機械学習モデル(例えば、DNN(Deep Neural Network))等により構成してもよい。
【0168】
上記の各構成、機能部、処理部、処理手段等は、それらの一部または全部を、例えば、集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、SSD(Solid State Drive)等の記録装置、ICカ
ード、SDカード、DVD等の記録媒体に置くことができる。
【0169】
以上に説明した各情報処理装置の各種機能部、各種処理部、各種データベースの配置形態は一例に過ぎない。各種機能部、各種処理部、各種データベースの配置形態は、これらの装置が備えるハードウェアやソフトウェアの性能、処理効率、通信効率等の観点から最適な配置形態に変更し得る。
【0170】
前述した各種のデータを格納するデータベースの構成(スキーマ(Schema)等)は、リソースの効率的な利用、処理効率向上、アクセス効率向上、検索効率向上等の観点から柔軟に変更し得る。
【符号の説明】
【0171】
1 モデル構築支援システム、5 通信ネットワーク、7 機器、8 センサ装置、10
情報処理装置、11 プロセッサ、12 主記憶装置、13 補助記憶装置、14 入力装置、15 出力装置、16 通信装置、20 ユーザ端末、30 データサーバ、100 モデル構築支援装置、101 時系列データ、102 目的変数、103 グループ情報、104 特徴量ライブラリ、105 特徴量テーブル、106 プロセス木、107 機器ID、120 説明/目的変数設定部、125 検定処理部、130 特徴量式登録部、133 特徴量登録部、135 特徴量スコア算出部、137 特徴量設定部、138 グループ設定部、140 報酬算出部、143 モデル構築支援情報生成部、150 グループスコア算出部、155 グループ登録部、160 進捗確認部、163
結果取得部、600 モデル構築支援情報、S500 メイン処理、S511 データ
登録処理、S512 目的変数登録処理、S513 スコア計算処理、S514 報酬の計算処理、S516 モデル構築支援情報表示処理、S521 進捗確認情報表示処理、S522 最新結果の取得処理、S523 特徴量ライブラリ登録処理、S524 識別特徴量(DFS)登録処理、S525 グループ分割処理、S526 グループ分割特徴量
(GFS)登録処理、S527 GFSの登録とGFSによるグループ分割処理、S528 目的
変数変更処理、S529 時系列データ変更処理