Pular para o conteúdo principal

Entendendo a correlação: medindo relacionamentos em dados

Aprenda a identificar relacionamentos entre variáveis usando correlação. Descubra os diferentes tipos de coeficientes de correlação e suas aplicações.
Atualizado 17 de set. de 2026  · 6 min lido

Explorar com IA

ChatGPTClaudePerplexity

Se você já explorou nosso tutorial sobre covariância, sabe que ele trata de como duas variáveis variam juntas. A correlação vai um passo além ao padronizar essa medida, permitindo comparar relacionamentos entre diferentes conjuntos de dados.

Neste guia, você vai aprender o que é correlação (com foco na mais comum, a correlação de Pearson), como ela difere da covariância e como calculá-la e interpretá-la usando Python e R. Ao final, também veremos diferentes tipos de correlação para cenários distintos.

Para continuar fortalecendo suas habilidades em estatística, não perca nossa trilha de Fundamentos de estatística em Python ou o curso Introdução à estatística em R.

O que é correlação?

Correlação mede a força e a direção de uma relação linear entre duas variáveis quantitativas. Ela ajuda você a entender como mudanças em uma variável estão associadas a mudanças em outra. 

Correlação positiva significa que, à medida que uma variável aumenta, a outra tende a aumentar também. Correlação negativa significa que, à medida que uma variável aumenta, a outra tende a diminuir.

Vamos aos pontos principais:

  • A correlação quantifica o grau em que duas variáveis se movem juntas.
  • O coeficiente de correlação varia de -1 a 1.
  • Valor 1 indica uma relação linear positiva perfeita.
  • Valor -1 indica uma relação linear negativa perfeita.
  • Valor 0 indica ausência de relação linear.

Fórmula do coeficiente de correlação de Pearson

Como mencionei, o coeficiente de correlação de Pearson mede a relação linear entre duas variáveis contínuas. O que ainda não disse: ele assume dados normalmente distribuídos (na verdade, mais precisamente, assume distribuição normal conjunta das variáveis, conhecida como normalidade bivariada — há nuances aqui) e é sensível a outliers. O coeficiente de correlação de Pearson é denotado por r.

Fórmula do coeficiente de correlação de Pearson

onde xi e yi são pontos de dados, e x e y são suas respectivas médias.

Coeficiente de correlação de Pearson em Python e R

Vamos ver como calcular em Python e R. 

Correlação em Python

Você pode calcular o coeficiente de correlação de Pearson em Python usando a função pearsonr() do módulo scipy.stats:

import numpy as np
from scipy.stats import pearsonr

# Temperature data in Celsius and corresponding Fahrenheit
temperature_celsius = np.array([0, 10, 20, 30, 40])
temperature_fahrenheit = np.array([32, 50, 68, 86, 104])  # Converted from Celsius

# Calculate Pearson correlation coefficient
correlation_coefficient, p_value = pearsonr(temperature_celsius, temperature_fahrenheit)
print("Pearson correlation coefficient:", correlation_coefficient)
Pearson correlation coefficient: 1.0
p-value: 0.0

A saída mostra uma relação linear positiva perfeita entre x_values e y_values (já que definimos y como 2x). 

Correlação em R

Em R, você pode usar a função cor():

temperature_celsius <- c(0, 10, 20, 30, 40)
temperature_fahrenheit <- c(32, 50, 68, 86, 104)  # Converted from Celsius

# Calculate Pearson correlation coefficient
correlation_coefficient <- cor(temperature_celsius, temperature_fahrenheit, method = "pearson")
print(correlation_coefficient)
[1] 1

Esse resultado também indica uma relação linear positiva perfeita, como antes.

Matriz de correlação

Uma matriz de correlação exibe os coeficientes de correlação entre vários pares de variáveis em um conjunto de dados. É útil para explorar relacionamentos em dados multivariados.

Matriz de correlação em Python

É comum representar variáveis em formato matricial, como um DataFrame do pandas, e calcular a matriz de correlação diretamente:

import pandas as pd

# Create a DataFrame with two perfectly correlated variables and one that isn't
data = pd.DataFrame({
    'temperature_celsius': [0, 10, 20, 30, 40],
    'temperature_fahrenheit': [32, 50, 68, 86, 104],  # Perfect linear transformation
    'ice_cream_sales': [100, 150, 200, 220, 230]      # Roughly increasing, not perfectly
})

