Равномерное распределение простыми словами

Проверь себя · 1/3разбор после ответа
В 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) ~ нужное распределение

Это и есть базовый алгоритм генерации случайной выборки.

Подготовься к собесу по A/B и статистике
300+ вопросов с разбором: дизайн, размер выборки, p-value, ловушки
Тренировать A/B в Telegram

Примеры использования

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) — открытый. В непрерывном случае разница нулевая, но формально важно.

Округление

Округление непрерывной величины до дискретной меняет дисперсию.

Связанные темы

FAQ

Дискретное или непрерывное?

Дискретное: целые значения. Непрерывное: вещественные числа.

Где чаще используется?

В коде — непрерывное (random). В теории — оба варианта.

Как отличить от нормального?

По гистограмме: uniform — плоский, normal — колокол.