Exemplo n.º 1
0
        //Two sided one sample t test
        public static TTestResult CalcTTest(double[] data, double testValue)
        {
            var sampleMean     = data.Average();
            var sampleVariance = data.Variance();
            var result         = new TTestResult {
                TestStatistics = T(sampleMean, testValue, sampleVariance, data.Length)
            };

            result.UpdateP(new StudentT(sampleMean, sampleVariance, data.Length, Random));
            return(result);
        }
Exemplo n.º 2
0
        public static TTestResult CalcTTest(
            double data1Mean, double data2Mean, double data1Variance,
            double data2Variance, int data1Length, int data2Length)
        {
            var result = new TTestResult(
                System.Math.Abs(T2Unequal(data1Mean, data2Mean, data1Variance, data2Variance,
                                          data1Length, data2Length)));

            var dof = DOF(data1Variance, data2Variance, data1Length, data2Length);

            if (dof > 0)
            {
                result.UpdateP(
                    new StudentT(data1Variance.Equals(0) ? data2Mean : data1Mean,
                                 data1Variance.Equals(0) ? data2Variance : data1Variance, dof, Random));
            }
            return(result);
        }
Exemplo n.º 3
0
        public static TTestResult CalcTTest(double[] data1, double[] data2, bool equalVariance)
        {
            var mean1     = data1.Average();
            var mean2     = data2.Average();
            var variance1 = data1.Variance();
            var variance2 = data2.Variance();

            var result = new TTestResult(equalVariance
                ? System.Math.Abs(T2Equal(
                                      mean1, mean2, variance1, variance2, data1.Length, data2.Length))
                : System.Math.Abs(T2Unequal(
                                      mean1, mean2, variance1, variance2, data1.Length, data2.Length)));

            var dof = equalVariance
                ? data1.Length + data2.Length - 2
                : DOF(variance1, variance2, data1.Length, data2.Length);

            if (dof > 0)
            {
                result.UpdateP(new StudentT(mean1, variance1, dof, Random));
            }
            return(result);
        }