Accord.Statistics.Testing.BartlettTest.BartlettTest C# (CSharp) Method

BartlettTest() public method

Tests the null hypothesis that all group variances are equal.
public BartlettTest ( ) : System
return System
        public BartlettTest(params double[][] samples)
        {
            int N = 0, k = samples.Length;
            double Sp = Measures.PooledVariance(samples);

            double sum1 = 0; // Numerator sum
            for (int i = 0; i < samples.Length; i++)
            {
                int n = samples[i].Length;
                double s = samples[i].Variance();
                double logs = Math.Log(s);

                sum1 += (n - 1.0) * logs;
                N += n;
            }

            double sum2 = 0; // Denominator sum
            for (int i = 0; i < samples.Length; i++)
            {
                int n = samples[i].Length;
                sum2 += 1.0 / (n - 1) ;
            }


            double num = (N - k) * Math.Log(Sp) - sum1;
            double den = 1 + (1 / (3.0 * (k - 1))) * (sum2 - 1.0 / (N - k));

            double W = num / den;
            int degrees = k - 1;

            this.Compute(W, degrees);
        }
BartlettTest