jarque.bera.test(x, fc = 3.5, ...)
xis not an
Arimaobject. See details.
htestobject for the null hypothesis that the kurtosis is $3$, the skewness is $0$ and a test combining both the kurtosis and the skewness to test for the normality of the input data.
jarque.bera.testavailable in package
The input can be a time series of residuals,
jarque.bera.test.Arima from which the residuals
In the former case the whole input series of residuals is used.
In the latter case,
the first $n0$ (defined below) residuals are omitted if they are are equal to zero
or if any of them are in absolute value larger than
the standard deviation of the remaining residuals.
$n0$ is set equal to
x$arma + x$arma * x$arma, i.e.
the number of regular differences times the periodicity of the data times
the number of seasonal differences. If $n0$ happens to be equal to $1$
it is set to $2$.
If the latter trimming operation is not desired,
fc can be set to a high value to ensure the complete
series of residuals in considered; or the function can be called
Missing observations are omitted.
# fit an ARIMA model to the HICP 011600 series # ARIMA(0,1,0)(2,0,1) was chosen by forecast::auto.arima(ic = "bic") # normality of the residuals is rejected at the 5% significance level # due to an excess of kurtosis data("hicp") y <- log(hicp[["011600"]]) fit1 <- arima(y, order = c(0, 1, 0), seasonal = list(order = c(2, 0, 1))) jarque.bera.test(fit1) jarque.bera.test(residuals(fit1)) # fit ARIMA model for the same series including outliers that were # detected by "tsoutliers" and for the model chosen by "auto.arima" # normality of the residuals is not rejected at the 5% significance level # after including the presence of outliers mo <- outliers(c("AO", "AO", "LS", "LS"), c(79, 210, 85, 225)) xreg <- outliers.effects(mo, length(y)) fit2 <- arima(y, order = c(1, 1, 0), seasonal = list(order = c(2, 0, 2)), xreg = xreg) jarque.bera.test(fit2)
Run the code above in your browser using DataCamp Workspace