Seu relatório: Antes de começarmos, lembre-se de abrir seu documento R Markdown: lab6. 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/lab6.Rmd", destfile = "lab6.Rmd")

Amostra de Ames, Iowa

Se você tem acesso aos dados de um população inteira, por exemplo o tamanho de cada casa na cidade de Ames, Iowa, Estado Unidos, é fácil e direto responder a questões como “Qual é o tamanho de uma casa típica na cidade de Ames?” e “Quanta variação existe no tamanho das casas?”. Se você tem acesso somente a uma amostra da população, como costuma ser o caso, responder a essas perguntas fica um pouco mais complicado. Qual é a sua melhor estimativa para o tamanho típico de uma casa se você só sabe o tamanho de algumas dezenas de casas? Esse tipo de situação requer que você use sua amostra para fazer inferências à respeito da população em geral.

Especificando um semente: Nós iremos tomar algumas amostras aleatórias e calcular intervalos de confiança com base nessas amostra para este laboratório. Por esta razão, você deve especificar uma semente no topo do seu relatório. Caso tenha dúvidas sobre este tópico, retorne aos laboratórios anteriores.

Os dados

No quarto laboratório, “Distribuições Amostrais”, nós exploramos os dados populacionais das casas da cidade de Ames, Iowa. Vamos começar carregando este conjunto de dados.

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

Neste laboratório começaremos com uma amostra aleatória simples de 60 elementos da população. Perceba que o conjunto de dados contém informações sobre várias variáveis relativas às casas, mas para a primeira parte do laboratório focaremos no tamanho da casa, representada pela variável area.

n <- 60
amostra <- sample_n(ames, n)
  1. Descreva a distribuição das casas em sua amostra. Qual é o tamanho “típico” dentro da sua amostra? Procure esclarecer também como você interpretou o significado de “típico”.

  2. Você acha que a distribuição de outro aluno seria idêntica a sua? Você acha que ela seria similar? Por quê, ou por quê não?

Intervalos de Confiança

Retornemos, por um momento, à pergunta que motivou este laboratório: baseado nesta amostra, o que podemos inferir sobre a população? Baseado apenas nesta única amostra, a melhor estimativa da área habitacional das casas vendidas em Ames seria a média amostral, geralmente representada como \(\bar{x}\) (aqui denominaremos x_bar). A média amostral serve como uma boa estimativa pontual, mas seria interessante também comunicar quanta incerteza temos à respeito desta estimativa. Isso pode ser feito pelo uso de um intervalo de confiança.

Como estudado em sala, um intervalo de confiança para uma média de uma população com variância conhecida tem a seguinte forma

\[ \left(\bar{x} - z_{\alpha/2} \frac{\sigma}{\sqrt{n}} \ , \ \bar{x} + z_{\alpha/2} \frac{\sigma}{\sqrt{n}}\right) \]

Por questões didáticas queremos trabalhar primeiramente com a distribuição normal. Uma vez que queremos usar as medidas amostrais e não calculamos a verdadeira variância da população, em nosso exemplo iremos supor normalidade dos dados e considerar que o tamanho da amostra é suficientemente grande para utilizarmos a medida amostral \(s\) no lugar de \(\sigma\). Assim não teremos que, obrigatoriamente, utilizarmos a distribuição t-Student. Nosso intervalo de confiança terá, então, a forma

\[ \left(\bar{x} - z_{\alpha/2} \frac{s}{\sqrt{n}} \ , \ \bar{x} + z_{\alpha/2} \frac{s}{\sqrt{n}}\right) \]

Neste ponto do curso você já deve se sentir confortável para calcular a média e o desvio padrão amostrais no R, e sabemos que o tamanho da amostra é 60. Desse modo, o único ponto que nos falta é determinar o valor crítico (quantil) associado a um nível de confiança dado. Lembre-se que níveis de confiança e quantis não são equivalentes. Por exemplo, um nível de confiança de 95% se refere a 95% da região central da distribuição, e o valor crítico associado a essa área é o quantil de 97,5% da distribuição.

Nós podemos encontrar o valor crítico para um intervalo com confiança de 95% usando

z_crit <- qnorm(0.975)
z_crit

que é o valor 1,96 com o qual você já está bastante familiarizado.

Vamos finalmente calcular o intervalo de confiança:

amostra %>%
  summarise(inf = mean(area) - z_crit * (sd(area) / sqrt(n)),
            sup = mean(area) + z_crit * (sd(area) / sqrt(n)))

Recapitulando: mesmo que não saibamos como a população inteira se distribui, temos 95% de confiança de que a verdadeira média do tamanho das casas em Ames se encontre entre os valores inf (limite inferior do intervalo de confiança) e sup (limite superior do intervalo de confiança). Contudo, existem algumas condições que precisam ser atendidas para esse intervalo ser válido.

  1. Para o intervalo de confiança ser válido, a média amostral precisa ter distribuição normal e ter um erro padrão igual a \(s / \sqrt{n}\). Quais condições precisam ser atendidas para isso ser verdadeiro?

Níveis de Confiança

  1. O que significa 95% de confiança“?

