Come eseguire un test jarque-bera in python


Il test Jarque-Bera è un test di bontà di adattamento che determina se i dati del campione presentano o meno asimmetria e curtosi che corrispondono a una distribuzione normale.

La statistica del test Jarque-Bera è sempre un numero positivo e quanto più è lontano da zero, tanto più ci sono prove che i dati del campione non seguono una distribuzione normale.

Questo tutorial spiega come eseguire un test Jarque-Bera in Python.

Come eseguire un test Jarque-Bera in Python

Per effettuare un test Jarque-Bera in Python è possibile utilizzare la funzione jarque_bera della libreria Scipy, che utilizza la seguente sintassi:

jarque_bera(x)

Oro:

  • x: una tabella di osservazioni

Questa funzione restituisce una statistica di test e un valore p corrispondente.

Esempio 1

Supponiamo di eseguire un test Jarque-Bera su una lista di 5.000 valori che segue una distribuzione normale:

 import numpy as np
import scipy.stats as stats

#generate array of 5000 values that follows a standard normal distribution
np.random.seed(0)
data = np.random.normal(0, 1, 5000)

#perform Jarque-Bera test
stats.jarque_bera(data)

(statistic=1.2287, pvalue=0.54098)

La statistica del test è 1,2287 e il corrispondente valore p è 0,54098 . Poiché questo valore p non è inferiore a 0,05, non riusciamo a rifiutare l’ipotesi nulla. Non abbiamo prove sufficienti per affermare che questi dati mostrano asimmetria e curtosi significativamente diverse da una distribuzione normale.

Questo risultato non dovrebbe sorprendere poiché i dati che abbiamo generato sono composti da 5.000 variabili casuali che seguono una distribuzione normale.

Esempio 2

Supponiamo ora di eseguire un test Jarque-Bera su una lista di 5.000 valori che seguono una distribuzione uniforme:

 import numpy as np
import scipy.stats as stats

#generate array of 5000 values that follows a uniform distribution
np.random.seed(0)
data = np.random.uniform(0, 1, 5000)

#perform Jarque-Bera test
stats.jarque_bera(data)

(statistic=300.1043, pvalue=0.0)

La statistica del test è 300,1043 e il corrispondente valore p è 0,0 . Poiché questo valore p è inferiore a 0,05, rifiutiamo l’ipotesi nulla. Pertanto, abbiamo prove sufficienti per sostenere che questi dati mostrano un’asimmetria e una curtosi significativamente diverse rispetto a una distribuzione normale.

Anche questo risultato non dovrebbe sorprendere poiché i dati che abbiamo generato sono composti da 5.000 variabili casuali che seguono una distribuzione uniforme, che dovrebbe avere un’asimmetria e una curtosi molto diverse da una distribuzione normale.

Quando utilizzare il test Jarque-Bera

Il test Jarque-Bera viene tipicamente utilizzato per insiemi di dati di grandi dimensioni (n > 2.000) in cui altri test di normalità (come il test Shapiro-Wilk) sono inaffidabili.

Questo è un test appropriato da utilizzare prima di eseguire un’analisi in cui si presuppone che il set di dati segua una distribuzione normale. Un test Jarque-Bera può dirti se questa ipotesi è soddisfatta o meno.

Aggiungi un commento

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