# Calculate the Pearson correlation matrix
correlation_matrix = data.corr(method='pearson')
print(correlation_matrix)
                      temperature_celsius  temperature_fahrenheit  ice_cream_sales
temperature_celsius              1.000000                1.000000         0.993858
temperature_fahrenheit           1.000000                1.000000         0.993858
ice_cream_sales                  0.993858                0.993858         1.000000

Essa saída mostra:

  • Correlação positiva perfeita entre temperature_celsius e temperature_fahrenheit (como esperado, igual antes).

  • Correlação forte, mas não perfeita, entre ice_cream_sales e tanto temperature_celsius quanto temperature_fahrenheit.

Matriz de correlação em R

Em R, você consegue o mesmo com a função cor() que usamos antes, aplicada a um data frame ou matriz:

# Create a data frame with two perfectly correlated variables and one unrelated
data <- data.frame(
  temperature_celsius = c(0, 10, 20, 30, 40),
  temperature_fahrenheit = c(32, 50, 68, 86, 104),  # Perfect conversion from Celsius
  ice_cream_sales = c(100, 150, 200, 220, 230)      # Generally increases, but not perfectly
)

# Calculate the correlation matrix
correlation_matrix <- cor(data, method = "pearson")
print(correlation_matrix)
                      temperature_celsius temperature_fahrenheit ice_cream_sales
temperature_celsius                 1.00                   1.00            0.99
temperature_fahrenheit              1.00                   1.00            0.99
ice_cream_sales                     0.99                   0.99            1.00

Essa saída em R espelha o exemplo em Python, com:

  • Correlação positiva perfeita entre temperature_celsius e temperature_fahrenheit.

  • Correlação forte positiva entre ice_cream_sales e temperature_celsius ou temperature_fahrenheit.

Esse tipo de visualização em matriz é especialmente útil para identificar multicolinearidade em regressão ou escolher variáveis para técnicas de redução de dimensionalidade como PCA.

Correlação vs. outras métricas

Vimos que a correlação captura associações lineares. Agora, vale esclarecer bem a diferença para ideias que soam parecidas.

Correlação vs. covariância

Correlação e covariância medem como duas variáveis variam juntas, mas diferem em dois aspectos: escala e interpretabilidade.

  • Covariância indica a direção de uma relação linear, mas não sua força de forma padronizada. Seu valor depende das unidades das variáveis, o que dificulta a comparação entre conjuntos de dados.

  • Correlação padroniza a covariância dividindo pelos desvios padrão das variáveis, produzindo um valor adimensional entre -1 e 1.

Correlação vs. R-squared

R-squared (R²), ou coeficiente de determinação, também pode ser confundido com correlação. Vejo isso principalmente quando analistas tentam interpretar o desempenho de modelos.

  • Correlação (r de Pearson) mede a força e a direção de uma relação linear entre duas variáveis.

  • R-squared representa a proporção da variância em uma variável que é previsível a partir de outra em um modelo de regressão linear. Na prática, em regressão linear simples, é o quadrado do r de Pearson.

Correlação vs. causalidade

Não confunda correlação com causalidade! Esse é um erro comum. 

  • Correlação apenas mostra que duas variáveis se movem juntas. Não explica o porquê. Ou seja, é descritiva, não explicativa. Correlação pode ser resultado de coincidência, variáveis de confusão ou causalidade reversa.

  • Causalidade implica que uma mudança em uma variável causa diretamente uma mudança em outra. Deixe a conversa sobre causalidade para experimentos controlados ou técnicas de inferência causal. 

Desafios e erros comuns na análise de correlação

É importante ficar atento aos deslizes mais comuns que analistas podem cometer: 

  • Correlação não implica causalidade. Já falamos disso. 
  • Outliers podem distorcer os coeficientes de correlação.
  • Relações não lineares podem não ser bem capturadas pela correlação de Pearson.
  • Coeficientes de correlação também são sensíveis ao intervalo (range) dos dados.

Outros tipos de coeficientes de correlação

Neste artigo, cobrimos o coeficiente de correlação de Pearson, já que é a versão construída diretamente sobre o conceito de covariância e a mais usada na prática. Mas vamos ver outros tipos. 

Coeficiente de correlação de postos de Spearman (ρ)

A correlação de Spearman avalia a força e a direção de uma relação monotônica usando valores ranqueados. É não paramétrica e funciona bem para dados ordinais ou tendências não lineares porém consistentes.

