2.2.2. データの加工・分析

<< 2.2.1. データの収集

1. 概要

 データの加工・分析は、企業活動において収集された生データを価値ある情報に変換するための重要なプロセスです。単に大量のデータを収集するだけでは意味がなく、そのデータを適切に前処理し、分析可能な形に加工することで初めて、ビジネス上の意思決定に活用できる知見を得ることができます。
 現代のビジネス環境では、データサイエンスの手法を用いてデータを分析し、今後の事業展開の戦略立案に活用することが競争優位性の源泉となっています。しかし、質の高い分析結果を得るためには、データの前処理、ドメイン知識の活用、特徴量エンジニアリング、そして加工データの検証という一連のプロセスを適切に実行する必要があります。
 本章では、データ分析に必要な前処理の手法から、特徴量エンジニアリングの実践、そしてデータサイエンスを活用した事業戦略への応用まで、データの加工・分析に関する包括的な知識を解説します。

2. 詳細説明

2.1 データの前処理とその重要性

 データの前処理は、収集された生データを分析可能な形式に変換する工程であり、データ分析プロジェクト全体の作業時間の60~80%を占めるとも言われています。前処理には、欠損値の処理、外れ値の検出と処理、データの正規化・標準化、カテゴリカルデータの数値化などが含まれます。




前処理手法の分類と選択ガイド

前処理手法の分類と選択ガイド

数値データ、カテゴリカルデータ、テキストデータ、時系列データごとの前処理手法を分類し、選択基準を示した体系図

数値データ
欠損値処理
  • 平均値・中央値補完
  • 前後の値で補間
  • 回帰補完
スケーリング
  • 正規化 (0-1変換)
  • 標準化 (z-score)
  • ロバストスケーリング
選択基準:

外れ値の影響、分布の形状、アルゴリズムの要件を考慮

カテゴリカルデータ
エンコーディング
  • One-Hotエンコーディング
  • ラベルエンコーディング
  • ターゲットエンコーディング
次元削減
  • 頻度ベース集約
  • カテゴリ併合
  • エンベディング
選択基準:

カテゴリ数、順序性の有無、計算効率を考慮

テキストデータ
前処理
  • トークン化
  • ストップワード除去
  • ステミング・レンマ化
ベクトル化
  • TF-IDF
  • Word2Vec
  • BERT埋め込み
選択基準:

文書量、言語、タスクの複雑さを考慮

時系列データ
変換処理
  • 移動平均
  • 差分変換
  • 季節調整
特徴抽出
  • ラグ特徴量
  • 統計的特徴量
  • フーリエ変換
選択基準:

周期性、トレンド、季節性の有無を考慮

前処理手法選択の一般的なワークフロー
  1. データ型の識別(数値/カテゴリカル/テキスト/時系列)
  2. データの分布と特性の把握(可視化・統計量確認)
  3. 欠損値・異常値の検出と処理方針決定
  4. 使用する機械学習アルゴリズムの要件確認
  5. 前処理手法の選択と適用
  6. 処理後のデータ品質検証

 欠損値の処理では、単純な削除、平均値や中央値での補完、より高度な手法として多重代入法などが用いられます。外れ値の処理では、統計的手法(標準偏差やIQRを用いた検出)により異常値を特定し、削除または適切な値への置換を行います。データの正規化では、異なるスケールのデータを0から1の範囲に変換し、標準化では平均0、標準偏差1となるように変換します。

graph TD
    A[生データ] --> B{データ品質チェック}
    B --> C[欠損値処理]
    
    C --> C1[削除]
    C --> C2[平均値補完]
    C --> C3[中央値補完]
    C --> C4[多重代入法]
    
    C1 --> D[外れ値検出]
    C2 --> D
    C3 --> D
    C4 --> D
    
    D --> D1[統計的手法による検出]
    D --> D2[IQRによる検出]
    D --> D3[標準偏差による検出]
    
    D1 --> E[外れ値処理]
    D2 --> E
    D3 --> E
    
    E --> E1[削除]
    E --> E2[置換]
    E --> E3[キャッピング]
    
    E1 --> F[正規化・標準化]
    E2 --> F
    E3 --> F
    
    F --> F1[Min-Max正規化]
    F --> F2[Z-score標準化]
    F --> F3[ロバスト標準化]
    
    F1 --> G[特徴量作成]
    F2 --> G
    F3 --> G
    
    G --> G1[数値データの組み合わせ]
    G --> G2[カテゴリカルデータのエンコーディング]
    G --> G3[時系列特徴量の抽出]
    G --> G4[ドメイン知識に基づく特徴量]
    
    G1 --> H[データ検証]
    G2 --> H
    G3 --> H
    G4 --> H
    
    H --> H1[完全性チェック]
    H --> H2[一貫性チェック]
    H --> H3[妥当性チェック]
    
    H1 --> I[分析可能なデータ]
    H2 --> I
    H3 --> I
    
    I --> J[データ分析・モデリング]

