Exemplo n.º 1
0
 /// <summary>Update event.</summary>
 protected override void OnSizeChanged()
 {
     this.Confidence = GetConfidenceInterval(1.0 - Size);
     if (Analysis != null)
     {
         powerAnalysis.Size = Size;
         powerAnalysis.ComputePower();
     }
 }
Exemplo n.º 2
0
        public void TTestPowerAnalysisConstructorTest2()
        {
            // Example from R's graphical manual
            // http://rgm2.lab.nig.ac.jp/RGM2/func.php?rd_id=pwr:pwr.t2n.test

            double effectSize = 0.6;
            int    n1         = 90;
            int    n2         = 60;

            TwoSampleTTestPowerAnalysis target;
            double actual, expected;

            target = new TwoSampleTTestPowerAnalysis(TwoSampleHypothesis.FirstValueIsGreaterThanSecond)
            {
                Effect   = effectSize,
                Samples1 = n1,
                Samples2 = n2,
            };

            target.ComputePower();

            expected = 0.9737262;
            actual   = target.Power;
            Assert.AreEqual(expected, actual, 1e-6);


            target = new TwoSampleTTestPowerAnalysis(TwoSampleHypothesis.FirstValueIsSmallerThanSecond)
            {
                Effect   = effectSize,
                Samples1 = n1,
                Samples2 = n2,
            };

            target.ComputePower();

            expected = 0.0;
            actual   = target.Power;
            Assert.AreEqual(expected, actual, 1e-6);



            target = new TwoSampleTTestPowerAnalysis(TwoSampleHypothesis.ValuesAreDifferent)
            {
                Effect   = effectSize,
                Samples1 = n1,
                Samples2 = n2,
            };

            target.ComputePower();

            expected = 0.9470154;
            actual   = target.Power;
            Assert.AreEqual(expected, actual, 1e-6);
        }
Exemplo n.º 3
0
        public void TTestPowerAnalysisConstructorTest3()
        {
            // Examples from R's graphical manual
            // http://rgm2.lab.nig.ac.jp/RGM2/func.php?rd_id=pwr:pwr.t.test

            double actual, expected;

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

                target.ComputePower();

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

            {
                var target = new TwoSampleTTestPowerAnalysis(TwoSampleHypothesis.ValuesAreDifferent)
                {
                    Effect   = 2 / 2.8,
                    Samples1 = 30,
                    Samples2 = 30,
                };

                target.ComputePower();

                expected = 0.7764889;
                actual   = target.Power;
                Assert.AreEqual(expected, actual, 1e-6);
            }

            {
                var target = new TwoSampleTTestPowerAnalysis(TwoSampleHypothesis.FirstValueIsGreaterThanSecond)
                {
                    Effect = 0.3,
                    Power  = 0.75,
                };

                target.ComputeSamples();

                expected = 120.2232016;
                actual   = target.Samples1;
                Assert.AreEqual(expected, actual, 1e-6);
                Assert.AreEqual(target.Samples1, target.Samples2);
            }
        }
Exemplo n.º 4
0
        private void power(double var1, double var2, int n1, int n2)
        {
            double stdDev = Math.Sqrt((var1 + var2) / 2.0);

            powerAnalysis = new TwoSampleTTestPowerAnalysis(Hypothesis)
            {
                Samples1 = n1,
                Samples2 = n2,
                Effect   = (ObservedDifference - HypothesizedDifference) / stdDev,
                Size     = Size,
            };

            powerAnalysis.ComputePower();
        }