Генераторы случайных чисел и хакерская статистика

Статистическое мышление на Python (часть 1)

Justin Bois

Teaching Professor at the California Institute of Technology

Хакерская статистика

  • Использует многократное моделирование для вычисления вероятностей.
Статистическое мышление на Python (часть 1)

  ch3-2.004.png

1 Изображение: автор неизвестен
Статистическое мышление на Python (часть 1)

ch3-2.005.png

1 Изображение: Heritage Auction
Статистическое мышление на Python (часть 1)

Моделирование бросков монеты

ch3-2.010.png

Статистическое мышление на Python (часть 1)

Испытания Бернулли

  • Эксперимент с двумя исходами: «успех» (True) и «неудача» (False).
Статистическое мышление на Python (часть 1)

Модуль np.random

import numpy as np
rng = np.random.default_rng()

rng
Generator(PCG64) at 0x7F9433D38120
Статистическое мышление на Python (часть 1)

Начальное значение генератора

  • Целое число, подаваемое в алгоритм генерации случайных чисел
  • Задавайте начальное значение вручную, только если нужна воспроизводимость
  • Задаётся с помощью rng = np.random.default_rng(seed)
Статистическое мышление на Python (часть 1)

Моделирование 4 бросков монеты

rng = np.random.default_rng(42)

random_numbers = rng.random(size=4)
random_numbers
array([0.77395605, 0.43887844, 0.85859792, 0.69736803])
heads = random_numbers < 0.5
heads
array([False,  True, False, False])
np.sum(heads)
1
Статистическое мышление на Python (часть 1)

Моделирование 4 бросков монеты

n_all_heads = 0  # Initialize number of 4-heads trials
for _ in range(10000):
     heads = np.random.random(size=4) < 0.5
     n_heads = np.sum(heads)
     if n_heads == 4:
         n_all_heads += 1

n_all_heads / 10000
0.0607
Статистическое мышление на Python (часть 1)

Вероятности в хакерской статистике

  • Определите способ моделирования данных
  • Выполните моделирование множество раз
  • Вероятность — это приблизительная доля испытаний с нужным исходом
Статистическое мышление на Python (часть 1)

Давайте потренируемся!

Статистическое мышление на Python (часть 1)

Preparing Video For Download...