Estimation of the linear Poisson Network Autoregressive model of order \(p\) with \(q\) covariates (PNAR(\(p\))).
lin_estimnarpq(y, W, p, Z = NULL, uncons = FALSE, init = NULL,
xtol_rel = 1e-8, maxeval = 100)
A list with attribute class "PNAR" including:
A matrix with the estimated QMLE coefficients, their standard errors their Z-test statistics and the relevant p-values computed via the standard normal approximation.
The value of the quasi score function at the optimization point. It should be close to 0 if the optimization is successful.
The value of the maximized quasi log-likelihood.
A vector with the Akaike information criterion (AIC), the Bayesian information criterion (BIC) and the Quasi information criterion (QIC).
Alternatively, these can be printed via the function summary.PNAR
.
A \(TT \times N\) time series object or a \(TT \times N\) numerical matrix with the \(N\) multivariate count time series over \(TT\) time periods.
The \(N \times N\) row-normalized non-negative adjacency matrix describing the network. The main diagonal entries of the matrix should be zeros, all the other entries should be non-negative and the maximum sum of elements over the rows should equal one. The function row-normalizes the matrix if a non-normalized adjacency matrix is provided.
The number of lags in the model.
An \(N \times q\) matrix of covariates (one for each column), where \(q\) is the number of covariates in the model. Note that they must be non-negative.
logical, if TRUE an unconstrained optimization is run (default is FALSE).
A vector of starting values for the optimization algorithm. If this is NULL, the function computes them internally.
The stopping tolerance of the optimization algorithm.
The maximum number of evalutions the optimization algorithm will perform.
Mirko Armillotta, Michail Tsagris and Konstantinos Fokianos.
This function performs constrained estimation of the linear Poisson NAR(\(p\)) model with \(q\) non-negative valued covariates, for each node of the network \(i=1,...,N\) over the time sample \(t=1,...,TT\), defined as $$ \lambda_{i,t}=\beta_{0}+\sum_{h=1}^{p}(\beta_{1h}X_{i,t-h}+\beta_{2h}Y_{i,t-h})+\sum_{l=1}^{q}\delta_{l}Z_{i,l}, $$ where \(X_{i,t}=\sum_{j=1}^{N}W_{ij}Y_{j,t}\) is the network effect, i.e. the weighted average impact of node \(i\) connections, with the weights of the mean being \(W_{ij}\), the single element of the network matrix \(W\). The sequence \(\lambda_{i,t}\) is the expecation of \(Y_{i,t}\), conditional to its past values. The parameter \(\beta_{0}\) is the intercept of the model, \(\beta_{1h}\) are the network coefficients, \(\beta_{2h}\) are the autoregressive parameters, and \(\delta_{l}\) are the coefficients assocciated to the covariates \(Z_{i,l}\).
The estimation of the parameters of the model is performed by Quasi Maximum Likelihood Estimation (QMLE), maximizing the following quasi log-likelihood $$ l(\theta)=\sum_{t=1}^{TT}\sum_{i=1}^{N}\left[Y_{i,t}\log\lambda_{i,t}(\theta)-\lambda_{i,t}(\theta)\right] $$ with respect to the vector of unknown parameters \(\theta\) described above. The coefficients are defined only in the non-negative real line.
By default, the optimization is constrained in the stationary region where \(\sum_{h=1}^{p}(\beta_{1h}+\beta_{2h})<1\); this can be removed by setting uncons = TRUE
. However, the model estimates might be inconsistent if the estimated parameters lie outside the stationary region.
The ordinary least squares estimates are employed as starting values of the optimization procedure. Robust standard errors and z-tests are also returned.
Armillotta, M. and K. Fokianos (2023). Nonlinear network autoregression. Annals of Statistics, 51(6): 2526--2552.
Armillotta, M. and K. Fokianos (2024). Count network autoregression. Journal of Time Series Analysis, 45(4): 584--612.
Armillotta, M., Tsagris, M. and Fokianos, K. (2024). Inference for Network Count Time Series with the R Package PNAR. The R Journal, 15/4: 255--269..
log_lin_estimnarpq
data(crime)
data(crime_W)
mod1 <- lin_estimnarpq(crime, crime_W, p = 2)
summary(mod1)
Run the code above in your browser using DataLab