Estimação da Matriz de Covariância com Scikit-Learn

Beginner

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

Introdução

A estimação de covariância é uma técnica estatística importante usada para estimar a matriz de covariância de uma população. A matriz de covariância descreve a relação entre as variáveis em um conjunto de dados e pode fornecer insights valiosos sobre a forma do diagrama de dispersão dos dados. Neste laboratório, exploraremos vários métodos para estimar a matriz de covariância usando o pacote sklearn.covariance em Python.

Dicas da Máquina Virtual

Após o término do arranque da VM, clique no canto superior esquerdo para mudar para a aba Notebook para aceder ao Jupyter Notebook para praticar.

Às vezes, pode ser necessário esperar alguns segundos para o Jupyter Notebook terminar de carregar. A validação das operações não pode ser automatizada devido a limitações no Jupyter Notebook.

Se tiver problemas durante o aprendizado, não hesite em contactar o Labby. Forneça feedback após a sessão e resolveremos prontamente o problema para si.

Covariância Empírica

A matriz de covariância empírica é um método comumente utilizado para estimar a matriz de covariância de um conjunto de dados. Baseia-se no princípio da estimação de máxima verossimilhança e assume que as observações são independentes e identicamente distribuídas (i.i.d.). A função empirical_covariance no pacote sklearn.covariance pode ser usada para calcular a matriz de covariância empírica de um conjunto de dados dado.

from sklearn.covariance import empirical_covariance

## Calcular a matriz de covariância empírica
covariance_matrix = empirical_covariance(data)

Covariância Encolhida

O estimador de máxima verossimilhança, embora não tendencioso, pode não estimar com precisão os autovalores da matriz de covariância, levando a resultados imprecisos. Para mitigar este problema, é empregada uma técnica chamada encolhimento. O encolhimento reduz a razão entre os menores e maiores autovalores da matriz de covariância empírica, melhorando a precisão da estimativa. O pacote sklearn.covariance fornece uma classe ShrunkCovariance que pode ser usada para ajustar um estimador encolhido aos dados.

from sklearn.covariance import ShrunkCovariance

## Criar um objeto ShrunkCovariance e ajustá-lo aos dados
shrunk_estimator = ShrunkCovariance().fit(data)

## Calcular a matriz de covariância encolhida
shrunk_covariance_matrix = shrunk_estimator.covariance_

Encolhimento de Ledoit-Wolf

O método de encolhimento de Ledoit-Wolf fornece um coeficiente de encolhimento ótimo que minimiza o erro quadrático médio entre a matriz de covariância estimada e a verdadeira. O pacote sklearn.covariance inclui uma função ledoit_wolf que pode ser usada para calcular o estimador de Ledoit-Wolf para um conjunto de dados dado.

from sklearn.covariance import ledoit_wolf

## Calcular o estimador de Ledoit-Wolf da matriz de covariância
ledoit_wolf_covariance_matrix = ledoit_wolf(data)[0]

Estimativa de Covariância Inversa Esparsa

A estimativa de covariância inversa esparsa, também conhecida como seleção de covariância, visa estimar uma matriz de precisão esparsa, onde a inversa da matriz de covariância representa a matriz de correlação parcial. O pacote sklearn.covariance inclui uma classe GraphicalLasso para estimar a matriz de covariância inversa esparsa usando uma penalidade l1.

from sklearn.covariance import GraphicalLasso

## Criar um objeto GraphicalLasso e ajustá-lo aos dados
graphical_lasso = GraphicalLasso().fit(data)

## Calcular a matriz de covariância inversa esparsa
sparse_inverse_covariance_matrix = graphical_lasso.precision_

Estimativa Robusta de Covariância

Datasets do mundo real frequentemente contêm outliers ou erros de medição que podem influenciar significativamente a matriz de covariância estimada. Métodos de estimativa de covariância robusta, como o Minimum Covariance Determinant (MCD), podem ser usados para lidar com essas situações. O pacote sklearn.covariance fornece uma classe MinCovDet para calcular a estimativa MCD.

from sklearn.covariance import MinCovDet

## Criar um objeto MinCovDet e ajustá-lo aos dados
min_cov_det = MinCovDet().fit(data)

## Calcular a matriz de covariância robusta
robust_covariance_matrix = min_cov_det.covariance_

Resumo

A estimativa de covariância é uma técnica estatística fundamental usada para estimar a matriz de covariância de um conjunto de dados. Neste laboratório, exploramos vários métodos para estimativa de covariância utilizando o pacote sklearn.covariance em Python. Abordamos a estimativa empírica de covariância, técnicas de encolhimento, estimativa de covariância inversa esparsa e estimativa de covariância robusta. É essencial escolher o método apropriado com base nas características do conjunto de dados e nas necessidades específicas da análise.