Learn R Programming

strucchange (version 1.5-1)

sctest.default: Structural Change Tests in Parametric Models

Description

Performs model-based tests for structural change (or parameter instability) in parametric models.

Usage

# S3 method for default
sctest(x, order.by = NULL, functional = maxBB,
  vcov = NULL, scores = estfun, decorrelate = TRUE, sandwich = TRUE,
  parm = NULL, plot = FALSE, from = 0.1, to = NULL, nobs = NULL,
  nrep = 50000, width = 0.15, xlab = NULL, …)

Arguments

x

a model object. The model class can in principle be arbitrary but needs to provide suitable methods for extracting the scores and associated variance-covariance matrix vcov.

order.by

either a vector z or a formula with a single explanatory variable like ~ z. The observations in the model are ordered by the size of z. If set to NULL (the default) the observations are assumed to be ordered (e.g., a time series).

functional

either a character specification of the functional to be used or an efpFunctional object. For a list of functionals see the details.

vcov

a function to extract the covariance matrix for the coefficients of the fitted model: vcov(x, order.by = order.by, data = data). Alternatively, the character string "info", for details see below.

scores

a function which extracts the scores or estimating function from the fitted object: scores(x), by default this is estfun.

decorrelate

logical. Should the process be decorrelated?

sandwich

logical. Is the function vcov the full sandwich estimator or only the meat?

parm

integer or character specifying the component of the estimating functions which should be used (by default all components are used).

plot

logical. Should the result of the test also be visualized?

from, to

numeric. In case the functional is "supLM" (or equivalently "maxLM"), from and to can be passed to the supLM functional.

nobs, nrep

numeric. In case the functional is "maxLMo", nobs and nrep are passed to the catL2BB functional.

width

numeric. In case the functional is "MOSUM", the bandwidth width is passed to the maxMOSUM functional.

xlab, …

graphical parameters passed to the plot method (in case plot = TRUE).

Value

An object of class "htest" containing:

statistic

the test statistic,

p.value

the corresponding p value,

method

a character string with the method used,

data.name

a character string with the data name.

Details

sctest.default is a convenience interface to gefp for structural change tests (or parameter instability tests) in general parametric models. It proceeds in the following steps:

  1. The generalized empirical fluctuation process (or score-based CUSUM process) is computed via scus <- gefp(x, fit = NULL, …) where comprises the arguments order.by, vcov, scores, decorrelate, sandwich, parm that are simply passed on to gefp.

  2. The empirical fluctuation process is visualized (if plot = TRUE) via plot(scus, functional = functional, …).

  3. The empirical fluctuation is assessed by the corresponding significance test via sctest(scus, functional = functional).

The main motivation for prociding the convenience interface is that these three steps can be easily carried out in one go along with a two convenience options:

  1. By default, the covariance is computed by an outer-product of gradients estimator just as in gefp. This is always available based on the scores. Additionally, by setting vcov = "info", the corresponding information matrix can be used. Then the average information is assumed to be provided by the vcov method for the model class. (Note that this is only sensible for models estimated by maximum likelihood.)

  2. Instead of providing the functional by an efpFunctional object, the test labels employed by Merkle and Zeileis (2013) and Merkle, Fan, and Zeileis (2013) can be used for convenience. Namely, for continuous numeric orderings, the following functionals are available: functional = "DM" or "dmax" provides the double-maximum test (maxBB). "CvM" is the Cramer-von Mises functional meanL2BB. "supLM" or equivalently "maxLM" is Andrews' supLM test (supLM). "MOSUM" or "maxMOSUM" is the MOSUM functional (maxMOSUM), and "range" is the range functional rangeBB. Furthermore, several functionals suitable for (ordered) categorical order.by variables are provided: "LMuo" is the unordered LM test (catL2BB), "WDMo" is the weighted double-maximum test for ordered variables (ordwmax), and "maxLMo" is the maxLM test for ordered variables (ordL2BB).

The theoretical model class is introduced in Zeileis and Hornik (2007) with a unifying view in Zeileis (2005), especially from an econometric perspective. Zeileis (2006) introduces the underling computational tools gefp and efpFunctional.

Merkle and Zeileis (2013) discuss the methods in the context of measurement invariance which is particularly relevant to psychometric models for cross section data. Merkle, Fan, and Zeileis (2014) extend the results to ordered categorical variables.

Zeileis, Shah, and Patnaik (2013) provide a unifying discussion in the context of time series methods, specifically in financial econometrics.

References

Merkle E.C., Zeileis A. (2013), Tests of Measurement Invariance without Subgroups: A Generalization of Classical Methods. Psychometrika, 78(1), 59--82. doi:10.1007/S11336-012-9302-4

Merkle E.C., Fan J., Zeileis A. (2014), Testing for Measurement Invariance with Respect to an Ordinal Variable. Psychometrika, 79(4), 569--584. doi:10.1007/S11336-013-9376-7.

Zeileis A. (2005), A Unified Approach to Structural Change Tests Based on ML Scores, F Statistics, and OLS Residuals. Econometric Reviews, 24, 445--466. doi:10.1080/07474930500406053.

Zeileis A. (2006), Implementing a Class of Structural Change Tests: An Econometric Computing Approach. Computational Statistics & Data Analysis, 50, 2987--3008. doi:10.1016/j.csda.2005.07.001.

Zeileis A., Hornik K. (2007), Generalized M-Fluctuation Tests for Parameter Instability, Statistica Neerlandica, 61, 488--508. doi:10.1111/j.1467-9574.2007.00371.x.

Zeileis A., Shah A., Patnaik I. (2010), Testing, Monitoring, and Dating Structural Changes in Exchange Rate Regimes, Computational Statistics and Data Analysis, 54(6), 1696--1706. doi:10.1016/j.csda.2009.12.005.

See Also

gefp, efpFunctional

Examples

Run this code
# NOT RUN {
## Zeileis and Hornik (2007), Section 5.3, Figure 6
data("Grossarl")
m <- glm(cbind(illegitimate, legitimate) ~ 1, family = binomial, data = Grossarl,
  subset = time(fraction) <= 1800)
sctest(m, order.by = 1700:1800, functional = "CvM")
# }

Run the code above in your browser using DataLab