efpFunctional {strucchange} | R Documentation |
Computes an object for aggregating, plotting and testing empirical fluctuation processes.
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))
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. |
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
"gefp"
and alpha
the level of significance for any boundaries or critical
values to be visualized.
efpFunctional
s 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).
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. |
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.
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))