heter_gradient {mlrv}R Documentation

Structural stability tests for non-stationary time series regression

Description

Test for long memory of \(e_i\) in the time series regression \[y_i = x_i \beta_i + e_i, 1\leq i \leq n\] where \(x_i\) is the multivariate covariate process with first component 1, \(\beta_i\) is the coefficient, \(e_i\) is the error term which can be long memory. The goal is to test whether the null hypothesis \[\beta_1 = \ldots = \beta_n = \beta\] holds. The alternative hypothesis is that the coefficient function \(\beta_i\) is time-varying. Covariates and the error term are allowed to be dependent.

Usage

heter_gradient(data, param, mvselect = -1, verbose_dist = FALSE, hyper = FALSE)

Arguments

data

a list with the vector y (response) and the matrix x (covariates), for example, list(x=...,y=...).

param

a list of parameters, list(B =..., lrvmethod =...,gcv = ..., neighbour =..., lb = ..., ub = ..., tau_n = ..., type = ..., ind = ...)

mvselect

the value of moving window parameter \(m\). In addition, mvselect=-1 provides data-driven smoothing parameters via Minimum Volatility of the long-run covariance estimator, while mvselect = -2 provides data-driven smoothing parameters via Minimum Volatility of the bootstrap statistics.

verbose_dist

whether to print intermediate results, i.e., the bootstrap distribution and statistics, default FALSE.

hyper

whether to only print the selected values of the smoothing parameters,\(m\) and \(\tau_n\), default FALSE.

Details

param

Value

p-value of the structural stability test

References

Bai, L., & Wu, W. (2024). Difference-based covariance matrix estimation in time series nonparametric regression with application to specification tests. Biometrika, asae013.

Wu, W., and Zhou, Z. (2018). Gradient-based structural change detection for nonstationary time series M-estimation. The Annals of Statistics, 46(3), 1197-1224.

Politis, D. N., Romano, J. P., and Wolf, M. (1999). Subsampling. Springer Science & Business Media.

Examples

# choose a small B for tests
param = list(B = 50, bw_set = c(0.15, 0.25), gcv =1, neighbour = 1, lb = 10, ub = 20, type = 0)
n = 300
data = bregress2(n, 2, 1) # time series regression model with 2 changes points
param$lrvmethod = 0 # plug-in
heter_gradient(data, param, 4, 1)
param$lrvmethod = 1 # difference based
heter_gradient(data, param, 4, 1)

[Package mlrv version 0.1.2 Index]