1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9

# теория · шаг 1 из 9

Нормальное распределение: стандартизация и экспоненциальные моменты

Коротко

Стандартная нормаль N(0,1) имеет плотность φ(z)=exp(−z²/2)/√(2π). Любая невырожденная одномерная нормаль получается как X=μ+σZ, σ>0. В обозначении N(μ,σ²) второй параметр - дисперсия, а для стандартизации делят на стандартное отклонение σ. Производящая функция моментов M(t)=E[exp(tX)]=exp(μt+σ²t²/2) объясняет сложение независимых нормалей и хвостовую оценку. Нормальный закон не ограничен тремя стандартными отклонениями; вероятности считают по площадям, а не по высоте его колокола.

Если стандартизуешь наблюдение, выводишь M(t) выделением квадрата и различаешь один хвост и два, переходи к «Теперь сам».

Как думаешь, что значит N(10,4)

Числа в краткой записи нужно прочитать до вычислений. Здесь среднее μ=10, дисперсия σ²=4, стандартное отклонение σ=2. Поэтому наблюдение 14 отстоит от среднего на два стандартных отклонения, а не на одно. Вероятность попасть от 8 до 12 равна вероятности стандартной нормали оказаться от −1 до 1.

Нормальная форма не утверждает, что все данные обязаны быть похожи на гладкий колокол. Она задаёт математический закон для случайной величины. Применимость этой модели к измерениям и точность нормального приближения суммы - отдельные вопросы. Сначала научимся считать внутри заданной модели.

На что это похоже

Один шаблон можно перенести на линейку другой шкалы: μ задаёт место центра, σ - растяжение. После обратного переноса Z=(X−μ)/σ данные возвращаются к одному стандартному масштабу. Так вместо отдельной таблицы вероятностей на каждую пару параметров достаточно одной функции Φ для N(0,1).

Растяжение меняет и высоту плотности. Если длины увеличились в σ раз, то высоты нужно разделить на σ, чтобы сохранить площадь 1. Поэтому плотность X равна exp(−(x−μ)²/(2σ²))/(σ√(2π)). Нельзя растянуть ось и оставить прежнюю высоту колокола.

Механизм: нормировка и функция распределения

Обозначим I=∫₋∞∞exp(−x²/2)dx. Квадрат I равен интегралу exp(−(x²+y²)/2) по плоскости. У тонкого кругового слоя радиуса r площадь примерно 2πr dr: разность площадей кругов радиусов r+dr и r равна 2πr dr+π(dr)², последний член исчезает в пределе. Поэтому I²=2π∫₀∞r exp(−r²/2)dr=2π. Последний интеграл равен 1 после замены u=r²/2. Итак, I=√(2π), что объясняет коэффициент плотности.

CDF стандартной нормали обозначают Φ(z). Её значения получают численно; симметрия даёт Φ(−z)=1−Φ(z). В Python функция math.erf(a) вычисляет (2/√π)∫₀ᵃexp(−u²)du, и Φ(z)=(1+erf(z/√2))/2. Дополнительная erfc(a)=1−erf(a) удобна для малых хвостов: она избегает вычитания двух близких к единице чисел.

Правило

При X~N(μ,σ²), σ>0, стандартизуй z=(x−μ)/σ. Вероятность a≤X≤b равна Φ((b−μ)/σ)−Φ((a−μ)/σ). Для независимых нормальных величин сумма снова нормальна: средние и дисперсии складываются. При a≥0 P(|X−μ|≥aσ)≤min(1,2exp(−a²/2)). Это верхняя оценка, а не точная вероятность.

Точное равенство X=μ имеет вероятность 0. Нормальный закон имеет ненулевые хвосты за любым конечным порогом. Выражение «правило трёх σ» описывает большую центральную вероятность, но не запрещает наблюдения дальше этого расстояния.

Разбор: производящая функция моментов

Функция M(t)=E[exp(tX)] собирает экспоненциальные моменты. Если она конечна около нуля, её разложение начинается как 1+tE[X]+t²E[X²]/2+…: коэффициенты следуют из разложения экспоненты. Так можно восстанавливать моменты, а для независимой суммы M(X+Y)(t)=MX(t)MY(t) по независимости множителей.

Для нормали подставим X=μ+σZ и выделим квадрат в показателе: tσz−z²/2=−(z−tσ)²/2+t²σ²/2. В интеграле остаётся плотность сдвинутой стандартной нормали, которая снова имеет полную площадь 1. Вынесенный множитель даёт M(t)=exp(μt+σ²t²/2) для любого вещественного t. Разложив его до t², получаем E[X]=μ, E[X²]=μ²+σ², а затем Var(X)=σ². Это проверяет смысл обоих параметров.

Произведение MGF двух независимых нормалей имеет тот же вид с суммой средних и дисперсий. MGF, конечная в окрестности нуля, однозначно задаёт распределение, поэтому это доказательство закона суммы. При умножении X на c дисперсия умножается на c²; при c=0 возникает постоянная величина, для которой обычной плотности нет.

