q1LowRank {kergp} | R Documentation |
Qualitative Correlation or Covariance Kernel with one Input and Low-Rank Correlation
Description
Qualitative correlation or covariance kernel with one input and low-rank correlation.
Usage
q1LowRank(factor, rank = 2L, input = "x",
cov = c("corr", "homo", "hete"), intAsChar = TRUE)
Arguments
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 |
Details
The correlation structure involves parameters.
The parameterization of Rapisarda et al is used: the correlation
parameters are angles
corresponding to
and
or to
and
. The
correlation matrix
for the levels, with size
, factors as
where
is a lower-triangular
matrix with dimension
with all its rows
having unit Euclidean norm. Note that the diagonal elements of
can be negative and correspondingly the angles
are taken in the interval
for
. The
matrix
is not unique. As explained in Grubišić and
Pietersz, the parameterization is surjective: any correlation with
rank
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.
Value
An object with class "covQual"
with d = 1
qualitative
input.
References
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.
See Also
The q1Symm
function to create a kernel object for the
full-rank case and corLevLowRank
for the correlation
function.
Examples
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)