Changeset 11691


Ignore:
Timestamp:
12/16/14 23:55:48 (8 years ago)
Author:
ascheibe
Message:

#2031

  • expanded documentation for statistical testing view
  • changed t-test to unpooled method
  • removed sample size determination for t-test as this is probably not correct
Location:
branches/StatisticalTesting/HeuristicLab.Analysis.Statistics/3.3
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/StatisticalTesting/HeuristicLab.Analysis.Statistics/3.3/StatisticalTestingView.cs

    r11612 r11691  
    428428
    429429      var rowNames = new string[] { "p-Value of Mann-Whitney U", "Adjusted p-Value of Mann-Whitney U",
    430             "p-Value of T-Test", "Adjusted p-Value of T-Test", "Necessary Sample Size for T-Test", "Cohen's d", "Hedges' g" };
     430            "p-Value of T-Test", "Adjusted p-Value of T-Test", "Cohen's d", "Hedges' g" };
    431431
    432432      DoubleMatrix pValsMatrix = new DoubleMatrix(rowNames.Length, columnNames.Count());
     
    437437      double mwuLefttail;
    438438      double mwuRighttail;
    439       double tTestLefttail;
     439      double tTestBothTails;
    440440      double[] mwuPValues = new double[newData.Length];
    441441      double[] tTestPValues = new double[newData.Length];
     
    448448          alglib.mannwhitneyutest(data[colIndex], data[colIndex].Length, newData[i], newData[i].Length, out mwuBothtails,
    449449            out mwuLefttail, out mwuRighttail);
    450           tTestLefttail = TTest.Test(data[colIndex], newData[i]);
     450          tTestBothTails = TTest.Test(data[colIndex], newData[i]);
    451451          mwuPValues[i] = mwuBothtails;
    452           tTestPValues[i] = tTestLefttail;
     452          tTestPValues[i] = tTestBothTails;
    453453        }
    454454      }
     
    463463          pValsMatrix[2, i] = tTestPValues[i];
    464464          pValsMatrix[3, i] = adjustedTtestPValues[i];
    465           pValsMatrix[4, i] = TTest.GetOptimalSampleSize(data[colIndex], newData[i]);
    466           pValsMatrix[5, i] = SampleSizeDetermination.CalculateCohensD(data[colIndex], newData[i]);
    467           pValsMatrix[6, i] = SampleSizeDetermination.CalculateHedgesG(data[colIndex], newData[i]);
     465          pValsMatrix[4, i] = SampleSizeDetermination.CalculateCohensD(data[colIndex], newData[i]);
     466          pValsMatrix[5, i] = SampleSizeDetermination.CalculateHedgesG(data[colIndex], newData[i]);
    468467        }
    469468      }
  • branches/StatisticalTesting/HeuristicLab.Analysis.Statistics/3.3/TTest.cs

    r11375 r11691  
    2020#endregion
    2121
    22 using System;
    23 using System.Linq;
    24 using HeuristicLab.Common;
    2522
    2623namespace HeuristicLab.Analysis.Statistics {
     
    2825    public static double Test(double[] data1, double[] data2) {
    2926      double left, right, both;
    30       alglib.studentttest2(data1, data1.Length, data2, data2.Length, out both, out left, out right);
     27      alglib.unequalvariancettest(data1, data1.Length, data2, data2.Length, out both, out left, out right);
    3128      return both;
    32     }
    33 
    34     public static double GetOptimalSampleSize(double[] data1, double[] data2, double conf = 0.95) {
    35       double result = 0.0;
    36       double t = alglib.invstudenttdistribution(data1.Length * 2 - 2, conf);
    37 
    38       double m1 = data1.Average();
    39       double m2 = data2.Average();
    40       double s1 = data1.StandardDeviation();
    41       double s2 = data2.StandardDeviation();
    42 
    43       result = Math.Pow(t, 2) * (Math.Pow(s1, 2) + Math.Pow(s2, 2)) / Math.Pow(m1 - m2, 2);
    44       return Math.Ceiling(result);
    4529    }
    4630  }
Note: See TracChangeset for help on using the changeset viewer.