normal_model.py
import math


def phi(z):
    return 0.5 * (1 + math.erf(z / math.sqrt(2)))


mean, variance = 10, 4
sd = math.sqrt(variance)
print("P(8<=X<=12) =", f"{phi((12-mean)/sd)-phi((8-mean)/sd):.6f}")
for a in [1, 2, 3]:
    exact = math.erfc(a / math.sqrt(2))
    bound = min(1, 2 * math.exp(-a * a / 2))
    print("a", a, "два хвоста", f"{exact:.6f}",
          "верхняя оценка", f"{bound:.6f}")
print("ln M(2), μ=3 v=2 =", 3 * 2 + 2 * 2 ** 2 / 2)
for sigma in [0.5, 1, 2]:
    error = 0.5 * math.erfc(1 / (sigma * math.sqrt(2)))
    print("шум σ", sigma, "ошибка знака", f"{error:.6f}",
          "P(|шум|>=1)", f"{2 * error:.6f}")
↳  выводpython3 normal_model.py
P(8<=X<=12) = 0.682689
a 1 два хвоста 0.317311 верхняя оценка 1.000000
a 2 два хвоста 0.045500 верхняя оценка 0.270671
a 3 два хвоста 0.002700 верхняя оценка 0.022218
ln M(2), μ=3 v=2 = 10.0
шум σ 0.5 ошибка знака 0.022750 P(|шум|>=1) 0.045500
шум σ 1 ошибка знака 0.158655 P(|шум|>=1) 0.317311
шум σ 2 ошибка знака 0.308538 P(|шум|>=1) 0.617075

В таблице a измеряется в стандартных отклонениях. Столбец с верхней оценкой часто заметно больше точного хвоста. Для a=1 выражение 2exp(−1/2) превышает 1, поэтому программа выбирает тривиальный предел 1. Ничего не требуется округлять до вероятности раньше вычисления площади.

Разбор: ошибка знака сигнала и два хвоста шума

Пусть передаётся S=+1 или S=−1, независимо добавляется Y~N(0,σ²), а приёмник берёт знак S+Y. При S=+1 ошибка означает Y<−1, при S=−1 - Y>1. Каждая условная вероятность равна q=1−Φ(1/σ).

Общая вероятность ошибки тоже q: P(S=+1)q+P(S=−1)q=q, поскольку вероятности двух значений S суммируются в 1. Их нельзя просто сложить без весов. Величина 2q=P(|Y|>1) отвечает другому вопросу: шум вышел из центрального интервала, но большой шум одного знака не обязательно меняет знак данного передаваемого символа. Для σ=1 ошибка декодера примерно 0,158655, а вероятность выхода шума из [−1,1] примерно 0,317311.

Хвостовая оценка из правила тоже получается из MGF: для t>0 неравенство Маркова даёт P(Z≥a)≤exp(t²/2−ta). Минимум показателя достигается при t=a и равен −a²/2. По симметрии нижний хвост имеет такую же оценку, и для двух хвостов складываем уже непересекающиеся события одного Z.

Что ломается без этого

Подставляют дисперсию вместо стандартного отклонения в z-оценку или забывают множитель 1/σ в плотности. Проверка единиц помогает: разность X−μ и σ имеют одни единицы, их отношение безразмерно. Дисперсия имеет квадрат этих единиц.

Другая ошибка - применять закон нормальной суммы без независимости. Если X=Y=Z~N(0,1), их сумма 2Z имеет дисперсию 4, а не 2. Знание двух одинаковых маргинальных законов не делает величины независимыми.

Зачем это в работе

Стандартизация позволяет сравнить разные масштабы шума и измерений и перевести порог устройства в вероятность ошибки. MGF связывает эту модель с хвостовыми оценками уже знакомых алгоритмов. Но точный расчёт относится к принятому нормальному закону: другая форма хвостов может менять редкие ошибки сильнее, чем это видно по одним среднему и дисперсии.

Теперь сам

X~N(3,9). Какой стандартный порог соответствует X≤9? Каковы параметры суммы X+Y, если Y~N(−1,4) и независимо от X? Почему у суммы дисперсия не равна квадрату 3+2?

Ответ. σ=3, порог (9−3)/3=2, вероятность Φ(2). Сумма имеет N(2,13). Складываются независимые дисперсии 9+4; стандартные отклонения не складываются как постоянные значения.

Главное

Нормальная модель задаётся местом и масштабом, а стандартная таблица относится к безразмерному Z. Сохраняй нормировку и условия независимости; условные ошибки и два хвоста одной величины - разные события.

Комментарии

Пока нет комментариев. Будь первым!

Оставить комментарий

Комментарий появится после проверки. Email не публикуется. Войти, чтобы не вводить имя каждый раз.