计算稳健 z 分数
让我们再次查看在第 1 章使用过的数据集 transfers。
该数据集包含 222 笔交易,其中有 4 起已知的欺诈案例,在变量 fraud_flag 中以 1 标记。我们之前已经研究过频率与近期性这两个特征。
这一次我们只关注变量 amount,并尝试通过对该变量应用单变量异常值检测技术来识别欺诈案例。
如果需要回忆其结构,欢迎在控制台中探索该数据集。您也可以参考幻灯片,查看上一段视频中展示的函数。
本练习是课程的一部分
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(___) > ___)