Functionals for Fluctuation Processes
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 |
boundary |
a boundary function. |
computePval |
a function for computing p values. If neither
|
computeCritval |
a function for computing critical values. If neither
|
plotProcess |
a function for plotting the empirical process,
if set to |
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 |
h |
bandwidth parameter for increment processes. |
probs |
numeric vector specifying for which probabilities critical values should be tabulated. |
efpFunctional
s for many frequently used test statistics are provided:
maxBB
for the double maximum statistic, 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 (2006). Based on
Merkle, Fan, and Zeileis (2014), further efpFunctional
generators for
aggregating along (ordered) categorical variables have been added:
catL2BB
, ordL2BB
, ordwmax
.
For setting up an efpFunctional
, the functions
computeStatistic
, computePval
, and plotProcess
need to be
supplied. These should have the following interfaces:
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.
efpFunctional
returns a list of class "efpFunctional"
with components including:
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. |
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.
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))
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.