ID識別のないセンサーデータの加工

IoT(Internet of Things)が注目されて、昨今ではIoT市場が急速に拡大しています。
IoT対応は急務となり、各企業で導入の検討が開始されています。しかし、いざ取り組むとなったとき「本当にこのデータ使えるの?」という相談を受ける機会が多く、実際に機械ログや工場から集めたセンサーデータには、個体を識別するIDがふくまれていないケースが多く見受けられます。

このような場合にIDを付与する、以下2つの方法を紹介します。
  1. 作業時間でIDと結合する
  2. 識別条件(ルール)を基にIDを付与する

 

今回は IBM SPSS Modeler をつかってデータ加工をおこないました。

サンプルストリーム

f:id:zealblog:20170602054359j:plain

※サンプルデータ
   作業記録.csv
   センサーデータ.csv

 1. 作業時間でIDと結合する

 生産工場において、製品ひとつひとつに生産IDが付与されている場合はわかりやすいのですが、LOT単位での生産など、センサーから一定時間ごと連続的にデータが転送される場合には個体識別がない場合があります。このような場合は、開始時間と終了時間からLOT単位のIDを付与することができます。
サンプルでは「作業記録.csv」の作業開始時間から作業終了時間までの間に生成されたセンサーデータをひとつのLOTとして加工しました。

f:id:zealblog:20170602054521j:plain

プレビューを表示します。
「作業記録」と「センサーデータ」が結合してIDと紐づきました。

f:id:zealblog:20170602161041j:plain

 

2. 識別条件(ルール)を基にIDを付与する

 一定のルールに基づいてIDを付与する場合には、SPSS Modelerのフィールド作成ノードを使用します。フィールド作成ノードでは6種類の新規フィールドを作成することができますが、センサーのような時系列データの場合には「カウント型」がたいへん便利です。

f:id:zealblog:20170602071703j:plain

条件を満たすたびに、作成されたカウント型フィールドの値が設定された増分の値ずつ増やされます。

f:id:zealblog:20170602054550j:plain

プレビューを表示します。
F1とF2がどちらとも1になったときに増分1されていることが確認できます。

f:id:zealblog:20170602072413j:plain

 IDらしく桁埋めをおこないます。方法はいくつかありますが、カウント型は連続型なのでそのままCLEM式で作成することができます。

f:id:zealblog:20170602054604j:plain

f:id:zealblog:20170602161119j:plain

 「蓄積データ」も、少し手を加えるだけで「活用可能なデータ」に変身することができます。