Если X является нормальным со средним значением 0 и стандартным отклонением сигма, он должен иметь
P = Prob[ -a <= X <= a ] = Prob[ -a/sigma <= N <= a/sigma ]
= 2 Prob[ 0 <= N <= a/sigma ]
= 2 (Prob[ N <= a/sigma ] - 1/2)
, где N является нормальным со средним значением 0 и стандартным отклонением 1. Следовательно
P/2 + 1/2 = Prob[ N <= a/sigma ] = Phi(a/sigma)
Где Фи является кумулятивная функция распределения (cdf) нормальной переменной со средним значением 0 и stddev 1. Теперь нам нужен обратный нормальный cdf (или «процентная функция точки»), который в Python является scipy.stats.norm.ppf(). Пример кода:
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
Например, мы знаем, что вероятность N (0,1) переменная падения INT интервал [-1.1] составляет ~ 0,682 (темно-синяя область в this figure). Если вы установите P = 0.682 и a = 1.0, вы получите сигма ~ 1.0, что действительно является стандартным отклонением.
Не стандартное отклонение нормального распределения со средним значением 0, всегда 1,0? Разве это не определение? – 2008-11-25 18:32:05