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.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *