Підкиньмо монету в 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

Основи теорії ймовірностей у Python

Preparing Video For Download...