Geradores de números aleatórios e estatística hacker

Pensamento Estatístico em Python (Parte 1)

Justin Bois

Teaching Professor at the California Institute of Technology

Estatística hacker

  • Usa medições simuladas repetidas para calcular probabilidades.
Pensamento Estatístico em Python (Parte 1)

  ch3-2.004.png

1 Imagem: artista desconhecido
Pensamento Estatístico em Python (Parte 1)

ch3-2.005.png

1 Imagem: Heritage Auction
Pensamento Estatístico em Python (Parte 1)

Simulando caras ou coroas

ch3-2.010.png

Pensamento Estatístico em Python (Parte 1)

Ensaios de Bernoulli

  • Um experimento com duas opções: "sucesso" (True) e "falha" (False).
Pensamento Estatístico em Python (Parte 1)

O módulo np.random

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

rng
Generator(PCG64) at 0x7F9433D38120
Pensamento Estatístico em Python (Parte 1)

Semente de aleatoriedade

  • Inteiro passado ao algoritmo de aleatoriedade
  • Semente manual só se precisar de reprodutibilidade
  • Especificada com rng = np.random.default_rng(seed)
Pensamento Estatístico em Python (Parte 1)

Simulando 4 caras ou coroas

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
Pensamento Estatístico em Python (Parte 1)

Simulando 4 caras ou coroas

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
Pensamento Estatístico em Python (Parte 1)

Probabilidades na estatística hacker

  • Defina como simular os dados
  • Simule muitas vezes
  • A probabilidade ≈ fração de testes com o resultado de interesse
Pensamento Estatístico em Python (Parte 1)

Vamos praticar!

Pensamento Estatístico em Python (Parte 1)

Preparing Video For Download...