Perform a \chi^2 goodness-of-fit test for 1-d discrete distributions.


sample : 2-d sequence of float

Tested sample.

model : Distribution or DistributionFactory

Tested distribution.

level : float, 0 \leq {\rm level} \leq 1, optional

This the value such that \alpha = 1 - {\rm level} is the risk of committing a Type I error, that is an incorrect rejection of a true null hypothesis.

n_parameters : int, 0 \leq k, optional

The number of parameters in the distribution that have been estimated from the sample. This parameter must not be provided if a DistributionFactory was provided as the second argument (it will internally be set to the number of parameters estimated by the DistributionFactory). It can be specified if a Distribution was provided as the second argument, but if it is not, it will be set equal to 0.


test_result : TestResult

Test result.


TypeError : If the distribution is not discrete or if the sample is



This is an interface to the chisq.test function from the ‘stats’ R package.


>>> import openturns as ot
>>> ot.RandomGenerator.SetSeed(0)
>>> distribution = ot.Poisson()
>>> sample = distribution.getSample(30)
>>> ot.FittingTest.ChiSquared(sample, ot.PoissonFactory(), .99)
class=TestResult name=Unnamed type=ChiSquaredPoisson binaryQualityMeasure=true p-value threshold=0.01 p-value=0.606136 description=[]