# Test samples independence using regressionΒΆ

In this example we are going to estimate whether samples are independent using the regression test.

It consists in detecting a linear relation between two scalar samples.

In [5]:

from __future__ import print_function
import openturns as ot

In [6]:

# Generate a sample of dimension 3 with component 0 correlated to component 2
marginals = [ot.Normal()] * 3
S = ot.CorrelationMatrix(3)
S[0, 2] = 0.9
copula = ot.NormalCopula(S)
distribution = ot.ComposedDistribution(marginals, copula)
sample = distribution.getSample(30)

In [7]:

# Split it in two samples: firstSample of dimension=2, secondSample of dimension=1
firstSample = sample[:, :2]
secondSample = sample[:, 2]

In [8]:

# Test independance of each components of firstSample against secondSample
test_results = ot.HypothesisTest.FullRegression(firstSample, secondSample)
for i in range(len(test_results)):
print('Component', i, 'is independent?', test_results[i].getBinaryQualityMeasure(),
'p-value=%.6g' % test_results[i].getPValue(),
'threshold=%.6g' % test_results[i].getThreshold())

Component 0 is independent? False p-value=4.83187e-13 threshold=0.05
Component 1 is independent? True p-value=0.210156 threshold=0.05