Example: Covariances

This example illustrates the use of Covariances class for the first 50 observations in the Fisher iris data (Fisher 1936). Note that the first variable is constant over the first 50 observations.

using System;
using Imsl.Stat;
using PrintMatrix = Imsl.Math.PrintMatrix;
using PrintMatrixFormat = Imsl.Math.PrintMatrixFormat;

public class CovariancesEx1
{
    public static void  Main(String[] args)
    {
        double[,] x = {{1.0, 5.1, 3.5, 1.4, .2}, 
                           {1.0, 4.9, 3.0, 1.4, .2}, 
                           {1.0, 4.7, 3.2, 1.3, .2}, 
                           {1.0, 4.6, 3.1, 1.5, .2}, 
                           {1.0, 5.0, 3.6, 1.4, .2}, 
                           {1.0, 5.4, 3.9, 1.7, .4}, 
                           {1.0, 4.6, 3.4, 1.4, .3}, 
                           {1.0, 5.0, 3.4, 1.5, .2}, 
                           {1.0, 4.4, 2.9, 1.4, .2}, 
                           {1.0, 4.9, 3.1, 1.5, .1}, 
                           {1.0, 5.4, 3.7, 1.5, .2}, 
                           {1.0, 4.8, 3.4, 1.6, .2}, 
                           {1.0, 4.8, 3.0, 1.4, .1}, 
                           {1.0, 4.3, 3.0, 1.1, .1}, 
                           {1.0, 5.8, 4.0, 1.2, .2}, 
                           {1.0, 5.7, 4.4, 1.5, .4}, 
                           {1.0, 5.4, 3.9, 1.3, .4}, 
                           {1.0, 5.1, 3.5, 1.4, .3}, 
                           {1.0, 5.7, 3.8, 1.7, .3}, 
                           {1.0, 5.1, 3.8, 1.5, .3}, 
                           {1.0, 5.4, 3.4, 1.7, .2}, 
                           {1.0, 5.1, 3.7, 1.5, .4}, 
                           {1.0, 4.6, 3.6, 1.0, .2}, 
                           {1.0, 5.1, 3.3, 1.7, .5}, 
                           {1.0, 4.8, 3.4, 1.9, .2}, 
                           {1.0, 5.0, 3.0, 1.6, .2}, 
                           {1.0, 5.0, 3.4, 1.6, .4}, 
                           {1.0, 5.2, 3.5, 1.5, .2}, 
                           {1.0, 5.2, 3.4, 1.4, .2}, 
                           {1.0, 4.7, 3.2, 1.6, .2}, 
                           {1.0, 4.8, 3.1, 1.6, .2}, 
                           {1.0, 5.4, 3.4, 1.5, .4}, 
                           {1.0, 5.2, 4.1, 1.5, .1}, 
                           {1.0, 5.5, 4.2, 1.4, .2}, 
                           {1.0, 4.9, 3.1, 1.5, .2}, 
                           {1.0, 5.0, 3.2, 1.2, .2}, 
                           {1.0, 5.5, 3.5, 1.3, .2}, 
                           {1.0, 4.9, 3.6, 1.4, .1}, 
                           {1.0, 4.4, 3.0, 1.3, .2}, 
                           {1.0, 5.1, 3.4, 1.5, .2}, 
                           {1.0, 5.0, 3.5, 1.3, .3}, 
                           {1.0, 4.5, 2.3, 1.3, .3}, 
                           {1.0, 4.4, 3.2, 1.3, .2}, 
                           {1.0, 5.0, 3.5, 1.6, .6}, 
                           {1.0, 5.1, 3.8, 1.9, .4}, 
                           {1.0, 4.8, 3.0, 1.4, .3}, 
                           {1.0, 5.1, 3.8, 1.6, .2}, 
                           {1.0, 4.6, 3.2, 1.4, .2}, 
                           {1.0, 5.3, 3.7, 1.5, .2}, 
                           {1.0, 5.0, 3.3, 1.4, .2}};
        Covariances co = new Covariances(x);
        
        PrintMatrix pm = 
            new PrintMatrix("Sample Variances-covariances Matrix");
        PrintMatrixFormat pmf = new PrintMatrixFormat();
        pmf.NumberFormat = "0.0000";
        pm.SetMatrixType(PrintMatrix.MatrixType.UpperTriangular);

        pm.Print(pmf, 
            co.Compute(Covariances.MatrixType.VarianceCovariance));
    }
}

Output

    Sample Variances-covariances Matrix
     0       1       2       3       4     
0  0.0000  0.0000  0.0000  0.0000  0.0000  
1          0.1242  0.0992  0.0164  0.0103  
2                  0.1437  0.0117  0.0093  
3                          0.0302  0.0061  
4                                  0.0111  


Link to C# source.