返回目錄
A
數據洞察:從原始資料到策略決策的全流程分析 - 第 2 章
第二章:資料治理與前處理
發布於 2026-02-24 16:07
# 第二章:資料治理與前處理
> **核心觀點**:資料治理不是靜態的規範,而是動態的自我修正。當資料在流程中被反覆閱讀、修改、評估,才能真正轉化為商業決策的金鑰。
## 1. 為何資料治理要放在最前面
- **業務價值的基石**:資料質量直接影響模型準確度。即使最先進的演算法,如果基礎數據不可靠,也只能輸出錯誤的洞察。
- **合規風險**:GDPR、個資法等法規要求資料必須有完整的可追溯性。未執行治理的數據集往往成為合規審核的痛點。
- **成本節約**:早期發現缺失值或異常,往往比模型迭代階段更易修復。
> *案例*:某金融機構在信用卡詐欺偵測專案中,最初未統一交易時間格式,結果在模型訓練時出現「NaN」分布,最終須重新收集並清洗資料,導致專案延遲兩週。
## 2. 資料品質指標:量化治理
| 指標 | 目標 | 監測方式 |
|------|------|----------|
| 完整度 | 100% | 缺失值比例 < 1% |
| 一致性 | 無格式衝突 | 欄位類型驗證 |
| 及時性 | 與實際事件同步 | 延遲時間 < 1 小時 |
| 正確性 | 參照外部基準 | 交叉驗證 |
| 可信度 | 來源可追溯 | 版面紀錄 |
> **工具**:Great Expectations、deequ、OpenRefine 等能在 ETL 流程中自動化檢測。
## 3. 數據清洗實務
### 3.1 缺失值處理
| 方法 | 何時使用 | 範例 |
|------|-----------|------|
| 刪除 | 缺失比例 < 5% | `df.dropna()` |
| 填補(平均/中位數) | 數值型 | `df['age'].fillna(df['age'].median())` |
| 插值 | 時間序列 | `df['price'].interpolate(method='time')` |
| 預測填補 | 高缺失率 | XGBoost 迴歸預測缺失值 |
> **注意**:缺失值往往不是隨機的,需先確認 MAR / MNAR 模式,避免引入偏差。
### 3.2 異常值檢測
- **箱型圖**:`df.boxplot(column='transaction_amount')`
- **Z-Score**:`np.abs(stats.zscore(df['value'])) > 3`
- **Isolation Forest**:`iForest.fit_predict(df)`
> 異常值可能是錯誤輸入,也可能是詐欺或商業機會,判斷前需業務交互。
### 3.3 文字處理
- **標準化**:`lowercase, remove punctuation`
- **分詞**:`jieba.lcut()` 或 `nltk.word_tokenize()`
- **向量化**:TF‑IDF、Word2Vec、BERT embeddings
## 4. 特徵工程:從數據到洞察
### 4.1 基礎轉換
- **標準化 / 正規化**:`StandardScaler`, `MinMaxScaler`
- **類別編碼**:LabelEncoder, OneHotEncoder, Target Encoding
- **時間特徵拆分**:`pd.to_datetime` → year, month, day, weekday, hour
### 4.2 派生特徵
- **交互特徵**:`X_train['feature1*feature2'] = X_train['feature1']*X_train['feature2']`
- **聚合特徵**:群組求和、平均、最大值,例如每客戶每月交易總額。
- **文本摘要**:TF‑IDF 取 top N,或利用 Doc2Vec 生成密度向量。
> *案例*:在零售庫存預測中,將「節假日因子」加入特徵,模型 MAE 下降 12%。
### 4.3 Feature Selection
- **Filter 方法**:相關係數、卡方檢驗
- **Wrapper 方法**:Recursive Feature Elimination (RFE)
- **Embedded 方法**:L1 正則化、XGBoost feature importance
> 選擇過度會造成過擬合;缺乏選擇則會帶來計算成本。
## 5. 小結
- **資料治理**:是數據科學的基石,確保品質、合規與可追溯。
- **清洗流程**:缺失值、異常值、文字處理需結合業務場景。
- **特徵工程**:是洞察的橋樑,透過轉換、派生、選擇將原始數據轉化為模型可理解的訊息。
- **工具與方法**:從 Pandas、Scikit‑Learn 到 Deep Learning 皆可應用,關鍵在於「什麼問題、什麼資料」而非工具本身。
> **實務建議**:在進入建模前,先用簡單線性模型或決策樹驗證特徵的初步效益,避免在複雜模型中陷入特徵噪音。