Note
Go to the end to download the full example code.
Use the Kolmogorov/Lilliefors test¶
In this example we are going to perform a Kolmogorov or a Lilliefors goodness-of-fit test for a 1-d continuous distribution.
import openturns as ot
ot.Log.Show(ot.Log.NONE)
Create the data.
distribution = ot.Normal()
sample = distribution.getSample(50)
Case 1 : the distribution parameters are known.¶
In the case where the parameters of the distribution are known, we must use the Kolmogorov static method and the distribution to be tested.
result = ot.FittingTest.Kolmogorov(sample, distribution, 0.01)
print("Conclusion=", result.getBinaryQualityMeasure(), "P-value=", result.getPValue())
Conclusion= True P-value= 0.5788142643991276
Test succeeded ?
result.getBinaryQualityMeasure()
True
P-Value associated to the risk
result.getPValue()
0.5788142643991276
Threshold associated to the test.
result.getThreshold()
0.01
Observed value of the statistic.
result.getStatistic()
0.10700762642063977
Case 2 : the distribution parameters are estimated from the sample.¶
In the case where the parameters of the distribution are estimated from the sample, we must use the Lilliefors static method and the distribution factory to be tested.
ot.ResourceMap.SetAsUnsignedInteger("FittingTest-LillieforsMaximumSamplingSize", 1000)
distributionFactory = ot.NormalFactory()
dist, result = ot.FittingTest.Lilliefors(sample, distributionFactory, 0.01)
print("Conclusion=", result.getBinaryQualityMeasure(), "P-value=", result.getPValue())
Conclusion= True P-value= 0.959
dist
Test succeeded ?
result.getBinaryQualityMeasure()
True
P-Value associated to the risk
result.getPValue()
0.959
Threshold associated to the test.
result.getThreshold()
0.01
Observed value of the statistic.
result.getStatistic()
0.0552279366233529
Reset default settings
ot.ResourceMap.Reload()