This function generates a \(p \times p\) covariance matrix with autocorrelated blocks. The autocorrelation parameter is rho. There are num_blocks blocks each with size, block_size. The variance, sigma2, is constant for each feature and defaulted to 1.

cov_block_autocorrelation(num_blocks, block_size, rho, sigma2 = 1)

Arguments

num_blocks

the number of blocks in the covariance matrix

block_size

the size of each square block within the covariance matrix

rho

the autocorrelation parameter. Must be less than 1 in absolute value.

sigma2

the variance of each feature

Value

autocorrelated covariance matrix

Details

The autocorrelated covariance matrix is defined as: $$\Sigma = \Sigma^{(\rho)} \oplus \Sigma^{(-\rho)} \oplus \ldots \oplus \Sigma^{(\rho)},$$ where \(\oplus\) denotes the direct sum and the \((i,j)\)th entry of \(\Sigma^{(\rho)}\) is $$\Sigma_{ij}^{(\rho)} = \{ \rho^{|i - j|} \}.$$

The matrix \(\Sigma^{(\rho)}\) is the autocorrelated block discussed above.

The value of rho must be such that \(|\rho| < 1\) to ensure that the covariance matrix is positive definite.

The size of the resulting matrix is \(p \times p\), where p = num_blocks * block_size.