Em nosso caso, temos o luxo de sabermos a verdadeira média populacional, uma vez que temos os dados da população inteira. Vamos calcular este valor para determinar se nosso intervalo de confiança realmente captura a média. Vamos armazenar este valor com o nome param (abreviação para parâmetro populacional), e nomeá-lo mu.

param <- ames %>%
  summarise(mu = mean(area))
  1. O seu intervalo de confiança contém a verdadeira média do tamanho das casas em Ames? Se você está trabalhando neste laboratório em uma sala de aula, o intervalo de seus colegas também contém esse valor?

  2. Cada grupo de sua turma deve ter obtido um intervalo de confiança um pouco diferente. Que proporção desses intervalos você espera que contenha a verdadeira média populacional? Por quê?

Utilizando o R, vamos criar várias amostras para aprender um pouco mais a respeito de como as médias amostrais e os intervalos de confiança variam de uma amostra para outra.

Eis o esboço do processo:

Nós podemos alcançar este objetivo por meio da função do. As seguintes linhas de comando tomam 50 amostras aleatórias simples de tamanho n da população (lembre-se que definimos \(n=60\) mais cedo), e calcula os intervalos de confiança para cada uma das amostras.

ic <- do(50) * ames %>%
                  sample_n(n) %>%
                  summarise(inf = mean(area) - z_crit * (sd(area) / sqrt(n)),
                            sup = mean(area) + z_crit * (sd(area) / sqrt(n)))

Vamos dar uma olhada nos cinco primeiros intervalos:

ic %>%
  slice(1:5)

Em seguida iremos criar um gráfico bastante ilustrativo: representaremos cada intervalo de confiança que captura a média pela cor azul e cada intervalo que não captura a média pela cor vermelha. Note que capturar ou não a média significa que o limite inferior (inf) está abaixo do valor da média e o limite superior (sup) está acima do valor da média. O primeiro passo na construção deste gráfico é atualizar a variável ic adicionando a seguinte informação: ele captura ou não a média? Faremos isso por meio da função mutate.

ic <- ic %>%
  mutate(captura_mu = ifelse(inf < param$mu & sup > param$mu, "sim", "não"))

A função ifelse é nova. Ela carrega três argumentos: primeiro uma declaração lógica, em segundo lugar vem o valor que desejamos apresentar se a resposta à declaração lógica for verdadeira, e em terceiro lugar vem o valor que desejamos apresentar se a resposta à declaração por falsa.

Agora possuímos toda a informação necessária para a criação do gráfico, mas necessitamos reorganizar nosso dados um pouquinho para facilitar o “desenho” do gráfico. Especificamente, nos queremos organizar os dados em um novo banco de dados onde cada linha represente um limite relacionado a um intervalo, ou seja, uma variável chamada ic_id irá identificar a qual intervalo nos referimos (isso tanto para o inf como para o sup), a variável ic_limites irá guardar os limites inferior e superior de cada intervaldo indexado pela ic_id e a variável captura_mu irá nos dizer se aquela linha corresponde a um limite que captura ou não a verdadeira média populacional. Resumindo, uma saída do tipo

     inf    sup        captura_mu
1 1355.688 1559.545        sim
2 1413.661 1681.673        sim
3 1372.159 1631.807        sim
...

deverá ter a forma

  ic_id ic_limites    captura_mu
1     1  1355.688        sim
2     2  1413.661        sim
3     3  1372.159        sim
4     1  1559.545        sim
5     2  1681.673        sim
6     3  1631.807        sim
...

Podemos alcançar esse objetivo por meio do código abaixo:

ic_dados <- data.frame(ic_id = c(1:50, 1:50),
                      ic_limites = c(ic$inf, ic$sup),
                      captura_mu = c(ic$captura, ic$captura))

E, finalmente, podemos criar o gráfico usando o seguinte:

qplot(data = ic_dados, x = ic_limites, y = ic_id, 
      group = ic_id, color = captura_mu) +
  geom_point(size = 2) +  # adiciona pontos às pontas, tamanho = 2
  geom_line() +           # conecta com linhas
  geom_vline(xintercept = param$mu, color = "darkgray") # desenha uma linha vertical
  1. Qual a proporção de intervalos de confiança que capturam a verdadeira média da população? Essa proporção é exatamente igual ao nível de confiança? Se não, explique o porque. Não se esqueça de incluir seu gráfico à sua resposta.

Por sua conta

  • Escolha um nível de confiança de sua preferência, desde que não seja 95%. Qual é o valor crítico apropriado?

  • Calcule 50 intervalos de confiança utilizando o nível de confiança que você escolheu na questão anterior, e contrua um gráfico similar ao que acabamos de criar, e calcule a proporção de intervalos que incluem a verdadeira média da população. Como se compara essa proporção com o nível de confiança que você escolheu para os intervalos? Não se esqueça de incluir seu gráfico à sua resposta.

Este é um produto da OpenIntro que é liberado sob uma Creative Commons Attribution-ShareAlike 3.0 Unported. Este laboratório foi escrito para a OpenIntro por Andrew Bray and Mine Çetinkaya-Rundel e adaptado 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