センサデータを活用した新しいものづくりの取り組みが加速している。データを収集し現場の改善活動に生かす取り組みはこれまでも行われてきた。最近の特徴は、データの量、質、生成頻度、適用領域が従来とは異なる次元に入っていることだ。ものづくりのデータ活用を長らく支えてきたMATLABのケースから、IoT時代のデータ分析の正しいあり方を探る。

センサデータを活用した予防保全やプロセス改善

アプリケーションエンジニアリング部 部長の大谷卓也氏

ものづくりの現場でIoTやビッグデータ活用の取り組みが本格化している。さまざまなセンサからデータを取り込み、機械学習や時系列解析などを使って新しい知見を獲得し、それらを使い、これまでは難しかった製造プロセスの改善につなげたり、新しい製品やサービスの開発に応用するケースが増えている。

データ解析プラットフォーム「MATLAB」を提供し、ものづくりの現場を30年来にわたって支えてきたMathWorksに対しても、そうしたセンサデータを使った新しい知見獲得に関するニーズが急増しているという。アプリケーションエンジニアリング部 部長の大谷卓也氏は、こう話す。

「たとえば、加工組立系の現場では、部品の故障を予測して、機械が止まる前に対策を打つ取り組みが活発です。部品をモニタリングして予防保全に役立てようというニーズですね。また、プロセス系の場合は、製造プロセスの安定性を高めようという取り組みが進んでいます。センサデータをみて製造工程を見なおしたり不良品の改善につなげたり。こういった取り組みは、自動車、プロセス、プラント、電力、インフラなどの各分野で進んでいて、この1年で加速している印象です」(大谷氏)

知見を得るためのセンサデータ解析のワークフロー

ひとくちにセンサデータといっても、種類やフォーマット、量はさまざまだ。センサには、たとえば、画像、温度、電圧・電流、流量、圧力などがある。フォーマットはCSVなどのテキストファイルを主体としながらも、各種通信プロトコルやデータベースサーバにあわせて加工していく必要がある。並列分散処理フレームワークの「Hadoop」などに保存された大規模データへの対応も必要だ。

「センサデータから有益な知見を得るためには、その前段階となるデータの収集、加工での処理が不可欠です。また、分析結果を現場の担当者が使えるようにするための仕組みも大切になります。収集から活用までの一貫したワークフローを整備することが大きなポイントです」(大谷氏)

データを蓄積するためのシステム構築や可視化ツールの導入を進めたものの、このワークフローが確立できないことが、データ活用のボトルネックになっているケースが多く見られるという。センサデータ解析のワークフローは以下のように整理できる。

センサデータ解析のワークフロー
フロー 概要
1 データインポート
2 データ前処理
3 データ切り出し、可視化
4 変化点検出、はずれ値検出
5 アプリケーションの配布、ITシステムとの統合

MATLABを例に、これらワークフローの中で何がポイントになるのかを見ていこう。

センサデータ解析のワークフロー図

フロー1 データインポート - FA機器やHadoopデータからのインポートに対応

まず、「データのインポート」で課題になりやすいのは、収集するセンサのバリエーションや大量データの取り扱いだ。データのフォーマットが機器ごとに異なる場合は、それらを変換したり、機器に対応したツールを用意する必要がある。

たとえば、制御機器の特定のプロセスの改善だけを目的とするなら、OPC(Ole for Process Control)やGPIB(General Purpose Interface Bus)といった規格に対応したポイントソリューションで解決するケースが多い。だが、制御機器をSQL ServerやOracleといったITシステムと連携させようとすると、LANやSQL言語への対応も必要になってくる。

また、センサデータは1秒間に数千件といった頻度で生成されるため、1つ1つのデータは単純でもファイルの数は膨大になる。それらを効率よく保存し、必要なものだけをリアルタイムにシステムで処理していくためにHadoopなどへの対応が課題になる。

「データインポートや機器接続のためのインタフェースを開発するには手間とコストがかかります。開発効率を考えた場合、MATLABのように、解析ツール自身がさまざまなデータソース、データ形式、通信プロトコルに対応していることが望ましいでしょう」と大谷氏。

データの周期のずれを簡単に補間してしまうsynchronize関数。手間がかかる処理を数行のコードで実現できる(同社資料より)

フロー2 データ前処理 - 煩雑な手作業の処理を自動化

データの前処理作業は、大きく「欠損値/異常値処理」と「ノイズ除去」の2つに分類できる。欠損値/異常値処理は、計器の異常や、システムの停止など通常運転時以外のデータを処理する作業のこと。時系列データのなかに欠損値や異常値が含まれていた場合、データの精度が低くなる。そのため、データを適宜補間する必要があるが、リサンプリングと同じように、手作業で行うケースが多いのだという。

ノイズ除去は、これとは逆に、必要のないデータを除去する作業だ。MATLABでは、データに不要なノイズが入り込んでいる場合は、適切な信号処理アルゴリズムやフィルタを適用することで、それらを適切に除去することが可能だという。

「すべての異常値を単純に除去してしまってはだめです。異常値が新しい知見を見つける手がかりになることもあるからです。消していいノイズかそうでないかを判断するアルゴリズムを持つことがMATLABの特徴の1つです。たとえば、過去のデータから数学モデルや、機械学習等を使い、トレンドを予測し、そのズレから異常値かどうかを判断するようなことも可能です」(大谷氏)


フロー3 データ切り出し、可視化 - さまざまな期間、角度から立体的な可視化を実現

