検索

予知メンテナンスへの道


予知メンテナンスの紹介と可能性

予知メンテナンス(Predictive Maintenance)がどれほど注目されているか、まずは数字で見てみよう。企業が予知メンテナンスに投資する金額として、2022年には1.2兆円に達すると言われており、産業IoTの用途として最も大きい規模だ。2017年から2022年までに、年間成長率は39%にもなると予想されている。

出典:Predictive Maintenance Market Report 2017-2022, IoTAnalytics

▲「事後メンテナンス」から「予知メンテナンス」までの進化

メンテナンスのあり方は、これまでに4つのステップで進化してきた。故障発生後に修理する「事後メンテナンス」から始まり、1万時間くらい稼働すると故障しやすいといった稼働時間に応じた経験からメンテナンスの必要性を判断する「予防メンテナンス」へと進化する。さらには1万時間稼働してもメンテナンスが必要なかったり、5000時間でも必要だったりする個体差に対応するため、振動や、表面の状態などに応じてメンテナンスを実施する「状態監視メンテナンス」に進化。そこからさらに進化したのが「予知メンテナンス」で、故障確率を予想してメンテナンスを実施するのだ。予知メンテナンスがもたらすメリットとしては、「コスト削減」「新規サービスの創出」「ダウンタイムの削減」「資産利用の効率化」「安全・安心の推進」などが挙げられる。

予知メンテナンスを実施する流れとしては、まず「1.データを準備」し、そのデータを使って「2.故障予測」をする。その予測に基づいて、故障確率が何%の時にメンテナンスをするのか判断するための「3.インパクト分析」が必要。そのうえで、「4.メンテナンス」を実施するのが大まかなステップだ。

予知メンテナンスの実行のためには様々なデータが利用される。「修理の記録」「使用記録」「センサーデータ」「音声データ」「画像データ」のほか、機種や材質といった「属性データ」も有効になる。近年、予知メンテナンスに注目が集まっている理由として、「センサーデータ」の発展がある。IoTが実現し、さまざまなものにセンサーを取り付けてデータを蓄積できるようになったことが予知メンテナンスの流れを加速している。

故障予測をどのように進めていくか

故障予測の手順について触れたい。まずは、インプットデータを準備する。ここでデータベースを正規化しておくと、今後の作業がしやすくなる。そして欠損値や外れ値の処理、ビニング等の前処理を行った後に説明変数を作成し、カイ二乗値の比較やLasso回帰などを用いて役に立ちそうな説明変数だけに絞り込む。次にモデリングを実施。これは機械学習やディープラーニングなどを利用する。

▲センサーデータにフーリエ変換をかけてインプットデータを準備する

インプットデータの準備について具体例を示そう。回転するベアリングの振動データにフーリエ変換をかけた後、ベアリング径や回転速度から計算される所定の周波数成分の振幅をインプットデータとして使用する。データアナリストが単独で分析を進めるのではなく、現場の作業員、機械の専門家などを交え、データをどう加工していくのかディスカッションすることが重要となる。

続いて説明変数の作成とスクリーニングを進めるが、その前にデータの分布やパターンを把握しておくと分析が進めやすい。例えば、故障する部品がA、B、Cとある場合に、「AとBが故障するとCが故障する」という傾向が見られるといった場合、パス分析を使ってイベントの発生順序のパターンを大まかにつかむことができる。

▲現場の作業者の意見からも説明変数を作成。分析しやすい形に加工する

説明変数の作成に現場の声が重要だという理由は、例えば「Aが壊れる前には雨が降っていることが多い」といった情報を吸い上げるためだ。こういった情報があれば、説明変数の中に前日や前々日の天候や湿度を加えてみよう、と判断することができるのだ。

モデリングの方法の例として「1.生存時間分析」や「2.データを時系列に展開して教師あり学習」が挙げられる。前者は「ノンパラメトリック」「パラメトリック」「セミパラメトリック」「機械学習系」などの種類がある。後者は「ロジスティック回帰」など、クラス分類系の機械学習を広く用いることができる。1の場合は時間変化する説明変数、つまりセンサーデータなどは利用に制限がある。そういった場合、汎用性の高い2を利用することにする。

▲車のセンサーデータなどによる故障予測の例

例として、車のセンサーデータをもとに、いつ頃バッテリーが故障するかを予測してみよう。センサーデータの項目は「バッテリー電圧」「平均温度」「走行平均温度」「合計走行距離」などで、他に「使用日数」「車種」「累積修理回数」などを利用する。それらをまとめた学習用のテーブルに、「バッテリー故障フラグ」の項目を用意して、予測対象とするのだ。

故障予測が完了すると、その実装について考えるために、インパクト分析をする必要がある。各要因が故障までに与えるインパクトを要因ごとに可視化するのだ。例えば、故障確率が5%になるたびにメンテナンスをしていたら、故障は減ってもメンテナンスの数が膨大になる。また、故障確率が100%に近くなってからメンテナンスをするのでは、故障によるダウンタイムや風評被害、損害賠償なども発生する可能性がある。

▲メンテナンス回数と故障回数から、最もコストの安いところを見つける

メンテナンス回数と故障回数による合計コストをグラフにすると、このデータでは故障確率が57%を超えたときにメンテナンスをすれば、もっともコストが安くなるとわかる。

実装する際には、その後もサイクルをうまく回すことが重要だ。既存のデータをもとに分析すると、分析に必要となるデータが分かるようになるため、今後はそのデータを蓄えるようにする。そしてデータが集まったら再度分析する。そのサイクルを繰り返すことにより、精度が上がっていくのだ。

鉄道の分岐器の故障確率を予測してみる

▲故障確率を予測するシミュレーションを実施

最後に鉄道の分岐器の故障確率を予想し、コスト分析からメンテナンスのタイミングを決定し、故障確率の高い分岐器を地図上に可視化するシミュレーション例を紹介する。実際の詳細なデータを使っているわけではないので、数値ではなく、考え方についてご覧いただきたい。

修理記録(メンテナンスログと交換ログ)と属性データをもとに、分析用のテーブルを作る。ここでは、交換を故障とみなすことにした。R言語を使ったWebアプリケーションフレームワーク「Shiny」を、より便利にした「Shiny Dashboard」を利用する。あらかじめ作っておいたパッケージにデータを読み込ませた後、故障確率の予測モデルを作成し、故障確率を予測する。

コスト分析をしていくために、事前にメンテナンスをした場合と、故障後にメンテナンスをした場合の費用を入力し、計算すると、今回のデータによると、1回の修理当たりのコストが安くなるのは故障確率が20%のところだということがわかった。

そこで、20%をセットして地図上に表示させると、メンテナンスの必要な分岐器が赤色で表示される。この赤色の点が集中している地域からメンテナンスしていけば効率が良さそうだと計画を進めることができる。

以上、今、注目される予知メンテナンスについて、データの整備から故障予測、インパクト分析、手配・交換の実装までを紹介した。繰り返しになるが、データサイエンティストの知識だけでなく現場の声や専門家のドメイン知識などが重要となってくる。そのため関係各位が同じチームとして、主目的を定めてプロジェクトを進めていくことが、大きなポイントとなる。

=================

著者紹介

眞田 章広

テラデータ・コンサルティング本部 データサイエンス・プラクティス

データサイエンティスト

情報工学修士(東京大学大学院)。これまでに取り組んだ事例は、「故障ログデータ分析」「信用リスク分析」「金利予測」など。

#データサイエンス #Teradata #パーベイシブデータインテリジェンス #テラデータ #予知メンテナンス #Vantage