Come usare la distribuzione t in python


La distribuzione t è una distribuzione di probabilità simile alla distribuzione normale , tranne per il fatto che ha “code” più pesanti rispetto alla distribuzione normale.

In altre parole, nella distribuzione si trovano più valori alle estremità che al centro rispetto alla distribuzione normale:

Distribuzione normale vs distribuzione t

Questo tutorial spiega come utilizzare la distribuzione t in Python.

Come generare per distribuire

Puoi utilizzare la funzione t.rvs(df, size) per generare valori casuali da una distribuzione con gradi di libertà e dimensioni del campione specifici:

 from scipy. stats import t

#generate random values from t distribution with df=6 and sample size=10
t. rvs (df= 6 , size= 10 )

array([-3.95799716, -0.01099963, -0.55953846, -1.53420055, -1.41775611,
       -0.45384974, -0.2767931, -0.40177789, -0.3602592, 0.38262431])

Il risultato è una tabella di 10 valori che si susseguono secondo una distribuzione a 6 gradi di libertà.

Come calcolare i valori P utilizzando la distribuzione t

Possiamo usare la funzione t.cdf(x, df, loc=0, scale=1) per trovare il valore p associato a una statistica t-test.

Esempio 1: trovare un valore P unilaterale

Supponiamo di eseguire un test di ipotesi unilaterale e di ottenere una statistica del test di -1,5 e gradi di libertà = 10 .

Possiamo utilizzare la seguente sintassi per calcolare il valore p che corrisponde a questa statistica del test:

 from scipy. stats import t

#calculate p-value
t. cdf (x=-1.5, df=10)

0.08225366322272008

Il valore p unilaterale che corrisponde alla statistica del test di -1,5 con 10 gradi di libertà è 0,0822 .

Esempio 2: trovare un valore P bidirezionale

Supponiamo di eseguire un test di ipotesi a due code e di ottenere una statistica del test di 2,14 e gradi di libertà = 20 .

Possiamo utilizzare la seguente sintassi per calcolare il valore p che corrisponde a questa statistica del test:

 from scipy. stats import t

#calculate p-value
(1 - t. cdf (x=2.14, df=20)) * 2

0.04486555082549959

Il valore p bilaterale che corrisponde alla statistica del test di 2,14 con 20 gradi di libertà è 0,0448 .

Nota : puoi verificare queste risposte utilizzando il calcolatore della distribuzione t inversa.

Come tracciare la distribuzione

È possibile utilizzare la seguente sintassi per tracciare una distribuzione con gradi di libertà specifici:

 from scipy. stats import t
import matplotlib. pyplot as plt

#generate t distribution with sample size 10000
x = t. rvs (df= 12 , size= 10000 )

#create plot of t distribution
plt. hist (x, density= True , edgecolor=' black ', bins= 20 )

diagramma di distribuzione t in Python

In alternativa, puoi creare una curva di densità utilizzando il pacchetto di visualizzazione seaborn :

 import seaborn as sns

#create density curve
sns. kdeplot (x)

tracciare la curva di distribuzione t in Python

Risorse addizionali

I seguenti tutorial forniscono ulteriori informazioni sulla distribuzione:

Distribuzione normale vs distribuzione t: qual è la differenza?
Calcolatore della distribuzione t inversa

Aggiungi un commento

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