---
title: "CE083 - Estatística Computacional I"
author: "NOME"
date: "Novembro, 2017"
output: html_document
---

# Inferência e regressão

## Introdução

O site [Gapminder](http://www.gapminder.org/) compilou uma base de dados com a população, expectativa de vida, e PIB per capta de 142 países, em 12 anos diferentes.

## Dados

Os dados do Gapminder mencionados estão disponíveis neste [endereço](http://www.leg.ufpr.br/~fernandomayer/data/pib_gapminder.csv).

Com isso:

- Faça a importação dos dados, verifique sua estrutura e faça um sumário estatístico.

```{r}
## Importação

```

- Verifique a estrutura dos dados

```{r}
## Estrutura
```

- Classifique cada variável de acordo com seu tipo (ex.: qualitativa ordinal, etc)


## Análise exploratória

- Faça um sumário estatístico dos dados

```{r}
## Sumário
```

- Faça uma tabela de frequência absoluta e uma tabela de frequência relativa para verificar o número de observações por continente.

```{r}
```

- Faça um gráfico de barras da tabela de frequência absoluta dos continentes

```{r}
```

- Faça um gráfico apropriado para relacionar o PIB per capita (variável `pibPercap`) à expectativa de vida (variável `expVida`). Assume-se que quanto maior for o PIB per capta, maior será a expectativa de vida, ou seja, a expectativa de vida é a variável dependente.

```{r}
```

- Em uma mesma janela gráfica, faça um gráfico de caixa (*boxplot*) da expectativa de vida para o Chile, e outro *boxplot* para a expectativa de vida no Uruguai.

```{r}
```

- Calcule a média e a variância da expectativa de vida para o Chile e para o Uruguai.

```{r}
```

## Inferência sobre a média da expectativa de vida

Sabemos que o intervalo de confiança para média de uma distribuição
normal com variância desconhecida, para uma amostra de tamanho $n$ é
dado por:

$$
\left(\bar{x} - t_{crit} \sqrt{\frac{s^2}{n}} \quad, \quad
  \bar{x} + t_{crit} \sqrt{\frac{s^2}{n}} \right)
$$

onde $t_{crit}$ é o quantil de ordem $1-\alpha/2$ da distribuição $t$ de
Student, com $n-1$ graus de liberdade.

Considerando que estamos interessados em obter um intervalo de confiança para a média da expectativa de vida (`expVida`), faça o que se pede:

- Calcule o tamanho da amostra, a média e a variância amostral da coluna `expVida`

```{r}
## Tamanho da amostra (n), média e variância de Venda
```

- Monte o intervalo de confiança utilizando os quantis da distribuição $t$, para obter um IC de 95\% de confiança.

```{r}
## IC com 95% de confiança
```

Além do intervalo de confiança, podemos realizar um teste de hipótese para testar se a média da expectativa de vida é igual a determinado valor. Os procedimentos gerais para este teste de hipótese são:

1. Definir a hipótese nula ($H_0$) e a alternativa ($H_1$)
2. Definir um nível de **significância** $\alpha$ (ex.: $\alpha =
  0,05$), que irá determinar o nível de **confiança** $100(1-\alpha)\%$
  do teste
3. Determinar a **região de rejeição** com base no nível de
  significância $\rightarrow$ valor crítico
4. Calcular a **estatística de teste**, sob a hipótese nula
$$
	t_{calc} = \frac{\bar{x} - \mu_0}{s/\sqrt{n}}
$$
5. Rejeitar a hipótese nula se a estatística de teste calculada
  estiver dentro da região de rejeição ($|t_{calc}| > |t_{crit}|$)

Portanto, se desejamos testar a hipótese de que a expectativa de vida média é igual a 60, temos as seguintes hipóteses:

$$
\begin{align}
\text{H}_0: \mu = 60 \\
\text{H}_1: \mu \neq 60 \\
\end{align}
$$

Usando um nível de significância $\alpha = 0,05$, realize este teste de hipótese usando a função `t.test()`.

```{r}
```

Qual a sua conclusão a respeito do teste de hipótese?


## Ajustando um modelo linear

Queremos ajustar um modelo linear para a relação entre o **logaritmo** do PIB per capta, e o **logaritmo** da expectativa de vida.

Por isso, crie duas novas colunas nesta base de dados com o logaritmo de PIB per capta, e o logaritmo da expectativa de vida. Estas colunas devem ter os nomes: `lpibPercap`, e `lexpVida`, respetivamente.

```{r}
```

Faça um gráfico apropriado para relacionar estas duas novas variáveis.

```{r}
```

Um **modelo linear** entre duas variáveis $X$ e $Y$, é definido
matematicamente como uma equação com dois parâmetros desconhecidos,

$$
	Y = \beta_0 + \beta_1 X
$$

Assim, dados $n$ pares de valores, $(X_1, Y_1), (X_2, Y_2), \ldots,
(X_n, Y_n)$, se for admitido que $Y$ é função linear de $X$, pode-se
estabelecer uma regressão linear simples, cujo modelo estatístico é

$$
    Y_i = \beta_0 + \beta_1 X_i + e_i, \quad i = 1, 2, \ldots, n
$$

Como através de uma amostra obtemos uma estimativa da verdadeira
equação de regressão, denominamos

$$
    \hat{Y}_i = \hat{\beta}_0 + \hat{\beta}_1 X_i
$$

ou seja, $\hat{Y}_i$ é o valor **estimado** de $Y_i$, através das
**estimativas** de $\beta_0$ e $\beta_1$, que chamaremos de
$\hat{\beta}_0$ e $\hat{\beta}_1$. Para cada valor de $Y_i$, temos um
valor $\hat{Y}_i$ estimado pela equação de regressão,

$$
	Y_i = \hat{Y}_i + e_i
$$

Portanto, o erro (ou desvio) de cada observação em relação ao modelo
adotado será

$$
\begin{align}
	e_i &= Y_i - \hat{Y}_i \\
	e_i &= Y_i - (\beta_0 + \beta_1 X_i)
\end{align}
$$

Devemos então adotar um modelo cujos parâmetros $\beta_0$ e
  $\beta_1$, tornem esse diferença a menor possível. Isso equivale a **minimizar** a **soma de quadrados dos resíduos** ($SQR$), ou do erro,

$$
SQR = \sum_{i=1}^{n} [Y_i - (\beta_0 + \beta_1 X_i)]^2
$$

O método de minimizar a soma de quadrados dos resíduos é denominado de **método dos mínimos quadrados**. Para se encontrar o ponto mínimo de uma função, temos que obter as
derivadas parciais em relação a cada parâmetro,

$$
\begin{align*}
    \frac{\partial SQR}{\partial \beta_0} &= 2 \sum_{i=1}^{n} [Y_i -
    \beta_0 - \beta_1 X_i] (-1) \\
    \frac{\partial SQR}{\partial \beta_1} &= 2 \sum_{i=1}^{n} [Y_i -
    \beta_0 - \beta_1 X_i] (-X_i)
\end{align*}
$$
e igualar os resultados a zero
$$
\hat{\beta}_0 = \frac{\partial SQR}{\partial \beta_0} = 0 \qquad
    \text{e} \qquad
    \hat{\beta}_1 = \frac{\partial SQR}{\partial \beta_1} = 0
$$

Dessa forma, chegamos às **estimativas de mínimos quadrados**
para os parâmetros $\beta_0$ e $\beta_1$:

$$
\begin{align}
    \hat{\beta}_1 &= \frac{\sum_{i=1}^{n} X_iY_i - \frac{\sum_{i=1}^{n}
        X_i \sum_{i=1}^{n} Y_i}{n}}{\sum_{i=1}^{n}X_i^2 -
      \frac{(\sum_{i=1}^{n} X_i)^2}{n}} \\
    & \\
    \hat{\beta_0} &= \bar{Y} - \hat{\beta}_1 \bar{X}
\end{align}
$$

onde

$$
\begin{align}
    \bar{Y} = \frac{1}{n} \sum_{i=1}^{n} Y_i \qquad \text{e} \qquad
    \bar{X} = \frac{1}{n} \sum_{i=1}^{n} X_i
\end{align}
$$

Como vimos pelas soluções acima, primeiro calculamos $\hat{\beta_1}$, e
depois $\hat{\beta_0}$. Para facilitar as contas, vamos criar objetos
`X` e `Y` com as colunas `lpibPercap` e `lexpVida` (saber quem é `X` e quem é `Y` faz parte da interpretação do problema), e `n` que é o tamanho
da amostra

```{r}
## Defina X, Y, e n
```

Agora calculamos $\hat{\beta_1}$ com a solução acima

```{r}
## Crie um objeto chamado beta1
```

E $\hat{\beta_0}$ com a solução acima

```{r}
## Crie um objeto chamado beta0
```

Para conferir os seus cálculos e prosseguir com a análise, ajuste um modelo linear entre as duas variáveis consideradas, usando a função `lm()`, e verifique se os coeficientes estimados pela função são os mesmos que você calculou à mão.

```{r}
## Crie um objeto chamado mod com o modelo ajustado
```

Para avaliar a significância do modelo, podemos realizar uma **Análise
de Variância** (ANOVA) para a regressão. Como vimos na estimação dos
parâmetros, o objetivo é encontrar parâmetros que façam com que a soma
de quadrados dos resíduos seja mínima. Podemos particionar a soma de
quadrados da seguinte forma:

$$
SQTot = SQMod + SQRes
$$

Portanto, se um modelo é bem ajustado, esperamos que a soma de quadrados
do modelo $SQMod$ seja grande, e a $SQRes$ sejá mínima. Um quadro de
ANOVA para o modelo irá testar, através de um teste F, se a soma de
quadrados do modelo é significativamente diferente de zero. Para fazer
essa ANOVA, usamos a função `anova()`

```{r}
## Quadro de Análise de Variância
```

Uma parte importante em uma análise de regressão linear é a verificação
dos resíduos do modelo, ou seja, os desvios de cada valor observado $Y$
em relação aos valores **preditos** pelo modelo, $\hat{Y}$. O modelo linear mais simples supõe que os resíduos possuam uma distribuição normal com média 0 e variância constante, $e_i \sim \text{N}(0, \sigma^2)$, então podemos verificar essa suposição fazendo um histograma destes resíduos. Para isso, podemos extrair os resíduos diretamente do objeto `mod` com a função `residuals()`, e fazer o histograma destes resíduos

```{r}
## Faça um histograma dos resíduos do modelo
```

o objeto `mod` é da classe `lm`, que possui um método específico para a função `plot()`. Por padrão, ao fazer um gráfico de um objeto da classe `lm`, são gerados quatro gráficos de diagnóstico, como pode ser visto abaixo.

```{r, fig.show='hold'}
```

Ainda com o objeto `mod`, podemos ajustar o modelo graficamente
ao gráfico da relação entre as variáveis. Para isso, usamos uma função `abline()`, utilizada para inserir linhas em gráficos.

```{r}
## Faça o gráfico da relação entre entre as variáveis, e insira a
## linha do modelo com abline()
```
