กฎของ Benford สำหรับการตรวจจับการทุจริต

การตรวจจับการฉ้อโกงใน R

Bart Baesens

Professor Data Science at KU Leuven

ชุดข้อมูลจำนวนมากสอดคล้องกับกฎของ Benford

  • ข้อมูลที่ตัวเลขแสดงถึงขนาดของข้อเท็จจริงหรือเหตุการณ์
  • ข้อมูลที่ตัวเลขไม่มีความสัมพันธ์กัน
  • ชุดข้อมูลที่เติบโตแบบเอกซ์โพเนนเชียลหรือเกิดจากการผันแปรแบบคูณ
  • การผสมของชุดข้อมูลต่างๆ
  • ลำดับจำนวนเต็มอนันต์ที่รู้จักกันดีบางชุด

ควรมีตัวเลขมากกว่า 1000 ตัวขึ้นไป และครอบคลุมหลายอันดับของขนาด

การตรวจจับการฉ้อโกงใน R

ตัวอย่างเช่น

  • รายการบัญชี
  • ธุรกรรมบัตรเครดิต
  • ยอดคงเหลือของลูกค้า
  • อัตราการเสียชีวิต
  • เส้นผ่านศูนย์กลางของดาวเคราะห์
  • ค่าไฟฟ้าและค่าโทรศัพท์
  • จำนวน Fibonacci
  • รายได้
  • การเรียกร้องค่าสินไหมทดแทน
  • ความยาวและอัตราการไหลของแม่น้ำ
  • ข้อมูลสินเชื่อ
  • จำนวนบทความหนังสือพิมพ์
  • ค่าคงที่ทางฟิสิกส์และคณิตศาสตร์
  • จำนวนประชากรของเมือง
  • ยกกำลัง 2
  • ใบสั่งซื้อ
  • ราคาหุ้นและราคาบ้าน
  • ...
การตรวจจับการฉ้อโกงใน R

กฎของ Benford สำหรับการตรวจจับการทุจริต

  • การทุจริตมักเกิดจากการสร้างตัวเลขขึ้นมาหรือเปลี่ยนแปลงข้อมูลจริง
  • กฎของ Benford เป็นเครื่องมือยอดนิยมสำหรับการตรวจจับการทุจริต และยังได้รับการยอมรับทางกฎหมายเป็นหลักฐานในสหรัฐอเมริกา
  • ใช้ได้ผลในการตรวจจับการทุจริตด้านการเรียกร้องสินไหม การปลอมแปลงเช็ค การลักขโมยไฟฟ้า การตรวจสอบบัญชี และการทุจริตด้านการชำระเงิน
  • ดูเพิ่มเติมในหนังสือ Benford's Law: Applications for forensic accounting, auditing, and fraud detection โดย Nigrini (John Wiley & Sons, 2012)
การตรวจจับการฉ้อโกงใน R

ข้อควรระวัง

ข้อมูลบางชุดอาจไม่สอดคล้องกับกฎของ Benford โดยธรรมชาติ

  • มีขอบเขตล่างและ/หรือขอบเขตบน หรือข้อมูลกระจุกตัวในช่วงแคบ เช่น อัตราค่าแรงรายชั่วโมง ส่วนสูงของคน
  • ตัวเลขใช้เป็นหมายเลขระบุตัวตนหรือป้ายกำกับ เช่น หมายเลขประกันสังคม หมายเลขเที่ยวบิน ทะเบียนรถ หมายเลขโทรศัพท์
  • เป็นการผันแปรแบบบวกแทนที่จะเป็นแบบคูณ เช่น จำนวนการเต้นของหัวใจในวันหนึ่ง
การตรวจจับการฉ้อโกงใน R

กฎของ Benford สำหรับสองหลักแรก

ชุดข้อมูลสอดคล้องกับกฎของ Benford สำหรับสองหลักแรก เมื่อความน่าจะเป็นที่สองหลักแรก $D_1D_2$ มีค่าเท่ากับ $d_1d_2$ ประมาณได้ดังนี้:

$$P(D_1D_2=d_1d_2)=\log\left(1+\frac{1}{d_1d_2}\right) \qquad d_1d_2\in [10, 11, ..., 98, 99]$$

benlaw <- function(d) log10(1 + 1 / d)
benlaw(12)
0.03476211

การทดสอบนี้เชื่อถือได้มากกว่าการทดสอบด้วยหลักแรกเพียงหลักเดียว และใช้กันอย่างแพร่หลายในการตรวจจับการทุจริต

การตรวจจับการฉ้อโกงใน R

ข้อมูลสำมะโนประชากร

bfd.cen <- benford(census.2009$pop.2009, number.of.digits = 2) 
plot(bfd.cen) 

bfd2census

การตรวจจับการฉ้อโกงใน R

การเบิกค่าใช้จ่ายของพนักงาน

  • ฝ่ายตรวจสอบภายในต้องตรวจสอบการเบิกค่าใช้จ่ายของพนักงานเพื่อหาการทุจริต
  • พนักงานสามารถเบิกค่าอาหารทางธุรกิจและค่าเดินทางได้โดยส่งภาพสแกนของใบเสร็จทางอีเมล
  • มาวิเคราะห์ยอดเงินที่ Sebastiaan เบิกคืนในช่วง 5 ปีที่ผ่านมา
  • ชุดข้อมูล expenses มีรายการเบิกค่าใช้จ่ายทั้งหมด 1000 รายการ
  • จะใช้ฟังก์ชันจากแพ็กเกจ benford.analysis เช่นเดิม
การตรวจจับการฉ้อโกงใน R

การวิเคราะห์ด้วยกฎของ Benford สำหรับหลักแรก

bfd1.exp <- benford(expenses, number.of.digits = 1) 
plot(bfd1.exp)

bfd1exp

การตรวจจับการฉ้อโกงใน R

การวิเคราะห์ด้วยกฎของ Benford สำหรับสองหลักแรก

bfd2.exp <- benford(expenses, number.of.digits = 2) 
plot(bfd2.exp)

bfd2exp

การตรวจจับการฉ้อโกงใน R

มาฝึกกันเถอะ!

การตรวจจับการฉ้อโกงใน R

Preparing Video For Download...