Carregando os dados.

library("readxl")
estados <- read_excel("~/estados.xlsx")
View(estados)                                 
glimpse(estados)                           
## Rows: 27
## Columns: 8
## $ Estado                <chr> "ACRE", "ALAGOAS", "AMAPA", "AMAZONAS", "BAHIA",…
## $ Sigla                 <chr> "AC", "AL", "AP", "AM", "BA", "CE", "DF", "ES", …
## $ Regiao                <chr> "NORTE", "NORDESTE", "NORTE", "NORTE", "NORDESTE…
## $ Populacao             <dbl> 732793, 3120922, 668689, 3480937, 14021432, 8448…
## $ Pib                   <dbl> 8477000, 24575000, 8266000, 59779000, 154340000,…
## $ Homicidios.100mil     <dbl> 21.56, 59.19, 26.99, 30.48, 36.52, 25.34, 38.48,…
## $ Analfabetos.10a14anos <dbl> 5.09, 5.48, 1.77, 1.38, 3.37, 2.33, 0.69, 0.77, …
## $ Anos.de.estudos       <dbl> 6.9, 5.7, 8.2, 8.7, 6.6, 6.4, 10.1, 7.8, 7.6, 6.…

Motivação: Buscar verificar se a uma relação linear entre o número da população e o pib referente a cada estado. Buscando-se saber se o tamanho da população interfere no pib do estado.

Relação linear entre a variável dependente, VD, e a variável independente, VI.

sendo VD: Pib

sendo VI: População

Gráfico de dipersão da váriaveis

ggplot(estados) +
  
  geom_point(aes(x = Populacao, y = Pib),
             size = 3, color = "green") +
  
  labs(title = 'Relação entre População e Pib',
       y = 'Pib',
       x = 'População') +
  
  theme_classic()

A primeira vista as duas variáveis apresentam uma relação aproximadamente linear.

Construção do modelo

mod <- lm(Pib ~ Populacao, estados); mod
## 
## Call:
## lm(formula = Pib ~ Populacao, data = estados)
## 
## Coefficients:
## (Intercept)    Populacao  
##  -5.613e+07    2.771e+01

Logo, temos

O intercepto,\(\beta_{0}\): -5.613^{+07} O coéficiente de inclinação,\(\beta_{1}\): 2.771^{+01}

Aumentando o número da população em uma unidade, espera-se um aumento de 2.771^{01} no Pib.

TESTES E INTERVALOS DE CONFIANÇA PARA OS PARÂMETROS

Intervalo de confiãnça para os parâmetros

confint.lm(mod)
##                     2.5 %        97.5 %
## (Intercept) -9.534821e+07 -1.690522e+07
## Populacao    2.410086e+01  3.132233e+01

Teste de hipóteses

out = summary(mod)
out$coefficients
##                  Estimate   Std. Error   t value     Pr(>|t|)
## (Intercept) -5.612672e+07 1.904383e+07 -2.947239 6.851712e-03
## Populacao    2.771160e+01 1.753177e+00 15.806501 1.597290e-14

Para \(\beta_{0}\) o valor p foi de 6.851712^{-03} Para \(\beta_{1}\) o valor p foi de 1.597290^{-14}

Em ambos, o valor p foi inferior ao nível de 5% de significância, indicando que estes parâmetros são estatísticamente significativos ao modelo ajustado.

ÁNALISE DE VARIÂNCIA

anova(mod)

anova(mod)
## Analysis of Variance Table
## 
## Response: Pib
##           Df     Sum Sq    Mean Sq F value    Pr(>F)    
## Populacao  1 1.4118e+18 1.4118e+18  249.85 1.597e-14 ***
## Residuals 25 1.4127e+17 5.6507e+15                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Pela ANOVA o valor p foi de 1.597^{-14}, indicando que ao nível de significância de 5% concluímos que a variável expiclativa tem relação com a variável resposta.

Coeficiente de Determinação

out$r.squared
## [1] 0.9090398

Logo, 90,90% de toda variabilidade da variável Y(Pib) é explicado pelo modelo ajustado

GRÁFICO DA RETA DA REGRESSÃO E DO R² ajustado.

ggplot(data = estados, mapping = aes(x = Populacao, y = Pib)) +
  geom_point() +
  geom_smooth(method = "lm", col = "purple") +
  stat_poly_eq(aes(label = paste(..eq.label.., ..adj.rr.label..,
                                 sep = "*plain(\",\")~~")),
               label.x = 0.05, label.y = 400,
               parse = TRUE, coef.digits = 5) +
  theme_classic()
## `geom_smooth()` using formula 'y ~ x'

Técnicas gráficas para análise dos resíduos

Gráfico dos resíduos versus valores ajustados: verifica a homoscedasticidade do modelo

plot(mod,1)

Pelo gráfico, notamos uma heterocedasticidade.

TESTE PARA A HOMOCEDASTICIDADE

bptest(mod)
## 
##  studentized Breusch-Pagan test
## 
## data:  mod
## BP = 11.386, df = 1, p-value = 0.0007399

Como o p valor foi menor do que 5% de significância, temos a aceitação de \(H_{0}\). Assim a suposição de Homocedasticidade não foi atendida. E por isso a uma variação de Y em relação a X.

Gráfico dos resíduos versus a ordem de coleta dos dados: avaliar a hipótese de independência dos dados.

plot(mod$residuals)

Pelo gráfico, nota-se uma certa indepêndicia dos dados

TESTE DA INDEPÊNDENCIA DOS RESÍDUOS

durbinWatsonTest(mod)
##  lag Autocorrelation D-W Statistic p-value
##    1       0.2088091      1.559806   0.276
##  Alternative hypothesis: rho != 0

Como o p valor foi maior do que 5%, temos a não rejeição de \(H_{0}\):Os valores dos resíduos do modelo são independentes, e rejeitamos \(H_{1}\): Os resíduos não são homoscedásticos. Assim, a suposição de independência foi atendida.

Gráfico do Papel de probabilidade normal: verificar a normalidade dos dados.

plot(mod, 2)

Pelo gráfico os dados se aproximão de uma destribuição Normal

TESTE DA NORMALIDADE

shapiro.test(mod$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  mod$residuals
## W = 0.92713, p-value = 0.05879

Como o p valor foi maior do que 5% de significância, temos a não rejeição de \(H_{0}\):A distribuição Normal modela adequadamente os resíduos do modelo, e a rejeição de \(H_{1}\):A distribuição Normal não modela adequadamente os resíduos do modelo.Assim, a suposição de normalidade foi atendida.