計算強健 z 分數
我們再次查看第 1 章使用過的 transfers 資料集。
這個資料集包含 222 筆交易,其中有 4 起已知詐欺案件,並以變數 fraud_flag 的值為 1 標示。我們先前已經研究過頻率(frequency)與新鮮度(recency)等特徵。
這次我們只聚焦在變數 amount,並嘗試對此變數套用單變量離群值偵測技巧來找出詐欺案例。
如果需要回想資料結構,別猶豫,請在主控台(Console)中探索資料集。你也可以參考投影片,查看前一支影片中示範的函式。
本練習屬於課程
R 的詐欺偵測
練習說明
- 找出哪些觀測被判定為詐欺。
- 計算變數
amount的中位數與中位數絕對離差(MAD)。 - 使用強健的位置與散布估計,計算每筆觀測的強健 z 分數。
- 哪些觀測的強健 z 分數在絕對值上大於 3?
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Get observations identified as fraud
which(___ == ___)
# Compute median and mean absolute deviation for `amount`
m <- median(___)
s <- ___(___)
# Compute robust z-score for each observation
robzscore <- abs((___ - ___) / (___))
# Get observations with robust z-score higher than 3 in absolute value
which(abs(___) > ___)