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.