corrm, corrvc, corrx

Purpose

Computes an unbiased estimate of a correlation matrix.

Format

cx = corrm(m)
cx = corrvc(vc)
cx = corrx(x)
Parameters:
  • m (KxK moment (x'x) matrix) – A constant term MUST have been the first variable when the moment matrix was computed.

  • vc (KxK variance-covariance matrix) – data or parameters

  • x (NxK matrix) – data

Returns:

cx (PxP correlation matrix) – For corrm(), \(P = K-1\). For corrvc() and corrx(), \(P = K\).

Examples

// Set rnd seed for reproducible results
rndseed   8989;

// Assign x1 and x2
x1 = rndn(3, 3);
x2 = ones(3, 1)~x1;

print "x1 :" x1 ;
print "x2 :" x2;

After the above code, x1 and x2 look like:

x1 :
  0.010555555     -0.045969063       0.12701699
    1.6454828        1.2380373       0.53988699
    1.1556776      -0.53575797       0.14056238
x2 :
    1.0000000      0.010555555     -0.045969063       0.12701699
    1.0000000        1.6454828        1.2380373       0.53988699
    1.0000000        1.1556776      -0.53575797       0.14056238

Continuing from above code,

// Correlation of x1 with x1
print "corrx(x1) :" corrx(x1);

// Correlation of moment = x2'x2
m = x2'x2;
print "corrm(x2'x2) :" corrm(m);

// Correlation of vc of x2
vc = varCovMS(x2'x2);
print "corrvc(varCovMS(x2'x2)):" corrvc(vc);

After the above code,

corrx(x1) :
     1.0000000       0.52196856       0.75039768
    0.52196856        1.0000000       0.95548228
    0.75039768       0.95548228        1.0000000

corrm(x2'x2) :
     1.0000000       0.52196856       0.75039768
    0.52196856        1.0000000       0.95548228
    0.75039768       0.95548228        1.0000000

corrvc(vc):
     1.0000000       0.52196856       0.75039768
    0.52196856        1.0000000       0.95548228
    0.75039768       0.95548228        1.0000000

Remarks

The corrm() and corrx() computes the population correlation matrix. For the sample correlation matrix, use corrm() or corrx().

Source

corr.src

See also

Functions momentd(), corrms(), corrxs(), varCovX(), varCovM()