Een jarque-bera-test uitvoeren in r
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 als deze verre van nul is, geeft dit aan dat de steekproefgegevens geen normale verdeling hebben.
De JB- teststatistiek wordt gedefinieerd als:
JB =[(n-k+1) / 6] * [S 2 + (0,25*(C-3) 2 )]
waarbij n het aantal waarnemingen in de steekproef is, k het aantal regressoren is (k = 1 indien niet gebruikt in de context van regressie), S de scheefheid van de steekproef is en C de kurtosis van de steekproef is.
Onder de nulhypothese van normaliteit stelt JB ~
In deze tutorial wordt uitgelegd hoe u een Jarque-Bera-test uitvoert in R.
Jarque-Bera-test in R
Om een Jarque-Bera-test uit te voeren voor een voorbeelddataset, kunnen we het tseries- pakket gebruiken:
#install (if not already installed) and load tseries package if(!require(tseries)){install.packages('tseries')} #generate a list of 100 normally distributed random variables dataset <- rnorm(100) #conduct Jarque-Bera test jarque.bera.test(dataset)
Dit genereert de volgende uitvoer:
Dit vertelt ons dat de teststatistiek 0,67446 is en de p-waarde van de test 0,7137. In dit geval zouden we de nulhypothese dat de gegevens normaal verdeeld zijn, niet kunnen verwerpen.
Dit resultaat zou geen verrassing moeten zijn, aangezien de dataset die we hebben gegenereerd bestaat uit 100 willekeurige variabelen die een normale verdeling volgen.
Overweeg in plaats daarvan of we een dataset hebben gegenereerd die bestaat uit een lijst van 100 uniform verdeelde willekeurige variabelen:
#install (if not already installed) and load tseries package if(!require(tseries)){install.packages('tseries')} #generate a list of 100 uniformly distributed random variables dataset <- runif(100) #conduct Jarque-Bera test jarque.bera.test(dataset)
Dit genereert de volgende uitvoer:
Dit vertelt ons dat de teststatistiek 8,0807 is en de p-waarde van de test 0,01759. In dit geval zouden we de nulhypothese verwerpen dat de gegevens normaal verdeeld zijn. We hebben voldoende bewijs om te zeggen dat de gegevens in dit voorbeeld niet normaal verdeeld zijn.
Dit resultaat zou geen verrassing moeten zijn, aangezien de dataset die we hebben gegenereerd bestaat uit 100 willekeurige variabelen die een uniforme verdeling volgen. Het is immers de bedoeling dat gegevens uniform worden gedistribueerd, en niet normaal.