.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_data_analysis/statistical_tests/plot_smirnov_test.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. .. rst-class:: sphx-glr-example-title .. _sphx_glr_auto_data_analysis_statistical_tests_plot_smirnov_test.py: Test identical distributions ============================ .. GENERATED FROM PYTHON SOURCE LINES 9-28 In this example we are going to estimate whether two samples follow the same distribution using the two samples Kolmogorov-Smirnov test and the graphical QQ-plot test. The Smirnov test relies on the maximum distance between the cumulative distribution function. If :math:`F_{n_1}^{*}` and :math:`F_{n_2}^{*}` are the empirical cumulative density functions of both samples of size :math:`n_1` and :math:`n_2`, the Smirnov test evaluates the decision variable: .. math:: D^2 = \displaystyle \sqrt{\frac{n_1n_2}{n_1+n_2}} \sup_{x}|F_{n_1}^{*}(x) - F_{n_2}^{*}(x)| which tends towards the Kolmogorov distribution. The hypothesis of same distribution is rejected if :math:`D^2` is too high (depending on the p-value threshold). The QQ-plot graph plots empirical quantiles levels from two samples. If both samples correspond to the same probability distribution the curve should be close to the diagonal. .. GENERATED FROM PYTHON SOURCE LINES 30-34 .. code-block:: Python import openturns as ot import openturns.viewer as viewer .. GENERATED FROM PYTHON SOURCE LINES 35-36 Generate 3 samples, `sample1` and `sample2` arise from the same distribution .. GENERATED FROM PYTHON SOURCE LINES 36-44 .. code-block:: Python distribution1 = ot.Gumbel(0.2, 0.5) distribution2 = ot.Uniform() ot.RandomGenerator.SetSeed(5) sample1 = distribution1.getSample(100) sample2 = distribution1.getSample(100) sample3 = distribution2.getSample(100) .. GENERATED FROM PYTHON SOURCE LINES 45-46 Visually compare `sample1` and `sample2` using QQ-plot .. GENERATED FROM PYTHON SOURCE LINES 46-49 .. code-block:: Python graph = ot.VisualTest.DrawQQplot(sample1, sample2) view = viewer.View(graph) .. image-sg:: /auto_data_analysis/statistical_tests/images/sphx_glr_plot_smirnov_test_001.svg :alt: Two sample QQ-plot :srcset: /auto_data_analysis/statistical_tests/images/sphx_glr_plot_smirnov_test_001.svg :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 50-51 Visually compare `sample1` and `sample3` using QQ-plot .. GENERATED FROM PYTHON SOURCE LINES 51-54 .. code-block:: Python graph = ot.VisualTest.DrawQQplot(sample1, sample3) view = viewer.View(graph) .. image-sg:: /auto_data_analysis/statistical_tests/images/sphx_glr_plot_smirnov_test_002.svg :alt: Two sample QQ-plot :srcset: /auto_data_analysis/statistical_tests/images/sphx_glr_plot_smirnov_test_002.svg :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 55-56 Numerically test `sample1` against `sample2` .. GENERATED FROM PYTHON SOURCE LINES 56-64 .. code-block:: Python test_result = ot.HypothesisTest.TwoSamplesKolmogorov(sample1, sample2) print( "Samples follow the same distribution?", test_result.getBinaryQualityMeasure(), "p-value=%.6g" % test_result.getPValue(), "threshold=%.6g" % test_result.getThreshold(), ) .. rst-class:: sphx-glr-script-out .. code-block:: none Samples follow the same distribution? True p-value=0.190264 threshold=0.05 .. GENERATED FROM PYTHON SOURCE LINES 65-66 Numerically test `sample1` against `sample3` .. GENERATED FROM PYTHON SOURCE LINES 66-73 .. code-block:: Python test_result = ot.HypothesisTest.TwoSamplesKolmogorov(sample1, sample3) print( "Samples follow the same distribution?", test_result.getBinaryQualityMeasure(), "p-value=%.6g" % test_result.getPValue(), "threshold=%.6g" % test_result.getThreshold(), ) .. rst-class:: sphx-glr-script-out .. code-block:: none Samples follow the same distribution? False p-value=9.86999e-15 threshold=0.05 .. _sphx_glr_download_auto_data_analysis_statistical_tests_plot_smirnov_test.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_smirnov_test.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_smirnov_test.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: plot_smirnov_test.zip `