Jak wykonać test jarque-bera w pythonie
Test Jarque-Bera to test dobroci dopasowania, który określa, czy przykładowe dane wykazują skośność i kurtozę odpowiadające rozkładowi normalnemu.
Statystyka testu Jarque-Bera jest zawsze liczbą dodatnią i im dalej od zera, tym więcej jest dowodów na to, że przykładowe dane nie mają rozkładu normalnego.
W tym samouczku wyjaśniono, jak wykonać test Jarque-Bera w Pythonie.
Jak wykonać test Jarque-Bera w Pythonie
Aby przeprowadzić test Jarque-Bera w Pythonie, możesz użyć funkcji jarque_bera z biblioteki Scipy, która wykorzystuje następującą składnię:
jarque_bera(x)
Złoto:
- x: tabela obserwacji
Ta funkcja zwraca statystykę testową i odpowiadającą jej wartość p.
Przykład 1
Załóżmy, że wykonujemy test Jarque’a-Bera na liście 5000 wartości o rozkładzie normalnym:
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)
Statystyka testowa wynosi 1,2287 , a odpowiadająca jej wartość p wynosi 0,54098 . Ponieważ ta wartość p jest nie mniejsza niż 0,05, nie możemy odrzucić hipotezy zerowej. Nie mamy wystarczających dowodów, aby stwierdzić, że dane te wykazują skośność i kurtozę, które znacznie różnią się od rozkładu normalnego.
Wynik ten nie powinien być zaskakujący, ponieważ wygenerowane przez nas dane składają się z 5000 zmiennych losowych o rozkładzie normalnym.
Przykład 2
Załóżmy teraz, że wykonujemy test Jarque’a-Bera na liście 5000 wartości o rozkładzie równomiernym:
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)
Statystyka testowa wynosi 300,1043 , a odpowiadająca jej wartość p wynosi 0,0 . Ponieważ ta wartość p jest mniejsza niż 0,05, odrzucamy hipotezę zerową. Mamy zatem wystarczające dowody, aby argumentować, że dane te wykazują znacząco inną skośność i kurtozę niż rozkład normalny.
Wynik ten również nie powinien być zaskakujący, ponieważ wygenerowane przez nas dane składają się z 5000 zmiennych losowych o rozkładzie jednolitym, który powinien mieć skośność i kurtozę bardzo różniącą się od rozkładu normalnego.
Kiedy stosować test Jarque-Bera
Test Jarque-Bera jest zwykle stosowany w przypadku dużych zbiorów danych (n > 2000), w przypadku których inne testy normalności (takie jak test Shapiro-Wilka) są zawodne.
Jest to odpowiedni test, który można zastosować przed wykonaniem analizy, w której zakłada się, że zbiór danych ma rozkład normalny. Test Jarque-Bera może powiedzieć, czy to założenie jest spełnione, czy nie.