Menu
CoddyTech

Ritardi dei treni

Fa parte della sezione Statistica per il machine learning del percorso Machine Learning di Coddy. Lezione 61 di 64.

Due linee di pendolari, Maple e Birch, condividono una stazione. Per 24 giorni sono stati registrati i ritardi dei treni di entrambe le linee nell'ora di punta, in trains.csv:

Diagrammi a scatola dei ritardi delle due linee: la scatola di Maple si colloca intorno ai 15 minuti, con un punto a 91 contrassegnato come guasto del segnale e un punto basso a 4; quella di Birch è più in basso, intorno a 11, con punti a 63 e 74 contrassegnati come guasti del segnale

Tre guasti ai segnali hanno trattenuto i treni per un’ora o più: un dato reale, ma abbastanza grande da falsare qualsiasi media.

Il responsabile chiede: Maple è davvero più in ritardo, oppure la differenza potrebbe essere dovuta al caso? Ridimensiona gli estremi, poi lascia che sia il rimescolamento a decidere.

challenge icon

Sfida

Difficile

Il programma legge il fattore dei limiti k; 1.5 è la regola del grafico a scatola.

  1. Limita tutti i ritardi a Q1 - k * IQR e Q3 + k * IQR, conta i valori anomali, poi limita ogni ritardo con np.clip.
  2. Stampa la media dei ritardi limitati per ciascuna linea e la differenza, Maple meno Birch.
  3. Mescola 2000 volte: unisci i ritardi limitati di Maple e poi quelli di Birch, una rng.permutation per round; i primi 24 sono Maple fittizi.
  4. Stampa il valore p, ignorando il segno, e il verdetto: unlikely to be chance se inferiore a 0.05, altrimenti could be chance.

Arrotonda a 2 decimali e p a 3. Per k = 2:

Fences: 0.25 to 26.5 (3 outliers)
Maple mean: 15.27
Birch mean: 12.21
Difference: 3.06
p-value: 0.03
Verdict: unlikely to be chance

Il verdetto regge con un valore di k più rigoroso o più permissivo?

Provalo tu

import numpy as np
import pandas as pd

k = float(input())
df = pd.read_csv("trains.csv")
delays = df["delay_min"]

# Non modificare la riga qui sotto
rng = np.random.default_rng(5)

# Scrivi il tuo codice qui sotto
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Statistica per il machine learning

Esercitati da solo: Compilatore Python online