Détection de fraude en R
Bart Baesens
Professor Data Science at KU Leuven
Idéalement, plus de 1000 nombres couvrant plusieurs ordres de grandeur.
Notez qu'il est toujours possible que des données ne suivent pas la loi de Benford.
Un jeu de données suit la loi de Benford pour les deux premiers chiffres si la probabilité que les deux premiers chiffres $D_1D_2$ valent $d_1d_2$ est approximativement :
$$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
Ce test est plus fiable que celui du premier chiffre et le plus utilisé en détection de fraude.
bfd.cen <- benford(census.2009$pop.2009, number.of.digits = 2)
plot(bfd.cen)

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

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

Détection de fraude en R