Perform Engle's ARCH LM test¶
Source: man/performArchLMTest.Rd · Help: ?performArchLMTest
Regresses squared residuals on their lags to detect ARCH effects.
Usage¶
Arguments¶
model- an object of class
lm. data- optional data frame the model was fitted to. When
NULL, the default, the model frame ofmodelis used. The statistic is computed from the residuals ofmodel, sodatadoes not change the result; it is accepted so that every test takes(model, data, ...). Before 0.15.0 the second argument waslags: a number passed there by position is still read aslags, with a warning that shows the new call; that form stops working in 1.0.0. lags- number of lags to include.
Value¶
An object of class htest containing the test statistic, p-value and degrees of freedom.
Details¶
The statistic is \(n R^2\) from an auxiliary regression of \(e_t^2\) on its lagged values, where \(R^2\) is the coefficient of determination. Under the null of no ARCH effects it follows a chi-square distribution with degrees of freedom equal to the number of lags.
Supported models¶
It accepts an lm and a glm with the Gaussian family and the identity link, unweighted
or with positive weights, a fitWLS() fit and, since 0.16.0, a rank-deficient fit, which it
tests on the estimable part of its design: it gives the value of the same model fitted without the
aliased columns. It refuses a glm of another family or link, a survey::svyglm() fit, a
fit with a zero weight, a coefficient that is not finite for another reason, and data that
lack rows or variables of the fit. Since 0.16.0 it is built on the model context, and also refuses
a multivariate lm ("needs a model with one response"), a fit whose coefficients, residuals or
weights were changed after the fit, and a fit with model = FALSE whose model frame, rebuilt
from the data it was fitted to, no longer holds its response, because those data changed after the
fit, with or without data. A fit with model = FALSE whose data are gone is tested on
data that give its response and fitted values, and refused without them. The test reads
nothing from data, and since 0.16.0 matches it to the observations of the fit as every
test does: data with row names of their own in any order, data that number their rows (a tibble,
a data.table) in the order of the fit; other numbered data, rows in front of those of the fit and
repeated row names are refused, where it gave the value of the fit. Which model each test
accepts, and why, is set out in
test_results, under Supported models.
References¶
Engle, R. F. (1982). Autoregressive conditional heteroskedasticity with estimates of the variance of United Kingdom inflation. Econometrica, 50(4), 987–1007. doi:10.2307/1912773
Hamilton, J. D. (1994). Time Series Analysis. Princeton University Press.