2.2 ドメイン知識の重要性

 データ分析において、扱うデータが属する業界や分野特有の知識(ドメイン知識)は極めて重要です。例えば、小売業のデータ分析では季節性や曜日効果を考慮する必要があり、医療データの分析では臨床的な意味を理解した上で解釈する必要があります。
 ドメイン知識は、データの異常値が本当に異常なのか、それとも業界特有の現象なのかを判断する際に不可欠です。また、分析結果の解釈においても、統計的に有意な結果が実務的に意味があるかどうかを判断するためにドメイン知識が必要となります。

2.3 特徴量エンジニアリング

 特徴量エンジニアリングは、既存のデータから新しい特徴量を作成したり、重要な特徴量を選択したりするプロセスです。適切な特徴量エンジニアリングにより、機械学習モデルの精度を大幅に向上させることができます。
 特徴量の作成には、数値データの組み合わせ(加減乗除)、時系列データからの統計量抽出(移動平均、トレンドなど)、カテゴリカルデータのエンコーディング(One-Hot エンコーディング、ターゲットエンコーディングなど)があります。特徴量選択では、相関分析、相互情報量、ラッパー法などを用いて、予測に寄与する重要な特徴量を選び出します。

3. 実装方法と応用例

3.1 加工データの検証

 データの加工後は、その品質を確保するための検証が不可欠です。検証項目には、データの完全性(欠損値が適切に処理されているか)、一貫性(同じ意味のデータが統一的に表現されているか)、妥当性(値の範囲が適切か)などがあります。
 具体的な検証手法として、記述統計量の確認、データの分布の可視化、前後のデータとの比較分析などを実施します。また、クロスバリデーションを用いて、加工したデータが過学習を引き起こしていないかを確認することも重要です。




データ検証のチェックリストと実施例

データ検証のチェックリストと実施例

完全性、一貫性、妥当性の観点からデータ品質を検証するためのチェックリスト表。各項目の具体的な確認方法と実施例を含む

検証観点 チェック項目 確認方法 実施例
完全性
(Completeness)
欠損値の有無 • NULL値のカウント
• 空文字列の検出
• 記述統計量での確認
df.isnull().sum()
顧客年齢: 523件欠損
→ 中央値で補完
レコード数の妥当性 • 期待値との比較
• 前期間との比較
• 重複レコードの確認
日次売上: 365件
重複ID: 12件検出
→ 最新データを採用
必須項目の充足 • キー項目の存在確認
• 業務ルールとの照合
• 参照整合性の確認
顧客ID: 100%存在
商品コード: 98.5%
→ 1.5%を調査
一貫性
(Consistency)
データ形式の統一 • 日付形式の確認
• 文字コードの統一
• 単位の一致
日付: YYYY-MM-DD
金額: 円単位に統一
文字: UTF-8変換
命名規則の遵守 • カラム名の規則性
• 略語の一貫性
• 大文字小文字の統一
customer_id
product_code
→ snake_case統一
マスタデータとの整合 • コード値の照合
• 名称の一致確認
• 更新タイミング
商品マスタと照合
不一致: 23件
→ マスタ更新
妥当性
(Validity)
値の範囲確認 • 最小値・最大値
• 統計的外れ値
• ビジネスルール
年齢: 0-120歳
売上: 0以上
異常値: 15件削除
論理的整合性 • 日付の前後関係
• 数値の大小関係
• 状態遷移の妥当性
受注日 < 出荷日
原価 < 売価
ステータス遷移確認
分布の妥当性 • ヒストグラム確認
• 前期間との比較
• 異常な偏りの検出
売上分布: 正規分布
曜日別: 週末2倍
→ 想定通り
実施のポイント
  • 検証は自動化スクリプトで実施し、定期的に実行する
  • 異常値検出時は、ドメイン知識を活用して真の異常かを判断
  • 検証結果はログとして記録し、品質改善の指標として活用
  • 前処理前後でデータプロファイルを比較し、意図しない変更がないか確認

3.2 データサイエンスの手法による事業戦略への活用

 データサイエンスの手法を用いた分析結果は、事業戦略の立案に直接活用されます。例えば、顧客の購買履歴データから将来の需要を予測する需要予測、顧客の属性や行動データから離脱リスクの高い顧客を特定する顧客離脱予測、商品の組み合わせ分析によるクロスセル戦略の立案などがあります。

