Seu relatório: Antes de começarmos, lembre-se de abrir seu documento R Markdown: lab5. Não se esqueça, também, que você deve incluir todos os códigos, gráficos e respostas às perguntas em seu relatório.

download.file("https://passeioaleatorio.com/datalab/labs/rmd/lab5.Rmd", destfile = "lab5.Rmd")

Preparação

O filme Moneyball aborda a “busca pelo segredo do sucesso no beisebol”. O filme conta a história de um time de baixo orçamento, o Oakland Athletics, que acreditava que estatísticas pouco utilizadas, tal como a habilidade de um jogador chegar a uma base, prediziam melhor a habilidade de marcar pontos do que estatísticas mais comuns, como home runs, RBIs (runs batted in, pontos feitos quando um jogador estava rebatendo), e média de rebatidas. Contratar jogadores que se destacavam nessas estatísticas pouco utilizadas se mostrou muito mais econômico para o time.

Neste laboratório iremos explorar os dados de todos os 30 times da Liga Principal de Beisebol dos Estados Unidos e examinaremos a relação linear entre pontos marcados numa temporada e várias outras estatísticas dos jogadores. Nosso objetivo será resumir essas relações de maneira visual e numérica para identificar qual variável, se houver alguma, melhor nos ajuda a predizer os pontos marcados por um time numa temporada.

Os dados

Vamos carregar os dados da temporada de 2011.

load(url("https://passeioaleatorio.com/datalab/dados/mlb11.RData"))

Além dos pontos marcados (runs), este conjunto de dados contém sete variáveis tradicionalmente utilizadas: vez ao taco (at_bats), rebatidas (hits), rebatidas para fora do campo (homeruns), média de rebatidas (bat_avg), eliminações (strikeouts), bases roubadas (stolen_bases), e vitórias (wins). Também foram incluídas três novas variáveis: percentual de alcance de base (new_onbase), percentual de potência (new_slug), e alcance de base mais potência (new_obs). Para a primeira parte da análise consideraremos as sete variáveis tradicionais. Ao final do laboratório, você trabalhará com as novas variáveis por conta própria.

  1. Que tipo de gráfico você utilizaria para mostrar a relação entre runs 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 de um time, você se sentiria confiante para utilizar um modelo linear para predizer o número de runs?

Se a relação parece ser linear, podemos quantificar a força da relação utilizando o coeficiente de correlação.

mlb11 %>%
  summarise(cor(runs, at_bats))

Soma dos Quadrados dos Resíduos

Nesta seção você irá utilizar uma função interativa, plot_ss, para investigar o que queremos dizer com “soma dos quadrados dos resíduos”. Você deverá rodar esta função em seu console, não no documento markdown. Para rodar esta função é necessário que o conjunto de dados mlb11 esteja carregado em seu ambiente de trabalho.

Recorde como descrevemos a distribuição de uma única variável. Lembre-se que discutimos características como tendência central, dispersão e forma. Também é útil poder descrevermos a relação entre duas variáveis numéricas, como fizemos acima com as variáveis runs e at_bats.

  1. Examinando os gráficos do exercício anterior, descreva a relação entre essas duas variáveis. Certifique-se de discutir a forma, a direção e a força da relação, bem como quaisquer características incomuns.

Assim como utilizamos a média e o desvio padrão para resumir características importantes de uma única variável, podemos resumir a relação entre essas duas variáveis por meio de uma reta que melhor descreve sua associação. Utilize a seguinte função interativa para selecionar a linha que você acha que cruza a nuvem de pontos da melhor maneira.

plot_ss(x = at_bats, y = runs, data = mlb11)

Depois de executar esse comando, você será solicitado a clicar em dois pontos situados no gráfico para definir uma reta. Depois que você fizer isso, a reta que você especificou será mostrada na cor preta e os resíduos na cor azul. Perceba que há 30 resíduos, um para cada uma das 30 observações. Lembre-se que os resíduos são a diferença entre os valores observados e o valores preditos pela linha:

\[ e_i = y_i - \hat{y}_i \]

A maneira mais comum de se fazer uma regressão linear é selecionar a linha que minimiza a soma dos quadrados dos resíduos. Para visualizar o quadrado dos resíduos, você pode rodar novamente o comando de geração do gráfico e adicionar o argumento showSquares = TRUE.

