| nmfkc.ar.stationarity | R Documentation |
Reports whether a fitted NMF-VAR is stationary, and how cheaply that could be
decided. Three numbers are returned, in increasing order of sharpness:
colsum.max =\max_j c_j, the largest column sum of
\sum_d\Xi_d = X\sum_d\Theta_d, certifies stationarity when below 1 with
no eigenvalue computation at all (a sufficient condition only, so a value
above 1 is merely inconclusive); spectral.radius.sum
=\rho(\sum_d G_d) is below 1 exactly when the model is stationary (and
is bracketed by \min_j c_j and \max_j c_j); and
spectral.radius is the spectral radius of the companion matrix itself.
Note that the c_j are weighted by \bm 1'X, i.e.
colSums(X) %*% Lambda. Using the raw column sums of
\sum_d\Theta_d is correct only when \bm 1'X=\bm 1' and can
certify stationarity for a non-stationary fit otherwise.
This function answers the yes/no question only. For the dynamics behind the
number — the transition matrices, the roots, the impulse responses, the
long-run mean — use nmfkc.ar.latent, and for the standard
error of \rho use nmfkc.ar.latent.inference.
nmfkc.ar.stationarity(x, method = c("latent", "companion"))
x |
A fitted |
method |
Route used for |
An object of class "nmfkc.ar.stationarity": a list with
spectral.radius |
Spectral radius of the companion matrix (route
selected by |
stationary |
Logical; |
method |
The route actually used. |
spectral.radius.sum |
|
colsum |
Column sums |
colsum.max |
|
dims |
Named vector of |
Satoh, K. (2025). Applying non-negative matrix factorization with covariates to multivariate time series data as a vector autoregression model. Japanese Journal of Statistics and Data Science. arXiv:2501.17446. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1007/s42081-025-00314-0")}
nmfkc.ar.latent,
nmfkc.ar.latent.inference, nmfkc.ar
# Check stationarity of fitted AR model
d <- AirPassengers
ar_data <- nmfkc.ar(d, degree = 2)
result <- nmfkc(ar_data$Y, ar_data$A, rank = 1)
st <- nmfkc.ar.stationarity(result)
st$spectral.radius
st$stationary
st # full report
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.