Estimation de la matrice de covariance avec Scikit-Learn

Machine LearningMachine LearningBeginner
Pratiquer maintenant

This tutorial is from open-source community. Access the source code

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

L'estimation de la covariance est une technique statistique importante utilisée pour estimer la matrice de covariance d'une population. La matrice de covariance décrit la relation entre les variables dans un ensemble de données et peut fournir des informations précieuses sur la forme du nuage de points des données. Dans ce laboratoire, nous allons explorer diverses méthodes pour estimer la matrice de covariance à l'aide du package sklearn.covariance en Python.

Conseils sur la machine virtuelle

Une fois le démarrage de la machine virtuelle terminé, cliquez dans le coin supérieur gauche pour basculer vers l'onglet Carnet de notes pour accéder au carnet Jupyter Notebook pour la pratique.

Parfois, vous devrez peut-être attendre quelques secondes pour que le carnet Jupyter Notebook ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limites du carnet Jupyter Notebook.

Si vous rencontrez des problèmes pendant l'apprentissage, n'hésitez pas à demander à Labby. Donnez des commentaires après la session, et nous résoudrons rapidement le problème pour vous.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL sklearn(("Sklearn")) -.-> sklearn/AdvancedDataAnalysisandDimensionalityReductionGroup(["Advanced Data Analysis and Dimensionality Reduction"]) ml(("Machine Learning")) -.-> ml/FrameworkandSoftwareGroup(["Framework and Software"]) sklearn/AdvancedDataAnalysisandDimensionalityReductionGroup -.-> sklearn/covariance("Covariance Estimators") ml/FrameworkandSoftwareGroup -.-> ml/sklearn("scikit-learn") subgraph Lab Skills sklearn/covariance -.-> lab-71119{{"Estimation de la matrice de covariance avec Scikit-Learn"}} ml/sklearn -.-> lab-71119{{"Estimation de la matrice de covariance avec Scikit-Learn"}} end

Covariance empirique

La matrice de covariance empirique est une méthode couramment utilisée pour estimer la matrice de covariance d'un ensemble de données. Elle est basée sur le principe de l'estimation du maximum de vraisemblance et suppose que les observations sont indépendantes et identiquement distribuées (i.i.d.). La fonction empirical_covariance du package sklearn.covariance peut être utilisée pour calculer la matrice de covariance empirique d'un ensemble de données donné.

from sklearn.covariance import empirical_covariance

## Calcule la matrice de covariance empirique
covariance_matrix = empirical_covariance(data)

Covariance rétrécie

L'estimateur du maximum de vraisemblance, bien qu'impartial, peut ne pas estimer avec précision les valeurs propres de la matrice de covariance, ce qui peut entraîner des résultats inexacts. Pour atténuer ce problème, une technique appelée rétrécissement est utilisée. Le rétrécissement réduit le rapport entre la plus petite et la plus grande valeur propre de la matrice de covariance empirique, améliorant ainsi la précision de l'estimation. Le package sklearn.covariance fournit une classe ShrunkCovariance qui peut être utilisée pour ajuster un estimateur rétréci aux données.

from sklearn.covariance import ShrunkCovariance

## Crée un objet ShrunkCovariance et l'ajuste aux données
shrunk_estimator = ShrunkCovariance().fit(data)

## Calcule la matrice de covariance rétrécie
shrunk_covariance_matrix = shrunk_estimator.covariance_

Rétrécissement Ledoit-Wolf

La méthode de rétrécissement Ledoit-Wolf fournit un coefficient de rétrécissement optimal qui minimise l'erreur quadratique moyenne entre la matrice de covariance estimée et la matrice de covariance réelle. Le package sklearn.covariance inclut une fonction ledoit_wolf qui peut être utilisée pour calculer l'estimateur Ledoit-Wolf pour un ensemble de données donné.

from sklearn.covariance import ledoit_wolf

## Calcule l'estimateur Ledoit-Wolf de la matrice de covariance
ledoit_wolf_covariance_matrix = ledoit_wolf(data)[0]

Covariance inverse sparse

L'estimation de la covariance inverse sparse, également connue sous le nom de sélection de covariance, vise à estimer une matrice de précision sparse, où l'inverse de la matrice de covariance représente la matrice de corrélation partielle. Le package sklearn.covariance inclut une classe GraphicalLasso pour estimer la matrice de covariance inverse sparse en utilisant une pénalité l1.

from sklearn.covariance import GraphicalLasso

## Crée un objet GraphicalLasso et l'ajuste aux données
graphical_lasso = GraphicalLasso().fit(data)

## Calcule la matrice de covariance inverse sparse
sparse_inverse_covariance_matrix = graphical_lasso.precision_

Estimation de covariance robuste

Les ensembles de données du monde réel contiennent souvent des valeurs aberrantes ou des erreurs de mesure qui peuvent influencer considérablement la matrice de covariance estimée. Des méthodes d'estimation de covariance robuste, telles que le déterminant de covariance minimal (MCD en anglais), peuvent être utilisées pour gérer de telles situations. Le package sklearn.covariance fournit une classe MinCovDet pour calculer l'estimation MCD.

from sklearn.covariance import MinCovDet

## Crée un objet MinCovDet et l'ajuste aux données
min_cov_det = MinCovDet().fit(data)

## Calcule la matrice de covariance robuste
robust_covariance_matrix = min_cov_det.covariance_

Sommaire

L'estimation de la covariance est une technique statistique fondamentale utilisée pour estimer la matrice de covariance d'un ensemble de données. Dans ce laboratoire, nous avons exploré diverses méthodes d'estimation de la covariance en utilisant le package sklearn.covariance en Python. Nous avons abordé l'estimation de covariance empirique, les techniques de rétrécissement, l'estimation de covariance inverse sparse et l'estimation de covariance robuste. Il est essentiel de choisir la méthode appropriée en fonction des caractéristiques de l'ensemble de données et des exigences spécifiques de l'analyse.