Package 'simTargetCov'

Title: Data Transformation or Simulation with Empirical Covariance Matrix
Description: Transforms or simulates data with a target empirical covariance matrix supplied by the user. The method to obtain the data with the target empirical covariance matrix is described in Section 5.1 of Christidis, Van Aelst and Zamar (2019) <arXiv:1812.05678>.
Authors: Anthony Christidis <[email protected]>, Stefan Van Aelst <[email protected]>, Ruben Zamar <[email protected]>
Maintainer: Anthony Christidis <[email protected]>
License: GPL (>= 2)
Version: 1.0.1
Built: 2025-01-30 03:51:50 UTC
Source: https://github.com/anthonychristidis/simtargetcov

Help Index


Data Transformation or Simulation with Target Empirical Covariance Matrix

Description

simTargetCov transforms or simulates data with a target empirical covariance matrix supplied by the user.

Usage

simTargetCov(n, p, target, X = NULL)

Arguments

n

Number of observations for data matrix output.

p

Number of variables for data matrix output.

target

Target empirical covariance for data matrix output.

X

Data matrix for transformation.

Author(s)

Anthony-Alexander Christidis, [email protected]

Examples

# Function to create target covariance matrix with kernel set to r
target_cor <- function(r, p){
  Gamma <- diag(p)
  for(i in 1:(p-1)){
    for(j in (i+1):p){
      Gamma[i,j] <- Gamma[j,i] <- r^(abs(i-j))
    }
  }
  return(Gamma)
}

# Transformation of data to target empirical covariance
dat.target.cov <- simTargetCov(X = MASS::mvrnorm(30, mu = rep(0,6),
                               Sigma = target_cor(0.5,6)),
                               target = target_cor(0.5,6))
round(cov(dat.target.cov), 2)

# Simulation of data with target empirical covariance
sim.target.cov <- simTargetCov(n = 30, p = 6, target = target_cor(0.5,6))
round(cov(sim.target.cov), 2)