q1LowRank | R Documentation |
Qualitative correlation or covariance kernel with one input and low-rank correlation.
q1LowRank(factor, rank = 2L, input = "x",
cov = c("corr", "homo", "hete"), intAsChar = TRUE)
factor |
A factor with the wanted levels for the covariance kernel object. |
rank |
The wanted rank, which must be |
input |
Name of (qualitative) input for the kernel. |
cov |
Character telling what variance structure will be chosen:
correlation with no variance parameter, homoscedastic
with one variance parameter or heteroscedastic with |
intAsChar |
Logical. If |
The correlation structure involves (r - 1)(m - r /2)
parameters.
The parameterization of Rapisarda et al is used: the correlation
parameters are angles \theta_{i,j}
corresponding to
1 < i \leq r
and 1 \leq j < i
or to r < i \leq m
and
1 \leq j < r
. The
correlation matrix \mathbf{C}
for the levels, with size
m
, factors as
\mathbf{C} = \mathbf{L}\mathbf{L}^\top
where \mathbf{L}
is a lower-triangular
matrix with dimension m \times r
with all its rows
having unit Euclidean norm. Note that the diagonal elements of
\mathbf{L}
can be negative and correspondingly the angles
\theta_{i,1}
are taken in the interval
[0, 2\pi)
for 1 < i \leq r
. The
matrix \mathbf{L}
is not unique. As explained in Grubišić and
Pietersz, the parameterization is surjective: any correlation with
rank \leq r
is obtained by choosing a suitable vector
of parameters, but this vector is not unique.
Correlation kernels are needed in tensor products because the tensor product of two covariance kernels each with unknown variance would not be identifiable.
An object with class "covQual"
with d = 1
qualitative
input.
Francesco Rapisarda, Damanio Brigo, Fabio Mercurio (2007). "Parameterizing Correlations a Geometric Interpretation". IMA Journal of Management Mathematics, 18(1): 55-73.
Igor Grubišić, Raoul Pietersz (2007). "Efficient Rank Reduction of Correlation Matrices". Linear Algebra and its Applications, 422: 629-653.
The q1Symm
function to create a kernel object for the
full-rank case and corLevLowRank
for the correlation
function.
myFact <- factor(letters[1:8])
myCov <- q1LowRank(factor = myFact, rank = 3)
## corrplot
plot(myCov)
## find the rank using a pivoted Cholesky
chol(covMat(myCov), pivot = TRUE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.