Uma empresa imobiliária realizou um estudo sobre apartamentos na cidade de Criciúma em Santa Catarina. Os gerentes queriam verificar se existia relação entre a área privativa, em \(m^2\), de um imóvel \((X)\) e o valor \((Y)\), em milhares de reais. (Fonte: Amostra extraída dos dados da dissertação de mestrado ZANCAN, Evelise C., 1995)
Faça o gráfico de dispersão entre as duas variáveis.
Calcule o coeficiente de correlação e comente.
Ajuste a reta de regressão linear simples.
Interprete os coeficientes do modelo ajustado.
Encontre a estimativa para o desvio-padrão (utilize o estimador não viesado da variância)
Encontre as estimativas intervalares para todos os parâmetros.
## # A tibble: 50 x 5
## Valor Area Idade Energia Local
## <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 68.8 96 14 170 1
## 2 176. 145 8 144 1
## 3 195 175 2 147 1
## 4 79.9 101 4 160 1
## 5 390 233 2 220 1
## 6 360 201 6 228 1
## 7 80.5 104 2 160 1
## 8 45 64 14 118 0
## 9 153. 100 2 174 1
## 10 65.6 112 17 181 1
## # ... with 40 more rows
# Gráfico de dispersão entre as variáveis
ggplot(base.1, aes(x = Area, y = Valor)) +
geom_point(size=2) +
labs(title="Área privativa de apartamentos em Criciúma \n segundo seu valor de mercado",
x="Área privativa (m²)",y="Valor de mercado (milhares de reais)")+
theme(plot.title=element_text(hjust=0.5)) A partir do gráfico acima, pode-se notar uma relação linear entre os pontos, uma vez que a medida que aumentamos o valor de mercado do apartamento, a área privativa do mesmo tende a aumentar também.
## # A tibble: 5 x 6
## rowname Valor Area Idade Energia Local
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Valor NA 0.881 -0.342 0.549 0.419
## 2 Area 0.881 NA -0.155 0.450 0.394
## 3 Idade -0.342 -0.155 NA -0.136 -0.271
## 4 Energia 0.549 0.450 -0.136 NA 0.337
## 5 Local 0.419 0.394 -0.271 0.337 NA
Como \(\rho\) é próximo de \(1\), \((0.881)\), podemos concluir que existe uma forte relação linear, positiva, entre as variáveis \(\textit{valor}\) e \(\textit{área privatida}\).
# Gráfico com a reta de regressão linear ajustada
ggplot(base.1, aes(x = Area, y = Valor)) +
geom_point(size=2) +
labs(title="Área privativa de apartamentos em Criciúma \n segundo seu valor de mercado",
x="Área privativa (m²)",y="Valor de mercado (milhares de reais)") +
theme(plot.title=element_text(hjust=0.5))+
geom_smooth(method=lm,se=FALSE,col="4")A seguir, será apresentada a função summary() que retorna informações sobre o modelo ajustado, como os coeficientes estimados \(\hat{\beta_0}\) e \(\hat{\beta_1}\) (\(\texttt{Estimate}\)); seus respectivos erros-padrão \(\widehat{DP}(\hat{\beta_0})\) e \(\widehat{DP}(\hat{\beta_1})\) (\(\texttt{Std. Error}\)); a significância dos testes \(t\) para os coeficientes de regressão; um sumário sobre os resíduos (\(\texttt{Residuals}\)); a estimativa do desvio-padrão (\(\sqrt{MQE}\)) (\(\texttt{Residual standard error}\)); o coeficiente de determinação do modelo \(R^2\) (\(\texttt{Multiple R-squared}\)); e a significância da regressão através do Teste \(F\) da ANOVA (\(\texttt{F-statistic}\)).
##
## Call:
## lm(formula = Valor ~ Area, data = base.1)
##
## Residuals:
## Min 1Q Median 3Q Max
## -132.936 -22.522 -2.683 16.082 140.491
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -64.5736 14.6601 -4.405 5.91e-05 ***
## Area 1.6658 0.1289 12.920 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 43.32 on 48 degrees of freedom
## Multiple R-squared: 0.7767, Adjusted R-squared: 0.772
## F-statistic: 166.9 on 1 and 48 DF, p-value: < 2.2e-16
Através das saídas da função summary(), chegamos à equação da reta de regressão linear do modelo ajustado: \[\hat{Y} = -64.5736 + 1.6658 X,\] onde
A função confint() aplicada ao modelo ajustado retorna o intervalo de confiança para os coeficientes de regressão para um determinado nível de confiança.
## 2.5 % 97.5 %
## (Intercept) -94.049791 -35.097500
## Area 1.406594 1.925061
Um infectologista que trabalha com casos de tuberculose em São Paulo decide verificar se o aumento no número de internações no estado é influenciado pelo número de casos confirmados dessa doença. Com base nos dados extraídos do portal DATASUS do Ministério da Saúde para o estado de São Paulo do período de 2008 a 2019, faça as análises a seguir.
Faça o gráfico de dispersão e encontre a correlação entre as variáveis.
Encontre a equação da reta de regressão do modelo de regressão linear ajustado.
Os coeficientes estimados são significativos ? (Mostre o passo a passo dos testes de hispóteses)
## # A tibble: 12 x 3
## Ano_processamento Internacoes Tuberculose
## <dbl> <dbl> <dbl>
## 1 2008 2162155 18443
## 2 2009 2273008 17861
## 3 2010 2351919 18247
## 4 2011 2363232 19023
## 5 2012 2333218 18588
## 6 2013 2337825 19793
## 7 2014 2372545 19674
## 8 2015 2381371 20336
## 9 2016 2393286 19463
## 10 2017 2417180 21993
## 11 2018 2465311 22252
## 12 2019 2536896 21859
Para não trabalharmos com variáveis com magnitude muito alta, avaliaremos os dados em outra escala. A variável \(\textit{número de internações}\) será avaliada pelo \(\textit{número de internações em milhões}\) e a variável \(\textit{casos confirmados de tuberculose}\) por \(\textit{casos confirmados de tuberculose em milhares}\).
# Criando as novas variáveis
base.2 %>% mutate(Int = Internacoes/1000000,
Tub = Tuberculose/1000) -> base.2# Gráfico de dispersão entre as varíáveis
ggplot(base.2, aes(x = Tub, y = Int)) +
geom_point(size=2) +
labs(title="Casos confirmados de tuberculose \n segundo número de internações no estado de São Paulo",
x="Casos confirmados tuberculose (em milhares)",y="Número de internações (em milhões)") +
theme(plot.title=element_text(hjust=0.5))Avaliando o gráfico acima, parece existir associação linear entre as variáveis, uma vez que o aumento dos casos confirmados de tuberculose se relaciona linearmente com um maior número de internações.
##
## Call:
## lm(formula = Int ~ Tub, data = base.2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.138661 -0.020659 0.006389 0.036819 0.072157
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.41579 0.23593 6.001 0.000132 ***
## Tub 0.04799 0.01189 4.037 0.002373 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.0601 on 10 degrees of freedom
## Multiple R-squared: 0.6197, Adjusted R-squared: 0.5817
## F-statistic: 16.3 on 1 and 10 DF, p-value: 0.002373
A partir das saídas da função summary(), chegamos a seguinte equação da reta de regressão ajustada: \[\hat{Y} = 1.41579 + 0.04799 X.\]
Teste de Hipótese para \(\beta_0\):
Hipóteses: \(H_0 = \beta_0 = 0 \times H_1 = \beta_0 \neq 0\)
Estatística de Teste: Considerando \(H_0\) verdadeira, temos que \(t_0 = \frac{\hat{\beta_0}}{\sqrt{MQE \left(\frac{1}{n} + \frac{\bar{X}^2}{\sum{(X_i - \bar{X})^2}}\right)}} \sim t_{n-2}\)
Região Crítica \(RC = \{t_0 \in RC,\ \mid t_0 \mid > t_{1-\alpha/2 , n-2}\}\)
Tomada de Decisão: dado o nível de significância \(\alpha=5\%\), podemos encontrar o quantil \(t_{0.975,10}\) e verificar se o valor da estatística de teste (\(t_0\)), disponibilizado na coluna \(\texttt{t value}\), pertence à Região Crítica. Por outro lado, a função summary() já apresenta o \(\textit{p-valor}\) associado a cada teste (coluna \(\texttt{Pr(>|t|)}\)) e podemos utilizá-lo também. Neste caso, note que \(\textit{p-valor}=0.000132 < \alpha\) e, por isso, temos evidências para rejeitar a hipótese de que \(\beta_0 =0\).
Teste de Hipótese para \(\beta_1\):
Hipóteses: \(H_0 = \beta_1 = 0 \times H_1 = \beta_1 \neq 0\)
Estatística de Teste: Considerando \(H_0\) verdadeira, temos que \(t_0 = \frac{\hat{\beta_1}}{\sqrt{\frac{MQE}{\sum{(X_i - \bar{X})^2}}}}\sim t_{n-2}\)
Região Crítica \(RC = \{t_0 \in RC,\ \mid t_0 \mid > t_{1-\alpha/2 , n-2}\}\)
Tomada de Decisão: análogo ao descrito para \(\beta_0\). Neste caso, note que \(\textit{p-valor}=0.002373 < \alpha\), ou seja, rejeitamos a hipótese de que \(\beta_1 =0\), isto é, temos evidências para dizer que há relação linear significativa entre as variáveis da regressão \(\textit{internações}\) e \(\textit{casos confirmados de tuberculose}\).
O gerente da UBER em Boston (EUA), deseja verificar se existe relação entre a distância da corrida e o preço da mesma, na modalidade UBER Black. Os dados do dia 18/12/2018, na cidade de Boston, foram avaliados. Considere como a variável resposta o preço pago pela corrida (em dólares) e como covariável, a distância percorrida (em milhas).
Encontre a equação da reta de regressão linear ajustada e comente a relação entre as variáveis.
Teste a signicância dos coeficientes (\(\beta_0\) e \(\beta_1\)).
Teste a significância da regressão com base na tabela ANOVA.
Encontre o \(IC\) de \(99\%\) para a distância média e o intervalo de predição.
Qual a porcentagem da variabilidade total do preço que é explicada pelo modelo ? Intreprete-a.
# Gráfico com a reta de regressão ajustada
ggplot(base.3, aes(distance, price)) +
geom_point(size=2) +
labs(title="Preço da corrida do UBER Black \n segundo a distância percorrida - Boston EUA",
x="Distância (em milhas)",y="Preço (em $)")+
theme(plot.title=element_text(hjust=0.5)) A partir da análise desse gráfico, podemos perceber a existência de uma relação linear entre as variáveis, uma vez que a medida que a distância aumenta, o preço da corrida também cresce.
##
## Call:
## lm(formula = price ~ distance, data = base.3)
##
## Residuals:
## Min 1Q Median 3Q Max
## -9.858 -1.312 -0.127 1.149 32.968
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 12.15192 0.08137 149.3 <2e-16 ***
## distance 3.82198 0.03246 117.7 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.069 on 2868 degrees of freedom
## Multiple R-squared: 0.8286, Adjusted R-squared: 0.8285
## F-statistic: 1.386e+04 on 1 and 2868 DF, p-value: < 2.2e-16
A equação da reta de regressão ajustada é dada por: \[\hat{Y} = 12.152 + 3.822 X\]
Com base nas saídas da função summary() e considerando o teste \(t\) descrito no Exemplo 2, observe que \(\textit{p-valor} \approx 0\). Assim, temos evidências para rejeitar a hipótese de que \(\beta_0 = 0\) para qualquer níver de significância usualmente utilizado.
Como \(\textit{p-valor}<2e-16\), temos evidências para rejeitar \(H_0\) para qualquer nível de significância. De fato, há indícios de que existe relação significativa entre a \(\textit{distância}\) e o \(\textit{preço da corrida}\).
Hipóteses: \(H_0 = \beta_1 = 0 \times H_1 = \beta_1 \neq 0\)
Estatística de Teste: Considerando \(H_0\) verdadeira, temos que \(F_0 = \frac{MQR}{MQE} \sim F_{1, n-2}\)
Região Crítica \(RC = \left\{ F_0 \in RC, F_0 \geq F_{1-\alpha; 1, n-2}\right\}\)
Tomada de Decisão: podemos avaliar tanto a estatística de teste calculada e a Região Crítica quanto \(\textit{p-valor}\) calculado. As informações sobre o Teste \(F\), estatística de teste e \(\textit{p-valor}\), são saídas da função summary(), na linha com o argumento \(\texttt{F-statistic}\). Note que como \(\textit{p-valor}< 2.2e-16\), chegamos a mesma conclusão que o teste \(t\) para \(\beta_1\), há evidências de que existe relação significativa entre a \(\textit{distância}\) e o \(\textit{preço da corrida}\).
Lembre que existe equivalência entre o teste de hipóteses \(t\) para \(\beta_1\) e o Teste \(F\), \[t_0^2 = \frac{\hat{\beta_1^2} S_{XX}}{MQE} = \frac{\hat{\beta_1^2} S_{XY}}{MQE} = \frac{MQR}{MQE}\] Observe que \(t_0^2\) é igual ao \(F_0\) da Análise de Variância. Para visualizar a Tabela ANOVA, existe a função anova(), que apresenta a soma dos resíduos, da regressão, do total, seus respectivos graus de liberdade e a estatística de teste \(F_0\) com o \(\textit{p-valor}\).
## Analysis of Variance Table
##
## Response: price
## Df Sum Sq Mean Sq F value Pr(>F)
## distance 1 59336 59336 13864 < 2.2e-16 ***
## Residuals 2868 12274 4
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Podemos utilizar a função predict() para retornar o intervalo de confiança da resposta média ou de predição para uma nova observação, dado um determinado nível de \(X\). O argumento interval, permite as opções confidence ou prediction para construir o intervalo de confiança para a resposta média ou para a predição de uma nova observação, respectivamente. Ambas configurações apresentam a estimativa pontual e os limites inferior e superior do intervalo.
# Dataframe com o Intervalo de Confiança e Predição
IC <- predict(fit.3,interval = "confidence", level = 0.99)
IP <- predict(fit.3,interval = "prediction", level = 0.99)
base.IC <- tibble(data.frame(IP,IC,base.3$distance))
head(base.IC)## # A tibble: 6 x 7
## fit lwr upr fit.1 lwr.1 upr.1 base.3.distance
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 20.3 15.0 25.7 20.3 20.2 20.4 2.14
## 2 14.0 8.69 19.4 14.0 13.8 14.2 0.49
## 3 20.5 15.2 25.9 20.5 20.4 20.6 2.19
## 4 21.7 16.4 27.0 21.7 21.6 21.8 2.5
## 5 20.9 15.6 26.2 20.9 20.8 21.0 2.29
## 6 21.2 15.8 26.5 21.2 21.1 21.3 2.36
Observe que no gráfico abaixo o intervalo de confiança para a resposta média tem amplitude muito pequena, sendo dificíl visualizá-lo. Entretanto, isso não acontece com o intervalo de predição para uma nova observação, uma vez que a variabilidade de \(Y\) é incorporada no cálculo de sua variância.
# Scatterplot com reta (IC da media)
ggplot(base.IC,aes(x=base.3.distance,y=fit)) +
geom_point(data=base.3,aes(x=distance,y=price),size=2,col="darkblue") +
labs(x="Distância (em milhas)",y="Preço (em $)",
title="Preço da corrida do UBER Black \n segundo a distância percorrida - Boston EUA")+
geom_ribbon(data=base.IC,aes(y=fit,ymin=lwr.1,ymax=upr.1,fill="gray30"),alpha=0.9)+
geom_ribbon(data=base.IC,aes(y=fit,ymin=lwr,ymax=upr,fill="gray50"),alpha=0.3)+
scale_fill_manual(labels = c(expression(paste("I Pred ",Y[h])),
expression(paste("IC E(",Y[h],")"))),
values=c("gray50", "gray30"))+
stat_smooth(method = "lm", col = "red",se=FALSE,size=0.5)+
theme(plot.title=element_text(hjust=0.5),
legend.title = element_blank())Uma medida de qualidade do ajuste para esse modelo é o \(R^2 = 0.8286\). Isso significa que \(82.86\%\) da variação do \(\textit{preço das corridas}\) são explicados pelo modelo de regressão ajustado, isto é, pela variabilidade da variável preditora, \(\textit{distância percorrida}\).