efpFunctional {strucchange}R Documentation

Functionals for Fluctuation Processes

Description

Computes an object for aggregating, plotting and testing empirical fluctuation processes.

Usage

efpFunctional(functional = list(comp = function(x) max(abs(x)), time = max),
  boundary = function(x) rep(1, length(x)),
  computePval = NULL, computeCritval = NULL,
  plotProcess = NULL, lim.process = "Brownian bridge",
  nobs = 10000, nrep = 50000, nproc = 1:20, h = 0.5,
  probs = c(0:84/100, 850:1000/1000))

Arguments

functional either a function for aggregating fluctuation processes or a list with two functions names "comp" and "time".
boundary a boundary function.
computePval a function for computing p values. If neither computePval nor computeCritval are specified critical values are simulated with settings as specified below.
computeCritval a function for computing critical values. If neither computePval nor computeCritval are specified critical values are simulated with settings as specified below.
plotProcess a function for plotting the empirical process, if set to NULL a suitable function is set up.
lim.process a string specifying the limiting process.
nobs integer specifying the number of observations of each Brownian motion simulated.
nrep integer specifying the number of replications.
nproc integer specifying for which number of processes Brownian motions should be simulated. If set to NULL only nproc = 1 is used and all other values are derived from a Bonferroni correction.
h bandwidth parameter for increment processes.
probs numeric vector specifying for which probabilities critical values should be tabulated.

Details

efpFunctional computes an object of class "efpFunctional" which should know how to do inference based on empirical fluctuation processes (currently only for gefp objects and not yet for efp objects) and how to visualize the corresponding processes. In particular, it has slots for the functions computeStatistic, computePval and plotProcess. These should have the following interfaces: {itemize

computeStatistic
should take a single argument which is the process itself, i.e., essentially a n x k matrix where n is the number of observations and k the number of processes (regressors).
computePval
should take two arguments: a scalar test statistic and the number of processes k
plotProcess
should take two arguments: an object of class "gefp" and alpha the level of significance for any boundaries or critical values to be visualized.
}

efpFunctionals for many frequently used test statistics are provided: maxBB for the double maximum function, meanL2BB for the Cramer-von Mises statistic, or rangeBB for the range statistic. Furthermore, supLM generates an object of class "efpFunctional" for a certain trimming parameter, see the examples. More details can be found in Zeileis (2004).

Value

efpFunctional returns a list of class "efpFunctional" with components inlcuding

plotProcess a function for plotting empirical fluctuation processes,
computeStatistic a function for computing a test statistic from an empirical fluctuation process,
computePval a function for computing the corresponding p value,
computeCritval a function for computing critical values.

References

Zeileis A., Hornik K. (2003), Generalized M-Fluctuation Tests for Parameter Instability, Report 80, SFB "Adaptive Information Systems and Modelling in Economics and Management Science", Vienna University of Economics, http://www.wu-wien.ac.at/am/reports.htm#80.

Zeileis A. (2004), Implementing a Class of Structural Change Tests: An Econometric Computing Approach. Report 7, Department of Statistics and Mathematics, Wirtschaftsuniversität Wien, Research Report Series, http://epub.wu-wien.ac.at/dyn/openURL?id=oai:epub.wu-wien.ac.at:epub-wu-01_750.

Zeileis A. (2005), A Unified Approach to Structural Change Tests Based on F Statistics, OLS Residuals, and ML Scores. Report 13, Department of Statistics and Mathematics, Wirtschaftsuniversität Wien, Research Report Series, http://epub.wu-wien.ac.at/dyn/openURL?id=oai:epub.wu-wien.ac.at:epub-wu-01_7d1.

See Also

efp, efpFunctional

Examples


if("package:sandwich" %in% search() || require(sandwich)) {
  data(BostonHomicide)
  gcus <- gefp(homicides ~ 1, family = poisson, vcov = kernHAC,
               data = BostonHomicide)
  plot(gcus, functional = meanL2BB)        
  gcus
  sctest(gcus, functional = meanL2BB)
}

y <- rnorm(1000)
x1 <- runif(1000)
x2 <- runif(1000)

## supWald statistic computed by Fstats()
fs <- Fstats(y ~ x1 + x2, from = 0.1)
plot(fs)
sctest(fs)

## compare with supLM statistic
scus <- gefp(y ~ x1 + x2, fit = lm)
plot(scus, functional = supLM(0.1))
sctest(scus, functional = supLM(0.1))

## seatbelt data
data(UKDriverDeaths)
seatbelt <- log10(UKDriverDeaths)
seatbelt <- cbind(seatbelt, lag(seatbelt, k = -1), lag(seatbelt, k = -12))
colnames(seatbelt) <- c("y", "ylag1", "ylag12")
seatbelt <- window(seatbelt, start = c(1970, 1), end = c(1984,12))

scus.seat <- gefp(y ~ ylag1 + ylag12, data = seatbelt)

## double maximum test
plot(scus.seat)
## range test
plot(scus.seat, functional = rangeBB)
## Cramer-von Mises statistic (Nyblom-Hansen test)
plot(scus.seat, functional = meanL2BB)
## supLM test
plot(scus.seat, functional = supLM(0.1))

[Package strucchange version 1.2-12 Index]