diff_cov {oeli} | R Documentation |
Difference and un-difference covariance matrix
Description
These functions difference and un-difference a covariance matrix with respect
to row ref
.
Usage
diff_cov(cov, ref = 1)
undiff_cov(cov_diff, ref = 1)
delta(ref = 1, dim)
Arguments
cov , cov_diff |
[ |
ref |
[ |
dim |
[ |
Details
For differencing: Let \Sigma
be a covariance matrix of dimension
n
. Then
\tilde{\Sigma} = \Delta_k \Sigma \Delta_k'
is the differenced covariance matrix with respect to row k = 1,\dots,n
,
where \Delta_k
is a difference operator that depends on the reference
row k
. More precise, \Delta_k
the identity matrix of dimension
n
without row k
and with -1
s in column k
.
It can be computed with delta(ref = k, dim = n)
.
For un-differencing: The "un-differenced" covariance matrix \Sigma
cannot be uniquely computed from \tilde{\Sigma}
.
For a non-unique solution, we add a column and a row of zeros
at column and row number k
to \tilde{\Sigma}
, respectively, and
add 1
to each matrix entry to make the result a proper covariance
matrix.
Value
A (differenced or un-differenced) covariance matrix
.
See Also
Other matrix helpers:
check_correlation_matrix()
,
check_covariance_matrix()
,
check_transition_probability_matrix()
,
cov_to_chol()
,
insert_matrix_column()
,
matrix_diagonal_indices()
,
matrix_indices()
,
sample_correlation_matrix()
,
sample_covariance_matrix()
,
sample_transition_probability_matrix()
,
stationary_distribution()
Examples
n <- 3
Sigma <- sample_covariance_matrix(dim = n)
k <- 2
# build difference operator
delta(ref = k, dim = n)
# difference Sigma
(Sigma_diff <- diff_cov(Sigma, ref = k))
# un-difference Sigma
undiff_cov(Sigma_diff, ref = k)