Two equivalent interfaces are available:
Wrapper functions: LinTest(use = obj) and WCB_LinTest(use = obj, ...).
R6 methods: obj$LinTest() and obj$WCB_LinTest(...).
The wrapper functions call the corresponding R6 methods and return the (mutated) object invisibly.
The tests are carried out for each potential transition variable specified in tvars
when creating the model via NewPSTR. For each transition variable, tests are computed
for the number of switches \(m = 1, \ldots, im\), where \(im\) is the maximal number of switches.
The procedures produce two families of tests:
- (i) Linearity tests for each \(m\)
For a fixed \(m\), the null hypothesis is
$$H_0^i: \beta_{i} = \beta_{i-1} = \cdots = \beta_{1} = 0, \qquad i = 1, \ldots, m.$$
- (ii) Sequence tests for selecting \(m\)
These are conditional tests with null
$$H_0^i: \beta_{i} = 0 \mid \beta_{i+1} = \cdots = \beta_{m} = 0, \qquad i = 1, \ldots, m.$$
For each hypothesis, four asymptotic LM-type tests are reported:
WCB_LinTest additionally reports wild bootstrap (WB) and wild cluster bootstrap (WCB) p-values.
WB is robust to heteroskedasticity, while WCB is robust to both heteroskedasticity and within-individual
dependence (cluster dependence). The bootstrap routines can be computationally expensive; parallel execution
can be enabled via parallel = TRUE.
Results are stored in the returned object (see Value).