@ConfidenceTestAssumptions(name="Bonferroni correction",alsoKnownAs="Bonferroni-Dunn test",description={"Bonferroni\'s correction is a conservative way to compensate for pair-wise null-hypothesis comparisons applied to multiple comparison to control false-discovery rate.","The correction is known to be overly conservative, trading low false-discovery for high false-negative rates."},assumptions="The assumptions of the underlying pair-wise test are met.",nullHypothesis="Each treatment has no effect on the measurements of the subjects",dataPaired=true,dataSameSize=true,distribution=AbstractClosedFormSmoothUnivariateDistribution.class,reference={@PublicationReference(author="Janez Demsar",title="Statistical Comparisons of Classifiers over Multiple Data Sets",type=Journal,publication="Journal of Machine Learning Research",year=2006,url="http://www.jmlr.org/papers/volume7/demsar06a/demsar06a.pdf"),@PublicationReference(author="Wikipedia",title="Bonferroni Correction",type=WebPage,year=2011,url="http://en.wikipedia.org/wiki/Bonferroni_correction")}) public class BonferroniCorrection extends AbstractPairwiseMultipleHypothesisComparison<AdjustedPValueStatistic>
AbstractPairwiseMultipleHypothesisComparison.Statistic
DEFAULT_PAIRWISE_TEST, pairwiseTest
DEFAULT_UNCOMPENSATED_ALPHA
Constructor and Description |
---|
BonferroniCorrection()
Default constructor
|
BonferroniCorrection(NullHypothesisEvaluator<java.util.Collection<? extends java.lang.Number>> pairwiseTest)
Creates a new instance of BonferroniCorrection
|
Modifier and Type | Method and Description |
---|---|
static double |
adjust(double uncompensatedAlpha,
int numComparisons)
Computes the Bonferroni multiple-comparison correction
|
BonferroniCorrection |
clone()
This makes public the clone method on the
Object class and
removes the exception that it throws. |
AdjustedPValueStatistic |
evaluateNullHypotheses(java.util.Collection<? extends java.util.Collection<? extends java.lang.Number>> data,
double uncompensatedAlpha)
Evaluates the null hypotheses associated with the given collection
of data.
|
getPairwiseTest, setPairwiseTest
evaluateNullHypotheses
public BonferroniCorrection()
public BonferroniCorrection(NullHypothesisEvaluator<java.util.Collection<? extends java.lang.Number>> pairwiseTest)
pairwiseTest
- Confidence test used for pair-wise null-hypothesis tests.public BonferroniCorrection clone()
AbstractCloneableSerializable
Object
class and
removes the exception that it throws. Its default behavior is to
automatically create a clone of the exact type of object that the
clone is called on and to copy all primitives but to keep all references,
which means it is a shallow copy.
Extensions of this class may want to override this method (but call
super.clone()
to implement a "smart copy". That is, to target
the most common use case for creating a copy of the object. Because of
the default behavior being a shallow copy, extending classes only need
to handle fields that need to have a deeper copy (or those that need to
be reset). Some of the methods in ObjectUtil
may be helpful in
implementing a custom clone method.
Note: The contract of this method is that you must use
super.clone()
as the basis for your implementation.clone
in interface CloneableSerializable
clone
in class AbstractPairwiseMultipleHypothesisComparison<AdjustedPValueStatistic>
public AdjustedPValueStatistic evaluateNullHypotheses(java.util.Collection<? extends java.util.Collection<? extends java.lang.Number>> data, double uncompensatedAlpha)
MultipleHypothesisComparison
evaluateNullHypotheses
in interface MultipleHypothesisComparison<java.util.Collection<? extends java.lang.Number>>
evaluateNullHypotheses
in class AbstractMultipleHypothesisComparison<java.util.Collection<? extends java.lang.Number>,AdjustedPValueStatistic>
data
- Data from each treatment to consideruncompensatedAlpha
- Uncompensated alpha (p-value threshold) for the multiple comparison
test, must be [0,1]public static double adjust(double uncompensatedAlpha, int numComparisons)
uncompensatedAlpha
- Uncompensated alpha (p-value threshold) for the multiple comparison
test, must be [0,1]numComparisons
- Number of comparisons to make.