Generatori di numeri casuali e statistiche da hacker

Pensare in modo statistico con Python (Parte 1)

Justin Bois

Teaching Professor at the California Institute of Technology

Statistiche da hacker

  • Usa misure simulate ripetute per calcolare probabilità.
Pensare in modo statistico con Python (Parte 1)

  ch3-2.004.png

1 Immagine: artista sconosciuto
Pensare in modo statistico con Python (Parte 1)

ch3-2.005.png

1 Immagine: Heritage Auction
Pensare in modo statistico con Python (Parte 1)

Simulare lanci di moneta

ch3-2.010.png

Pensare in modo statistico con Python (Parte 1)

Prove di Bernoulli

  • Esperimento con due esiti: "successo" (True) e "fallimento" (False).
Pensare in modo statistico con Python (Parte 1)

Il modulo np.random

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

rng
Generator(PCG64) at 0x7F9433D38120
Pensare in modo statistico con Python (Parte 1)

Seed dei numeri casuali

  • Intero passato all'algoritmo di generazione
  • Imposta manualmente il seed solo se serve riproducibilità
  • Si specifica con rng = np.random.default_rng(seed)
Pensare in modo statistico con Python (Parte 1)

Simulare 4 lanci di moneta

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
Pensare in modo statistico con Python (Parte 1)

Simulare 4 lanci di moneta

n_all_heads = 0  # Inizializza numero di prove con 4 teste
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
Pensare in modo statistico con Python (Parte 1)

Probabilità con le hacker stats

  • Definisci come simulare i dati
  • Simula molte volte
  • La probabilità ≈ frazione di prove con l'esito d'interesse
Pensare in modo statistico con Python (Parte 1)

Passons à la pratique !

Pensare in modo statistico con Python (Parte 1)

Preparing Video For Download...