Je souhaite effectuer un test Jarque-Bera avec le package tseries
sur un data.frame
avec environ 200 colonnes mais cela ne fonctionne pas avec les valeurs NA.
Mon data.frame
ressemble à ceci:
library(tseries) JB <- lapply(2:6, function(i) jarque.bera.test(d1[,i]))
Sortie:
Time x1 x2 x3 x4 x5 1 2019-02-15 NA 30 NA 30 12 2 2019-02-16 NA 19 23 28 18 3 2019-02-17 17 22 22 23 17 4 2019-02-18 29 20 27 24 16 5 2019-02-19 27 11 21 10 30 6 2019-02-20 10 24 26 17 26
J'ai essayé:
d1 <- structure(list(Time=structure(17942:17947, class="Date"), x1=c(NA, NA, 17L, 29L, 27L, 10L), x2=c(30L, 19L, 22L, 20L, 11L, 24L), x3=c(NA, 23L, 22L, 27L, 21L, 26L), x4=c(30L, 28L, 23L, 24L, 10L, 17L), x5=c(12L, 18L, 17L, 16L, 30L, 26L)), row.names=c(NA, 6L), class="data.frame")
mais cela me donne le message d'erreur suivant:
Erreur dans jarque.bera.test (d1 [ i]): NA en x
De plus, JB n'a pas fonctionné .
Les NA ne sont qu'au début de la série chronologique. Je cherche donc un moyen d'ignorer les NA au début de la série chronologique.
Merci!
3 Réponses :
Vous pouvez essayer d'utiliser cette version du test Jarque Bera des DescTools, qui permet de supprimer NA (il s'agit d'une fusion du jarque.bera.test des packages tseries).
lapply(2:6, function(i) DescTools::JarqueBeraTest(x = d1[,i], method="chisq", na.rm=TRUE))
Dans votre cas:
JarqueBeraTest(x, robust = TRUE, method = c("chisq", "mc"), N = 0, na.rm = FALSE)
Voici une solution possible en utilisant la bibliothèque R tseries:
library(tseries) # remove NAs d1.cc <- d1[complete.cases(d1),] # form time series d1.cc.ts <- ts(d1.cc) # run jarque.bera.test JB <- lapply(1:nrow(d1.cc), function(i) jarque.bera.test(d1.cc.ts[i,]))
Vérifiez que les résultats JB sont raisonnables.
Ici, l'implémentation de Matrix Test
de Jarque-Bera conviendrait également:
col_jarquebera(d1[,-1]) obs skewness kurtosis df statistic pvalue x1 4 -0.2686809 1.406646 2 0.47125566 0.7900747 x2 6 -0.2249531 2.602041 2 0.09019679 0.9559034 x3 5 0.2436883 1.396859 2 0.58491604 0.7464266 x4 6 -0.6027177 2.139432 2 0.54841298 0.7601751 x5 6 0.5090893 1.854664 2 0.58712051 0.7456043