Errori del modello e casualità

Introduzione alla modellazione lineare in Python

Jason Vestuto

Data Scientist

Tipi di errori

  1. Errore di misurazione
    • es.: sensore guasto, misurazioni registrate male
  2. Distorsione di campionamento
    • es.: temperature solo di agosto, quando fa più caldo
  3. Caso
Introduzione alla modellazione lineare in Python

Ipotesi Nulla

Domanda: il nostro effetto è dovuto a una relazione o al caso?

Risposta: verifica l'Ipotesi Nulla.

Introduzione alla modellazione lineare in Python

Dati ordinati

Grafico a dispersione di dati di un'escursione, con assi distanza percorsa in miglia e durata in ore

Introduzione alla modellazione lineare in Python

Raggruppare i dati

Grafico a dispersione dei dati dell'escursione, con tempi < 5 ore in rosso e > 5 ore in blu

Introduzione alla modellazione lineare in Python

Raggruppare i dati

Due istogrammi a campana, uno rosso per le escursioni brevi centrato vicino a 5 miglia, e uno blu per le lunghe centrato vicino a 15 miglia

  • Gruppo durata breve, media = 5
  • Gruppo durata lunga, media = 15
Introduzione alla modellazione lineare in Python

Statistica di test

# Group into early and late times
group_short = sample_distances[times < 5]
group_long = sample_distances[times > 5]
# Resample distributions
resample_short = np.random.choice(group_short, size=500, replace=True)
resample_long = np.random.choice(group_long, size=500, replace=True)
# Test Statistic
test_statistic = resample_long - resample_short
# Effect size as mean of test statistic distribution
effect_size = np.mean(test_statistic)
Introduzione alla modellazione lineare in Python

Mescola e raggruppa

Grafico a dispersione dei dati dell'escursione, con rosso e blu mescolati in tutti i tempi

Introduzione alla modellazione lineare in Python

Mescolare e raggruppare

Due istogrammi quasi sovrapposti, da 0 a 25 miglia, di forma simile

Introduzione alla modellazione lineare in Python

Mescola e dividi

# Concatenate and Shuffle
shuffle_bucket = np.concatenate((group_short, group_long))
np.random.shuffle(shuffle_bucket)
# Split in the middle
slice_index = len(shuffle_bucket)//2
shuffled_half1 = shuffle_bucket[0:slice_index]
shuffled_half2 = shuffle_bucket[slice_index+1:]
Introduzione alla modellazione lineare in Python

Ricampiona e testa di nuovo

# Resample shuffled populations
shuffled_sample1 = np.random.choice(shuffled_half1, size=500, replace=True)
shuffled_sample2 = np.random.choice(shuffled_half2, size=500, replace=True)
# Recompute effect size
shuffled_test_statistic = shuffled_sample2 - shuffled_sample1
effect_size = np.mean(shuffled_test_statistic)
Introduzione alla modellazione lineare in Python

p-value

Su assi conteggi dei bin vs valori della statistica di test, due istogrammi: blu centrato su x=0 con ampia dispersione, rosso centrato su x=10 più stretto, e una linea verticale nera a x=10

Introduzione alla modellazione lineare in Python

Esercitiamoci!

Introduzione alla modellazione lineare in Python

Preparing Video For Download...