Correlação alta não significa causalidade, mas também não significa que você pode ignorar multicolinearidade no modelo
Que cada gole desperte uma nova ideia.
Que cada script abra uma nova conversa.
Que o Café com R se torne um ponto de encontro nosso.
SITE OFICIAL > https://jenniferlopes.github.io/meu_site/
\[r = \frac{\sum_{i=1}^{n}(x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum_{i=1}^{n}(x_i-\bar{x})^2}\sqrt{\sum_{i=1}^{n}(y_i-\bar{y})^2}}\]
| Magnitude, em módulo | Interpretação |
|---|---|
| Até 0,3 | Correlação fraca |
| 0,3 a 0,6 | Correlação moderada |
| Acima de 0,6 | Correlação forte |
# A tibble: 7 × 8
variavel ph materia_organica argila calcio magnesio potassio fosforo
<chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 ph 1 0.01 0.03 -0.04 -0.06 -0.08 -0.05
2 materia_organi… 0.01 1 0.33 0 -0.02 0.14 -0.02
3 argila 0.03 0.33 1 0.05 0.01 -0.02 0.1
4 calcio -0.04 0 0.05 1 0.94 -0.03 -0.06
5 magnesio -0.06 -0.02 0.01 0.94 1 0 -0.05
6 potassio -0.08 0.14 -0.02 -0.03 0 1 0.07
7 fosforo -0.05 -0.02 0.1 -0.06 -0.05 0.07 1
Uma correlação alta entre duas variáveis indica que elas variam juntas, não indica qual delas, se alguma, causa a outra.
Duas variáveis podem estar correlacionadas por três razões distintas: uma causa a outra, ambas são causadas por uma terceira variável, uma variável de confusão, ou a correlação é uma coincidência amostral.
Important
Atenção: afirmar causalidade a partir de uma correlação observacional, sem um desenho experimental que isole a variável de interesse, é uma inferência que os dados de correlação, isoladamente, não sustentam.
Cálcio e magnésio estão correlacionados, mas essa correlação não indica que um eleva o outro diretamente.
Ambos tendem a aumentar em conjunto após a prática de calagem, a aplicação de calcário que corrige a acidez do solo. A calagem é a variável de confusão, ela eleva simultaneamente o pH, o cálcio e o magnésio.
Concluir que “aumentar o magnésio aumenta o cálcio”, a partir apenas dessa correlação, ignora a causa comum que gera os dois efeitos em conjunto.
Multicolinearidade ocorre quando duas ou mais variáveis explicativas de um modelo de regressão estão fortemente correlacionadas entre si.
Isso não compromete a capacidade preditiva geral do modelo, mas compromete a estimativa individual de cada coeficiente, que passa a ter erro padrão inflado e se torna instável a pequenas mudanças nos dados.
No contexto deste estudo: cálcio e magnésio, fortemente correlacionados, tendem a produzir coeficientes de regressão pouco confiáveis quando incluídos juntos no mesmo modelo.
\[VIF_j = \frac{1}{1 - R_j^2}\]
| VIF | Interpretação |
|---|---|
| Próximo de 1 | Ausência de multicolinearidade relevante |
| Entre 1 e 5 | Multicolinearidade moderada, geralmente aceitável |
| Acima de 5 ou 10 | Multicolinearidade relevante, requer atenção |
# A tibble: 7 × 2
variavel vif
<chr> <dbl>
1 ph 1.01
2 materia_organica 1.16
3 argila 1.16
4 calcio 8.34
5 magnesio 8.32
6 potassio 1.04
7 fosforo 1.03
Remover uma das variáveis correlacionadas, mantendo apenas a que tem maior relevância teórica ou prática para o objetivo do modelo.
Combinar as variáveis em um índice único, quando ambas representam, na prática, o mesmo construto, como um índice combinado de bases trocáveis do solo.
Aplicar análise de componentes principais, quando muitas variáveis correlacionadas precisam ser mantidas, mas resumidas em poucos componentes ortogonais.
Se o objetivo do modelo é apenas prever, e não interpretar coeficientes individuais, a multicolinearidade tem impacto menor sobre a utilidade do modelo.
Um pairs plot organiza, em uma única figura, a distribuição de cada variável, o gráfico de dispersão entre cada par de variáveis, e o coeficiente de correlação correspondente.
É mais eficiente que inspecionar cada gráfico de dispersão isoladamente, especialmente com um número moderado de variáveis, como neste conjunto de dados de solo.
amostras_solo |>
select(ph, materia_organica, calcio, magnesio) |>
ggpairs(
lower = list(continuous = wrap("points", color = cores_cafe["azul_claro"], alpha = 0.6)),
diag = list(continuous = wrap("densityDiag", fill = cores_cafe["bege"])),
upper = list(continuous = wrap("cor", size = 4, color = cores_cafe["azul_escuro"])))Concluir que uma variável causa a outra apenas porque a correlação entre elas é forte ignora a possibilidade de uma variável de confusão em comum, como discutido no Bloco 2.
Estabelecer causalidade exige desenho experimental, controle de variáveis ou métodos estatísticos específicos para inferência causal, não apenas o coeficiente de correlação.
Manter duas variáveis com VIF elevado no mesmo modelo, sem tratamento, compromete a interpretação individual dos coeficientes, mesmo que o ajuste geral do modelo pareça satisfatório.
Verificar o VIF deve ser uma etapa padrão antes de interpretar coeficientes de regressão com múltiplas variáveis explicativas.
| Conceito | Mede | Função no R | Limite de atenção |
|---|---|---|---|
| Correlação de Pearson | Associação linear entre duas variáveis | cor() |
Acima de 0,6, em módulo |
| Multicolinearidade | Correlação entre variáveis explicativas de um modelo | vif() |
VIF acima de 5 ou 10 |
| Pairs plot | Distribuições e correlações simultâneas | ggpairs() |
Não se aplica |
Continue praticando e explorando.
Esta aula é parte do projeto Café com R. É open source. Use, compartilhe e adapte.
Que cada gole desperte uma nova ideia.
Que cada script abra uma nova conversa.
Que o Café com R se torne um ponto de encontro nosso.
SITE OFICIAL > https://jenniferlopes.github.io/meu_site/

Jennifer Lopes | Café com R