Estimación de la Matriz de Covarianza con Scikit-Learn

Beginner

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

Introducción

La estimación de covarianza es una técnica estadística importante utilizada para estimar la matriz de covarianza de una población. La matriz de covarianza describe la relación entre variables en un conjunto de datos y puede proporcionar información valiosa sobre la forma del diagrama de dispersión de los datos. En este laboratorio, exploraremos varios métodos para estimar la matriz de covarianza utilizando el paquete sklearn.covariance en Python.

Consejos sobre la VM

Una vez finalizada la inicialización de la VM, haga clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.

A veces, es posible que tenga que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de operaciones no puede automatizarse debido a las limitaciones de Jupyter Notebook.

Si tiene problemas durante el aprendizaje, no dude en preguntar a Labby. Deje sus comentarios después de la sesión y lo resolveremos rápidamente para usted.

Covarianza Empírica

La matriz de covarianza empírica es un método comúnmente utilizado para estimar la matriz de covarianza de un conjunto de datos. Se basa en el principio de estimación de máxima verosimilitud y asume que las observaciones son independientes e idénticamente distribuidas (i.i.d.). La función empirical_covariance en el paquete sklearn.covariance se puede utilizar para calcular la matriz de covarianza empírica de un conjunto de datos dado.

from sklearn.covariance import empirical_covariance

## Compute the empirical covariance matrix
covariance_matrix = empirical_covariance(data)

Covarianza Encogida

El estimador de máxima verosimilitud, aunque no sesgado, puede no estimar con precisión los valores propios de la matriz de covarianza, lo que conduce a resultados inexactos. Para mitigar este problema, se emplea una técnica llamada encogimiento. El encogimiento reduce la proporción entre el valor propio más pequeño y el más grande de la matriz de covarianza empírica, mejorando la precisión de la estimación. El paquete sklearn.covariance proporciona una clase ShrunkCovariance que se puede utilizar para ajustar un estimador encogido a los datos.

from sklearn.covariance import ShrunkCovariance

## Create a ShrunkCovariance object and fit it to the data
shrunk_estimator = ShrunkCovariance().fit(data)

## Compute the shrunk covariance matrix
shrunk_covariance_matrix = shrunk_estimator.covariance_

Encogimiento Ledoit-Wolf

El método de encogimiento Ledoit-Wolf proporciona un coeficiente de encogimiento óptimo que minimiza el error cuadrático medio entre la matriz de covarianza estimada y la verdadera. El paquete sklearn.covariance incluye una función ledoit_wolf que se puede utilizar para calcular el estimador Ledoit-Wolf para un conjunto de datos dado.

from sklearn.covariance import ledoit_wolf

## Compute the Ledoit-Wolf estimator of the covariance matrix
ledoit_wolf_covariance_matrix = ledoit_wolf(data)[0]

Covarianza Inversa Esparsa

La estimación de covarianza inversa esparsa, también conocida como selección de covarianza, tiene como objetivo estimar una matriz de precisión esparsa, donde la matriz inversa de la matriz de covarianza representa la matriz de correlación parcial. El paquete sklearn.covariance incluye una clase GraphicalLasso para estimar la matriz de covarianza inversa esparsa utilizando una penalización l1.

from sklearn.covariance import GraphicalLasso

## Create a GraphicalLasso object and fit it to the data
graphical_lasso = GraphicalLasso().fit(data)

## Compute the sparse inverse covariance matrix
sparse_inverse_covariance_matrix = graphical_lasso.precision_

Estimación de Covarianza Robusta

Los conjuntos de datos del mundo real a menudo contienen valores atípicos o errores de medición que pueden influir significativamente en la matriz de covarianza estimada. Los métodos de estimación de covarianza robusta, como el Determinante de Covarianza Mínimo (MCD, por sus siglas en inglés), se pueden utilizar para manejar tales situaciones. El paquete sklearn.covariance proporciona una clase MinCovDet para calcular la estimación MCD.

from sklearn.covariance import MinCovDet

## Create a MinCovDet object and fit it to the data
min_cov_det = MinCovDet().fit(data)

## Compute the robust covariance matrix
robust_covariance_matrix = min_cov_det.covariance_

Resumen

La estimación de covarianza es una técnica estadística fundamental utilizada para estimar la matriz de covarianza de un conjunto de datos. En este laboratorio, exploramos varios métodos de estimación de covarianza utilizando el paquete sklearn.covariance en Python. Cubrimos la estimación de covarianza empírica, técnicas de encogimiento, estimación de covarianza inversa esparsa y estimación de covarianza robusta. Es esencial elegir el método adecuado en función de las características del conjunto de datos y de los requisitos específicos del análisis.