Blog.

Test chi quadrato di Pearson | Chi-Square Test for Machine Learning


Autore
Andrea Provino
Data
Tempo di lettura
5 minuti
Categoria
Data Science, machine-learning

test-chi-square-for-machine-learning-test-chi-quadrato-di-pearson-test-chi-quadro-pearson-data-science

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

Taggeddata sciencedatasetteoria


Ultimi post

Patricia Merkle Trie

Il Practical Algorithm To Retrieve Information Coded In Alphanumeric Merkle Trie, o Patricia Merkle Trie è una struttura dati chiave-valore usatada Ethereum e particolarmente efficiente per il salvataggio e la verifica dell’integrità dell’informazione. In questo post ne studieremo le caratteristiche. Prima di procedere, ci conviene ripassare l’introduzione al Merkle Tree nella quale abbiamo chiarito il […]

Andrea Provino
ethereum-patricia-merkle-tree
Tree Data Structure: cos’è un Merkle Tree

Un Merkle Tree è una struttura dati efficiente per verificare che un dato appartenga a un insieme esteso di elementi. È comunemente impiegato nelle Peer to Peer network in cui la generazione efficiente di prove (proof) contribuisce alla scalabilità della rete. Capire i vantaggi di questa struttura ci tornerà utile nel nostro percorso di esplorazione […]

Andrea Provino
merkle-tree-cover
UTXO: come funziona il modello Unspent Transaction Outputs

Per tenere traccia dei bilanci utente, la blockchain di Bitcoin sfrutta un modello di contabilità definito UTXO o Unspent Transaction Outputs. In questo articolo ne esaminiamo le caratteristiche. Ogni blockchain è dotata di un sistema di contabilità, un meccanismo attraverso cui tenere traccia dei bilanci di ciascun utente. I due grandi modelli di riferimento nel […]

Andrea Provino
bitcoin-utxo
Cos’è Ethereum

Possiamo definire Ethereum come una macchina a stati distribuita che traccia le transizioni di un archivio dati general-purpose (i.e. una memoria in grado di registrare qualsiasi dato esprimibile come coppia di chiave e valore o key-value) all’interno della Ethereum Blockchain. È arrivato il momento di esplorare uno dei progetti tecnologici più innovativi e interessanti degli […]

Andrea Provino
ethereum