.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_data_analysis/manage_data_and_samples/plot_sample_correlation.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_manage_data_and_samples_plot_sample_correlation.py: Estimate correlation coefficients ================================= .. GENERATED FROM PYTHON SOURCE LINES 7-15 In this example we are going to estimate the correlation between an output sample Y and the corresponding inputs using various estimators: - Pearson coefficients - Spearman coefficients - PCC: Partial Correlation Coefficients - PRCC: Partial Rank Correlation Coefficient - SRC: Standard Regression Coefficients - SRRC: Standard Rank Regression Coefficient .. GENERATED FROM PYTHON SOURCE LINES 17-24 .. code-block:: Python from openturns.usecases import ishigami_function import openturns as ot import openturns.viewer as viewer from matplotlib import pylab as plt ot.Log.Show(ot.Log.NONE) .. GENERATED FROM PYTHON SOURCE LINES 25-27 To illustrate the usage of the method mentioned above, we define a set of X/Y data using the :ref:`Ishigami model `. This classical model is defined in a data class: .. GENERATED FROM PYTHON SOURCE LINES 27-29 .. code-block:: Python im = ishigami_function.IshigamiModel() .. GENERATED FROM PYTHON SOURCE LINES 30-32 Create X/Y data We get the input variables description : .. GENERATED FROM PYTHON SOURCE LINES 32-38 .. code-block:: Python input_names = im.distributionX.getDescription() size = 100 inputDesign = ot.SobolIndicesExperiment(im.distributionX, size, True).generate() outputDesign = im.model(inputDesign) .. GENERATED FROM PYTHON SOURCE LINES 39-41 Create a :class:`~openturns.CorrelationAnalysis` object to compute various estimates of the correlation between the inputs and the output. .. GENERATED FROM PYTHON SOURCE LINES 41-44 .. code-block:: Python corr_analysis = ot.CorrelationAnalysis(inputDesign, outputDesign) .. GENERATED FROM PYTHON SOURCE LINES 45-47 PCC coefficients ------------------ .. GENERATED FROM PYTHON SOURCE LINES 47-51 .. code-block:: Python pcc_indices = corr_analysis.computePCC() print(pcc_indices) .. rst-class:: sphx-glr-script-out .. code-block:: none [0.48083,0.0118573,-0.0399335] .. GENERATED FROM PYTHON SOURCE LINES 55-60 .. code-block:: Python graph = ot.SobolIndicesAlgorithm.DrawCorrelationCoefficients( pcc_indices, input_names, "PCC coefficients" ) view = viewer.View(graph) .. image-sg:: /auto_data_analysis/manage_data_and_samples/images/sphx_glr_plot_sample_correlation_001.png :alt: PCC coefficients :srcset: /auto_data_analysis/manage_data_and_samples/images/sphx_glr_plot_sample_correlation_001.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 61-63 PRCC coefficients -------------------- .. GENERATED FROM PYTHON SOURCE LINES 63-67 .. code-block:: Python prcc_indices = corr_analysis.computePRCC() print(prcc_indices) .. rst-class:: sphx-glr-script-out .. code-block:: none [0.48438,-0.00850357,-0.0310585] .. GENERATED FROM PYTHON SOURCE LINES 68-73 .. code-block:: Python graph = ot.SobolIndicesAlgorithm.DrawCorrelationCoefficients( prcc_indices, input_names, "PRCC coefficients" ) view = viewer.View(graph) .. image-sg:: /auto_data_analysis/manage_data_and_samples/images/sphx_glr_plot_sample_correlation_002.png :alt: PRCC coefficients :srcset: /auto_data_analysis/manage_data_and_samples/images/sphx_glr_plot_sample_correlation_002.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 74-76 SRC coefficients ------------------- .. GENERATED FROM PYTHON SOURCE LINES 76-80 .. code-block:: Python src_indices = corr_analysis.computeSRC() print(src_indices) .. rst-class:: sphx-glr-script-out .. code-block:: none [0.480662,0.0103814,-0.0350468] .. GENERATED FROM PYTHON SOURCE LINES 81-86 .. code-block:: Python graph = ot.SobolIndicesAlgorithm.DrawCorrelationCoefficients( src_indices, input_names, "SRC coefficients" ) view = viewer.View(graph) .. image-sg:: /auto_data_analysis/manage_data_and_samples/images/sphx_glr_plot_sample_correlation_003.png :alt: SRC coefficients :srcset: /auto_data_analysis/manage_data_and_samples/images/sphx_glr_plot_sample_correlation_003.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 87-88 Normalized squared SRC coefficients (coefficients are made to sum to 1) : .. GENERATED FROM PYTHON SOURCE LINES 88-92 .. code-block:: Python squared_src_indices = corr_analysis.computeSquaredSRC(True) print(squared_src_indices) .. rst-class:: sphx-glr-script-out .. code-block:: none [0.99425,0.000463796,0.00528582] .. GENERATED FROM PYTHON SOURCE LINES 93-100 .. code-block:: Python graph = ot.SobolIndicesAlgorithm.DrawCorrelationCoefficients( squared_src_indices, input_names, "Squared SRC coefficients" ) view = viewer.View(graph) .. image-sg:: /auto_data_analysis/manage_data_and_samples/images/sphx_glr_plot_sample_correlation_004.png :alt: Squared SRC coefficients :srcset: /auto_data_analysis/manage_data_and_samples/images/sphx_glr_plot_sample_correlation_004.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 101-103 SRRC coefficients -------------------- .. GENERATED FROM PYTHON SOURCE LINES 103-107 .. code-block:: Python srrc_indices = corr_analysis.computeSRRC() print(srrc_indices) .. rst-class:: sphx-glr-script-out .. code-block:: none [0.484588,-0.00743287,-0.0272169] .. GENERATED FROM PYTHON SOURCE LINES 108-113 .. code-block:: Python graph = ot.SobolIndicesAlgorithm.DrawCorrelationCoefficients( srrc_indices, input_names, "SRRC coefficients" ) view = viewer.View(graph) .. image-sg:: /auto_data_analysis/manage_data_and_samples/images/sphx_glr_plot_sample_correlation_005.png :alt: SRRC coefficients :srcset: /auto_data_analysis/manage_data_and_samples/images/sphx_glr_plot_sample_correlation_005.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 114-117 Pearson coefficients ----------------------- We compute here the Pearson :math:`\rho` coefficients. .. GENERATED FROM PYTHON SOURCE LINES 117-121 .. code-block:: Python pearson_correlation = corr_analysis.computePearsonCorrelation() print(pearson_correlation) .. rst-class:: sphx-glr-script-out .. code-block:: none [0.482871,0.0178456,-0.0638373] .. GENERATED FROM PYTHON SOURCE LINES 122-127 .. code-block:: Python graph = ot.SobolIndicesAlgorithm.DrawCorrelationCoefficients( pearson_correlation, input_names, "Pearson correlation coefficients" ) view = viewer.View(graph) .. image-sg:: /auto_data_analysis/manage_data_and_samples/images/sphx_glr_plot_sample_correlation_006.png :alt: Pearson correlation coefficients :srcset: /auto_data_analysis/manage_data_and_samples/images/sphx_glr_plot_sample_correlation_006.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 128-131 Spearman coefficients ----------------------- We compute here the Spearman :math:`\rho_s` coefficients. .. GENERATED FROM PYTHON SOURCE LINES 133-136 .. code-block:: Python spearman_correlation = corr_analysis.computeSpearmanCorrelation() print(spearman_correlation) .. rst-class:: sphx-glr-script-out .. code-block:: none [0.486298,-0.00194796,-0.0585667] .. GENERATED FROM PYTHON SOURCE LINES 137-142 .. code-block:: Python graph = ot.SobolIndicesAlgorithm.DrawCorrelationCoefficients( spearman_correlation, input_names, "Spearman correlation coefficients" ) view = viewer.View(graph) plt.show() .. image-sg:: /auto_data_analysis/manage_data_and_samples/images/sphx_glr_plot_sample_correlation_007.png :alt: Spearman correlation coefficients :srcset: /auto_data_analysis/manage_data_and_samples/images/sphx_glr_plot_sample_correlation_007.png :class: sphx-glr-single-img .. _sphx_glr_download_auto_data_analysis_manage_data_and_samples_plot_sample_correlation.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_sample_correlation.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_sample_correlation.py `