Upgrade to Pro — share decks privately, control downloads, hide ads and more …

講演②異常を検知する 東日本旅客鉄道株式会社 堀 恵治 様_SPSSユーザーイベント2022春

講演②異常を検知する 東日本旅客鉄道株式会社 堀 恵治 様_SPSSユーザーイベント2022春

2022/05/20に開催されたSPSS オンラインユーザーイベントのご講演
東日本旅客鉄道株式会社 堀 恵治 様
「講演②異常を検知する」
のスライド資料(公開版)です

JPSPSS

May 29, 2022
Tweet

More Decks by JPSPSS

Other Decks in Technology

Transcript

  1. 3 IoTデータとは ・ 特定のサンプリング周期で記録される時系列データ ・ アナログデータとデジタルデータの双方が含まれる アナログデータ:センサー情報等の連続値 デジタルデータ:操作ログ等の離散値(ON、OFF等) ・ 計測と通信デバイス、通信料の安価化により

    今後も飛躍的にデータ量が増えると見込まれるデータ ・ IoTデータの分析ニーズは、増々高まっていく (完全な民主化ツールの登場には、まだ時間が必要) ・ 異常データの観測機会は極端に少ない
  2. IoTデータの異常検知の活用場面 5 ✓ 設備保護 ✓ メンテナンスタイミングの推定と決定 ✓ 製造製品の品質管理 等 IoTデータの異常検知とは

    IoTデータにおいて、 「いつもの (or 想定される) ふるまい 」 と異なるデータを検出する事を目的とするデータ分析 IoTデータの異常検知の定義例 ※ IoTデータの異常データが極少数である特性から、明確に「正常」と「異常」を判別するデータ分析は多くの場合困難
  3. 一般的な異常検知の事例(定期試験データから) 7 対象データ: 1000人分の定期試験の模擬データ 氏名ID 数学 英語 国語 100001 50

    64 50 100002 37 52 51 100003 47 50 60 100004 33 66 67 100005 39 66 50 100006 42 52 63 100007 46 49 57 100008 34 52 40 100009 48 57 65 100010 34 55 65 100995 60 55 55 100996 41 57 52 100997 44 62 66 100998 31 78 63 100999 66 53 30 101000 24 34 18 ・ ・ ・ 問題設定: 定期試験の結果から 特異な成績の人物を特定する データの中身を確認 (データの分布、統計情報、欠損値)
  4. 8 手法1:統計的なアプローチによる特異データの検出例 偏差値の活用 偏差値:データ集団全体に対して、各データの位置を表す指標 μ x :平均値 𝑇𝑖 = 10

    𝑥𝑖 − 𝜇𝑥 𝜎𝑥 + 50 x i :データ σ x :標準偏差 特異な データ ・ ・ ・ 例:三教科平均点の偏差値を算出し、偏差値の大きい順に並び替え 一般的な異常検知の事例(定期試験データから) 三教科平均点の 平 均 : 51.21 標準偏差 : 6.33 氏名ID 数学 英語 国語 三教科平均 三教科平均偏差値 100100 99 98 96 97.67 123.37 100056 53 69 84 68.77 77.73 100523 52 72 82 68.70 77.62 100636 42 72 91 68.16 76.77 100730 40 68 95 67.86 76.29 100824 39 76 86 66.77 74.58 100470 47 61 88 65.38 72.37 100677 45 63 87 65.27 72.20 100218 47 73 75 65.04 71.85 100244 50 59 86 65.03 71.82
  5. 9 手法2:クラスタ分析による特異データの検知例 例:極小クラスタによる特異データの検出 自動クラスタリングノードで極小クラスタの存在を検定※ 形成された極小クラスタの中身から特異データを特定 「K-means」モデルで 極小クラスタを形成 「クラスタ4」が 極小クラスタ 「クラスタ4」のみを抽出

    特異なデータ 一般的な異常検知の事例(定期試験データから) ※考え方 特異データは、他のデータと異なるので 別のクラスタを形成し、通常そのクラスタには 極小数のデータしか含まれない クラスタ分析結果
  6. 12 IoTデータの異常検知の事例(温度データ) 時刻 センサー1 センサー2 センサー3 2022/4/25 13:00:00 15 18

    16 2022/4/25 13:00:01 18 22 18 2022/4/25 13:00:02 25 25 22 2022/4/25 13:00:03 17 19 19 2022/4/25 13:00:04 24 18 24 2022/4/25 13:00:05 24 23 15 2022/4/25 13:00:06 15 25 17 2022/4/25 13:00:07 19 23 24 2022/4/25 13:00:08 22 20 15 2022/4/25 13:00:09 22 20 17 2022/4/25 13:16:39 40 40 40 2022/4/25 13:16:40 40 40 40 2022/4/25 13:16:41 40 40 40 2022/4/25 13:16:42 40 40 40 2022/4/25 13:16:43 40 40 40 2022/4/25 13:16:44 40 40 40 2022/4/25 13:16:45 40 40 40 2022/4/25 13:16:46 40 40 40 ・ ・ ・ 対象データ: 1000レコード分の温度センサーの模擬データ 問題設定: センサーのIoTデータから 特異な時刻を特定する データの中身を確認 (データの分布、統計情報、欠損値)
  7. IoTデータの異常検知の事例(デジタルデータ) 14 問題設定: センサーのIoTデータから 特異な時刻を特定する 対象データ: 1000レコード分のデジタルデータ 実際に直面するデータイメージ 時刻 センサー1

    センサー2 センサー3 2022/4/25 13:00:00 1 0 1 2022/4/25 13:00:01 0 0 1 2022/4/25 13:00:02 0 1 0 2022/4/25 13:00:03 0 1 0 2022/4/25 13:00:04 0 1 0 2022/4/25 13:00:05 1 1 0 2022/4/25 13:00:06 1 0 1 2022/4/25 13:00:07 1 0 1 2022/4/25 13:00:08 1 0 1 2022/4/25 13:00:09 0 0 1 2022/4/25 13:16:37 1 0 1 2022/4/25 13:16:38 1 0 1 2022/4/25 13:16:39 1 0 1 2022/4/25 13:16:40 0 0 1 2022/4/25 13:16:41 0 1 0 2022/4/25 13:16:42 0 1 0 2022/4/25 13:16:43 0 1 0 2022/4/25 13:16:44 1 1 0 2022/4/25 13:16:45 1 0 1 2022/4/25 13:16:46 1 0 1 ・ ・ ・ データの中身を確認 (データの分布、統計情報、欠損値) これまで紹介した一般的な異常検知手法は 使えなそう... 0 1 時刻
  8. IoTデータの異常検知の事例(デジタルデータ) 15 時刻 センサー1 センサー2 センサー3 2022/4/25 13:16:18 0 1

    0 2022/4/25 13:16:19 1 1 0 2022/4/25 13:16:20 1 0 1 2022/4/25 13:16:21 1 0 1 2022/4/25 13:16:22 1 0 1 2022/4/25 13:16:23 0 0 1 2022/4/25 13:16:24 0 1 0 2022/4/25 13:16:26 0 1 0 2022/4/25 13:16:27 0 1 0 2022/4/25 13:16:28 1 1 0 2022/4/25 13:16:29 1 0 1 2022/4/25 13:16:30 1 0 1 2022/4/25 13:16:31 1 0 1 2022/4/25 13:16:32 0 0 1 2022/4/25 13:16:33 0 1 0 2022/4/25 13:16:34 0 1 1 2022/4/25 13:16:35 0 1 1 2022/4/25 13:16:36 1 1 0 2022/4/25 13:16:37 1 0 1 2022/4/25 13:16:38 1 0 1 2022/4/25 13:16:39 1 0 1 2022/4/25 13:16:40 0 0 1 2022/4/25 13:16:41 0 1 0 2022/4/25 13:16:42 0 1 0 2022/4/25 13:16:43 0 1 0 2022/4/25 13:16:44 1 1 0 2022/4/25 13:16:45 1 0 1 2022/4/25 13:16:46 1 0 1 4秒ON 設計書や仕様書 STEP1:データの観察と理解、知見の収集 ・そもそものデータの意味を確認 「1」:センサーがONしている状態 「0」:センサーがOFFしている状態 4秒OFF 4秒ON 4秒OFF 4秒ON 4秒OFF ・いつものふるまいを確認 「通常の状態」:「4秒ONしたら4秒OFFする」 ・特異な状態の知見を確認 「特異な状態」 : 「調子が悪くなると 緑と赤の光り方がいつもと違う気がする」 設計書や仕様書 設計書や仕様書 現物を知る人の知見 レーザー 発振部 センサー =記録される データ 製品:無 レーザー光がセンサに入り「1」が記録 レーザー 発振部 センサー =記録される データ ベルト コンベア ベルト コンベア 緑のランプ 点灯 赤のランプ 点灯 異常検知の進め方 現場・現物のイメージ 製品:有 レーザー光がセンサに入らず「0」が記録
  9. IoTデータの異常検知の事例(デジタルデータ) 17 異常検知の進め方 STEP3:特徴量の設計 検知時間を算出し、 連続検知が終了した レコードのみを抽出 検知時間の算出式例 F3 =

    IF(B2=B3,F2+1,1) ※縦方向のデータ処理 Modelerでは@関数を多用 特徴量の例.センサーが連続してON or OFFしている時間 4秒間ON 4秒間OFF 4秒間OFF 4秒間ON 4秒間ON 4秒間OFF 特徴量 4秒間ON 4秒間OFF 4秒間ON 1秒間OFF 2秒間ON 1秒間OFF 4秒間ON 4秒間OFF ・データ処理の例(構造化処理) 計測したデータ
  10. 18 特徴量化により一般的な異常検知手法が使用可 ⇒多くの場合、単純な閾値検知を採用 時刻 センサー3特徴量 2022/4/25 13:00:05 4 2022/4/25 13:00:09

    4 2022/4/25 13:00:13 4 2022/4/25 13:00:17 4 2022/4/25 13:00:21 4 2022/4/25 13:00:25 4 2022/4/25 13:00:29 4 2022/4/25 13:00:33 4 2022/4/25 13:00:37 4 2022/4/25 13:00:41 4 2022/4/25 13:00:45 4 2022/4/25 13:00:49 4 2022/4/25 13:00:53 4 2022/4/25 13:00:57 4 2022/4/25 13:16:19 4 2022/4/25 13:16:23 4 2022/4/25 13:16:28 4 2022/4/25 13:16:32 4 2022/4/25 13:16:33 1 2022/4/25 13:16:35 2 2022/4/25 13:16:36 1 2022/4/25 13:16:40 4 ・ ・ ・ STEP4:特徴量の計算と異常検知システムの設計 特異なデータ IoTデータの異常検知の事例(デジタルデータ) ~ ~ ~ ~ 247 2 1 特異なデータ レーザー 発振部 センサー =記録される データ ベルト コンベア 特異なデータと現物異常の関係 センサーのデジタルデータの 特異データ検知であるが ①レーザー発振部の異常 ②センサーの異常 ③ベルトコンベアの異常 ④製品の寸法異常 ⑤製品製造部の異常 等の現物異常の可能性 現物の知識が必要不可欠 異常検知の進め方 センサー3 特徴量 特徴量.センサーが連続してON or OFFしている時間
  11. 一般的な異常検知とIoTデータの異常検知の違い 19 ・一般的な異常検知 (一方向) ID 数学 英語 国語 1001 60

    72 55 1002 69 89 70 1003 72 62 67 1004 40 57 92 1005 100 100 100 行方向 ID 数学 英語 国語 1004 40 57 92 1003 72 62 67 1001 60 72 55 1005 100 100 100 1002 69 89 70 「行方向の情報(数学,英語,国語)」から、 特異レコード を抽出する データ順序には意味が無い = 分析結果はデータ の順序によらない ・IoTデータの異常検知(多方向) 「行方向の情報(センサ-1,センサ-2)」+「列方向等のデータ順序」から 特異レコード を抽出する 時刻 センサー1 センサー2 04/27 13:38:00 0 20.0℃ 04/27 13:38:01 0 20.2℃ 04/27 13:38:02 1 20.1℃ 04/27 13:38:03 1 20.0℃ 04/27 13:38:04 0 19.9℃ 行方向 列 方 向 データ 順序変更 時刻 センサー1 センサー2 04/27 13:38:01 0 20.2℃ 04/27 13:38:03 1 20.0℃ 04/27 13:38:02 1 20.1℃ 04/27 13:38:00 0 20.0℃ 04/27 13:38:04 0 19.9℃ 異なる異常検知 結果となる ・具体的なIoTデータの異常検知の手法 ②列方向のデータ の並び順を含めてデータ 全体をモデル化する = 時系列モデル等 ①列方向のデータ の並び順を特徴量化により吸収し、「一般的な異常検知」と同じ土俵にして、各手法を適用する ③列方向のデータ の並び順を考慮しなくて良いIoTデータ の場合は、「一般的な異常検知」手法を適用する 様々な異常検知手法が提案されている 特異データは順序が変わっても同じ データ 順序変更 特徴量化 時刻 特徴量A 特徴量B 04/27 13:38:01 0 12 04/27 13:38:10 2 14 04/27 13:38:20 4 10 特徴量化により データ順序に意味が無くなる 本講演での紹介手法 データ の意味が変わる
  12. 20 IoTデータ自体の特殊性(扱い辛さ) IoTデータの分析で苦労している点 ✓ 大規模データ ✓ 横持のデータが多い 時刻 第1工場 _Aライン

    _温度1 第1工場 _Aライン _温度2 第1工場 _Bライン _温度1 第1工場 _Bライン _温度2 第2工場 _Aライン _温度1 第2工場 _Aライン _温度2 2022/05/09 10:30:00 20.1 20.2 20.4 20.1 19.9 20.3 2022/05/09 10:30:01 20.3 20.3 20.1 20.0 20.0 20.4 2022/05/09 10:30:02 20.1 20.0 20.0 19.9 20.1 20.1 • 分析ツールを活用する為に、縦持への変換が必要 • 横持のデータ構造では、BIツールによる可視化も不便 (表計算ソフトによる可視化の方が便利) • 生データの観察には横持のデータが有効 ✓ 分析事例や公開データセットが極めて少ない
  13. 22 「実践! 異常検知と故障予測」のご紹介 ・目次 第1章 異常を検知する 1-1 異常検知の目的と手法 1-1-1 時系列データに対する異常検知とは

    1-1-2 異常検知の目的 1-1-3 異常検知の手法 1-1-4 特徴量を活用した異常検知 1-1-5 異常検知の業務適用における注意事項 時系列データの 異常検知の概要を 体系化して紹介 ✓ 約5年前、「ノートPC+表計算ソフト」で鉄道車両データの分析に挑まなければ、 ならなかった自分に向けて、知っとくと有用な基本的知識を整理して記載 ✓ 数式は使わず、各名著への橋渡しを意識し、「異常検知」のカタログ的に 内容を記述。SPSS Modelerの特性を最大限活用し、短時間で触って理解 可能とする為に、Modelerの操作ポイントを記述し、データやストリームは ダウンロード可能 ✓ 第1章の異常検知を担当
  14. 23 「実践! 異常検知と故障予測」のご紹介 第1章 異常を検知する 1-2 異常検知の進め方 1-2-1 時系列ノードを活用した異常検知 1-2-2

    TCMノードを活用した異常検知 1-2-3 機械学習を活用した異常検知 1-2-4 特徴量を活用した異常検知 1-3 実務で使える異常検知 1-3-1 データの理解と問題設定 1-3-2 データの準備 1-3-3 データの前処理 1-3-4 データの加工 1-3-5 繰り返し処理 1つの工場をイメージして デジタルとアナログのデータを 組合わせ、実践的に特徴量を 活用した異常検知手法を 一気通貫的に解説 使用している模擬データやストリームは出版社のホームページからダウンロード可能 具体的なModelerの ノードを用いた 検知手法を解説