การคำนวณคะแนน z แบบ robust
ลองมาดูชุดข้อมูล transfers ที่เราใช้ในบทที่ 1 อีกครั้ง
ชุดข้อมูลนี้ประกอบด้วยธุรกรรม 222 รายการ และมีกรณีฉ้อโกงที่ทราบแล้ว 4 กรณี ซึ่งระบุด้วยค่า 1 ในตัวแปร fraud_flag ก่อนหน้านี้เราได้ศึกษาฟีเจอร์ด้านความถี่และความใหม่ของข้อมูลไปแล้ว
ครั้งนี้จะมุ่งเน้นไปที่ตัวแปร amount เพียงตัวเดียว และพยายามตรวจจับกรณีฉ้อโกงโดยใช้เทคนิคการตรวจหาค่าผิดปกติแบบ univariate กับตัวแปรนี้
สามารถสำรวจชุดข้อมูลใน Console ได้หากต้องการทบทวนโครงสร้างข้อมูล และสามารถดูสไลด์เพื่อตรวจสอบฟังก์ชันที่แสดงในวิดีโอก่อนหน้าได้เช่นกัน
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การตรวจจับการฉ้อโกงใน R
คำแนะนำการฝึกหัด
- ระบุว่าข้อสังเกตใดถูกจัดว่าเป็นการฉ้อโกง
- คำนวณมัธยฐานและค่าเบี่ยงเบนสัมบูรณ์ของมัธยฐาน (mad) สำหรับตัวแปร
amount - ใช้ค่าประมาณ robust สำหรับตำแหน่งและการกระจายเพื่อคำนวณคะแนน z แบบ robust ของแต่ละข้อสังเกต
- ข้อสังเกตใดมีคะแนน z แบบ robust สูงกว่า 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(___) > ___)