Cos’è il Test chi quadrato? Il Test chi quadrato è un test di verifica d’ipotesi, che usa la distribuzione chi quadrato per decidere se rifiutare o meno un ipotesi nulla (o null hypothesis), cioè un’affermazione sulla distribuzione di probabilità di una o più variabili casuali (o variabile aleatoria).
Benissimo!
Ora che è tutto chiaro puoi lasciare la pagina e tornare alle tue faccende, oppure concedermi qualche altro minuto di quella che so essere la tua preziosa attenzione.
Continua a leggere…
Iniziamo un viaggio, un piccolo viaggio.
Non preoccuparti, la valigia e lo zaino sono superflui.
Sarà sufficiente portare con noi la cuorsità.
Ah, sì!
C’è un’altra cosa che occorre avere: concentrazione.
Questo inventario contenuto ci consentirà di comprendere il Chi square test for Machine Learning.
Procediamo!
Test chi quadrato | Chi square test for machine learning
Un problema comune nel machine learning è determinare se le input features siano rilevanti o meno nella previsione del valore della variabile di output, la nostra label.
Non lo abbiamo considerato tra gli errori da evitare per diventare un data scientist, ma certamente scartare variabili utili e tenerne altre poco correlate non è certo buona cosa.
Come ben sai, una delle più delicate procedure che accompagnano un processo di data science è infatti quella di feature selection.
In altri termini, come scegliere quali features scartare per un modello di machine learning?
Nei problemi di classificazione, in cui le variabili d’input sono categoriali (categorical) possiamo usare il Test chi quadrato (Chi-squared test) per scegliere quali features scartare, e determinare se la label sia dipendente o indipendente da quella esaminata.
Evidentemente, qualora il test reputasse la variabile indipendente dalla label potremmo provvedere alla sua eliminazione.
Il primo passo per l’esecuzione del Test chi quadrato (Chi-squared test) è allora la creazione di una contingency table.
Ti spiego di cosa si tratta.
Contingency Table
Sai bene che una variabile è definita categoriale quando assume uno tra i valori discreti compatibili con le classi disponibili.
Quindi concordi con me che la variabile sesso è tipicamente categoriale, con valore pari a una delle classi: uomo, donna o non specificato.
Anche la variabile interesse lo è, ammettendo le classi Arte, Scienze, Matematica e via dicendo.
Consideriamole allora come appartenenti a un dataset.
Immaginiamo infatti di aver raccolto osservazioni su una popolazione significativa di campioni, e di volerle riassumere in una tabella.
In questa tabella, ogni cella corrisponde alla frequenza delle osservazioni, poiché disponiamo sulle colonne e sulle righe le classi di una e dell’altra variabile.
Ecco la nostra piccola contingency table:
Scienza | Arte | Matematica | |
M | 120 | 150 | 100 |
F | 60 | 30 | 50 |
N/S | 20 | 20 | 50 |
Fu chiamata in questo modo da Karl Pearson perché l’intento è aiutare a determinare se una variabile è contingente (i.e. accessoria) o dipende dall’altra.
Un ipotesi che potremmo dunque chiederci è: l’interesse dipende dal sesso o è a esso indipendente?
Per validare l’ipotesi è difficile limitarsi alla sola tabella.
Qui entra in gioco il Test chi quadrato di Pearson
Test chi quadrato di Pearson | Pearson’s Chi-Squared Test
Iniziamo subito con un bel appunto.
Quando parliamo di Test chi quadrato, o Test chi quadro, ci riferiamo quasi sempre al Test chi quadrato di Pearson sebbene esistano variazioni dello stesso.
Il Test chi quadrato è dunque un test di verifica d’ipotesi, che usa la distribuzione chi quadrato per decidere se rifiutare o meno un ipotesi nulla (o null hypothesis), cioè un’affermazione sulla distribuzione di probabilità di una o più variabili casuali (o variabile aleatoria).
Il test calcola una statistica con distribuzione indicata con la lettera greca X, pronunciata “chi”, e chiamata distribuzione chi quadrato.
Considerando l’esempio di cui sopra, la frequenza osservata per le classi della variabile sesso può o meno essere la stessa.
Possiamo comunque calcolare la frequenza attesa e verificare che le partizioni per interesse e sesso risultino in una frequenza simile o differente.
Il Test chi quadrato o Test chi quadro calcola esattamente questo: prima la frequenza attesa per i gruppi, poi se la divisione dei gruppi, definita frequenza osservata, corrisponda alla prima.
Le variabili sono considerate indipendenti se la frequenza osservata e la frequenza attesa sono simili.
Ci manca un’informazione.
Grado di libertà
Per interpretare la statistica nel contesto della distribuzione chi quadrato occorre individuare i gradi di libertà della variabile aleatoria.
Cosa sono i gradi di libertà? I gradi di libertà di un statistica esprimono il numero minimo di dati sufficienti a valutare l’informazione contenuta nella statistica.
In altri termini, il numero massimo di valori logicamente indipendenti, che hanno la libertà di variare.
Facciamo un esempio.
La variabile aleatoria che definisce i risultati possibili del lancio di un dado, ha un grado di libertà pari a 5.
Per calcolare questo valore ci serviamo della nostra contingency table:
grado di libertà: (n_righe - 1) * (n_colonne - 1)
Nel nostro caso, abbiamo un grado di libertà pari a 4.
Possiamo quindi concludere come segue.
Definendo un errore tollerato alpha (α), il risultato del test può essere interpretato:
- p-value <= alpha, risultati significativo e ipotesi nulla (indicata con H0) rifiutata. La variabile è dipendente
- p-value > alpha, risultato non significativo e ipotesi nulla (indicata con H0) non rifiutata; risulta quindi valida l’ipotesi alternativa (H1): la variabile è indipendente.
Come calcolare il chi square test for machine learning?
Il chi square test for machine learning si calcola attraverso la funzione di scikit learn chi2, che trovi qui.
Sto per salutarti.
Sappi però che il Test chi square for machine learning è sensibile alle piccole frequenze: quando il valore aspettato è inferiore a 5 potrebbe portare a considerazioni errate.
Per il momento è tutto.
Per aspera, ad astra.
Un caldo abbraccio, Andrea