データ切り出し/可視化の例。少ないコード量にて、データを2D,3Dグラフ化している(同社資料より)

データの前処理が終了したら、解析したい期間のデータを切り出し、可視化を行うことになる。データの可視化は、データ解析の第一歩であり、新しい知見を得るうえで、多くの示唆を与えてくれる重要な作業になる。ポイントは、取り扱うデータについて、さまざまな期間、角度から可視化することだ。

「クイックに可視化することが重要です。一般的なツールでグラフ化すると、期間や値を変えたり、3次元のグラフを回転させたりといったことが簡単にはできません。MATLABは、2Dや3Dでのグラフ表示を行ったり、レンジを変えてグラフをズームしたりといったことが簡単にできます」(大谷氏)

可視化用の関数が用意されており、簡単なプログラミングでマウスにより、ズーム、回転が可能な3Dグラフが作成できる。切り出しでは大量のデータを扱うことになるが、標準で64bitに対応しておりPCに搭載したメモリを最大限使ったデータ処理が可能とのこと




フロー4 変化点検出、はずれ値検出 -人間の目では見つけにくい異常を見える化

長年の機械学習のアルゴリズムから人の目では見つけることができない変化点を検出する(同社資料より)

変化点検出/はずれ値検出は、2D/3Dグラフによる可視化をさらに一歩進めたものということができる。

たとえば、包装を行うある装置について、3Dグラフで可視化しただけで問題が発見できたケースがあったという。時間の経過とともに、カッターの刃の位置が微妙にずれていたが、数字データや2Dグラフだけを見ても気づかなかった。そのデータを3Dグラフにしたところ、刃の位置が中心線からずれて行くことが一目瞭然になったという。

「3Dによる可視化は、一度に見える情報量が多いため、それだけで新たな発見を得る可能性が高くなります。そこから課題の発見や改善活動のアイデアにつなげることができます」と大谷氏。

さらに、MATLABは、2D/3Dグラフによる可視化では、わかりにくいものや人間の目では見つけにくい異常を見つけるアルゴリズムも備える。これは、グラフを見て直感的には特徴をつかみにくいケースの場合に、機械学習などを用いて、センサデータから異常度を計算し、異常波形や変化点の自動検出を行うもの。

「変化の波形が少しずつ変わっていくケースや、ある期間にだけ起こらなかったものを見つけることが人間は苦手です。特定の期間をうまく抽出できれば見つけられる場合もありますが、何千万件のデータから異常値を見つけることは困難です。機械学習のアルゴリズムは、大量データを分析する際に必須になる機能の1つです」(大谷氏)

これは、過去のデータを使ってモデルを作り、将来のトレンド予測を行うことで、故障予知などを行うケースだ。変化点の出現頻度が高くなってきたことを見て、部品を交換するといった対策を行い、機械の故障を防止するというわけだ。

フロー5 アプリケーションの配布、ITシステムとの統合 - 一貫したインタフェースで知見の獲得を支援

最後の「アプリケーションの配布、ITシステムとの統合」は、こうした分析結果を単体で動作するアプリケーションとしてPCなどに配布したり、Webサーバ上に公開してどこからでも見られるようにしたりする機能を指している。

.exeなど実行形式に書き出せるため、MATLABの無い環境でもデータを扱える(左)。また、Webブラウザからモジュールを呼び出せる環境も用意されており、タブレットやスマートフォンからでも閲覧できる(右)(同社資料より)

そのうえで、大谷氏は「事前のプロセスがうまくワークフローとしてまわっていなければ、その後ろでどんなにいい製品やいいアルゴリズムを使っても成果は出にくい」と強調する。実際、ものづくりの現場でさまざまな提案を行っていても、うまくいかないケースの原因の大半はデータ解析以前の段階にあることが多く、現場の担当者もそのことを痛感しているのだという。そうした課題にこたえるべく、MATLABでは、一貫したインタフェースでこれらワークフローを実施できるようにしている。

IoT時代のデータ分析を、総合的にサポートするMATLAB

「前処理にはデータ変換のためのツールを使い、分析のために専用のデータベースを作って、表示は別ツールで行うなど、分散した環境で作業しているケースが多い。それらをワークフローとしてつなごうとして困っているケースもあります。MATLABは、データを入力するところから、前処理、切り出しと可視化、変化点の把握、さらにサーバに持っていくところまで1つの環境下で実装出来ることが最大の特徴です」

MATLABは、信号処理、解析アルゴリズム、機械学習など、研究開発や実際の現場で長きにわたって鍛え上げられてきた実績あるツールだ。Hadoopをはじめとして最近の技術動向も積極的に新機能として取り組んでいる。IoT時代に向けてデータ解析のワークフロー構築するために欠かせないツールの1つといっていいだろう。

「IoT時代のデータ分析」についてのアンケート調査協力のお願い

マイナビニュースでは、現在「IoT時代のデータ分析」についてのアンケート調査を実施しております。ご協力いただける方は、下記概要をお読みになり、設問にお答えください。

アンケート調査概要

アンケートに回答いただいた方の中から、抽選で10名に1,000円分のギフト券をプレゼントいたします。
募集期間:2015年8月31日~2015年9月27日
応募方法:アンケートページから必要な情報をご記入いただき応募
当選者発表:メールにて直接ご連絡をします

個人情報の取り扱いについて

応募フォームに記載されている「個人情報の取り扱いについて」をよくお読みの上、ご応募ください

(マイナビニュース広告企画 : 提供 マスワークス合同会社)

[PR]提供:マスワークス