plot_ss(x = at_bats, y = runs, data = mlb11, showSquares = TRUE)

Note que que o resultado da função plot_ss fornece a inclinação (coeficiente angular) e o intercepto da sua reta, bem como a soma dos quadrados.

  1. Utilizando a função plot_ss, escolha uma linha que consiga minimizar a soma dos quadrados. Rode a função várias vezes. Qual foi a menor soma dos quadrados que você obteve? Compare-a com os resultados obtidos por outros alunos.

O Modelo Linear

É bastante cansativo tentar obter a linha dos mínimos quadrados, ou seja, a reta que minimiza a soma dos quadrados dos resíduos, por meio de tentativa e erro. Ao invés disso, podemos utilizar a função lm no R para ajustar o modelo linear (também conhecido como linha de regressão).

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

O primeiro argumento da função lm é a fórmula descrita como y ~ x. O que a função faz é obter o modelo linear de runs (pontos marcados) em função de at_bats (vezes ao taco). O segundo argumento especifica que o R deve buscar no banco de dados mlb11 as variáveis runs e `at_bats.

A saída da função lm é um objeto que contém todas as informações que precisamos sobre o modelo linear que acabamos de ajustar. Podemos acessar essa informação utilizando a função summary.

summary(m1)

Vamos analisar o resultado passo a passo. Primeiramente, a fórmula utilizada para descrever o modelo é apresentada no começo. Depois da fórmula você verá o resumo de cinco números dos resíduos. A tabela “Coefficients” (coeficientes) apresentada em seguida é fundamental; sua primeira coluna apresenta o intercepto-y do modelo linear e o coeficiente da variável at_bats. Com essa tabela, podemos descrever a reta de regressão de mínimos quadrados para o modelo linear:

\[ \hat{y} = -2789.2429 + 0.6305 \times at\_bats \]

Uma última informação que abordaremos sobre a saída da função summary é o “Multiple R-Squared” (R-quadrado Múltiplo), ou de maneira abreviada, \(R^2\). O valor do \(R^2\) representa a proporção de variabilidade na variável resposta que é explicada pela variável explicativa. Neste modelo, 37,3% da variabilidade dos pontos runs é explicada pelas vezes ao taco at-bats.

  1. Ajuste um novo modelo que utilize a variável homeruns para predizer runs . Utilizando as estimativas dos resultados do R, escreva a equação da reta de regressão. O que a inclinação (coeficiente angular) nos diz sobre a relação entre o sucesso de um time e seus home runs?

Predição e Erro de Predição

Vamos criar um gráfico de dispersão com a reta de mínimos quadrados para m1 disposta junto aos pontos.

qplot(x = at_bats, y = runs, data = mlb11, geom = "point") +
  stat_smooth(method = "lm", se = FALSE)

Aqui nós estamos literalmente adicionando uma camada ao topo de nosso gráfico. A função stat_smooth cria uma reta ao ajustar um modelo linear. Ela também pode nos mostrar o erro padrão se associado à nossa reta, mas iremos omitir essa saída por enquanto.

Esta linha pode ser utilizada para predizer \(y\) em função do valor \(x\). Quando as previsões associadas aos valores de \(x\) são feitas além dos valores observados, nos referimos a elas como extrapolações e não é bem recomendado. Portanto, previsões realizadas à partir dos dados observados são mais confiáveis. Ela também é utilizada para computar os resíduos.

  1. Se o gerente de um time visse a reta de regressão de mínimos quadrados e não os dados reais, quantos pontos (runs) ele prediria para um time com 5.579 vezes ao taco (at_bats)? Esse valor superestima ou subestima o valor real, e por quanto? Em outras palavras, qual é o resíduo para esta predição?

Diagnóstico do Modelo

Para avaliar se um modelo linear é confiável, precisamos verificar (1) a linearidade, (2) resíduos normalmente distribuídos, e (3) variância constante.

Linearidade: Você já verificou se a relação entre pontos (runs) e vezes ao taco (at_bats) é linear utilizando o gráfico de dispersão. Deveríamos também verificar essa condição utilizando um gráfico dos resíduos em função dos valores ajustados.

qplot(x = .fitted, y = .resid, data = m1) +
  geom_hline(yintercept = 0, linetype = "dashed") +
  xlab("Valores ajustados") +
  ylab("Resíduos")

Note que o nosso objeto m1 também funciona como um conjunto de dados, pois nele estão armazenados os valores ajustados (\(\hat{y}\)) e os resíduos. Observe tembém que nós utilizamos um código bem elegante aqui: depois de criar o gráfico de dispersão na primeira camada (primeira linha de código), nós adicionamos uma linha tracejada em \(y=0\) (para nos ajudar a checar se os resíduos estão distribuiídos em torno de 0), e também nomeamos os eixos de modo a tornar o gráfico mais informativo.

  1. Há algum padrão aparente no gráfico de resíduos? O que isso indica sobre a linearidade da relação entre pontos (runs) e vezes ao taco (at_bats)?


Resíduos aproximadamente normais: Para verificar essa condição, podemos conferir o histograma dos resíduos:

qplot(x = .resid, data = m1, geom = "histogram", binwidth = 25) +
  xlab("Resíduos")

ou um QxQ-plot (quantis teóricos da normal vs quantis dos resíduos). Nesse caso, esperamos que se os quantis seguirem a mesma distribuição (normal) eles devem estar posicionados sobre uma reta com intercepto na origem e orientação positiva.

qplot(sample = .resid, data = m1, stat = "qq")+
  xlab("Quantis teóricos")+
  ylab("Quantis amostrais")

Note que a sintaxe para a construção deste gráfico é um pouco diferente do que você está aconstumado: nós indicamos sample para os resíduos aos invés de x (pois os dados provém de uma amostra, ou sample em inglês), e indicamos também o método estatístico qq, que significa “quantil-quantil” (QxQ), outro nome bem comum para este tipo de gráfico.

  1. Com base no histograma e no QxQ-plot, a condição de normalidade dos resíduos parece ser atendida?


Variância constante:

  1. Com base no gráfico de resíduos vs. valores ajustados, a condição de variância constante parece ser atendida?

Por sua conta

  • Escolha outra variável tradicional contida no banco de dados mlb11, diferente da variável at_bats, que você acha que poderia ser um bom preditor da variável runs. Crie um gráfico de dispersão das duas variáveis e ajuste um modelo linear. Visualmente, parece haver uma relação linear?

  • Como essa relação se compara àquela existente entre runs e at_bats? Utilize os valores R\(^2\) do sumário dos dois modelos para compará-los. A variável que você escolheu parece predizer runs melhor do que at_bats? Como você justificaria sua resposta?

  • Agora que você pode resumir a relação linear entre duas variáveis, investigue a relação entre runs e cada uma das outras cinco variáveis tradicionalmente utilizadas no beisebol. Qual variável prediz melhor o valor de runs? Justifique sua conclusão utilizando métodos gráficos e numéricos já discutidos (para ser conciso, inclua apenas os resultados da melhor variável, não de todas as cinco).

  • Agora examine as três variáveis mais recentes. Essas são as estatísticas utilizadas pelo autor do filme Moneyball para predizer o sucesso de um time. De modo geral, elas são mais ou menos eficazes para predizer os pontos (runs) se comparadas às variáveis mais tradicionais? Explique utilizando evidências gráficas e numéricas apropriadas. De todas as dez variáveis que nós analisamos, qual parece ser a melhor preditora da variável runs? Utilizando as informações limitadas (ou não tão limitadas) que você conhece sobre estas estatísticas do beisebol, seu resultado faz sentido?

  • Faça uma análise de diagnóstico do modelo de regressão à partir da variável que você escolheu como o melhor preditora dos pontos (variável runs).

Este é um produto da OpenIntro que é liberado sob uma Creative Commons Attribution-ShareAlike 3.0 Unported. Este laboratório foi adaptado para a OpenIntro por Andrew Bray e Mine Çetinkaya-Rundel da Duke University de um laboratório escrito pela faculdade de estatística da UCLA e seus estagiários, e readaptado por Jhames Sampaio ao curso de Probabilidade e Estatística da Universidade de Brasília à partir de uma primeira tradução de Erikson Kaszubowski da Universidade Federal de Santa Catarina