Равномерное распределение простыми словами
t-test получено p-value=0.03 при alpha=0.05. Какое решение соответствует правилу проверки гипотез?Содержание:
Зачем это знать
Равномерное распределение — базовое, из которого генерируются другие. random() в большинстве языков выдаёт Uniform(0, 1). Понять uniform — значит понять случайность в коде.
На собесах часто: «как сгенерировать выборку из распределения X, имея только uniform?» — классика для middle-уровня.
Короткое объяснение
Все значения в заданном диапазоне равновероятны.
Дискретное равномерное
Равные вероятности для конечного набора значений.
Пример: кубик. P(каждая грань) = 1/6.
Непрерывное U(a, b)
Плотность постоянна на [a, b] и равна 0 вне интервала.
f(x) = 1 / (b - a), если a ≤ x ≤ b
0, иначеХарактеристики
Дискретное (1 до N)
- Среднее: (N + 1) / 2
- Дисперсия: (N² - 1) / 12
Непрерывное U(a, b)
- Среднее: (a + b) / 2
- Дисперсия: (b - a)² / 12
Примеры
Кубик
Дискретное равномерное от 1 до 6.
random()
В Python random.random() → непрерывное U(0, 1).
Случайная точка в квадрате
Два независимых Uniform(0, 1) → равномерная точка на [0,1]².
В Python
import numpy as np
# Дискретное 1-6
np.random.randint(1, 7, 1000)
# Непрерывное U(0, 1)
np.random.random(1000)
# Непрерывное U(5, 10)
np.random.uniform(5, 10, 1000)Inverse CDF sampling
Из uniform можно сэмплировать любое распределение с обратимой CDF:
u ~ Uniform(0, 1)
x = F^(-1)(u) ~ нужное распределениеЭто и есть базовый алгоритм генерации случайной выборки.
Примеры использования
Bootstrap
Выборка с возвращением использует uniform для выбора индекса.
Monte Carlo
Симуляции обычно используют uniform как базу.
A/B-тестирование
Распределение по группам через uniform: user_hash % 100 < 50 — почти uniform.
Инициализация
Веса нейросети часто инициализируют из uniform.
Равномерное vs нормальное
| Uniform | Normal | |
|---|---|---|
| Форма | плато | колокол |
| Хвосты | обрезаны | бесконечные |
| Среднее | (a+b)/2 | μ |
| Дисперсия | (b-a)²/12 | σ² |
Uniform подходит как априорное распределение в случае «ничего не знаю в этом диапазоне».
Неинформативное априорное
В байесовском подходе uniform часто используется как неинформативное априорное:
Beta(1, 1) = Uniform(0, 1)Нет предпочтения ни одному значению.
На собесе
«Как сгенерировать normal через uniform?» Преобразование Бокса — Мюллера: два uniform → два независимых normal.
«Почему uniform базовое?» Любое другое распределение можно получить через inverse CDF sampling.
«Дисперсия U(0, 1)?» 1/12 ≈ 0.083.
«Когда uniform не подходит?» Когда у данных есть «предпочтение» — концентрация вокруг значения.
Частые ошибки
Предполагать uniform там, где его нет
Многие думают, что ввод от пользователя равномерен. Обычно нет (есть смещение).
Игнорировать границы
[a, b] — замкнутый интервал. (a, b) — открытый. В непрерывном случае разница нулевая, но формально важно.
Округление
Округление непрерывной величины до дискретной меняет дисперсию.
Связанные темы
- Нормальное распределение
- Распределение Пуассона
- Bootstrap простыми словами
- Monte Carlo простыми словами
FAQ
Дискретное или непрерывное?
Дискретное: целые значения. Непрерывное: вещественные числа.
Где чаще используется?
В коде — непрерывное (random). В теории — оба варианта.
Как отличить от нормального?
По гистограмме: uniform — плоский, normal — колокол.