聊天視窗

決策的數據語言:從原始數據到洞察力 - 第 6 章

第六章:從統計推斷到機器學習模型 — 預測與優化的實務流程

發布於 2026-03-03 09:30

# 第六章:從統計推斷到機器學習模型 — 預測與優化的實務流程 在前一章我們已經學會如何從資料中提取統計推斷,了解變數之間的關係與效應大小。這些推斷結果是決策的重要參考,但它們往往僅能解釋「已發生」的現象。當企業想要「預測」未來,或是在多維度特徵上「優化」決策時,機器學習(Machine Learning, ML)便成為不可或缺的工具。 本章將帶領你從零到一,完成一個完整的 ML 工作流: 1. **定義問題與目標** 2. **特徵工程(Feature Engineering)** 3. **選擇模型與評估指標** 4. **模型訓練、交叉驗證與調參** 5. **部署與監控** 6. **倫理、合規與風險管理** 每個環節都配合實際金融風險評估案例,以「信用卡違約預測」為例,展示如何將統計推斷的洞見嵌入機器學習模型中,並強調模型解釋性與可解釋性。 ## 6.1 定義問題與目標 ### 6.1.1 商業問題 - **目標**:預測新申請者在接下來 12 個月內是否會違約。 - **衡量指標**:準確率(Accuracy)、召回率(Recall)、F1 分數、AUC‑ROC。 ### 6.1.2 需求分析 - **資料來源**:客戶基本資料、交易歷史、外部信用分數。 - **合規要求**:個資保護、反歧視法規(如 GDPR、CCPA)。 - **風險限制**:過度擬合、模型漂移、解釋性不足。 ## 6.2 特徵工程(Feature Engineering) 特徵工程是將原始資料轉化為模型可利用資訊的關鍵步驟。它不僅僅是數據清洗,更是「智慧」的體現。 ### 6.2.1 典型特徵轉換 | 類別 | 轉換方式 | 範例 | |---|---|---| | 數值型 | 標準化(StandardScaler) | 月度消費金額 | | 數值型 | Min‑Max 量化 | 逾期天數 | | 類別型 | One‑Hot 編碼 | 卡片類型 | | 時間序列 | 滾動平均 | 近 3 個月平均交易額 | | 組合特徵 | 交互項 | 年齡 × 收入 | ### 6.2.2 缺失值處理 - **簡單填補**:平均值、中位數、最頻數。 - **多重插補**:MICE(Multiple Imputation by Chained Equations)。 - **模型化缺失**:將缺失作為一個額外特徵。 ### 6.2.3 正則化特徵選擇 - **L1(Lasso)**:強化稀疏性,適合高維特徵。 - **Tree‑based Importance**:基於決策樹的特徵重要度排序。 - **關聯規則**:挖掘特徵之間的強相關性,避免共線性。 ## 6.3 選擇模型與評估指標 在金融風險評估中,模型的「解釋性」與「準確性」同等重要。常見的模型包括: - **邏輯回歸(Logistic Regression)**:易於解釋,適合線性可分問題。 - **隨機森林(Random Forest)**:捕捉非線性關係,特徵重要度可視化。 - **梯度提升機(XGBoost / LightGBM)**:高效、表現優秀。 - **神經網路(Neural Networks)**:在大數據與非結構化資料上表現突出,但解釋性較差。 評估指標選擇須依商業需求決定。若拒絕率(False Negative)成本高,召回率或 F1 分數更為重要;若錯誤審批成本高,精確率或 AUC‑ROC 可能更受重視。 ## 6.4 模型訓練、交叉驗證與調參 ### 6.4.1 訓練流程 1. **資料拆分**:訓練集、驗證集、測試集(例如 70% / 15% / 15%)。 2. **交叉驗證(Cross‑Validation)**:k‑fold 或時間序列 CV。 3. **模型訓練**:利用 scikit‑learn、XGBoost、Keras 等框架。 4. **調參**:網格搜尋(GridSearchCV)或隨機搜尋(RandomizedSearchCV)。 ### 6.4.2 超參數範例 python from sklearn.model_selection import GridSearchCV from xgboost import XGBClassifier param_grid = { 'n_estimators': [200, 400, 600], 'max_depth': [3, 5, 7], 'learning_rate': [0.01, 0.05, 0.1], 'subsample': [0.8, 0.9, 1.0], } grid = GridSearchCV(XGBClassifier(objective='binary:logistic', eval_metric='auc'), param_grid, cv=5, scoring='roc_auc') grid.fit(X_train, y_train) print(grid.best_params_) ### 6.4.3 風險評估 - **模型漂移**:監控日誌,設定預警門檻。 - **過度擬合**:比較訓練/驗證損失曲線。 - **偏差/方差平衡**:根據業務容錯率調整模型複雜度。 ## 6.5 部署與監控 ### 6.5.1 部署策略 - **批量預測**:每日或每週批量導入新客戶資料。 - **實時預測**:使用 REST API 或 gRPC 服務。 - **容器化**:Docker + Kubernetes,確保可擴展性。 ### 6.5.2 監控指標 - **預測準確率**:定期比較實際違約率與預測分數。 - **延遲**:確保 API 回應時間 < 200 ms。 - **資源使用**:CPU、GPU、記憶體使用率。 - **異常檢測**:數據分布漂移、模型輸出分佈變化。 ### 6.5.3 持續迭代 - **再訓練頻率**:每月或每季重新訓練。 - **版本控制**:使用 MLflow 或 DVC 追蹤模型版本。 - **A/B 測試**:比較新舊模型對決策成本的影響。 ## 6.6 倫理、合規與風險管理 在金融領域,機器學習模型不僅要技術上可行,更要符合法規與道德。 1. **公平性**:檢查模型對不同族群(性別、種族、地區)是否產生偏見。可使用 AIF360 或 Fairlearn 進行偏差評估。 2. **可解釋性**:提供 SHAP、LIME 或 Partial Dependence Plot(PDP)說明決策依據。 3. **資料隱私**:確保 GDPR、CCPA 的個資保護要求;必要時採用聯邦學習(Federated Learning)或差分隱私(Differential Privacy)。 4. **風險管理**:制定模型失效計畫,建立手動審核通道,以防自動化決策失誤。 ## 6.7 小結 - **從推斷到預測**:統計推斷提供因果與關係的洞見,機器學習將其擴展到預測與優化。 - **完整工作流**:問題定義 → 特徵工程 → 模型選擇 → 訓練調參 → 部署監控 → 合規倫理。 - **實務案例**:信用卡違約預測示範如何將統計洞見嵌入 ML 模型,並考量公平性與可解釋性。 在下一章,我們將深入探討 **資料可視化與報告**,學習如何以圖形方式傳遞洞見,並設計有效的決策支援報告。