中文名稱:數據清洗 英文名稱:Data Cleaning

📌 定義(Definition)

數據清洗是提升數據品質的重要步驟,目的是解決數據中的遺缺值、重複值、錯誤值與不一致性問題,確保數據的完整性與可靠性。

⭐原理與技術

A. 遺缺值(Missing Value)處理

遺缺值是指數據中某些欄位沒有記錄有效數據,需根據業務需求選擇適當的處理方式:

  • 填補遺缺值
    • 使用統計方法填補,如平均值、中位數、眾數等。
    • 利用插補法(Interpolation)填補。
    • 使用預測模型(如迴歸分析、決策樹等)進行填補。
  • 刪除記錄
    • 若遺缺值占比過高或數據不可修復,可刪除相關記錄,但需評估刪除對樣本代表性的影響。
  • 其他方法
    • 使用標記法(flagging),將遺缺值標記為特定類別,保留資訊。
    • 多重插補(Multiple Imputation),生成多個填補版本,降低填補偏差。

B. 重複值(Duplicate Value)處理

重複值是指數據中存在相同內容的記錄,可能因多次導入資料或錯誤記錄而產生:

  • 識別重複值
    • 檢查主鍵、唯一識別碼或關鍵欄位,確認是否存在重複記錄。
  • 刪除重複值
    • 保留一份正確的記錄,刪除其他重複項。
  • 合併資料
    • 若重複記錄部分欄位資訊不全,可進行資料合併補足。

C. 錯誤值(Error/Invalid Value)處理

錯誤值指數據中的值不符合合理範圍或明顯錯誤:

  • 檢測錯誤值
    • 利用規則判斷(例如年齡不可為負數)。
    • 拼寫檢查及標準化(如資料字串一致性)。
  • 修正錯誤值
    • 人工校正或根據上下文自動更正。
  • 刪除錯誤值
    • 若無法修正,則考慮刪除。

D. 離群值(Outlier Value)處理

離群值是指數據中遠離其他數據點的異常值,可能是有意義的異常或雜訊:

  • 識別離群值
    • 統計方法(如Z-scoreIQR法)。
    • 視覺化方法(箱型圖、散點圖)。
  • 處理策略
    • 根據業務需求決定保留或刪除。
    • 可進行轉換(如對數轉換)降低影響。
    • 若為錯誤則修正或刪除。

E. 其他數據清洗方式

  • 格式標準化
    • 統一日期格式、字串大小寫、單位換算。
  • 資料類型轉換
    • 如將字串型態轉為數值型態,方便後續分析。
  • 一致性檢查
    • 檢查跨欄位或跨表資料的一致性,如地址與郵遞區號匹配。
  • 資料驗證
    • 引入資料完整性規則(Constraints),如唯一性、非空約束。

🔗 應用領域

數據清洗廣泛應用於多個領域,包括但不限於:

  • 商業分析:確保客戶資料、銷售數據的準確性,提升決策品質。
  • 醫療健康:整理病歷與臨床試驗數據,支援精準醫療。
  • 金融風控:清理交易異常與欺詐行為數據,降低風險。
  • 製造業:維護生產數據與品質檢測數據,提高製程效率。
  • 學術研究:保證實驗數據的準確可靠,支持科學發現。

3 題模擬練習題

  1. 在數據清洗中,當「年齡」欄位出現負數時,這屬於哪一種類型的問題?應該如何處理?

    • A. 遺缺值,刪除整筆記錄
    • B. 錯誤值,檢查修正或刪除
    • C. 離群值,保留並分析
    • D. 重複值,刪除重複記錄

    答案:B
    解析:負數年齡屬於不合理的錯誤值,應檢查資料來源,嘗試修正或刪除該錯誤數據。

  2. 在資料集中發現多筆記錄的電子郵件地址完全相同,這種情況稱為什麼?正確的處理方式是?

    • A. 遺缺值,使用平均值填補
    • B. 重複值,保留一筆刪除其他
    • C. 離群值,視為異常刪除
    • D. 錯誤值,人工更正

    答案:B
    解析:多筆同一電子郵件顯示重複值,應保留一筆正確資料,刪除多餘重複。

  3. 在銷售數據中發現某日銷售額異常高,這類數據稱為?在什麼情況下應該保留?

    • A. 遺缺值,通常刪除
    • B. 重複值,合併資料
    • C. 離群值,若為真實異常則保留
    • D. 錯誤值,立即修正

    答案:C
    解析:異常高銷售額屬離群值,若是促銷活動或節慶造成,具有業務意義,應保留;若是錯誤,則需修正或刪除。

Z-score(標準分數)

定義

Z-score 是用來衡量某個數據點與整體數據平均值的偏差程度,單位是標準差(Standard Deviation)。計算公式如下:

Z = (X - μ) / σ
  • X:該數據點
  • μ:數據平均值(Mean)
  • σ:數據標準差(Standard Deviation)

用途

  • 用於識別離群值:一般來說,當 Z-score 超過 ±3(或其他設定閾值),該數據點可能被視為離群值。

範例

假設某組數據的平均值是50,標準差是5,一個數據點為70:

 = (70 - 50) / 5 = 4

Z-score = 4 > 3,代表該數據點可能是離群值。


IQR法(Interquartile Range 四分位距法)

定義

IQR 是資料中位數兩側的中間 50% 範圍,計算方式是:

IQR = Q3 - Q1
  • Q1:第一四分位數(25%分位)
  • Q3:第三四分位數(75%分位)

用途

  • 用來判斷離群值的範圍:
    • 下界:Q1 - 1.5 × IQR
    • 上界:Q3 + 1.5 × IQR
  • 落在此範圍外的數據被視為離群值。

範例

假設一組數據 Q1=10,Q3=20:

IQR = 20 - 10 = 10
下界 = 10 - 1.5×10 = -5
上界 = 20 + 1.5×10 = 35

因此,小於 -5 或大於 35 的數據視為離群值。

Min-max 法(差法)

定義

Min-Max 法是根據數據中的最小值與最大值來判斷異常值的方法。通常設定一個合理的範圍,超出此範圍的數據點被視為離群或異常值。

原理

  • 計算數據的最小值(Min)與最大值(Max)。
  • 根據業務知識或統計經驗,設定一個合理的數值區間,通常會加上適當的上下限範圍。
  • 落在此區間之外的數據視為離群或錯誤值。

公式範例

若設定合理範圍為:

Lower Bound = Min - k × (Max - Min)
Upper Bound = Max + k × (Max - Min)

其中,k 是可調整的係數(例如 0.1 或 0.2),用於擴大合理範圍。

優點

  • 簡單易懂,計算成本低。
  • 適用於數據分布較為均勻且上下限明確的情況。

缺點

  • 對於極端值敏感,最小值與最大值本身可能就是異常值,導致判斷不準確。
  • 不適用於分布高度偏態的數據。

範例

假設某組數據最小值為 10,最大值為 50,設定 k = 0.1

Lower Bound = 10 - 0.1 × (50 - 10) = 10 - 4 = 6
Upper Bound = 50 + 0.1 × (50 - 10) = 50 + 4 = 54

因此,數據低於 6 或高於 54 的點可視為離群值。