graph LR
    A[課題の抽出と定義] --> B[データの収集・統合]
    B --> C[データの前処理]
    C --> D[探索的データ分析]
    D --> E[特徴量エンジニアリング]
    E --> F[モデリング・分析]
    F --> G[モデルの評価・検証]
    G --> H[結果の解釈・可視化]
    H --> I[意思決定への活用]
    I --> J[結果の共有・報告]
    J --> K[フィードバック・改善]
    K --> A

    style A fill:#f9f,stroke:#333,stroke-width:2px
    style B fill:#bbf,stroke:#333,stroke-width:2px
    style C fill:#bbf,stroke:#333,stroke-width:2px
    style D fill:#bbf,stroke:#333,stroke-width:2px
    style E fill:#bbf,stroke:#333,stroke-width:2px
    style F fill:#bfb,stroke:#333,stroke-width:2px
    style G fill:#bfb,stroke:#333,stroke-width:2px
    style H fill:#fbf,stroke:#333,stroke-width:2px
    style I fill:#fbf,stroke:#333,stroke-width:2px
    style J fill:#ffb,stroke:#333,stroke-width:2px
    style K fill:#fbb,stroke:#333,stroke-width:2px

 これらの分析では、回帰分析、分類分析、クラスタリング、時系列分析などの手法が用いられます。重要なのは、分析結果を単なる数値として扱うのではなく、ビジネス上の意思決定に結びつく形でストーリーとして伝えることです。

4. 例題と解説

問題:
ある小売企業が顧客の購買データを分析し、売上向上のための施策を検討している。以下の前処理のうち、最も適切でないものはどれか。

ア 欠損している顧客の年齢データを、全顧客の平均年齢で補完した。
イ 購買金額が他の顧客と比べて極端に高い値は、入力ミスの可能性があるため削除した。
ウ 曜日データを数値化する際、月曜日を1、火曜日を2のように順序をつけて変換した。
エ 商品カテゴリをOne-Hotエンコーディングで数値化した。

解答:ウ

解説:
 曜日のようなカテゴリカルデータを単純に1、2、3のような順序付き数値に変換すると、本来存在しない大小関係が生じてしまいます。例えば、金曜日(5)は月曜日(1)の5倍の意味を持つわけではありません。このような場合は、One-Hotエンコーディングを用いて、各曜日を独立した特徴量として扱うべきです。




カテゴリカルデータのエンコーディング手法の比較表

カテゴリカルデータのエンコーディング手法の比較表
手法 説明 利点 欠点 使用場面
ラベルエンコーディング カテゴリを整数値(0, 1, 2…)に変換 • メモリ効率が良い
• 実装が簡単
• 特徴量数が増えない
• 順序関係のないデータに誤った大小関係を生成
• 線形モデルで問題が発生しやすい
• 順序尺度データ(例:低・中・高)
• 決定木系アルゴリズム使用時
One-Hotエンコーディング 各カテゴリを独立したバイナリ変数に変換 • カテゴリ間に順序関係を作らない
• 線形モデルに適している
• 解釈が容易
• 高次元化による計算コスト増大
• メモリ使用量が多い
• カテゴリ数が多い場合に問題
• 名義尺度データ(例:曜日、色)
• カテゴリ数が少ない場合
• 線形回帰、ロジスティック回帰
ターゲットエンコーディング カテゴリを目的変数の統計量(平均値等)に置換 • 特徴量数が増えない
• カテゴリ数が多くても対応可能
• 予測力の高い特徴量を生成
• データリーケージのリスク
• 過学習しやすい
• 交差検証での実装が複雑
• 高カーディナリティデータ
• 予測精度を重視する場合
• Kaggleなどのコンペティション

補足説明:ラベルエンコーディング、One-Hotエンコーディング、ターゲットエンコーディングの特徴と使い分けを比較した表。
各手法の特性を理解し、データの性質と分析目的に応じて適切な手法を選択することが重要です。

 選択肢アの平均値補完は、単純ながら実用的な手法です。選択肢イの外れ値削除も、データの品質向上のために一般的に行われます。選択肢エのOne-Hotエンコーディングは、カテゴリカルデータの適切な変換手法です。

5. まとめ

 データの加工・分析は、企業の競争力を高めるための重要なプロセスです。適切な前処理により、生データから価値ある情報を抽出し、ドメイン知識を活用することで実務的に意味のある分析が可能となります。特徴量エンジニアリングによってモデルの精度を向上させ、加工データの検証により品質を保証することが重要です。
 最終的に、データサイエンスの手法を用いた分析結果を事業戦略に結びつけることで、データドリブンな意思決定が実現されます。応用情報技術者として、これらの知識と技術を習得し、実務で活用できることが求められています。

2.2.3. データ分析における統計的手法 >>

ご利用上のご注意

 このコンテンツの一部は、生成AIによるコンテンツ自動生成・投稿システムをもちいて作成し、人間がチェックをおこなった上で公開しています。チェックは十分に実施していますが、誤謬・誤解などが含まれる場合が想定されます。お気づきの点がございましたらご連絡いただけましたら幸甚です。