Estou fornecendo códigos em R apenas um exemplo, você pode ver respostas apenas se não tiver experiência com R. Só quero fazer alguns casos com exemplos.
correlação vs regressão
Correlação e regressão linear simples com um Y e um X:
O modelo:
y = a + betaX + error (residual)
Digamos que temos apenas duas variáveis:
X = c(4,5,8,6,12,15)
Y = c(3,6,9,8,6, 18)
plot(X,Y, pch = 19)
Em um diagrama de dispersão, quanto mais próximos os pontos estiverem de uma linha reta, mais forte será a relação linear entre duas variáveis.

Vamos ver a correlação linear.
cor(X,Y)
0.7828747
Agora regressão linear e valores de R extraídos ao quadrado .
reg1 <- lm(Y~X)
summary(reg1)$r.squared
0.6128929
Assim, os coeficientes do modelo são:
reg1$coefficients
(Intercept) X
2.2535971 0.7877698
A beta para X é 0,7877698. Assim, nosso modelo será:
Y = 2.2535971 + 0.7877698 * X
A raiz quadrada do valor do quadrado R na regressão é igual rà regressão linear.
sqrt(summary(reg1)$r.squared)
[1] 0.7828747
Vamos ver o efeito de escala na inclinação e na correlação de regressão usando o mesmo exemplo acima e multiplicar Xcom uma palavra constante 12.
X = c(4,5,8,6,12,15)
Y = c(3,6,9,8,6, 18)
X12 <- X*12
cor(X12,Y)
[1] 0.7828747
A correlação permanece inalterada, assim como R ao quadrado .
reg12 <- lm(Y~X12)
summary(reg12)$r.squared
[1] 0.6128929
reg12$coefficients
(Intercept) X12
0.53571429 0.07797619
Você pode ver os coeficientes de regressão alterados, mas não o quadrado R. Agora, outro experimento permite adicionar uma constante Xe ver o que isso terá efeito.
X = c(4,5,8,6,12,15)
Y = c(3,6,9,8,6, 18)
X5 <- X+5
cor(X5,Y)
[1] 0.7828747
A correlação ainda não é alterada após a adição 5. Vamos ver como isso terá efeito nos coeficientes de regressão.
reg5 <- lm(Y~X5)
summary(reg5)$r.squared
[1] 0.6128929
reg5$coefficients
(Intercept) X5
-4.1428571 0.9357143
O quadrado R e a correlação não têm efeito de escala, mas interceptação e inclinação. Portanto, a inclinação não é igual ao coeficiente de correlação (a menos que as variáveis sejam padronizadas com média 0 e variância 1).
o que é ANOVA e por que fazemos ANOVA?
ANOVA é uma técnica em que comparamos variações para tomar decisões. A variável de resposta (chamada Y) é variável quantitativa, enquanto Xpode ser quantitativa ou qualitativa (fator com diferentes níveis). Ambos Xe Ypodem ser um ou mais em número. Normalmente dizemos ANOVA para variáveis qualitativas, ANOVA em contexto de regressão é menos discutida. Pode ser que isso seja causa de sua confusão. A hipótese nula na variável qualitativa (fatores, por exemplo, grupos) é que a média dos grupos não é diferente / igual, enquanto na análise de regressão testamos se a inclinação da linha é significativamente diferente de 0.
Vamos ver um exemplo em que podemos fazer análise de regressão e ANOVA de fator qualitativo, pois X e Y são quantitativos, mas podemos tratar X como fator.
X1 <- rep(1:5, each = 5)
Y1 <- c(12,14,18,12,14, 21,22,23,24,18, 25,23,20,25,26, 29,29,28,30,25, 29,30,32,28,27)
myd <- data.frame (X1,Y1)
Os dados são os seguintes.
X1 Y1
1 1 12
2 1 14
3 1 18
4 1 12
5 1 14
6 2 21
7 2 22
8 2 23
9 2 24
10 2 18
11 3 25
12 3 23
13 3 20
14 3 25
15 3 26
16 4 29
17 4 29
18 4 28
19 4 30
20 4 25
21 5 29
22 5 30
23 5 32
24 5 28
25 5 27
Agora fazemos regressão e ANOVA. Primeira regressão:
reg <- lm(Y1~X1, data=myd)
anova(reg)
Analysis of Variance Table
Response: Y1
Df Sum Sq Mean Sq F value Pr(>F)
X1 1 684.50 684.50 101.4 6.703e-10 ***
Residuals 23 155.26 6.75
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
reg$coefficients
(Intercept) X1
12.26 3.70
Agora ANOVA convencional (ANOVA média para fator / variável qualitativa) convertendo X1 em fator.
myd$X1f <- as.factor (myd$X1)
regf <- lm(Y1~X1f, data=myd)
anova(regf)
Analysis of Variance Table
Response: Y1
Df Sum Sq Mean Sq F value Pr(>F)
X1f 4 742.16 185.54 38.02 4.424e-09 ***
Residuals 20 97.60 4.88
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Você pode ver o X1f Df alterado, que é 4 em vez de 1 no caso acima.
Em contraste com a ANOVA para variáveis qualitativas, no contexto de variáveis quantitativas onde fazemos análise de regressão - a Análise de Variância (ANOVA) consiste em cálculos que fornecem informações sobre níveis de variabilidade dentro de um modelo de regressão e formam uma base para testes de significância.
Basicamente, a ANOVA testa a hipótese nula beta = 0 (com a hipótese alternativa beta não é igual a 0). Aqui, testamos F qual a razão de variabilidade explicada pelo modelo vs erro (variação residual). A variação do modelo vem do valor explicado pela linha que você ajustou, enquanto o residual vem do valor que não é explicado pelo modelo. Um F significativo significa que o valor beta não é igual a zero, significa que existe uma relação significativa entre duas variáveis.
> anova(reg1)
Analysis of Variance Table
Response: Y
Df Sum Sq Mean Sq F value Pr(>F)
X 1 81.719 81.719 6.3331 0.0656 .
Residuals 4 51.614 12.904
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Aqui podemos ver alta correlação ou resultado do quadrado R, mas ainda não significativo. Às vezes, você pode obter um resultado em que baixa correlação ainda é significativa. A razão da relação não significativa nesse caso é que não temos dados suficientes (n = 6, df residual = 4), portanto, F deve ser visto na distribuição F com o numerador 1 df vs 4 denomerador df. Portanto, neste caso, não poderíamos descartar a inclinação não é igual a 0.
Vamos ver outro exemplo:
X = c(4,5,8,6,2, 5,6,4,2,3, 8,2,5,6,3, 8,9,3,5,10)
Y = c(3,6,9,8,6, 8,6,8,10,5, 3,3,2,4,3, 11,12,4,2,14)
reg3 <- lm(Y~X)
anova(reg3)
Analysis of Variance Table
Response: Y
Df Sum Sq Mean Sq F value Pr(>F)
X 1 69.009 69.009 7.414 0.01396 *
Residuals 18 167.541 9.308
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Valor R-quadrado para esses novos dados:
summary(reg3)$r.squared
[1] 0.2917296
cor(X,Y)
[1] 0.54012
Embora a correlação seja menor que no caso anterior, obtivemos uma inclinação significativa. Mais dados aumentam df e fornecem informações suficientes para que possamos descartar a hipótese nula de que a inclinação não é igual a zero.
Vamos dar outro exemplo em que há correlação negativa:
X1 = c(4,5,8,6,12,15)
Y1 = c(18,16,2,4,2, 8)
# correlation
cor(X1,Y1)
-0.5266847
# r-square using regression
reg2 <- lm(Y1~X1)
summary(reg2)$r.squared
0.2773967
sqrt(summary(reg2)$r.squared)
[1] 0.5266847
Como os valores foram elevados ao quadrado, a raiz quadrada não fornecerá informações sobre relacionamento positivo ou negativo aqui. Mas a magnitude é a mesma.
Caso de regressão múltipla:
A regressão linear múltipla tenta modelar a relação entre duas ou mais variáveis explicativas e uma variável de resposta, ajustando uma equação linear aos dados observados. A discussão acima pode ser estendida para vários casos de regressão. Nesse caso, temos vários beta no termo:
y = a + beta1X1 + beta2X2 + beta2X3 + ................+ betapXp + error
Example:
X1 = c(4,5,8,6,2, 5,6,4,2,3, 8,2,5,6,3, 8,9,3,5,10)
X2 = c(14,15,8,16,2, 15,3,2,4,7, 9,12,5,6,3, 12,19,13,15,20)
Y = c(3,6,9,8,6, 8,6,8,10,5, 3,3,2,4,3, 11,12,4,2,14)
reg4 <- lm(Y~X1+X2)
Vamos ver os coeficientes do modelo:
reg4$coefficients
(Intercept) X1 X2
2.04055116 0.72169350 0.05566427
Assim, seu modelo de regressão linear múltipla seria:
Y = 2.04055116 + 0.72169350 * X1 + 0.05566427* X2
Agora vamos testar se o beta para X1 e X2 é maior que 0.
anova(reg4)
Analysis of Variance Table
Response: Y
Df Sum Sq Mean Sq F value Pr(>F)
X1 1 69.009 69.009 7.0655 0.01656 *
X2 1 1.504 1.504 0.1540 0.69965
Residuals 17 166.038 9.767
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Aqui dizemos que a inclinação de X1 é maior que 0, enquanto não podemos determinar que a inclinação de X2 seja maior que 0.
Observe que a inclinação não é correlação entre X1 e Y ou X2 e Y.
> cor(Y, X1)
[1] 0.54012
> cor(Y,X2)
[1] 0.3361571
Em situações de múltiplas variáveis (onde as variáveis são maiores que duas, a correlação parcial entra em cena. A correlação parcial é a correlação de duas variáveis enquanto se controla uma terceira ou mais outras variáveis.
source("http://www.yilab.gatech.edu/pcor.R")
pcor.test(X1, Y,X2)
estimate p.value statistic n gn Method Use
1 0.4567979 0.03424027 2.117231 20 1 Pearson Var-Cov matrix
pcor.test(X2, Y,X1)
estimate p.value statistic n gn Method Use
1 0.09473812 0.6947774 0.3923801 20 1 Pearson Var-Cov matrix