HypothesisTest_PartialPearson(firstSample, secondSample, selection, level=0.95)

Test whether two discrete samples are independent.

Available usages:

HypothesisTest.PartialPearson(firstSample, secondSample, selection)

HypothesisTest.PartialPearson(firstSample, secondSample, selection, level)


fisrtSample : 2-d sequence of float

First tested sample, of dimension n \geq 1.

secondSample : 2-d sequence of float

Second tested sample, of dimension 1.

selection : sequence of integers, maximum integer value < n

List of indices selecting which subsets of the first sample will successively be tested with the second sample through the Pearson test.

level : positive float < 1

Threshold p-value of the test (= 1 - first type risk), it must be < 1, equal to 0.95 by default.


testResult : TestResult

Structure containing the result of the test.


The Partial Pearson Test is used to check the independence between two samples: firstSample of dimension n and secondSample of dimension 1. The parameter selection enables to select specific subsets of the firstSample to be tested.


>>> import openturns as ot
>>> ot.RandomGenerator.SetSeed(0)
>>> distCol = [ot.Normal(), ot.Normal(), ot.Normal(), ot.Normal()]
>>> S = ot.CorrelationMatrix(4)
>>> S[0, 3] = 0.9
>>> copula = ot.NormalCopula(S)
>>> distribution = ot.ComposedDistribution(distCol, copula)
>>> sample = distribution.getSample(30)
>>> firstSample = sample[:, :3]
>>> secondSample = sample[:, 3]
>>> test_result = ot.HypothesisTest.PartialPearson(firstSample, secondSample, [0, 2])
>>> print(test_result)
[class=TestResult name=Unnamed type=Pearson binaryQualityMeasure=false p-value threshold=0.05 p-value=1.17002e-10 description=[],class=TestResult name=Unnamed type=Pearson binaryQualityMeasure=true p-value threshold=0.05 p-value=0.19193 description=[]]