08-10-2014

Antes de começar

  • Esta aula é baseada no material do site OpenIntro.
  • O laboratório foi traduzido pelo Professor Erikson Kaszubowski. Larga a mão de ser ruim, agradeça-o.
  • Downloads
  • Banco de dados
  • Texto base

Motivação

Abrir banco de dados

download.file("http://www.openintro.org/stat/data/mlb11.RData", destfile="mlb11.RData")
load("mlb11.RData")

Exercícios - 1

Que tipo de gráfico você utilizaria para mostrar a relação entre runs (pontos) e alguma outra variável numérica? Crie um gráfico dessa relação utilizando a variável at_bats como preditora.

A relação parece ser linear? Se você soubesse o valor de at_bats (vez ao taco) de um time, você se sentiria confiante para utilizar um modelo linear para predizer o número de pontos (runs)?

Respostas

plot(mlb11$at_bats, mlb11$runs)

plot of chunk unnamed-chunk-2

R: Parece que sim…

Exercícios - 2

Qual o coeficiente de correlação, ou seja, a força de associação destas duas variáveis?

Resposta

cor(mlb11$at_bats, mlb11$runs)
## [1] 0.6106

Escolher uma melhor linha

plot_ss(mlb11$at_bats, mlb11$runs, showSquares = TRUE)

plot of chunk unnamed-chunk-4

## Click two points to make a line.
                                
## Call:
## lm(formula = y ~ x, data = pts)
## 
## Coefficients:
## (Intercept)            x  
##   -2789.243        0.631  
## 
## Sum of Squares:  123722

Função lm

m1 <- lm(runs ~ at_bats, data = mlb11)

Resultados

summary(m1)
## 
## Call:
## lm(formula = runs ~ at_bats, data = mlb11)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -125.6  -47.0  -16.6   54.4  176.9 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -2789.243    853.696   -3.27  0.00287 ** 
## at_bats         0.631      0.155    4.08  0.00034 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 66.5 on 28 degrees of freedom
## Multiple R-squared:  0.373,  Adjusted R-squared:  0.35 
## F-statistic: 16.6 on 1 and 28 DF,  p-value: 0.000339

Exercício

  1. Ajuste um modelo com a variável homeruns para predizer runs. Escreva a equação da linha. O que o coeficiente angular nos diz?

Resposta

m2 <- lm(runs ~ homeruns, data = mlb11)
summary(m2)
## 
## Call:
## lm(formula = runs ~ homeruns, data = mlb11)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -91.61 -33.41   3.23  24.29 104.63 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  415.239     41.678    9.96  1.0e-10 ***
## homeruns       1.835      0.268    6.85  1.9e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 51.3 on 28 degrees of freedom
## Multiple R-squared:  0.627,  Adjusted R-squared:  0.613 
## F-statistic:   47 on 1 and 28 DF,  p-value: 1.9e-07

y = 415,2389 + 1,8345 * homeruns

Predição e erro de predição

plot(mlb11$runs ~ mlb11$at_bats)
abline(m1)

plot of chunk unnamed-chunk-8

Exercício

Se o técnico do time (dificilmente o Joel Santanta) visse a linha de regressão dos mínimos quadrados, quantos pontos (runs) ele prediria para um time com 5.578 vezes ao taco (at_bat)?

Esse valor superestima ou subestima o valor real? Por quanto erra?

Resposta

Fórmula runs ~ -2789.2429 + 0.6305 * a_tbats

runs  <- -2789.2429 + 0.6305 * 5578
runs
## [1] 727.7

Diagnósticos do modelo - Linearidade

plot(m1$residuals ~ mlb11$at_bats)
abline(h = 0, lty = 3)

plot of chunk unnamed-chunk-10

Exercicio: Há algum padrão no gráfico?

Diagnósticos do modelo - Resíduos distribuídos normalmente

  • Parte do pressuposto: Constructo = Mensuração + Erro
  • A condição de distribuição normal está atendida?

Resíduos distribuídos normalmente

par(mfrow = c(1,2))
hist(m1$residuals)
qqnorm(m1$residuals)
qqline(m1$residuals)

plot of chunk unnamed-chunk-11

Diagnósticos do modelo - Variância

plot(m1$residuals ~ mlb11$at_bats)
abline(h = 0, lty = 3)

plot of chunk unnamed-chunk-12

A variância parece ser constante?