Aan de slagGa gratis aan de slag

Wet van Benford voor het eerste cijfer

De wet van Benford stelt dat de kans dat het eerste cijfer gelijk is aan d ongeveer de logaritme is van (1 + 1/d). Door de verwachte frequenties te plotten, zie je dat de cijfers 1 t/m 9 niet even vaak voorkomen.

Deze oefening maakt deel uit van de cursus

Fraudedetectie in R

Cursus bekijken

Oefeninstructies

  • Implementeer de wet van Benford als een functie benlaw voor het eerste cijfer met logaritme basis 10.
  • Bereken de verwachte frequentie voor 5 als eerste cijfer.
  • Maak een dataframe met één kolom digit met de cijfers 1 tot en met 9, en één kolom probability met hun bijbehorende kansen volgens de wet van Benford.
  • Verzenden om de verwachte frequenties voor de cijfers 1, 2, …, 9 in een staafdiagram te plotten.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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))
Code bewerken en uitvoeren