nacf {GNAR}R Documentation

Computes the Network Autocorrelation Function (NACF)

Description

Computes the NACF for a choice of lag h and r-stage depth r, the NACF is given by \mathrm{nacf}(h, r) = \frac{\sum_{t=1}^{T - h} ( \boldsymbol{X}_{t + h} - \boldsymbol{\overline{X}})^{T} \big ( \mathbf{W} \odot \mathbf{S}_r + \mathbf{I_d} \big ) ( \boldsymbol{X}_{t} - \boldsymbol{\overline{X}})} {\sum_{t=1}^{T} ( \boldsymbol{X}_{t} - \boldsymbol{\overline{X}})^{T} \big \{ \big (1 + \lambda \big) \mathbf{I_d} \big \} ( \boldsymbol{X}_{t} - \boldsymbol{\overline{X}})}, where \lambda = \bigg [ \underset{j = 1, \dots, d}{\max} \big \{\sum_{i = 1}^d [(\mathbf{W} \odot \mathbf{W})]_{i j} \big \} \bigg ]^{\frac{1}{2}} is the autocovariance bound of the GNAR process.

Usage

  nacf(h, s, weight_matrix, stages_tensor, nts_data)

Arguments

h

Lag (i.e., time-steps behind) at which the NACF is computed.

s

r-stage depth at which the NACF is computed (i.e., shortest distance between nodes).

weight_matrix

Weight matrix of the GNAR process, each entry corresponds to the weight between two nodes; see weights_matrix

stages_tensor

List of r-stage adjacency matrices \mathbf{S}_r, the order is ascending.

nts_data

Network time series observations, the number of rows is equal to the number of time steps, and the number of columns is equal to the number of series (variables).

Details

If the network time series contains missing values, then the weights matrix and \lambda are adjusted, so that missing values do not contribute to the network autocorrelation. This is done by setting to zero the weights which correspond to a missing value and computing the new weight matrix and \lambda value.

Value

Returns a number between -1 and 1, which measures the linear correlation between lagged network observations - i.e., \mathrm{nacf}(h, r).

Author(s)

Daniel Salnikov and Guy Nason.

References

Nason, G.P., Salnikov, D. and Cortina-Borja, M. (2023) New tools for network time series with an application to COVID-19 hospitalisations. https://arxiv.org/abs/2312.00530

Examples

#
# Compute the NACF with respect to a stationary GNAR simulation
#
gnar_simulation <- GNARsim(n = 100, net=fiveNet, alphaParams = list(rep(0.35, 5)), 
                           betaParams = list(c(0.25)), sigma=1)
W = weights_matrix(fiveNet)
stages_list = get_k_stages_adjacency_tensor(as.matrix(GNARtoigraph(fiveNet)), 3)
# NACF
nacf(3, 1, W, stages_list, gnar_simulation)

[Package GNAR version 1.1.3 Index]