Iniciamos carregando a base de dados “Boston”, obtida através da biblioteca “MASS”.

data("Boston")

Questão 1

Agora, realizamos uma regressão linear em que o regressor é o percentual de moradores de baixo status econômico (lstat) e o regressando é o valor mediano das casas em uma vizinhança (medv). Além disso, apresentamos um resumo do modelo.

mod <- lm(medv ~ lstat)
summary(mod)
## 
## Call:
## lm(formula = medv ~ lstat)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -15.168  -3.990  -1.318   2.034  24.500 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 34.55384    0.56263   61.41   <2e-16 ***
## lstat       -0.95005    0.03873  -24.53   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 6.216 on 504 degrees of freedom
## Multiple R-squared:  0.5441, Adjusted R-squared:  0.5432 
## F-statistic: 601.6 on 1 and 504 DF,  p-value: < 2.2e-16

Questão 2

Q2 <- ggplot(Boston, aes(x = lstat, y = medv)) + geom_point() +
  geom_smooth(method = "lm", col = "red", se = FALSE)

Questão 3

log_mod <- lm(medv ~ log(lstat))

summary(log_mod)
## 
## Call:
## lm(formula = medv ~ log(lstat))
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -14.4599  -3.5006  -0.6686   2.1688  26.0129 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  52.1248     0.9652   54.00   <2e-16 ***
## log(lstat)  -12.4810     0.3946  -31.63   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 5.329 on 504 degrees of freedom
## Multiple R-squared:  0.6649, Adjusted R-squared:  0.6643 
## F-statistic:  1000 on 1 and 504 DF,  p-value: < 2.2e-16

Questão 4

Q4 <- ggplot(Boston, aes(x = log(lstat), y = medv)) + geom_point() +
  geom_smooth(method = "lm", col = "red", se = FALSE)

Questão 5

log2_mod <- lm(medv ~ log(lstat) + I(log(lstat)^2))

summary(log2_mod)
## 
## Call:
## lm(formula = medv ~ log(lstat) + I(log(lstat)^2))
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -13.7372  -3.2447  -0.6264   2.3164  26.8335 
## 
## Coefficients:
##                 Estimate Std. Error t value Pr(>|t|)    
## (Intercept)      62.8109     2.7446  22.885  < 2e-16 ***
## log(lstat)      -22.5970     2.4683  -9.155  < 2e-16 ***
## I(log(lstat)^2)   2.2232     0.5357   4.150  3.9e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 5.245 on 503 degrees of freedom
## Multiple R-squared:  0.676,  Adjusted R-squared:  0.6748 
## F-statistic: 524.8 on 2 and 503 DF,  p-value: < 2.2e-16

Questão 6

Primeiro definimos a variável “coef_Q5”, que contém os coeficientes do modelo “log2_mod”.

coef_Q5 <- coef(log2_mod)
##     (Intercept)      log(lstat) I(log(lstat)^2) 
##       62.810865      -22.597006        2.223174

Agora, calculamos qual o valor esperado da variável dependente “medv” quando “lstat” é igual a 11% (medv_11)

medv_11 <- coef_Q5[2]*(log(11)) + coef_Q5[3]*((log(11)^2))
## log(lstat) 
##  -41.40222

e quando “lstat” é igual a 10% (medv_10).

medv_10 <- coef_Q5[2]*(log(10)) + coef_Q5[3]*((log(10)^2))
## log(lstat) 
##  -40.24449

Assim, a variação em “medv” quando “lstat” varia de 10 para 11 (ou seja, quando o percentual de moradores de baixo nível econômico aumenta de 10% para 11%) é

medv_11 - medv_10
## log(lstat) 
##  -1.157735

Questão 7

Primeiramente, criamos o vetor “old” - 1 se variável “age” for igual ou maior que 95, e zero caso contrário.

old <- as.numeric(age >= 95)

Em seguida, realizamos a regressão e apresentamos os resultados.

mod_co <- lm(medv ~ chas + old + I(chas*old))

summary(mod_co)
## 
## Call:
## lm(formula = medv ~ chas + old + I(chas * old))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -17.771  -4.765  -1.683   2.776  33.433 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)    23.6989     0.4503  52.624  < 2e-16 ***
## chas            4.0582     1.6872   2.405   0.0165 *  
## old            -7.1319     0.9493  -7.513 2.67e-13 ***
## I(chas * old)  10.5462     3.7577   2.807   0.0052 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 8.604 on 502 degrees of freedom
## Multiple R-squared:  0.1301, Adjusted R-squared:  0.1249 
## F-statistic: 25.02 on 3 and 502 DF,  p-value: 4.244e-15

Questão 8

A regressão acima é um caso de interação entre as variáveis qualitativas, ou seja, o efeito de chas e old sobre o Y médio não é apenas aditivo, mas também multiplicativo.

Da equação de regressão obtemos,

\[ E(medv_i | chas = 1, old = 1) = \beta_0 + \beta_1 + \beta_2 + \beta_3 \]

