1 Illustration de la Loi des grands nombres

Si X suit une loi normale de moyenne µ et d’écart type sigma, alors les moyennes de X calculées sur des échantillons de taille n suivent à leur tour une loi normale de moyenne µ et d’écart type réduit, sigma/racine_carrée(n).

1.1 Allure de la distribution normale étudiée

# fixons nos paramètres
moyenne <- 3 ;
ecart_type <- 2 ;
# pour toutes les simulations (10000 pour les tests, 100000 pour aspect lisse)
nb_simulations <- 10000 ;
# voici tout d'abord une allure de cette loi
xlim <- c(-3, 11) ;
x <- seq(from=-4, to=11, by=0.05) ;
plot(x=x, y=dnorm(x=x, mean=moyenne, sd=ecart_type), type="l", 
     xlab="x", ylab="f(x)", xlim=xlim) ;
abline(v=moyenne, col="red") ;

1.2 Allure des moyennes sur des échantillons de n=3

Nous générons aléatoirement 100 000 échantillons de taille n=3. Sur chacun de ces échantillons, nous calculons la moyenne. Ensuite, nous représentons ci-dessous la distribution de CES moyennes calculées sur des échantillons de taille 3, et calculons la moyenne de ces moyennes et l’écart type de ces moyennes.

effectif <- 3 ;
# un endroit pour stocker nos moyennes
moyennes3 <- c() ;
# répétons la manoeuvre ci-après nb_simulations fois
for( i in 1:nb_simulations) {
    # on génère un échantillon de taille 3 et qui suit une loi normale
    # de mêmes paramètres que précédemment
    echantillon <- rnorm(n=effectif, mean=moyenne, sd=ecart_type) ;
    # on stocke la moyene ainsi obtenue
    moyennes3 <- c(moyennes3, mean(echantillon)) ;
}
# exemple des 10 premières valeurs obtenues...
cat("10 premières valeurs : ") ;
## 10 premières valeurs :
cat(moyennes3[1:10],"\n") ;
## 3.16364 0.004065962 3.185418 3.924077 2.956268 2.131911 3.159787 1.837461 4.648442 3.926018
# allure de la courbe
plot(density(moyennes3), xlab="x", ylab="f(x barre avec n=3)", col="red", 
     main="Densité de prob. estimée des moyennes (n=3)", xlim=xlim) ;
abline(v=moyenne, col="red") ;

# paramètres estimés
cat("moyenne :", mean(moyennes3)," (proche de", moyenne,")\n") ;
## moyenne : 3.002991  (proche de 3 )
cat("écart type :", sd(moyennes3)," (proche de", ecart_type/sqrt(effectif),")\n") ;
## écart type : 1.143634  (proche de 1.154701 )

1.3 Allure des moyennes sur des échantillons de n=10

Faisons exactement la même chose mais avec une taille d’échantillon n=10.

## 10 premières valeurs :
## 2.86888 3.198239 2.887189 3.138354 4.485782 2.837461 3.14133 2.705963 1.481369 3.303956

## moyenne : 2.98956  (proche de 3 )
## écart type : 0.6365861  (proche de 0.6324555 )

1.4 Superposition

Superposons maintenant ces 3 densités de probabilité :

  • X originelle en noir (ou les moyennes avec n=1)
  • moyennes de x avec n=3 en rouge
  • moyennes de x avec n=10 en bleu

2 Illustration du Théorème central limite

Nous allons voir que cette conséquence est également vraie si X suit une loi quelconque mais que n est élevé. Pour ce faire, nous partons d’une épreuve de Bernoulli, qui est une loi “vraiment quelconque”. Les moyennes obtenues sur des échantillons seront discrètes. Ainsi par exemple, sur un échantillon de taille 2, seules les 3 valeurs suivantes peuvent être obtenues : {0, 0.5, 1}. Nous tracerons à chaque fois, pour la série de moyennes obtenue, le graphe en bâtons obtenu, puis le diagramme des fréquences cumulatif.

2.1 Loi de base étudiée

# fixons nos paramètres
p <- 0.2 ;
# voici tout d'abord une allure de cette loi
x <- c(rep(0,8), rep(1,2))
plot(table(x)/10, xlab="x", ylab="f(x)", main="Bernoulli", xlim=c(-1,2)) ;

plot(ecdf(x), xlab="x", ylab="F(x)", main="Bernoulli", xlim=c(-1,2), do.points=T, verticals=T) ;