Supposons que nous avons un échantillon de $n$ valeurs, notées $x_1,\ldots,x_n$. La moyenne empirique est $$ \hat{\mu} = \frac{1}{n} \sum_{i = 1}^n x_i, $$ et l'écart-type empirique est $$ \hat{\sigma} = \sqrt{\frac{1}{n-1} \sum_{i = 1}^n (x_i - \hat{\mu})^2}. $$ Si le mesure de moyenne est en général assez fiable, l'évaluation de l'écart-type comporte toujours un bruit important, et l'information de l'écart-type est avant tout qualitative, plus que quantitative.
Les preuves sont omises dans les résultats donnés ci-dessous, pour se concentrer sur des considérations pratiques. Le lecteur désirant en connaître davantage pourra par exemple consulter https://bookdown.org/egarpor/inference/
using Distributions
using Plots
Nous supposerons à fins d'illustrations que la vitesse initiale suit une distribution normale de moyenne 850$m/s$ et d'écart-type 3,5$m/s$, ce qui en Julia peut s'écrire comme
vitesse = Normal(850,3.5)
pdfvitesse(x) = pdf(vitesse, x)
plot(pdfvitesse, 830, 870)
Le graphe correspond à la célèbre courbe en cloche célébrée en probabilité.
La notion de moyenne est assez intuitive, puisque c'est la valeur centrale des observations. Supposons que nous avons $n$ mesures $x_1,\ldots,x_n$, la moyenne échantillonnale vaut $$ \hat{\mu} = \frac{1}{n} \sum_{i = 1}^n x_i. $$ La loi des grands nombres nous apprend que quand $n$ tends vers l'infini, $\hat{\mu}$ converge vers l'espérance de la distribution $\mu = E[X]$, en supposant que toutes les observations sont issues de la même distribution. Mathématiquement parlant, il faut cependant que cette espérance existe, ce qui est le cas pour la quasi totalité des distributions statistiques, et la convergence se fait en probabilité (loi faible des grands nombres) ou presque sûrement (loi forte des grands nombres). Nous pouvons cependant ignorer ces détails mathématiques dans ce qui suit.
Si asymptotiquement, le moyenne est normalement distribuée en vertu du théorème de la limite centrale, les points mesurés peuvent venir d'une autre distribution. Utiliser l'écart-type pour déterminé la proportion de points autour d'une valeur donnée requiert donc l'hypothèse que ceux-ci proviennent d'une loi normale.
Supposons que c'est le cas et simulons des mesures de vitesse avec la distribution préalablement créée. Nous allons générer 10000 mesures, ce qui est bien sûr irréaliste mais permettra de discuter du calcul de l'écart-type.
mesures = rand(vitesse, 10000)
Remarquons que la moyenne et l'écart-type de l'échantillon correspondent bien approximativement, mais pas parfaitement, à nos hypothèses de départ:
μ = mean(mesures)
σ = std(mesures)
μ, σ
Regardons à présent l'évolution des moyennes et écart-type empirique en partant de 3 observations jusqu'à 10000. L'analyse est bien entendu idéalisée puisqu'on suppose les mesures parfaites, ce qui ne sera jamais le cas en pratique.
moyennes = [ mean(mesures[1:i]) for i = 3:10000 ]
ecarttypes = [ std(mesures[1:i]) for i = 3:10000 ]
plot(moyennes)
Nous constatons que nous avons rapidement une bonne estimation de la vitesse moyenne. Il en est tout autre pour l'écart-type.
plot(ecarttypes)
Si nous nous intéressons seulement aux 50 premières observations, nos avons le graphe suivant.
plot(ecarttypes[1:20])
Nous voyons que l'estimateur d'écart-type converge lentement vers la vraie valeur, et il convient de ne pas prendre les valeurs estimées comme précises (alors que l'expérience est idéalisée!). Remarquons que l'application de la formule initiale sur trois observations donne bien la valeur obtenue avec la fonction std:
x=(mesures[1]+mesures[2]+mesures[3])/3
y=(mesures[1]^2+mesures[2]^2+mesures[3]^2)/3
sqrt((y-x^2)*3/2)
De plus, si nous prenons 20 autres observations, le comportement est tout autre:
plot(ecarttypes[21:40])
Si les mesures sont indépendantes et identiquement distribuées (i.i.d.), il est possible de construire un intervalle contenant avec une probabilité donnée la valeur recherchée.
Le théorème de la limite centrale nous informe qu'asymptotiquement $$ P \left[ \mu \in \left[{\hat {\mu }}-|z_{\alpha /2}|{\frac {1}{\sqrt {n}}}\hat{\sigma},{\hat {\mu }}+|z_{\alpha /2}|{\frac {1}{\sqrt {n}}} \hat{\sigma} \right] \right] \rightarrow 1 - \alpha, $$ où $\alpha$ est le niveau auquel l'intervalle de confiance est construit. Des choix typiques sont $\alpha = 0.05$ ou $\alpha = 0.1$, donnant des probabilités respectives de 95% et 90%. $$ P \left[ \sigma^{2} \in \left[\hat{\sigma}^{2}-|z_{\alpha /2}|{\frac {\sqrt{2}}{\sqrt {n}}}\hat{\sigma}^{2}, \hat{\sigma}^{2}+|z_{\alpha /2}|{\frac {\sqrt{2}}{\sqrt {n}}}\hat{\sigma}^{2}\right] \right] \rightarrow 1 - \alpha $$
Dans le cas où les observations sont i.i.d. et normalement distribuées, nous pouvons remplacer les intervalles de confiance asymptotiques par des intervalles exacts commme suit:
où $\chi^2_{n-1}$ désigne la loi chi-carré à $n-1$ degrés de liberté.
Reprenons les données que nous avons générées, en se rappelant que les hypothèses de normalité étaient respectées, et par conséquent, nous pouvons utiliser les dernières formules.
Considérons 20 observations et posons tout d'abord $\alpha$ à 0,05, autrement dit, nous construisons un intervalle de confiance à 95%.
n = 20
S = TDist(n-1)
χ = Chisq(n-1)
α = 0.05
Δμ = quantile(S, 1-α/2)*ecarttypes[n-2]/sqrt(n)
μinf = moyennes[n]-Δμ
μsup = moyennes[n]+Δμ
σinf = sqrt((n-1)ecarttypes[n-2]^2/quantile(χ, 1-α/2))
σsup = sqrt((n-1)ecarttypes[n-2]^2/quantile(χ, α/2))
μinf, μsup
L'intervalle de confiance obtenu pour la variance est
σinf, σsup
L'intervalle comprend bien la véritable valeur de 3,5 m/s, mais la borne supérieur est de 4,64 m/s! Autrement dit, sur base des 20 observations uniquement, il est très difficile de s'assurer que l'écart-type est sous la barre des 3,5 m/s. La mesure d'écart-type est par ailleurs
ecarttypes[n-2]
ce qui dans le cas présent est une sous-estimation du véritable écart-type, contribuant à limiter la borne supérieure.
α = 0.1
Δμ = quantile(S, 1-α/2)*ecarttypes[n+2]/sqrt(n)
μinf = moyennes[n-2]-Δμ
μsup = moyennes[n-2]+Δμ
σinf = sqrt((n-1)ecarttypes[n-2]^2/quantile(χ, 1-α/2))
σsup = sqrt((n-1)ecarttypes[n-2]^2/quantile(χ, α/2))
σinf, σsup
L'imprécision sur l'écart-type est encore très grande.
Refaisons la même expérience, mais avec un écart-type réel de 3 m/s.
vitesse = Normal(850,3.0)
mesures = rand(vitesse, 10000)
μ = mean(mesures)
σ = std(mesures)
moyennes = [ mean(mesures[1:i]) for i = 3:10000 ]
ecarttypes = [ std(mesures[1:i]) for i = 3:10000 ]
μ, σ
α = 0.1
Δμ = quantile(S, 1-α/2)*ecarttypes[n-2]/sqrt(n)
μinf = moyennes[n-2]-Δμ
μsup = moyennes[n-2]+Δμ
σinf = sqrt((n-1)ecarttypes[n-2]^2/quantile(χ, 1-α/2))
σsup = sqrt((n-1)ecarttypes[n-2]^2/quantile(χ, α/2))
σinf, σsup
On voit que l'imprécision rapportée par l'intervalle de confiance reste importante, et la borne supérieure plus grande que 3,5 m/s. Diminuons l'écart-type à 2,5 m/s.
vitesse = Normal(850,2.5)
mesures = rand(vitesse, 10000)
μ = mean(mesures)
σ = std(mesures)
moyennes = [ mean(mesures[1:i]) for i = 3:10000 ]
ecarttypes = [ std(mesures[1:i]) for i = 3:10000 ]
μ, σ
α = 0.1
Δμ = quantile(S, 1-α/2)*ecarttypes[n-2]/sqrt(n)
μinf = moyennes[n-2]-Δμ
μsup = moyennes[n-2]+Δμ
σinf = sqrt((n-1)ecarttypes[n-2]^2/quantile(χ, 1-α/2))
σsup = sqrt((n-1)ecarttypes[n-2]^2/quantile(χ, α/2))
σinf, σsup
À présent, nous pouvons confortablement assurer que l'écart-type est sous les 3,5 m/s, mais uniquement car l'écart-type réel est bien inférieur à la valeur fatidique.
L'estimation statistique est un art en soi, et la qualité des estimateurs dépend de la quantité que nous cherchons à mesurer. L'estimation d'écart-type demeure délicate, et les valeurs doivent être considérées avec l'imprécision qui les entoure.