So führen Sie einen Jarque-Bera-Test in Python durch

Von Fabian
Kategorie: Python
Tags: Regression
Lesezeit: 3 Minuten

Der Jarque-Bera-Test ist ein Anpassungstest, bei dem festgestellt wird, ob die Probendaten eine Schiefe und Kurtosis aufweisen, die einer Normalverteilung entsprechen.

Die Teststatistik des Jarque-Bera-Tests ist immer eine positive Zahl. Je weiter sie von Null entfernt ist, desto mehr Beweise dafür, dass die Probendaten keiner Normalverteilung folgen.

In diesem Tutorial wird erklärt, wie Sie einen Jarque-Bera-Test in Python durchführen.

So führen Sie einen Jarque-Bera-Test in Python durch

Um einen Jarque-Bera-Test in Python durchzuführen, können wir die Funktion jarque_bera aus der Scipy-Bibliothek verwenden, die die folgende Syntax verwendet:

jarque_bera(x)

wobei:

  • x: eine Reihe von Beobachtungen

Diese Funktion gibt eine Teststatistik und einen entsprechenden p-Wert zurück.

Beispiel 1

Angenommen, wir führen einen Jarque-Bera-Test mit einer Liste von 5.000 Werten durch, die einer Normalverteilung folgen:

import numpy as np
import scipy.stats as stats

# Generieren Sie ein Array mit 5000 Werten, die einer Standardnormalverteilung folgen
np.random.seed (0)
data = np.random.normal(0, 1, 5000)

# Jarque-Bera-Test durchführen
stats.jarque_bera(data)

(statistic = 1,2287, pvalue = 0,54098)

Die Teststatistik ist 1,2287 und der entsprechende p-Wert ist 0,54098. Da dieser p-Wert nicht kleiner als 0,05 ist, können wir die Nullhypothese nicht ablehnen. Wir haben nicht genügend Beweise dafür, dass diese Daten eine Schiefe und Kurtosis aufweisen, die sich erheblich von einer Normalverteilung unterscheiden.

Dieses Ergebnis sollte nicht überraschen, da die von uns generierten Daten aus 5000 Zufallsvariablen bestehen, die einer Normalverteilung folgen.

Beispiel 2

Nehmen wir nun an, wir führen einen Jarque-Bera-Test mit einer Liste von 5.000 Werten durch, die einer gleichmäßigen Verteilung folgen:

import numpy as np
import scipy.stats as stats

# Generieren Sie ein Array mit 5000 Werten, die einer gleichmäßigen Verteilung folgen
np.random.seed(0)
data = np.random.uniform(0, 1, 5000)

# Jarque-Bera-Test durchführen
stats.jarque_bera(data)

(statistic = 300,1043, pvalue = 0,0)

Die Teststatistik ist 300.1043 und der entsprechende p-Wert ist 0.0. Da dieser p-Wert kleiner als 0,05 ist, lehnen wir die Nullhypothese ab. Wir haben also genügend Beweise, um zu sagen, dass diese Daten eine Schiefe und Kurtosis aufweisen, die sich erheblich von einer Normalverteilung unterscheidet.

Dieses Ergebnis sollte auch nicht überraschen, da die von uns generierten Daten aus 5000 Zufallsvariablen bestehen, die einer gleichmäßigen Verteilung folgen, deren Schiefe und Kurtosis sich stark von einer Normalverteilung unterscheiden sollten.

Wann ist der Jarque-Bera-Test anzuwenden?

Der Jarque-Bera-Test wird normalerweise für große Datensätze (n> 2000) verwendet, bei denen andere Tests auf Normalverteilung (wie der Shapiro-Wilk-Test) unzuverlässig sind.

Dies ist ein geeigneter Test, bevor Sie eine Analyse durchführen, bei der davon ausgegangen wird, dass der Datensatz einer Normalverteilung folgt. Ein Jarque-Bera-Test kann Ihnen sagen, ob diese Annahme erfüllt ist oder nicht.

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: