Hoe u een jarque-bera-test uitvoert in python


De Jarque-Bera-test is een goodness-of-fit-test die bepaalt of de steekproefgegevens al dan niet scheefheid en kurtosis vertonen die overeenkomen met een normale verdeling.

De Jarque-Bera-teststatistiek is altijd een positief getal en hoe verder deze van nul verwijderd is, hoe meer bewijs er is dat de steekproefgegevens geen normale verdeling volgen.

In deze tutorial wordt uitgelegd hoe u een Jarque-Bera-test uitvoert in Python.

Hoe u een Jarque-Bera-test uitvoert in Python

Om een Jarque-Bera-test in Python uit te voeren, kunt u de jarque_bera-functie uit de Scipy-bibliotheek gebruiken, die de volgende syntaxis gebruikt:

jarque_bera(x)

Goud:

  • x: een tabel met observaties

Deze functie retourneert een teststatistiek en een bijbehorende p-waarde.

voorbeeld 1

Stel dat we een Jarque-Bera-test uitvoeren op een lijst van 5.000 waarden die een normale verdeling volgt:

 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)

De teststatistiek is 1,2287 en de overeenkomstige p-waarde is 0,54098 . Omdat deze p-waarde niet kleiner is dan 0,05, slagen we er niet in de nulhypothese te verwerpen. We hebben niet genoeg bewijs om te zeggen dat deze gegevens scheefheid en kurtosis vertonen die significant verschillen van een normale verdeling.

Dit resultaat hoeft geen verrassing te zijn, aangezien de gegevens die we hebben gegenereerd bestaan uit 5.000 willekeurige variabelen die een normale verdeling volgen.

Voorbeeld 2

Stel nu dat we een Jarque-Bera-test uitvoeren op een lijst van 5.000 waarden die een uniforme verdeling volgen:

 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)

De teststatistiek is 300,1043 en de overeenkomstige p-waarde is 0,0 . Omdat deze p-waarde kleiner is dan 0,05, verwerpen we de nulhypothese. We hebben dus voldoende bewijs om te beweren dat deze gegevens een significant andere scheefheid en kurtosis vertonen dan een normale verdeling.

Dit resultaat zou ook niet verrassend moeten zijn, aangezien de gegevens die we hebben gegenereerd zijn samengesteld uit 5.000 willekeurige variabelen die een uniforme verdeling volgen, die een scheefheid en kurtosis zou moeten hebben die heel anders zijn dan een normale verdeling.

Wanneer moet u de Jarque-Bera-test gebruiken?

De Jarque-Bera-test wordt doorgaans gebruikt voor grote datasets (n> 2.000) waarin andere normaliteitstests (zoals de Shapiro-Wilk-test) onbetrouwbaar zijn.

Dit is een geschikte test om te gebruiken voordat u een analyse uitvoert waarbij wordt aangenomen dat de dataset een normale verdeling volgt. Een Jarque-Bera-test kan u vertellen of aan deze veronderstelling is voldaan of niet.

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert