Skip to contents

This function tests for super exogeneity (parameter invariance) of the model. Parameter invariance is a key component of Super Exogeneity, which was first introduced in Engle, Hendry, and Richard (1983; Econometrica). This test runs an indicator saturation model for each independent variable that is present in the initial.model object - these individual models are called the marginal models. If any outliers or step-shifts are detected using the isat function from the gets package in the marginal models, then these indicators are added to the initial model, called the conditional model. Any pre-existing indicators from the initial model are removed, as otherwise the power of the test would be reduced. The conditional model is then used to run a linear regression and to obtain an F-Stat statistic to determine whether the shocks detected in the marginal models affect the conditional model.

Usage

super.exogeneity(initial.model, saturation.tpval = 0.01, quiet = FALSE)

Arguments

initial.model

An object of class isat (i.e. from the gets package) that contains the initial model

saturation.tpval

The target p-value of the saturation methods (e.g. SIS and IIS, see the 'isat' function in the 'gets' package). Default is 0.01.

quiet

Logical. Should messages about the forecast procedure be suppressed?

Value

An h-test object with the results of the super exogeneity test

References

Engle, R. F., Hendry, D. F., & Richard, J. F. (1983). Exogeneity. Econometrica: Journal of the Econometric Society, 73-85.

Engle, R. F., & Hendry, D. F. (1993). Testing superexogeneity and invariance in regression models. Journal of Econometrics, 56(1-2), 119-139.

Hendry, D. F., & Santos, C., 'An Automatic Test of Super Exogeneity', in Bollerslev, T., Russell, J., & Watson, M. (Eds.). (2010). Volatility and time series econometrics: essays in honor of Robert Engle. OUP oxford.

Castle, J. L., Hendry, D. F., & Martinez, A. B. (2017). Evaluating forecasts, narratives and policy using a test of invariance. Econometrics, 5(3), 39.

Examples

#load Hoover and Perez (1999) data:
data(hpdata, package = "gets")

##run isat with step impulse saturation on two lags and a constant 1 percent significance level:
is.model <- gets::isat(
  y = hpdata$GCQ,
  mxreg = hpdata[,"GYDQ", drop = FALSE],
  ar = 1:2,
  sis = TRUE,
  t.pval = 0.01
)
#> 
#> NOTE: quantmod::as.zoo.data.frame() is deprecated
#>   Use as.zoo(x, order.by = as.Date(rownames(x))) instead.
#>   This note is printed once. To see it for every call, set
#>   options(quantmod.deprecate.as.zoo.data.frame = TRUE)
#> Error in charToDate(x): character string is not in a standard unambiguous format

super.exogeneity(is.model)
#> Error: object 'is.model' not found