Learn R Programming

graphpcor (version 0.1.12)

theta2correl: Build the correlation matrix parametrized from the hypershere decomposition, see details.

Description

Build the correlation matrix parametrized from the hypershere decomposition, see details.

Usage

theta2correl(theta, fromR = TRUE)

theta2gamma2L(theta, fromR = TRUE)

rcorrel(p, lambda)

Value

a correlation matrix

Lower triangular n x n matrix

Arguments

theta

numeric vector with length equal n(n-1)/2

fromR

logical indicating if theta is in R. If FALSE, assumes \(\theta[k] \in (0, pi)\).

p

integer to specify the matrix dimension

lambda

numeric as the penalization parameter. If missing it will be assumed equal to zero. The lambda=0 case means no penalization and a random correlation matrix will be drawn. Please see section 6.2 of the PC-prior paper, Simpson et. al. (2017), for details.

Functions

  • theta2gamma2L(): Build a lower triangular matrix from a parameter vector. See details.

  • rcorrel(): Drawn a random sample correlation matrix

Details

The hypershere decomposition, as proposed in Rapisarda, Brigo and Mercurio (2007) consider \(\theta[k] \in [0, \infty], k=1,...,m=n(n-1)/2\) compute \(x[k] = pi/(1+exp(-theta[k]))\) organize it as a lower triangle of a \(n \times n\) matrix $$ | cos(x[i,j]) , j=1$$ $$B[i,j] = | cos(x[i,j])prod_{k=1}^{j-1}sin(x[i,k]), 2 <= j <= i-1$$ $$ | prod_{k=1}^{j-1}sin(x[i,k]) , j=i$$ $$ | 0 , j+1 <= j <= n $$ Result $$\gamma[i,j] = -log(sin(x[i,j]))$$ $$KLD(R) = \sqrt(2\sum_{i=2}^n\sum_{j=1}^{i-1} \gamma[i,j]$$

References

Rapisarda, Brigo and Mercurio (2007). Parameterizing correlations: a geometric interpretation. IMA Journal of Management Mathematics (2007) 18, 55-73. <doi 10.1093/imaman/dpl010>

Simspon et. al. (2017). Penalising Model Component Complexity: A Principled, Practical Approach to Constructing Priors. Statist. Sci. 32(1): 1-28 (February 2017). <doi: 10.1214/16-STS576>