nsp_poly_ar {nsp} | R Documentation |
Narrowest Significance Pursuit algorithm for piecewise-polynomial signals with autoregression
Description
This function runs the Narrowest Significance Pursuit (NSP) algorithm on a data sequence y
believed to follow the model
Phi(B)y_t = f_t + z_t, where f_t is a piecewise polynomial of degree deg
, Phi(B) is a characteristic polynomial of autoregression of order
ord
with unknown coefficients, and z_t is noise. The function returns localised regions (intervals) of the domain, such that each interval
must contain a change-point in the parameters of the polynomial f_t, or in the autoregressive parameters,
at the global significance level alpha
.
For any interval considered by the algorithm,
significant departure from parameter constancy is achieved if the multiscale
deviation measure (see Details for the literature reference) exceeds a threshold, which is either provided as input
or determined from the data (as a function of alpha
). The function works best when the errors z_t are independent and
identically distributed Gaussians.
Usage
nsp_poly_ar(
y,
ord = 1,
M = 1000,
thresh.type = "univ",
thresh.val = NULL,
sigma = NULL,
alpha = 0.1,
deg = 0,
power = 1/2,
min.size = 20,
overlap = FALSE,
buffer = ord
)
Arguments
y |
A vector containing the data sequence. |
ord |
The assumed order of the autoregression. |
M |
The minimum number of intervals considered at each recursive stage, unless the number of all intervals is smaller, in which case all intervals are used. |
thresh.type |
|
thresh.val |
Numerical value of the significance threshold (lambda in the paper); or |
sigma |
The standard deviation of the errors z_t; if |
alpha |
Desired maximum probability of obtaining an interval that does not contain a change-point (the significance threshold will be determined as a function of this parameter). |
deg |
The degree of the polynomial pieces in f_t (0 for the piecewise-constant model; 1 for piecewise-linearity, etc.). |
power |
A parameter for the MOLS estimator of sigma; the span of the moving window in the MOLS estimator is |
min.size |
(See immediately above.) |
overlap |
If |
buffer |
A non-negative integer specifying how many observations to leave out immediately to the left and to the right of a detected interval of significance before recursively continuing the search for the next interval. |
Details
The NSP algorithm is described in P. Fryzlewicz (2021) "Narrowest Significance Pursuit: inference for multiple change-points in linear
models", preprint. For how to determine the "univ"
threshold, see Kabluchko, Z. (2007) "Extreme-value analysis of standardized Gaussian increments".
Unpublished.
Value
A list with the following components:
intervals |
A data frame containing the estimated intervals of significance: |
threshold.used |
The threshold value. |
Author(s)
Piotr Fryzlewicz, p.fryzlewicz@lse.ac.uk
See Also
nsp
, nsp_poly
, nsp_tvreg
, nsp_selfnorm
, nsp_poly_selfnorm
Examples
set.seed(1)
g <- c(rep(0, 100), rep(10, 100), rep(0, 100))
nsp_poly_ar(stats::filter(g + 2 * stats::rnorm(300), .5, "recursive"), thresh.type="sim")