Come eseguire test di ipotesi in python (con esempi)


Un test di ipotesi è un test statistico formale che utilizziamo per rifiutare o non riuscire a rifiutare un’ipotesi statistica.

Questo tutorial spiega come eseguire i seguenti test di ipotesi in Python:

  • Un test t del campione
  • Test T a due campioni
  • Test t per campioni accoppiati

Andiamo!

Esempio 1: un esempio di test t in Python

Un test t su un campione viene utilizzato per verificare se la media di una popolazione è uguale o meno a un determinato valore.

Ad esempio, supponiamo di voler sapere se il peso medio di una determinata specie di tartaruga è o meno di 310 libbre.

Per verificarlo, raccogliamo un semplice campione casuale di tartarughe con i seguenti pesi:

Peso : 300, 315, 320, 311, 314, 309, 300, 308, 305, 303, 305, 301, 303

Il codice seguente mostra come utilizzare la funzione ttest_1samp() nella libreria scipy.stats per eseguire un t-test a un campione:

 import scipy.stats as stats

#define data
data = [300, 315, 320, 311, 314, 309, 300, 308, 305, 303, 305, 301, 303]

#perform one sample t-test
stats. ttest_1samp (a=data, popmean= 310 )

Ttest_1sampResult(statistic=-1.5848116313861254, pvalue=0.1389944275158753)

La statistica del test t è -1,5848 e il corrispondente valore p a due code è 0,1389 .

Le due ipotesi per questo t-test su un particolare campione sono le seguenti:

  • H 0 : µ = 310 (il peso medio di questa specie di tartaruga è di 310 libbre)
  • H A : µ ≠310 (il peso medio non è 310 libbre)

Poiché il valore p del nostro test (0,1389) è maggiore di alfa = 0,05, non riusciamo a rifiutare l’ipotesi nulla del test.

Non abbiamo prove sufficienti per affermare che il peso medio di questa particolare specie di tartaruga sia diverso da 310 libbre.

Esempio 2: test t a due campioni in Python

Un t-test a due campioni viene utilizzato per verificare se le medie di due popolazioni sono uguali o meno.

Ad esempio, supponiamo di voler sapere se il peso medio di due diverse specie di tartarughe è uguale o meno.

Per verificarlo, raccogliamo un semplice campione casuale di tartarughe di ciascuna specie con i seguenti pesi:

Campione 1 : 300, 315, 320, 311, 314, 309, 300, 308, 305, 303, 305, 301, 303

Campione 2 : 335, 329, 322, 321, 324, 319, 304, 308, 305, 311, 307, 300, 305

Il codice seguente mostra come utilizzare la funzione ttest_ind() nella libreria scipy.stats per eseguire questi due esempi di t-test:

 import scipy. stats as stats

#define array of turtle weights for each sample
sample1 = [300, 315, 320, 311, 314, 309, 300, 308, 305, 303, 305, 301, 303]
sample2 = [335, 329, 322, 321, 324, 319, 304, 308, 305, 311, 307, 300, 305]

#perform two sample t-tests
stats. ttest_ind (a=sample1, b=sample2) 

Ttest_indResult(statistic=-2.1009029257555696, pvalue=0.04633501389516516)

La statistica del test t è –2,1009 e il corrispondente valore p a due code è 0,0463 .

Le due ipotesi per questo particolare t-test a due campioni sono:

  • H 0 : µ 1 = µ 2 (il peso medio tra le due specie è uguale)
  • H A : µ 1 ≠ µ 2 (il peso medio tra le due specie non è uguale)

Poiché il valore p del test (0,0463) è inferiore a 0,05, rifiutiamo l’ipotesi nulla.

Ciò significa che abbiamo prove sufficienti per affermare che il peso medio tra le due specie non è uguale.

Esempio 3: test t di campioni accoppiati in Python

Un test t per campioni accoppiati viene utilizzato per confrontare le medie di due campioni quando ciascuna osservazione in un campione può essere associata a un’osservazione nell’altro campione.

Ad esempio, supponiamo di voler sapere se un determinato programma di allenamento è in grado o meno di aumentare il salto verticale massimo (in pollici) dei giocatori di basket.

Per verificarlo, possiamo reclutare un semplice campione casuale di 12 giocatori di basket universitari e misurare ciascuno dei loro salti verticali massimi. Successivamente possiamo far utilizzare a ciascun giocatore il programma di allenamento per un mese e poi misurare nuovamente il salto verticale massimo alla fine del mese.

I seguenti dati mostrano l’altezza massima del salto (in pollici) prima e dopo l’utilizzo del programma di allenamento per ciascun giocatore:

Anteriore : 22, 24, 20, 19, 19, 20, 22, 25, 24, 23, 22, 21

Dopo : 23, 25, 20, 24, 18, 22, 23, 28, 24, 25, 24, 20

Il codice seguente mostra come utilizzare la funzione ttest_rel() nella libreria scipy.stats per eseguire questo t-test con campioni accoppiati:

 import scipy. stats as stats

#define before and after max jump heights
before = [22, 24, 20, 19, 19, 20, 22, 25, 24, 23, 22, 21]
after = [23, 25, 20, 24, 18, 22, 23, 28, 24, 25, 24, 20]

#perform paired samples t-test
stats. ttest_rel (a=before, b=after)

Ttest_relResult(statistic=-2.5289026942943655, pvalue=0.02802807458682508)

La statistica del test t è –2,5289 e il corrispondente valore p a due code è 0,0280 .

Le due ipotesi per questo particolare t-test per campioni accoppiati sono:

  • H 0 : µ 1 = µ 2 (l’altezza media del salto prima e dopo l’utilizzo del programma è uguale)
  • H A : µ 1 ≠ µ 2 (l’altezza media del salto prima e dopo l’utilizzo del programma non è uguale)

Poiché il valore p del test (0,0280) è inferiore a 0,05, rifiutiamo l’ipotesi nulla.

Ciò significa che abbiamo prove sufficienti per affermare che l’altezza media del salto prima e dopo l’utilizzo del programma di allenamento non è uguale.

Risorse addizionali

È possibile utilizzare i seguenti calcolatori online per eseguire automaticamente vari test t:

Un esempio di calcolatore del test t
Calcolatore del test t a due campioni
Calcolatore t-Test per campioni accoppiati

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *