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.