Capítulo 31 Correlação
31.1 Análise inferencial de correlação
31.1.3 Qual é a interpretação das medidas de correlação?
Os valores de correlação estão no intervalo \([-1; 1]\).112,298,299
Valores de correlação positivos representam uma relação direta entre as variáveis, tal que valores maiores de uma variável estão associados a valores maiores de outra variável.298,299
Valores de correlação negativos representam uma relação indireta (ou inversa) entre as variáveis, tal que valores maiores (menores) de uma variável estão associados a valores maiores (menores) de outra variável.298,299
Valores de correlação próximos de \(0\) representam a inexistência de relação entre as variáveis.298,299
Figura 31.1: Exemplo de diferentes forças e direção de correlação entre duas variáveis X e Y.
31.1.4 Quais precauções devem ser tomadas na interpretação de medidas de correlação?
Tamanhos de efeito grande (ou qualquer outro) não representam necessariamente uma relação causa-efeito entre as variáveis.298
Tamanhos de efeito grande (ou qualquer outro) não representam necessariamente uma relação de concordância ou confiabilidade entre as variáveis.298
Uma escala de medição com representação agregada do constructo na coleta de dados pode subestimar o tamanho do efeito da correlação \(r\) em de cerca de 13% e do coeficiente de determinação \(R^2\) de cerca de 30%.125 Neste caso, a correlação desatenuada \(r_{x'y'}\) pode ser calculada por (31.1), utilizando a correlação observada \(r_{xy}\) e os fatores de correção \(r_{xx'}\) e \(r_{yy'}\) para o número de intervalos nas variáveis X e Y, respectivamennte:125
\[\begin{equation} \tag{31.1} r_{x'y'} = \dfrac{r_{xy}}{r_{xx'}r_{yy'}} \end{equation}\]
O pacote psychmeta300 fornece a função correct_r_coarseness para calcular o coeficiente de correlação desatenuado (\(r_{x'y'}\)).
O pacote psychmeta300 fornece a função correct_r para calcular o coeficiente de correlação em escala restrita e/ou com erro de mensuração (\(r_{x'y'}\)).
Os coeficientes de correlação possuem suposições que, se violadas, podem levar a interpretações equivocadas. Nestes cenários, visualizar os dados e as relações entre as variáveis pode contribuir com a interpretação e utilidade dos coeficientes de correlação.301
O quarteto de Anscombe é um conjunto de quatro bancos de dados bivariados que possuem a mesma média, variância, correlação e regressão linear (até a 2a casa decimal), mas que são visualmente diferentes e, assim, demonstram a importância da análise gráfica da correlação.301
| ID | x1 | x2 | x3 | x4 | y1 | y2 | y3 | y4 |
|---|---|---|---|---|---|---|---|---|
| 1 | 10 | 10 | 10 | 8 | 8.04 | 9.14 | 7.46 | 6.58 |
| 2 | 8 | 8 | 8 | 8 | 6.95 | 8.14 | 6.77 | 5.76 |
| 3 | 13 | 13 | 13 | 8 | 7.58 | 8.74 | 12.74 | 7.71 |
| 4 | 9 | 9 | 9 | 8 | 8.81 | 8.77 | 7.11 | 8.84 |
| 5 | 11 | 11 | 11 | 8 | 8.33 | 9.26 | 7.81 | 8.47 |
| 6 | 14 | 14 | 14 | 8 | 9.96 | 8.10 | 8.84 | 7.04 |
| 7 | 6 | 6 | 6 | 8 | 7.24 | 6.13 | 6.08 | 5.25 |
| 8 | 4 | 4 | 4 | 19 | 4.26 | 3.10 | 5.39 | 12.50 |
| 9 | 12 | 12 | 12 | 8 | 10.84 | 9.13 | 8.15 | 5.56 |
| 10 | 7 | 7 | 7 | 8 | 4.82 | 7.26 | 6.42 | 7.91 |
| 11 | 5 | 5 | 5 | 8 | 5.68 | 4.74 | 5.73 | 6.89 |
| X1Y1 | X2Y2 | X3Y3 | X4Y4 | |
|---|---|---|---|---|
| Observações | 11.00 | 11.00 | 11.00 | 11.00 |
| Média x | 9.00 | 9.00 | 9.00 | 9.00 |
| Média y | 7.50 | 7.50 | 7.50 | 7.50 |
| Variância x | 11.00 | 11.00 | 11.00 | 11.00 |
| Variância y | 4.13 | 4.13 | 4.12 | 4.12 |
| Correlação | 0.82 | 0.82 | 0.82 | 0.82 |
| Coeficiente angular | 0.50 | 0.50 | 0.50 | 0.50 |
| Coeficiente linear | 3.00 | 3.00 | 3.00 | 3.00 |
| Coeficiente de determinação | 0.67 | 0.67 | 0.67 | 0.67 |
Figura 31.2: Gráfico de dispersão do Quarteto de Anscombe para representação gráfica de conjuntos de dados bivariados com parâmetros quase idênticos e relações muito distintas.
O pacote anscombiser302 fornece a função anscombise para gerar bancos de dados que compartilham os mesmos valores de parâmetros do Quarteto de Anscombe.
31.2 Coeficientes de correlação
31.2.1 Quais coeficientes podem ser usados em análises de correlação?
\[\begin{equation} \tag{31.2} r = \dfrac{n \sum{x_i y_i} - \sum{x_i} \sum{y_i}}{\sqrt{\left[n \sum{x_i^2} - (\sum{x_i})^2\right]\left[n \sum{y_i^2} - (\sum{y_i})^2\right]}} \end{equation}\]
O coeficiente de correlação de Pearson (\(r\)) avalia a força e direção da relação linear entre duas variáveis quantitativas.298,299
Hipóteses:299
Nula (\(H_{0}\)): \(r=0\)
Alternativa (\(H_{1}\)): \(r≠0\)
Coeficiente de correlação de Pearson (\(r\))
O pacote stats141 fornece a função cor.test para calcular o coeficiente de correlação de Pearson (\(r\)).
O pacote correlation303 do projeto easystats304 fornece a função correlation para calcular o coeficiente de correlação de Pearson (\(r\)).
\[\begin{equation} \tag{31.3} r_{s} = \dfrac{M_{1} - M_{0}}{s_{y}} \sqrt{\dfrac{n_{1}n_{0}}{n^2}} \end{equation}\]
O coeficiente de correlação ponto-bisserial (\(r_{s}\)) avalia a força e direção da relação linear entre uma variável quantitativa e outra dicotômica.298
Tipo: paramétrico.298
Hipóteses:298
Nula (\(H_{0}\)): \(r_{s}=0\)
Alternativa (\(H_{1}\)): \(r_{s}≠0\)
Tamanho do efeito:298
Coeficiente de correlação ponto-bisserial (\(r_{s}\))
O pacote stats141 fornece a função cor.test para calcular o coeficiente de correlação ponto-bisserial (\(r_{s}\)).
O pacote correlation303 do projeto easystats304 fornece a função correlation para calcular o coeficiente de correlação ponto-bisserial (\(r_{s}\)).
\[\begin{equation} \tag{31.4} \rho = 1 - \dfrac{6 \Sigma d_{i}^2}{n(n^2 - 1)} \end{equation}\]
O coeficiente de correlação de Spearman (\(\rho\)) avalia a força e direção da relação monotônica entre duas variáveis quantitativas.298,299
O coeficiente de correlação de Spearman (\(\rho\)) pode ser também definida como a correlação de Pearson (\(r\)) entre as classificações (ranks) das duas variáveis quantitativas.298,299
Nula (\(H_{0}\)): \(\rho=0\)
Alternativa (\(H_{1}\)): \(\rho≠0\)
Coeficiente de correlação de Spearman (\(\rho\))
O pacote stats141 fornece a função cor.test para calcular o coeficiente de correlação de Spearman (\(\rho\)).
O pacote correlation303 do projeto easystats304 fornece a função correlation para calcular o coeficiente de correlação de Spearman (\(\rho\)).
\[\begin{equation} \tag{31.5} \tau = \dfrac{(n_{c} - n_{d})}{\dfrac{1}{2}n(n-1)} \end{equation}\]
O coeficiente Kendall \(\tau\) avalia a força e direção da relação monotônica entre duas variáveis quantitativas ou qualitativas.298,299
O coeficiente Kendall \(\tau\) é definido como a proporção de todos os pares concordantes menos a proporção de todos os pares discordantes.298,299
Nula (\(H_{0}\)): \(\tau=0\)
Alternativa (\(H_{1}\)): \(\tau≠0\)
Kendall \(\tau\)
O pacote correlation303 do projeto easystats304 fornece a função correlation para calcular o coeficiente coeficiente Kendall \(\tau\).
\[\begin{equation} \tag{31.6} V = \sqrt{\dfrac{\chi^2/n}{\min(k-1, r-1)}} \end{equation}\]
O coeficiente Cramér (\(V\)) avalia a força e direção da relação entre duas variáveis qualitativas.REF?
Tipo: não-paramétrico.REF?
Hipóteses:REF?
Nula (\(H_{0}\)): \(V=0\)
Alternativa (\(H_{1}\)): \(V≠0\)
Tamanho do efeito:REF?
Coeficiente Cramer (\(V\))
\[\begin{equation} \tag{31.7} \phi = \sqrt{\dfrac{\chi^2}{n}} \end{equation}\]
O coeficiente Phi (\(\phi\)) avalia a força e direção da relação entre duas variáveis dicotômicas.REF?
Tipo: não-paramétrico.REF?
Hipóteses:REF?
Nula (\(H_{0}\)): \(\phi=0\)
Alternativa (\(H_{1}\)): \(\phi≠0\)
Tamanho do efeito:REF?
Coeficiente Phi (\(\phi\))
O pacote correlation303 do projeto easystats304 fornece a função correlation para calcular o coeficiente coeficiente Sheperd \(\phi\).
O pacote corrplot225 fornece a função cor.mtest para calcular os P-valores e intervalos de confiança da matriz de correlação.
31.3 Colinearidade
31.3.1 O que é colinearidade?
Colinearidade representa a correlação entre duas variáveis.305
Colinearidade exata indica uma relação linear perfeita entre duas variáveis.305
31.3.2 Como identificar colinearidade na matriz de correlação?
A colinearidade pode ser identificada na matriz de correlação por meio da análise dos coeficientes de correlação entre as variáveis.305
Valores de correlação próximos de \(1\) ou \(-1\) indicam colinearidade entre as variáveis.305
O pacote GGally306 fornece a função ggally_cor para estimar a correlação bivariada e exibir o coeficiente de correlação e o P-valor na matriz de correlação.306
31.4 Correlação entre conjuntos de variáveis
31.4.1 O que é correlação entre conjuntos de variáveis?
A Correlação Canônica (CCA) analisa a relação entre dois conjuntos de variáveis simultaneamente.REF?
Busca combinações lineares que maximizam a correlação entre os dois blocos.REF?
31.4.2 Quando usar CCA?
Quando existem dois blocos distintos de variáveis.REF?
Quando a correlação bivariada é insuficiente para captar padrões multivariados.REF?
31.4.3 Quais são os principais resultados?
Correlação canônica (\(\rho_1\), \(\rho_2\), \(...\)): força da associação entre os escores dos blocos.REF?
Escores canônicos (\(U\) e \(V\)): novas variáveis representando os blocos.REF?
Loadings e cross-loadings: indicam quais variáveis mais contribuem para cada eixo.REF?
31.4.4 Como interpretar a CCA?
\(\rho_1\) indica a força do primeiro eixo canônico (\(U_1 \leftrightarrow V_1\)).REF?
Gráficos de \(U_1\) vs \(V_1\) podem revelar padrões por grupo ou gradiente.REF?
Loadings/cross-loadings mostram quais variáveis explicam a correlação.REF?
31.4.5 Quais suposições e cuidados?
As variáveis devem estar padronizadas (escalas comparáveis).REF?
Preferível \(n>\) número de variáveis em cada bloco.REF?
Atenção a multicolinearidade alta (pode exigir CCA regularizada).REF?
31.4.6 O que reportar nos resultados?
Valores de \(\rho_1\), \(\rho_2\), \(...\) comteste de Wilks e p-valores.REF?
Figura \(U_1\) vs. \(V_1\) com interpretação.REF?
Tabela de loadings ou cross-loadings destacando contribuições relevantes.REF?
Uma interpretação substantiva da relação entre os blocos.REF?
Code
# Reproducibilidade
set.seed(123)
# Suponha X: variáveis ambientais; Y: traços de plantas
n <- 120
X <- scale(cbind(pH = rnorm(n, 6.5, .4),
temp = rnorm(n, 20, 3),
rain = rnorm(n, 1000, 120)))
Y <- scale(cbind(height = 0.4*X[, "temp"] - 0.3*X[, "pH"] + rnorm(n,0,.6),
leaf = 0.3*X[, "rain"] + 0.25*X[, "temp"] + rnorm(n,0,.6),
chl = -0.35*X[, "pH"] + 0.3*X[, "rain"] + rnorm(n,0,.6)))
# (Opcional) fator de cor para o scatter
classe <- factor(sample(c("Forest","Herb","Planted","Shrub"), n, TRUE))
# ---- CCA (base R) ----
fit <- cancor(X, Y) # stats::cancor
rho <- fit$cor # correlações canônicas
# Escores canônicos (U e V)
U <- scale(X) %*% fit$xcoef
V <- scale(Y) %*% fit$ycoef
U1 <- U[,1]; V1 <- V[,1]
# ---- Teste sequencial (Wilks) ----
# wilks <- CCP::p.asym(rho, N=n, p=ncol(X), q=ncol(Y), tstat="Wilks")
# wilks_tab <- transform(wilks, rho=round(rho,3),
# p.value=signif(p.value,3))
# ---- Loadings e cross-loadings (correlações com escores) ----
# Loadings: var-X com U1.., var-Y com V1..
loadX <- cor(X, U[,1:min(ncol(X), ncol(Y))])
loadY <- cor(Y, V[,1:min(ncol(X), ncol(Y))])
# Cross-loadings: var-X com V1.., var-Y com U1..
crossX <- cor(X, V[,1:min(ncol(X), ncol(Y))])
crossY <- cor(Y, U[,1:min(ncol(X), ncol(Y))])
# ---- Visualizações ----
p1 <- ggplot2::ggplot(data.frame(U1=U1, V1=V1, classe=classe),
ggplot2::aes(U1, V1, shape=classe)) +
ggplot2::geom_point(alpha=.75) +
ggplot2::geom_smooth(method="lm", se=FALSE) +
ggplot2::labs(x="U1 (X → a1)", y="V1 (Y → b1)",
subtitle=paste0("ρ1 = ", round(rho[1], 3))) +
ggplot2::theme_minimal()
# Heatmap de cross-loadings (quais variáveis de X e Y conectam-se ao outro bloco)
cx <- reshape2::melt(round(crossX, 2), varnames=c("VarX","CompV"),
value.name="cross")
cy <- reshape2::melt(round(crossY, 2), varnames=c("VarY","CompU"),
value.name="cross")
print(p1)
Figura 31.3: Exemplo de análise de correlação canônica (CCA) entre dois conjuntos de variáveis.
Ferreira, Arthur de Sá. Ciência com R: Perguntas e respostas para pesquisadores e analistas de dados. Rio de Janeiro: 1a edição,