Accord.Statistics.Testing.StuartMaxwellTest.StuartMaxwellTest C# (CSharp) Метод

StuartMaxwellTest() публичный Метод

Creates a new Stuart-Maxwell test.
public StuartMaxwellTest ( GeneralConfusionMatrix matrix ) : System
matrix Accord.Statistics.Analysis.GeneralConfusionMatrix The contingency table to test.
Результат System
        public StuartMaxwellTest(GeneralConfusionMatrix matrix)
        {
            int classes = matrix.Classes;
            int samples = matrix.Samples;

            int df = classes - 1;

            int[] rowMarginals = matrix.RowTotals;
            int[] colMarginals = matrix.ColumnTotals;

            d = new double[df];
            for (int i = 0; i < d.Length; i++)
                d[i] = rowMarginals[i] - colMarginals[i];

            S = new double[df, df];

            for (int i = 0; i < df; i++)
            {
                for (int j = 0; j < df; j++)
                {
                    if (i == j)
                    {
                        // double u = (rowMarginals[i] - colMarginals[i]);
                        double pii = matrix.Matrix[i, i];

                        S[i, i] = rowMarginals[i] + colMarginals[i] - 2.0 * pii;
                    }
                    else
                    {
                        double pij = matrix.Matrix[i, j];
                        double pji = matrix.Matrix[j, i];

                        S[i, j] = -(pij + pji);
                    }
                }
            }

            invS = S.PseudoInverse();

            double chiSquare = d.DotAndDot(invS, d);

            Compute(chiSquare, df);
        }
StuartMaxwellTest