Comment effectuer un test Jarque-Bera dans R



Le test de Jarque-Bera est un test d’ajustement qui détermine si les données d’échantillon présentent ou non une asymétrie et un aplatissement qui correspondent à une distribution normale .

La statistique du test de Jarque-Bera est toujours un nombre positif et si elle est loin de zéro, cela indique que les données de l’échantillon n’ont pas une distribution normale.

La statistique de test JB est définie comme :

JB =[(n-k+1) / 6] * [S 2 + (0,25*(C-3) 2 )]

n est le nombre d’observations dans l’échantillon, k est le nombre de régresseurs (k = 1 s’il n’est pas utilisé dans le contexte de la régression), S est l’asymétrie de l’échantillon et C est l’aplatissement de l’échantillon.

Sous l’hypothèse nulle de normalité, JB ~ X 2 (2)

Ce tutoriel explique comment réaliser un test de Jarque-Bera dans R.

Test de Jarque-Bera dans R

Pour effectuer un test Jarque-Bera pour un exemple d’ensemble de données, nous pouvons utiliser le package tseries :

#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)

Cela génère la sortie suivante :

Cela nous indique que la statistique du test est de 0,67446 et que la valeur p du test est de 0,7137. Dans ce cas, nous ne pourrions pas rejeter l’hypothèse nulle selon laquelle les données sont normalement distribuées.

Ce résultat ne devrait pas être surprenant puisque l’ensemble de données que nous avons généré est composé de 100 variables aléatoires qui suivent une distribution normale.

Considérons plutôt si nous générions un ensemble de données composé d’une liste de 100 variables aléatoires uniformément distribuées :

#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)

Cela génère la sortie suivante :

Cela nous indique que la statistique du test est de 8,0807 et que la valeur p du test est de 0,01759. Dans ce cas, nous rejetterions l’hypothèse nulle selon laquelle les données sont normalement distribuées. Nous disposons de suffisamment de preuves pour affirmer que les données de cet exemple ne sont pas normalement distribuées.

Ce résultat ne devrait pas être surprenant puisque l’ensemble de données que nous avons généré est composé de 100 variables aléatoires qui suivent une distribution uniforme. Après tout, les données sont censées être distribuées uniformément, et non normalement.

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *