Подбрасываем монету в Python

Основы теории вероятностей на Python

Alexander A. Ramírez M.

CEO @ Synergy Vision

Вероятность

  • Основа науки о данных
  • Позволяет получать данные из моделей
  • Изучает закономерности случайных явлений
Основы теории вероятностей на Python

Развиваем интуицию

...на примере подбрасывания монеты

Подбрасывание монеты

Основы теории вероятностей на Python

Только два исхода

Орёл или решка

Аверс и реверс монеты в один цент

Основы теории вероятностей на Python

Подбрасываем монету в Python

Случайный эксперимент Бернулли

from scipy.stats import bernoulli
bernoulli.rvs(p=0.5, size=1)
array([0])

Ещё одна попытка

bernoulli.rvs(p=0.5, size=1)
array([1])
Основы теории вероятностей на Python

Подбрасываем несколько монет

Увеличьте параметр size, чтобы подбросить больше...

bernoulli.rvs(p=0.5, size=10)
array([0, 0, 0, 0, 0, 0, 1, 1, 0, 0])

Сколько орлов?

sum(bernoulli.rvs(p=0.5, size=10))
5
Основы теории вероятностей на Python

Подбрасываем несколько монет (продолж.)

Ещё одна попытка...

sum(bernoulli.rvs(p=0.5, size=10))
2
Основы теории вероятностей на Python

Подбрасываем несколько монет (продолж.)

Биномиальная случайная величина

from scipy.stats import binom
binom.rvs(n=10, p=0.5, size=1)
array([7])

Много попыток

binom.rvs(n=10, p=0.5, size=10)
array([6, 2, 3, 5, 5, 5, 5, 4, 6, 6])
Основы теории вероятностей на Python

Подбрасываем несколько монет (продолж.)

Несправедливая монета

binom.rvs(n=10, p=0.3, size=10)
array([3, 4, 3, 3, 2, 2, 2, 2, 3, 6])
Основы теории вероятностей на Python

Зерно генератора случайных чисел

  • Используйте параметр random_state функции rvs()
from scipy.stats import binom
binom.rvs(n=10, p=0.5, size=1, random_state=42)
  • Используйте numpy.random.seed()
import numpy as np
np.random.seed(42)
Основы теории вероятностей на Python

Зерно генератора случайных чисел (продолж.)

Подбрасываем 10 честных монет с фиксированным зерном

from scipy.stats import binom
import numpy as np

np.random.seed(42)
binom.rvs(n=10, p=0.5, size=1)
array([4])
Основы теории вероятностей на Python

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

Основы теории вероятностей на Python

Preparing Video For Download...