Accord.Statistics.Testing.Power.ZTestPowerAnalysis.ComputePower C# (CSharp) Method

ComputePower() public method

Computes the power for a test with givens values of effect size and number of samples under IPowerAnalysis.Size.
public ComputePower ( ) : void
return void
        public override void ComputePower()
        {
            switch (Tail)
            {
                case DistributionTail.TwoTail:
                    {
                        double Za = NormalDistribution.Standard.InverseDistributionFunction(1.0 - Size / 2.0);
                        double Zb = Za - Math.Sqrt(Samples) * Effect;

                        Power = NormalDistribution.Standard.ComplementaryDistributionFunction(Zb);
                        break;
                    }

                case DistributionTail.OneLower:
                    {
                        double Za = NormalDistribution.Standard.InverseDistributionFunction(Size);
                        double Zb = Za - Math.Sqrt(Samples) * Effect;

                        double beta = NormalDistribution.Standard.ComplementaryDistributionFunction(Zb);
                        Power = 1.0 - beta;
                        break;
                    }

                case DistributionTail.OneUpper:
                    {
                        double Za = NormalDistribution.Standard.InverseDistributionFunction(1.0 - Size);
                        double Zb = Za - Math.Sqrt(Samples) * Effect;

                        Power = NormalDistribution.Standard.ComplementaryDistributionFunction(Zb);
                        break;
                    }

                default:
                    throw new InvalidOperationException();
            }
        }

Usage Example

        public void ZTestPowerAnalysisConstructorTest1()
        {
            ZTestPowerAnalysis target;
            double actual, expected;

            target = new ZTestPowerAnalysis(OneSampleHypothesis.ValueIsDifferentFromHypothesis)
            {
                Effect = 0.2,
                Samples = 60,
                Size = 0.10,
            };

            target.ComputePower();

            expected = 0.4618951;
            actual = target.Power;
            Assert.AreEqual(expected, actual, 1e-5);


            target = new ZTestPowerAnalysis(OneSampleHypothesis.ValueIsSmallerThanHypothesis)
            {
                Effect = 0.2,
                Samples = 60,
                Size = 0.10,
            };

            target.ComputePower();

            expected = 0.00232198;
            actual = target.Power;
            Assert.AreEqual(expected, actual, 1e-5);


            target = new ZTestPowerAnalysis(OneSampleHypothesis.ValueIsGreaterThanHypothesis)
            {
                Effect = 0.2,
                Samples = 60,
                Size = 0.10,
            };

            target.ComputePower();

            expected = 0.6055124;
            actual = target.Power;
            Assert.AreEqual(expected, actual, 1e-5);
        }
All Usage Examples Of Accord.Statistics.Testing.Power.ZTestPowerAnalysis::ComputePower