Loi de Benford pour le premier chiffre
La loi de Benford indique que la probabilité que le premier chiffre soit égal à d est approximativement le logarithme de (1 + 1/d).
En traçant les fréquences attendues, vous verrez clairement que les chiffres 1,…,9 n’apparaissent pas avec la même fréquence.
Cet exercice fait partie du cours
Détection de fraude en R
Instructions
- Implémentez la loi de Benford comme une fonction
benlawpour le premier chiffre en utilisant le logarithme en base 10. - Calculez la fréquence attendue pour que 5 soit le premier chiffre.
- Créez un dataframe avec une colonne
digitcontenant les chiffres de 1 à 9, et une colonneprobabilitycontenant leurs probabilités respectives selon la loi de Benford. - Soumettez pour tracer les fréquences attendues des chiffres 1, 2, …, 9 dans un diagramme en barres.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Implement Benford's Law for first digit
benlaw <- function(d) log10(___ + ___ / ___)
# Calculate expected frequency for d=5
benlaw(___)
# Create a dataframe of the 9 digits and their Benford's Law probabilities
df <- data.frame(digit = ___:___, probability = ___)
# Create barplot with expected frequencies
ggplot(df, aes(x = digit, y = probability)) +
geom_bar(stat = "identity", fill = "dodgerblue") +
xlab("First digit") + ylab("Expected frequency") +
scale_x_continuous(breaks = 1:9, labels = 1:9) +
ylim(0, 0.33) + theme(text = element_text(size = 25))