Skip to content

IainNZ/RandomCorrelationMatrices.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RandomCorrelationMatrices

Build Status

Generate random correlation matrices, for some definition of random. Currently supports just one definition/method:

Lewandowski, Daniel, Dorota Kurowicka, and Harry Joe. "Generating random correlation matrices based on vines and extended onion method." Journal of multivariate analysis 100.9 (2009): 1989-2001. doi:10.1016/j.jmva.2009.04.008

This package has two functions, randcormatrix(d, η) and randcovmatrix(d, η, σ) . d is the dimension, and η is a parameter that controls the distribution of the off-diagonal terms. randcovmatrix is used to generate a covariance matrix from the output of randcormatrix, where the standard deviation of each component is controlled by σ.

To get a feel for how to set η, consider the following output from test/runtests.jl, which shows some example matrices and the average range of off-diagonals:

η => 2
 1.00  0.07  0.59  0.78
 0.07  1.00  0.28 -0.03
 0.59  0.28  1.00  0.69
 0.78 -0.03  0.69  1.00
mean(ranges) => 0.9609607012737842
median(ranges) => 0.9522641114303307
η => 8
 1.00 -0.24  0.15  0.18
-0.24  1.00 -0.10 -0.06
 0.15 -0.10  1.00  0.02
 0.18 -0.06  0.02  1.00
mean(ranges) => 0.5846747844778034
median(ranges) => 0.5787807331445632
η => 32
 1.00 -0.06  0.08 -0.11
-0.06  1.00 -0.05  0.12
 0.08 -0.05  1.00 -0.14
-0.11  0.12 -0.14  1.00
mean(ranges) => 0.3094525766085337
median(ranges) => 0.3050648782864559
η => 128
 1.00  0.05 -0.00 -0.02
 0.05  1.00 -0.05  0.07
-0.00 -0.05  1.00  0.03
-0.02  0.07  0.03  1.00
mean(ranges) => 0.15721653854980638
median(ranges) => 0.15120529987720227

Pull requests welcome for additional methods of generating random correlation matrices that are described in the literature.

About

Functions to generate random correlation matrices

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages