Si X est normale avec une moyenne 0 et sigma écart-type, il faut tenir
P = Prob[ -a <= X <= a ] = Prob[ -a/sigma <= N <= a/sigma ]
= 2 Prob[ 0 <= N <= a/sigma ]
= 2 (Prob[ N <= a/sigma ] - 1/2)
où N est normale avec une moyenne 0 et écart-type 1. Par conséquent
P/2 + 1/2 = Prob[ N <= a/sigma ] = Phi(a/sigma)
Où Phi est la fonction de distribution cumulative (cdf) d'une variable normale avec la moyenne 0 et stddev 1. Maintenant, nous avons besoin de inverse normal cdf (ou la "fonction de point de pourcentage"), qui en Python est scipy.stats.norm.ppf(). Exemple de code:
from scipy.stats import norm
P = 0.3456
a = 3.0
a_sigma = float(norm.ppf(P/2 + 0.5)) # a/sigma
sigma = a/a_sigma # Here is the standard deviation
Par exemple, nous savons que la probabilité d'une variable N (0,1) tombant int l'intervalle [-1,1] est ~ 0,682 (la zone bleue foncée this figure). Si vous définissez P = 0,682 et a = 1,0, vous obtenez sigma ~ 1,0, ce qui correspond à l'écart-type.
L'écart-type d'une distribution normale avec une moyenne de 0 n'est-il pas toujours égal à 1,0? N'est-ce pas la définition? –
Ce n'est vrai que d'une distribution normale standard, je pense. – babbageclunk
P = \ int _ {- a}^{a} n (x) devrait être 1, sinon ce n'est pas une distribution de probabilité. La distribution standard (ou la variance) peut être n'importe quoi, cependant. – ShreevatsaR