Simulazione del lancio di una moneta

Supponiamo di avere a disposizione una moneta perfettamente bilanciata ossia una moneta che presenta:

Lanciando la moneta una volta otterremo o testa o croce:

moneta <- c("testa", "croce")
sample(moneta, 1)
## [1] "testa"

Facciamo una simulazione e lanciamo questa moneta 1000 volte. Con R questo darà i seguenti risultati:

y <- rep(NA, 1000)
for (i in 1:1000) {
    y[i] <- sample(moneta, 1)
}
table(y)
## y
## croce testa 
##   492   508

Il modello a cui fa risferimento l'esperimento è quello binomiale per cui il numero esatto di teste e di croci che avremmo dovuto ottenere da mille lanci della moneta sarebbe stato:

mb <- dbinom(0:1, 1, 0.5)
names(mb) <- c("croce", "testa")
mb * 1000
## croce testa 
##   500   500

La rappresentazione grafica del modello teorico con quello simulato è la seguente:

confronto <- matrix(table(y))
confronto <- cbind(confronto, mb * 1000)
colnames(confronto) <- c("simulato", "teorico")
barplot(confronto, beside = T, legend = rownames(confronto), xlim = c(0, 8))

plot of chunk unnamed-chunk-4

Si nota quindi un buon adattamento grafico, se effettuiamo il test chi quadrato per la bontà dell'adattamento otteremo:

chisq.test(table(y)/1000, p = mb)
## Warning: Chi-squared approximation may be incorrect
## 
##  Chi-squared test for given probabilities
## 
## data:  table(y)/1000
## X-squared = 3e-04, df = 1, p-value = 0.9872