【WIP】AI、IoTを成功に導く データ前処理の極意

数理モデルの知識が足りてないので、いったん積読
将来機械学習もやりたくなったら再読しよう

機械学習を利用しないならここまでの前処理はやりすぎ感あるのかも?

KNIMEを試せるサンプルデータ付き


はじめに

IoTデバイスの普及により、ビッグデータが収集できるようになった
機械学習には大量の学習データが必要なため、ビッグデータが使える

ビッグデータの3V
・Variety:ぐちゃぐちゃ(そのままでは分析に使えない)
・Volume:大容量(無駄なデータが多い)
・Velocity:高頻度で発生する(状態が変化する部分のデータが特に重要)

しかし、計算資源(CPUとストレージ)を効率的に使えなければ、実務上では使えない
そのために、「前処理」を行って、ビッグデータから、機械学習のために必要最小限のデータを作り出す必要がある

業務上の課題(例:生産設備に関するデータ分析)
・故障予知分析による稼働率改善
・不良原因分析による品質向上
・動作分析による製造リードタイム短縮




本書前半の1章、2章では、データ利活用におけるデータ前処理の重要性について紹介します。後半の第3章以降では、IoTやAIにおけるデータ活用プロセスについて、より実践的に解説します。各章では、データ分析ツールを用いた実践方法を掲載しています。プログラミングの知識なしに、データ前処理を体験できます。

本書の読者は、IoT、AI、ビッグデータ解析の導入に興味を持っている、あるいは、すでに導入されている企業の経営層、CIOをはじめ、情報システム部門や企画部門といった関連する方々、実務的なデータ活用プロセスを学びたい学生を対象としています。特に、IoT、AI,ビッグデータ解析を導入する意欲がありながら、技術面・費用面で踏み切れないでいる企業の方々に読んでいただきたいと思います。

第1章 IoT機械学習が日本で進まない理由

・蓄積したデータはそのままでは使えない、分析するためには前処理という追加コストが必要

第2章 データの前処理とは

・品質の悪いデータで学習した機械学習モデルは精度が上がらない
・前処理のステップは、大きく分けると「①分布の把握」「②特徴量の抽出」である

第3章 IoT機械学習におけるCRISP-DMの適用

・データ分析にはプロセスがある
・標準的なプロセスが「CRISP-DM」であり、試行錯誤を前提としている

CRISP-DM①「ビジネスの理解」


CRISP-DM②「データの理解」

・データには質的データと量的データがある
・データの理解とは記述統計やグラフを使って可視化すること

CRISP-DM③「データの前処理」

・前処理には、データの理解に加えて、業務ドメイン知識が必要(業務担当者との共同が必要)
①フィールドの選択
②クリーニング:欠損値、外れ値、業務上ありえない値などを修正する
③フィールドの追加:指標値や特徴量のフィールドを追加する
④テーブル結合:関連性のある他のテーブルと結合する
⑤データ変換:フラグ化、ダミーコード化
⑥集約:グループ化して集計値(合計、平均など)を算出する
⑦サンプリング:レコード数を減らす

CRISP-DM④「モデルの構築」

・「モデルの構築」とは、統計学や機械学習を使って、予測や分類に使うための数理モデルを構築すること
・分析の対象に応じて、複数のモデリング手法が適用できる(目的が異なれば、適切なモデリング手法も異なる)
・実務上は、精度だけでなく、業務やシステムに埋め込めることが重要

モデリング手法の整理

・予測
 ・判別(Classification):目的変数が質的
 ・数値(Prediction):目的変数が量的
・非予測
 ・分類(Clustering):
 ・相関(Association):相関関係

線形回帰モデル

ロジスティック回帰モデル

クラスターモデル

ニューラルネットワークモデル

決定木モデル

アソシエーションモデル

・着目している事象と同時に発生している事象を発見するために使える

CRISP-DM⑤「モデルの評価」

・モデルを評価して、最適なモデリング手法を選定する
・評価結果は可視化して分かりやすく伝える

CRISP-DM⑥「ビジネスへの展開」

第8章 データの価値を高める方法

付録 「KNIME」の使い方

ツールを使うメリットは、属人化しがちなデータアナリストの思考プロセスを可視化して共有しやすくなること

ノードを組み合わせて、分析ワークフローを作成できる

経験から得た現場ノウハウ

PoCで使うデータのサンプル期間に注意

まだ実現可能性調査の段階だからといって、期間を短くしすぎると、見えてこない現象もある

データを作成するプロセスで改善できることもある

データ前処理は、既に作成されたデータを整理するプロセスだが、その前にデータ作成できれいなデータを作れるようにするべき

データ分析をバッチ実行する場合は所要リソースに注意

網羅的な可視化は解釈できなくなる虞あり

ツールの普及により、集計と可視化は手軽にできるようになった
しかし、手軽にできるようになったので、考え得る組合せパターンを網羅的に可視化しようとしがち
実際にはパターン網羅しても解釈できなくなるので、最終的に何をしたくて(どんな目的で、どんな仮説を検証したくて)分析するのかを忘れないようにするべき

記述統計(可視化)だけでも十分な洞察が得られる

複雑な分析や、推測統計(仮説検証)や機械学習モデルによる予測/分類に手を出す前に、まずは可視化してみる

スプレッドシートを分析ツールに読み込む際の注意

・セル結合を解除する
・図形(オートシェイプ)を削除する
・ピボット解除する
・関数が埋め込まれているセルは、固定値にする

オープンデータを利用するときはどのように生成されたデータなのか確認する

「ジニ係数」の定義は文脈により様々

以下はどれも「ジニ係数」という名前だが、定義式が異なる別物である
・所得格差の指標に使うジニ係数(元々の意味はこれ):ローレンツ曲線の面積比を使う
・決定木の分岐の決定に使うジニ係数(ジニ不純度):確率を使う
・モデル精度の評価に使うジニ係数:ROC曲線の面積比を使う

疑似相関に注意

特に、時系列データ同士(いずれも時間が経過すると一定方向に変化するデータ)は相関が高く出やすい

精度だけでなく解釈容易性という観点でもモデル評価するべき

モデルの単純さ(解釈容易性)を示す指標に、AIC(赤池情報量基準)やBIC(ベイジアン情報量基準)がある

この記事が気に入ったらサポートをしてみませんか?