Learn R Programming

kergp (version 0.5.7)

q1LowRank: 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)

Value

An object with class "covQual" with d = 1 qualitative input.

Arguments

factor

A factor with the wanted levels for the covariance kernel object.

rank

The wanted rank, which must be \(\geq 2\) and \(< m\) where \(m\) is the number of levels.

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 \(m\) variance parameters.

intAsChar

Logical. If TRUE (default), an integer-valued input will be coerced into a character. Otherwise, it will be coerced into a factor.

Details

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.

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

Run this code
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)

Run the code above in your browser using DataLab