See also: Modeling correlation introduction, Rank order correlation and correlation matrices





Example model

This array function returns the input matrix if it is a valid correlation matrix. If this matrix is not a valid correlation matrix, then a valid correlation matrix is returned that is 'closest' to the input matrix.

  • {matrix} - a symmetric matrix.

A correlation matrix enables the analyst to correlate several probability distributions together.  The rank order correlation coefficients are input into the cross-referenced positions in the matrix. Each distribution must clearly have a correlation of 1.0 with itself so the top left to bottom right diagonal elements are all 1.0. Furthermore, because the formula for the rank order correlation coefficient is symmetric, as explained above, the matrix elements are also symmetric about this diagonal line.  The table below is an example of (the upper half of) a correlation matrix.

There are some restrictions on the correlation coefficients that may be used within the matrix. For example, if A and B are highly positively correlated and B and C are also highly positively correlated, A and C cannot be highly negatively correlated. For the mathematically minded, the restriction is that there can be no negative eigenvalues for the matrix.


If the following matrix is entered as the input matrix:

then the VoseValidCorrmat function returns the same matrix because this matrix is a valid correlation matrix.

If an invalid correlation matrix is entered, like:

then the function returns the following valid correlation matrix:



Monte Carlo simulation in Excel. Learn more


Adding risk and uncertainty to your project schedule. Learn more



For Microsoft Excel

Download your free copy of ModelRisk Basic today. Professional quality risk modeling software and no catches

Download ModelRisk Basic now


For Primavera & Microsoft Project

Download your free copy of Tamara Basic today. Professional quality project risk software and no catches.

Download Tamara Basic now