Em que,

\(\beta_1\) é o efeito diferencial de estar na divisa com o Rio Charles

\(\beta_2\) é o efeito difirencial de estar em uma vizinhança com mais de 95% das casas construídas antes de 1940

\(\beta_3\) é o efeito diferencial de estar em uma vizinhança que faz divisa com o Rio Charles e, também, possui mais de 95% das casas construídas antes de 1940

o que mostra que a mediana do valor das casas que fazem divisa com o Rio e que estão em vizinhanças com prédios mais antigos é diferente (por \(\beta_3\)) da mediana do valor das casas que fazem divisa com o Rio ou estão em regiões com prédios mais antigos1.

Dessa forma, o efeito estimado sobre a variável “medv” ao se mudar de uma vizinhança com menos de 95% de prédios antigos para uma vizinhança com pelo menos 95% de prédios antigos é, no caso em que a vizinhança faz divisa com o Rio Charles (\(chas_i = 1\)),

\[\beta_2 + \beta_3\]

ou seja, \(-7.13 + 10.55 = 3.42\). Interpretando esse resultado, podemos dizer que se mudar de uma vizinhança com menos de 95% de prédios antigos para uma vizinhança com pelo menos 95% de prédios antigos, dado que a vizinhança faz divisa com o Rio Charles, aumenta o valor mediano da casa em, aproximadamente, $34202.

Para o caso em que \(chas_i = 0\), temos que o efeito estimado sobre a variável “medv” ao se mudar de uma vizinhança com menos de 95% de prédios antigos para uma vizinhança com pelo menos 95% de prédios antigos é,

\[\beta_2\] ou seja, \(-7.13\), o que indica que se mudar de uma vizinhança com menos de 95% de prédios antigos para uma vizinhança com pelo menos 95% de prédios antigos, dado que a vizinhança não faz divisa com o Rio Charles, reduz o valor da casa em, aproximadamente, $71303.

Questão 9

mod_io <- lm(medv ~ indus + old + I(indus*old))

summary(mod_io)
## 
## Call:
## lm(formula = medv ~ indus + old + I(indus * old))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -12.379  -5.066  -1.588   3.015  33.046 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)    30.06350    0.72882  41.250   <2e-16 ***
## indus          -0.65844    0.06569 -10.024   <2e-16 ***
## old            -7.48438    3.07918  -2.431   0.0154 *  
## I(indus * old)  0.37115    0.17558   2.114   0.0350 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 8.024 on 502 degrees of freedom
## Multiple R-squared:  0.2434, Adjusted R-squared:  0.2389 
## F-statistic: 53.83 on 3 and 502 DF,  p-value: < 2.2e-16

Questão 10

Nesse caso temos uma dummy de inclinação, ou seja, o coeficiente angular parcial de \(indus_i\) irá variar dependendo do valor de \(old_i\).

Partindo da equação de regressão,

\[ medv_i = \beta_0 + \beta_1*indus_i + \beta_2*old_i + \beta_3*(indus_i*old_i) + \mu_i\] obtemos, para o caso em que \(old_i = 0\),

\[E(medv_i\:|\: old_i = 0,\: indus_i) = \beta_0 + \beta_1*indus_i\]

e, para o caso em que \(old_i = 1\),

\[E(medv_i\:|\: old_i = 1,\: indus_i) = \beta_0 + \beta_1*indus_i + \beta_2 + \beta_3*indus_i\] \[ = \beta_0 + (\beta_1 + \beta_3)*indus_i + \beta_2 \]

ou seja, o efeito esperado sobre “medv” de um aumento de uma unidade na variável “indus”, no caso em que \(old_i = 0\), é \(\beta_1\) e, no caso em que \(old_i = 1\), é \(\beta_1 + \beta_3\).

Assim,

\[ E(\frac{\delta medv_i}{\delta indus_i} \: | \: old_i = 0, \: indus_i) = \beta_1 = -0.65844 \]

o que, por sua vez, significa que um aumento de 1% na variável \(indus_i\) gera, na média, uma redução de $658.44 no valor mediano das casas, dado que estamos em uma vizinhança em que menos de 95% dos prédios são de antes de 1940.

Ademais,

\[ E(\frac{\delta medv_i}{\delta indus_i} \: | \: old_i = 1, \: indus_i) = \beta_1 + \beta_3= -0.65844 + 0.37115 = -0.28729 \]

o que significa que um aumento de 1% na variável \(indus_i\) gera, na média, uma redução de $287.29 no valor mediano das casas, dado que estamos em uma vizinhança em que mais de 95% dos prédios são de antes de 1940.


  1. Gujarati (Pág. 299) - Adaptação

  2. em comparação com o canário (categoria-base) em que \(chas_i = 0\) e \(old_i = 0\)

  3. em comparação com o canário (categoria-base) em que \(chas_i = 0\) e \(old_i = 0\)