保險理賠預測:離群值處理哪個方法最不適當?
某保險公司建立 AI 理賠金額預測模型。歷史理賠資料經檢定後呈近似常態分佈,但仍存在少數極端高額案件。資料科學團隊在不破壞整體分佈特性的前提下,規劃進行離群值處理。下列何者最不適當?
某保險公司的歷史理賠資料呈近似常態分佈,但有少數極端高額案件。資料科學團隊想在不破壞整體分佈特性的前提下,對這些離群值進行處理。
問你:下列哪種做法最不適當?
一句話總結
離群值是數值型數據,用 One-hot 編碼把它轉成類別特徵,是根本錯誤的做法:不但沒有處理離群值的問題,還破壞了整體數值分佈,完全不適用於數值型連續資料。
先感受問題:一筆 5000 萬的理賠,要怎麼處理?
假設你是「安心保險」的資料科學工程師。公司有 10 萬筆歷史理賠紀錄,大多數理賠金額在 5 萬到 50 萬之間,分佈接近常態,但有少數幾筆超過 2000 萬甚至 5000 萬的極端案件(大型工廠火災、重大意外)。
你正在建立一個預測模型,估算未來理賠金額。問題來了:這幾筆 5000 萬的極端案件,處理不好會讓模型學到「平均理賠是 300 萬」(其實大多數是 20 萬),整體預測準確度大幅下降。
主管說:「在不破壞整體分佈特性的前提下,選擇最合適的離群值處理方式。」
關鍵字:「不破壞整體分佈特性」。這意味著你的處理方式要針對極端值,而不能改變整體數值的性質。
沒有系統性離群值處理,模型會怎樣
「安心保險」在導入規範的離群值處理流程之前,常見這些問題:
- 模型被帶偏:少數 5000 萬案件把模型的預測中心拉高,導致一般案件預測值偏高,客戶抱怨理賠估算不準
- 方差膨脹:極端值讓模型誤以為理賠金額變異性很大,在正常區間的預測也跟著不穩定
- 特徵工程失誤:曾有工程師直接把「是否為極端案件」轉成 1/0 類別,結果模型根本學不到金額的連續關係
- 過度刪除:有人把所有超過一定金額的案件全刪,但這些案件其實是真實業務數據,刪掉反而讓模型在大額案件上表現更差
- 沒有領域驗證:有些「極端值」其實是合理的大額理賠(工廠火災),刪掉會讓模型系統性低估高風險案件
四種方法哪些適當、哪個不適當
「安心保險」的資料科學團隊評估四種做法:
選項 A(統計準則評估):先用 Z-score 或 IQR 方法標記出哪些數值統計上屬於極端值,再根據評估結果決定要不要調整。這是標準的離群值處理流程,不破壞分佈,適當。
選項 B(截尾 Trimming):把超過某個分位數的值截斷到邊界值(如把超過 99th percentile 的值都設為 99th percentile 的數值)。數值仍是連續型,整體分佈特性保留,模型穩定性提升,適當。
選項 D(領域知識評估):請保險精算師或核保人員判斷這幾筆 5000 萬案件是真實合理的業務數據還是輸入錯誤,再決定保留或修正。這是最嚴謹的做法,適當。
選項 C(One-hot 編碼):問題出在這裡。One-hot 編碼是用來處理「類別型特徵」的工具,例如把「城市:台北、台中、高雄」轉成三個 0/1 欄位。但理賠金額是連續數值,不是類別。把幾個極端數值標記成 0/1 類別特徵,根本解決不了離群值對分佈的影響,反而把連續型數據強行切割,失去金額大小的資訊。
這就是選項 C 最不適當的原因:使用 One-hot 編碼將離群值轉換為類別特徵,是把連續型數值當類別處理,根本方向錯誤。
技術版:離群值處理的常見方法與適用情境
離群值(Outlier)處理是資料前處理的重要步驟,選擇哪種方法取決於數據性質和業務目標:
偵測方法:
- Z-score 法:計算每個數值距離平均值幾個標準差,超過 3 個標準差通常視為離群值。適合近似常態分佈的資料。
- IQR 法(四分位距):Q3 + 1.5×IQR 以上或 Q1 - 1.5×IQR 以下視為離群值。對非常態分佈更穩健。
處理方法:
- 截尾(Trimming / Winsorization):直接移除或將極端值替換成邊界值,保持整體分佈形狀
- 轉換(Transformation):對數轉換(log transform)壓縮極端值影響,常用於右偏分佈的金融數據
- 保留並標記:如果極端值有業務意義,保留但加一個「是否為高額案件」的額外特徵欄位(注意:這跟直接 One-hot 編碼不同)
One-hot 編碼的正確用法:只用於類別型特徵(Categorical Features),例如「產品類型:A/B/C」「縣市:台北/台中/高雄」。NEVER 用於連續型數值的離群值處理。
為什麼出題者要考這題:AI 規劃師要能區分「數值型資料前處理」和「類別型資料前處理」的工具,混用是實務中常見的初學者錯誤,對模型性能影響很大。
為什麼其他選項是錯的
A依統計準則(如 Z-score 或 IQR)評估後,再決定是否調整或處理極端值
先用統計方法找出哪些是極端值,再根據判斷結果決定如何處理,而不是直接盲目刪除。
這是標準的離群值處理流程,「先評估、再決定」的做法既保留了分佈特性,又有統計依據。A 是適當做法,不能選。
不熟悉 Z-score 或 IQR,看到統計名詞就跳過的人。記住:這兩個是離群值偵測的標準工具,本身是適當的。
B採用截尾(Trimming)處理極端值,以提升模型穩定性
把超出範圍的極端值截斷到邊界值,讓數值不會太極端,同時保留其他資料的完整性。
截尾是保留整體分佈特性的合理做法,只修改真正極端的少數值,大多數資料不受影響。B 是適當做法,不能選。
覺得「截尾就是破壞分佈」的人。截尾修改的只是最極端的幾個值,整體分佈形狀基本不變,跟把數值強行轉成類別是截然不同的操作。
D結合領域知識評估其合理性,再決定保留或修正
請有業務知識的人(如保險精算師)判斷這些極端案件是真實業務還是輸入錯誤,再做相應處理。
這是最嚴謹的離群值處理方式,純統計的 Z-score 無法判斷「5000 萬的理賠是合理的還是錯誤的」,只有領域專家能做這個判斷。D 是最佳做法,不能選。
覺得「AI 應該全自動,不需要人工判斷」的人。實務上,離群值處理結合領域知識是非常重要的,完全自動化反而容易誤刪重要數據。
同個考點下次怎麼變形
One-hot 編碼(One-hot Encoding)的正確使用情境是什麼?
One-hot 編碼常出現在機器學習前處理,但它適合什麼情況?
One-hot 編碼用於類別型特徵(Categorical Features),把每個類別轉成獨立的 0/1 欄位。例如:「縣市」有台北、台中、高雄三個類別,轉成三個欄位各放 0 或 1。NEVER 用於連續型數值(如金額、溫度、年齡)的處理。
Z-score 和 IQR 偵測離群值,哪個更適合非常態分佈的資料?
兩種方法都是偵測離群值,有什麼差別?
Z-score 假設資料近似常態分佈,對非常態分佈效果差。IQR(四分位距)不假設分佈形狀,對偏態分佈更穩健。本題情境說「近似常態分佈」,所以兩者都適用;若是明顯右偏的數據(如收入),IQR 更可靠。
離群值一定要刪除嗎?什麼情況應該保留?
看到離群值直覺就想刪,但真的都要刪嗎?
不一定。如果離群值是真實業務事件(如大型工廠火災導致的 5000 萬理賠),刪除反而讓模型在高風險案件上系統性低估。應該先確認是「真實極端值」還是「輸入錯誤」。前者視業務需求決定處理方式,後者才是應該修正或刪除的。
Winsorization 和 Trimming 有什麼不同?
這兩個詞都跟截尾有關,但意思一樣嗎?
Trimming 是直接移除超出範圍的極端值;Winsorization 是把極端值替換成邊界值(例如把所有超過 99th percentile 的值改成 99th percentile 的數值),不移除資料筆數。Winsorization 保留了資料數量,更常用於金融、保險等不想減少樣本的場景。
對數轉換(Log Transformation)什麼時候適合處理離群值?
聽說對數轉換可以壓縮極端值,但什麼時候用?
對數轉換適合右偏分佈(right-skewed)且所有值為正的數值型資料,例如收入、交易金額、保險理賠金額。取對數後,極端值的影響被壓縮(1000 萬和 1 億的差距從 9000 萬縮小到對數尺度的差異),整體分佈更接近常態,有利於模型訓練。
想再往下看,這 5 個
- Z 分數(Z-score)把數值轉換成距平均值幾個標準差的單位,常作為偵測離群值的統計準則,超過 ±3 通常視為離群值
- 常態分佈(Normal Distribution)本題情境的前提條件,理賠資料呈近似常態分佈,使 Z-score 等統計方法能有效識別極端值
- 資料前處理(Data Preprocessing)包含離群值處理、缺失值填補、特徵縮放等步驟,是模型訓練前確保資料品質的關鍵環節
- One-hot 編碼(One-hot Encoding)把類別型特徵轉成多個 0/1 欄位,本題正確答案是它最不適合用於連續型數值的離群值處理
- 異常偵測(Anomaly Detection)自動識別資料中偏離正常模式的樣本,在保險、金融詐欺偵測等場景中與離群值處理密切相關