Correlação e covariância
Correlação de Pearson e Spearman, matriz de covariância e interpretação da correlação no contexto do aprendizado de máquina.
Correlação e covariância é uma aula grátis de Learn AI with Python no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Learn AI with Python, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Learn AI with Python inclui 4 aulas no total.
Medindo relações
Covariância e correlação quantificam como duas variáveis se movem juntas. Elas são a base da seleção de características, da teoria de portfólios e da análise exploratória.
Covariância
Covariância é positiva quando as variáveis crescem juntas e negativa quando uma cresce enquanto a outra diminui. Sua magnitude depende das unidades, o que torna a covariância bruta difícil de interpretar.
import numpy as np
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 5, 4, 6])
print(np.cov(x, y, ddof=1)) # 2x2 covariance matrixA matriz de covariância
np.cov retorna uma matriz: as diagonais são variâncias e as posições fora da diagonal contêm a covariância entre os pares. Ela se generaliza para muitas variáveis e fundamenta a PCA.
data = np.array([[1, 2, 3], [2, 4, 5], [3, 6, 7]], dtype=float)
print(np.cov(data.T)) # 3x3 covariance matrix of the columnsCorrelação: covariância escalada
A correlação de Pearson redimensiona a covariância para o intervalo de -1 a 1, dividindo-a pelo produto dos desvios padrão; assim, ela não tem unidade e pode ser comparada.
print(np.corrcoef(x, y)) # 2x2 correlation matrix, diagonal is 1Interpretando a correlação
+1 representa uma relação positiva LINEAR perfeita, -1 uma relação negativa perfeita e 0 nenhuma relação LINEAR. Valores próximos de 0 ainda podem esconder um padrão não linear forte.
Correlação no pandas
df.corr() calcula simultaneamente as correlações entre pares de todas as colunas numéricas, sendo a maneira mais rápida de examinar um conjunto de dados em busca de relações.
import pandas as pd
df = pd.DataFrame({"a": [1,2,3,4,5], "b": [2,4,5,4,6], "c": [9,7,6,5,3]})
print(df.corr()) # Pearson by defaultPearson versus Spearman
Pearson mede a associação LINEAR em valores brutos. Spearman trabalha com RANKS, portanto capta qualquer relação monotônica e é resistente a valores atípicos.
from scipy import stats
x = np.array([1, 2, 3, 4, 100])
y = np.array([1, 2, 3, 4, 5])
print(stats.pearsonr(x, y).statistic) # distorted by outlier
print(stats.spearmanr(x, y).statistic) # 1.0 (perfectly monotonic)Escolhendo o método
df.corr(method="spearman") faz o pandas usar a correlação por postos. Prefira Spearman quando houver valores atípicos ou relações não lineares, mas monotônicas; use Pearson para dados lineares e limpos.
print(df.corr(method="spearman"))Correlação é NOT causalidade
Uma correlação forte não significa que uma variável cause a outra. Um fator de confusão oculto pode influenciar ambas. Pergunte sempre o que mais poderia explicar essa relação.
Correlação espúria
Com variáveis suficientes, algumas apresentarão correlação por puro acaso. As vendas de sorvete e os afogamentos se correlacionam porque ambos são influenciados pelo calor do verão, e não um pelo outro. Trate correlações inesperadas com ceticismo.
Visualizando com um heatmap
Um heatmap de correlação torna os padrões evidentes. Pares de características fortemente correlacionadas podem ser redundantes e candidatos à remoção antes da modelagem.
# import seaborn as sns
# sns.heatmap(df.corr(), annot=True, cmap="coolwarm")Verificação rápida
Teste seus conhecimentos sobre correlação.
Recapitulação
Kit de ferramentas de correlação:
- A covariância mostra a direção, mas depende da unidade;
np.covfornece a matriz - A correlação é redimensionada para -1..1:
np.corrcoef,df.corr() - Pearson (linear) versus Spearman (por postos, robusta, monotônica)
- Correlação não é causalidade; tenha cuidado com fatores de confusão e relações espúrias
Perguntas Frequentes
A aula “Correlação e covariância” é grátis?
Sim — o texto completo de “Correlação e covariância” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Learn AI with Python, atualize para CoddyKit PRO. O curso de Learn AI with Python inclui 4 aulas no total.
O que vou aprender em “Correlação e covariância”?
Correlação de Pearson e Spearman, matriz de covariância e interpretação da correlação no contexto do aprendizado de máquina. Você pratica Learn AI with Python com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Learn AI with Python?
Nenhuma experiência prévia é necessária. Learn AI with Python no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Correlação e covariância”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Learn AI with Python?
Sim. Cada aula de Learn AI with Python inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Estatística descritiva e distribuições
- Probabilidade e teorema de Bayes
- Testes de hipóteses
- Correlação e covariância