venerdì 26 agosto 2011

Legge di Benford, o legge della prima cifra

La distribuzione di Benford meglio nota come legge di Benford o legge della prima cifra è una distribuzione di probabilità che descrive la probabilità che un numero presente in molte raccolte di dati reali (p.es. popolazione dei comuni, quotazione delle azioni, costanti fisiche o matematiche, numero di strade esistenti nelle località) cominci con una data cifra, ad esempio "1", che secondo questa variabile casuale discreta dovrebbe essere nel 30,1% dei casi la prima cifra.
Wikipedia, retrieved 08/26/2011





Simulazione con R:

library(MASS)
benford <- function(m, n){
list <- c()

# calcola tutti i valori m^n, per n= 1, 2, ..., i, ..., n
for(i in 1:n){
list[i] <- m^i
}

# funzione per estrarre la prima cifra di un numero
bben <- function(k){
as.numeric(head(strsplit(as.character(k),'')[[1]],n=1))
}

# estrazione della prima cifra dei valori calcolati
first.digit <- sapply(list, bben)

# plot delle frequenze della prima cifra
truehist(first.digit, nbins=10, main=m)
}

par(mfrow=c(2,2))
benford(2,1000)
benford(3,640)
benford(4,500)
benford(5,440)



Nessun commento:

Posta un commento