Когда вы генерируете случайные числа в NumPy, результат нужно интерпретировать в контексте выбранного распределения и параметров.
Основные моменты:
- Тип распределения определяет диапазон значений
- np.random.normal(loc=μ, scale=σ) → числа вещественные, центр около μ, разброс σ.
- np.random.poisson(lam=λ) → неотрицательные целые числа, среднее и дисперсия ≈ λ.
np.random.uniform(low, high)→ вещественные числа в интервале [low, high).
- Размер выборки (
size)
- Определяет форму массива: скаляр, вектор, матрица или многомерный массив.
- При большом
sizeвыборка приближается к теоретическим свойствам распределения (матожидание, дисперсия).
- Случайность
- Каждый вызов функции генерирует новую случайную выборку, даже при одинаковых параметрах.
- Для воспроизводимости используют
np.random.seed(seed)
np.random.seed(42)
samples = np.random.normal(0, 1, size=5)- Статистическая интерпретация
- Генерируемые значения — это реализации случайной величины.
- Среднее по выборке ≈ математическое ожидание
- Стандартное отклонение по выборке ≈ σ (для нормального)
- Для дискретных распределений (Пуассона) среднее и дисперсия ≈ λ
Пример:
samples = np.random.poisson(lam=3, size=1000)
print(samples.mean()) # ≈ 3
print(samples.std()) # ≈ sqrt(3)- Использование на практике
- Моделирование процессов и экспериментов
- Генерация синтетических данных для тестирования
- Симуляции редких событий и шумов
Коротко:
результат генерации — это выборка (массив) из заданного распределения, и каждая выборка — случайная реализация величины с указанными параметрами, отражающая её среднее, разброс и форму распределения.