Fórmula do coeficiente de correlação de Spearman

Onde:

  • di​ = a diferença entre os postos (ranks) de cada observação
  • n = o número de observações

Coeficiente tau de Kendall (τ)

O coeficiente tau de Kendall também mede relações monotônicas usando ranks, mas é baseado no número de pares concordantes e discordantes. É mais robusto na presença de empates e amostras pequenas.

Fórmula do coeficiente tau de Kendall

Onde:

  • C = número de pares concordantes (pares ranqueados na mesma ordem em ambas as variáveis)
  • D = número de pares discordantes (pares ranqueados em ordens diferentes)
  • n = número de observações

Conclusão

Espero que este artigo tenha sido útil. Como você viu, a correlação é uma ferramenta fundamental de análise de dados para entender relacionamentos entre variáveis. 

Aproveite nossos cursos para continuar aprendendo. Recomendo a trilha de Fundamentos de estatística em Python ou o curso Introdução à estatística em R como ótimos próximos passos. 


Josef Waples's photo
Author
Josef Waples

FAQs sobre correlação

Qual é a diferença entre correlação e covariância?

Covariância mede como duas variáveis variam juntas, enquanto a correlação padroniza essa medida, permitindo comparações entre diferentes conjuntos de dados. A correlação fornece tanto a força quanto a direção do relacionamento e é limitada entre -1 e 1.

Qual coeficiente de correlação devo usar: Pearson, Spearman ou Kendall?

Use Pearson quando seus dados forem contínuos, aproximadamente normais e com relação linear. Escolha Spearman para dados ordinais ou quando a relação for monotônica, mas não necessariamente linear. Kendall é melhor para amostras pequenas com muitos empates ou quando você quer uma medida não paramétrica mais robusta.

Como calcular o coeficiente de correlação de Pearson em Python e R?

Em Python, use pearsonr() do scipy.stats. Em R, use a função cor() com method = \"pearson\". Ambas retornam um valor entre -1 e 1.

Um coeficiente de correlação pode indicar causalidade entre variáveis?

Não. Correlação não implica causalidade. Mesmo que duas variáveis sejam fortemente correlacionadas, isso não significa que uma cause a outra. Variáveis de confusão ou coincidências também podem produzir correlações elevadas.

Quais erros comuns evitar na análise de correlação?

Erros comuns incluem assumir causalidade, ignorar o efeito de outliers, usar a correlação de Pearson para relações não lineares e interpretar correlações fracas como significativas. Também é importante considerar o intervalo e a escala dos dados.

Tópicos
Ciência de dados
Data Analysis

Aprenda com a DataCamp

Curso

Introdução à estatística em Python

4 h
197.1K
Aprimore suas habilidades em estatística coletando, analisando e interpretando dados com Python.
Ver detalhesRight Arrow
Iniciar Curso
Ver maisRight Arrow
Relacionado

blog

Como analisar dados para sua empresa em 5 etapas

Descubra as diferentes etapas para analisar dados e extrair valor deles, bem como os métodos e técnicas envolvidos no processo.
Javier Canales Luna's photo

Javier Canales Luna

14 min

blog

O que é análise de dados? Um guia especializado com exemplos

Explore o mundo da análise de dados com nosso guia abrangente. Saiba mais sobre sua importância, processo, tipos, técnicas, ferramentas e as principais carreiras em 2023
Matt Crabtree's photo

Matt Crabtree

10 min

Tutorial

Introdução a modelos não lineares e percepções usando o R

Descubra as complexidades dos modelos não lineares em comparação com os modelos lineares. Saiba mais sobre suas aplicações, limitações e como ajustá-las usando conjuntos de dados do mundo real.

Somil Asthana

11 min

Tutorial

Tutorial de regressão linear no R

Neste tutorial, você aprenderá os fundamentos de um modelo estatístico muito popular: a regressão linear.

Eladio Montero Porras

15 min

Tutorial

Entendendo a assimetria e a curtose e como traçá-las

Um guia visual abrangente sobre assimetria/curtose e como elas afetam as distribuições e, por fim, seu projeto de ciência de dados.
multiple linear regression

Tutorial

Regressão linear múltipla no R: Tutorial com exemplos

Uma visão geral completa para entender as regressões lineares múltiplas no R por meio de exemplos.
Zoumana Keita 's photo

Zoumana Keita

12 min

Ver MaisVer Mais