Code repository changed from R-Forge to Codeberg at: https://codeberg.org/zeileis/strucchange/
Added altdoc page with overview and documentation at: https://zeileis.codeberg.page/strucchange/
A new hands-on introduction to the package was written for the
altdoc page which is also available as:
vignette("strucchange-seatbelt", package = "strucchange")
Fixed long-standing issue of multiple definitions of
computeEmpProc() within mefp() with different
arguments. Now all definitions have all of the arguments (set to
NULL by default) and check that only the required arguments
are specified.
Similarly the issue of multiple definitions of
plotProcess() with different arguments in
efpFunctional() has been fixed. Now all arguments are the
same and differences in the defaults are resolved within the different
functions, also catching potentially erroneous specifications.
Updated structure() calls to use
names = ... instead of .Names = ...
etc.
Fixups for R CMD check on different platforms (thanks to support from Kurt Hornik and Tomas Kalibera).
Fixed auto-detection of problems with sorting in
summary() methods of breakpointsfull objects
(reported by Spencer Graves). In some extreme cases with many
breakpoints and very short segments, the sort = TRUE
approach of displaying the breakpoints fails which was not
reported correctly automatically.
Added lrvar = FALSE argument to efp()
so that optionally a long-run variance estimator (Andrews or Newey-West)
instead of the standard OLS estimator can be used for the error
variance.
Added vcov. = NULL argument to efp() so
that optionally other covariance matrix estimators can be plugged into
RE and ME tests (e.g., sandwich(), kernHAC(),
NeweyWest(), etc.).
The default recresid() gained an argument
qr.tol = 1e-7 which allows to pass another tolerance to
lm.fit() for detecting linear dependencies in (small)
subsamples. Furthermore, an argument engine = c("R", "C")
has been added along with an alternative faster C implementation (by
Nikolaus Umlauf).
The formula method of breakpoints() now passes
... to recresid(), e.g., for the
qr.tol and engine arguments above.
The breaks argument of the
breakpoints() formula argument is now checked to be at
least 1.
breakpoints(..., hpc = "foreach") now also works if
the foreach package is not attached.
Improved support for formulas like y ~ . in
efp(), Fstats(), and
breakpoints() (suggested by Matthieu Stigler).
Bug fix in gefp(..., decorrelate = FALSE). Scaling
is done with the square root of the diagnoal of the variance - as
opposed to the diagonal of the square root of the variance (reported by
Dries Debeer).
ordL2BB() now uses a direct simulation method based
on mvtnorm::rmvnorm() which is much faster, making the
computation of p values and critical values for the ordinal maxLM
statistic much faster and feasible “on the fly”.
Reduced number of significant digits in the
summary() for breakpoints to
getOption("digits") - 3.
Reference output updated for recent versions of R.
Added new efpFunctional generators for conducting
various types of structural change tests based on empirical fluctuation
processes of class "gefp". In particular a (maximum) MOSUM
functional was added as well as several functionals suitable for
aggregation along categorical variables. The documentation for
previously available functionals such as supLM() was also
enhanced.
The new functionals mentioned above for assessing parameter
instability along (ordered) categorical variables are
catL2BB (unordered), ordL2BB and
ordwmax (ordered). These are discussed in more detail in
Merkle, Fan, and Zeileis (2013, Psychometrika).
Added a new default method for sctest(). This
essentially just calls gefp(object, fit = NULL) and then
(optionally) calls plot() and sctest() using
the specified functional. However, several convenience options have been
added, e.g., using the maximum likelihood information (rather than the
outer product of gradients) for the covariance matrix or specifying the
functional via a character string.
Documentation of the sctest() generic and its
methods have been enhanced. Methods for formula,
efp, and Fstats are suitable for assessing
structural changes in linear regression models while the
default and gefp methods (see above) are
suitable for general parametric models.
Improved plot() method for
gefp/efpFunctional to allow for more
flexibility in boundary display. Rather than only
boundary = TRUE or FALSE one can now specify a
list of graphical parameters, e.g.,
boundary = list(col = "slategray", lty = 2).
Updated Depends/Imports in DESCRIPTION/NAMESPACE with new R CMD check requirements.
plotProcess() function in
"efpFunctional" objects now takes a
boundary = TRUE argument by default which can be set to
FALSE to suppress plotting of the boundary
function.
Added a check (and a more intelligible warning) in the
formula method of breakpoints() whether the
breaks argument supplied by the user is too large.
recresid() can now also deal with regressors
that do not vary across (small) subsamples.Further improvements in new recresid() default
method. Now also works correctly if some coefficients are not identified
on the initial subsamples in the recursion.
Resaved datasets to reduce storage requirements.
Fixed bug in breakpoints() for time series that
contain NAs.
Default recresid() method now tries to choose
adaptively between using the faster updating formula and the slower full
QR decomposition to yield numerically more stable results. In previous
versions of the function the QR decomposition was used only in the first
iteration.
Improvement in breakdates() computations.
breakpoints() for the intercept-only case,
i.e., breakpoints(y ~ 1).Improved time index computations in gefp().
Added replication notes in ?durab.
efp(), Fstats(), and
breakpoints() are now more cautios about using time series
properties from the data and try to check whether any NAs
were removed. In general, the functions will yield best results if all
NA processing is done before calling them.
Better handling of time series properties for the boundaries in
the examples of SP2001.
foreach package for the breakpoints() formula
method. This can be leveraged to alleviate the computational burden in
the dynamic programming approach. Simply register a parallel backend
(e.g., by means of doMC or doSNOW) and call
breakpoints() with additional argument
hpc = "foreach".start end end arguments to
recresid().Added some further references to the vignette, and provide the
associated .bib file in ~/inst/doc/.
Removed \itemize in Rd files for new
R-devel.
Fixed CITATION encoding.
Removed Z.sty dependency in vignette.
Enhanced references in the vignette, CITATION and man pages.
Fixed some outdated information in the vignette.
SP500 to SP2001 to avoid conflicts
with MASS.Added NAMESPACE.
Improved dependency declaration in DESCRIPTION.