Teste de hipótese para comparar duas médias via simulação

Inferência para Dados Numéricos em R

Mine Cetinkaya-Rundel

Associate Professor of the Practice, Duke University

Motivação

  • Pergunta motivadora: Um tratamento com células-tronco embrionárias melhora a função cardíaca após um infarto mais do que a terapia tradicional?

  • Dados: stem.cell do pacote openintro

library(openintro)
data(stem.cell)
   trmt   before   after 
1  ctrl    35.25   29.50
2  ctrl    36.50   29.50
3  ctrl    39.75   36.25
   ...      ...     ... 
n  esc     53.75   51.00
Inferência para Dados Numéricos em R

Plano de análise

Etapa 1. Calcular change para cada ovelha: diferença entre as capacidades de bombeamento antes e depois para cada ovelha.

   trmt   before   after   change 
1  ctrl    35.25   29.50   ?
2  ctrl    36.50   29.50   ?
3  ctrl    39.75   36.25   ?
   ...      ...     ...   
n  esc     53.75   51.00   ?
Inferência para Dados Numéricos em R

Plano de análise

Etapa 2. Definir as hipóteses:

$H_0: \mu_{esc} = \mu_{ctrl}$; Não há diferença entre a mudança média nos grupos tratamento e controle.

$H_A: \mu_{esc} > \mu_{ctrl}$; Há diferença entre a mudança média nos grupos tratamento e controle.

Inferência para Dados Numéricos em R

Plano de análise

Etapa 3. Conduzir o teste de hipótese.

  • Escreva os valores de change em 18 cartões.
  • (1) Embaralhe os cartões e divida aleatoriamente em dois montes iguais: tratamento e controle.
  • (2) Calcule e registre a estatística de teste: diferença na média de change entre tratamento e controle.
  • Repita (1) e (2) muitas vezes para gerar a distribuição amostral.
  • Calcule o p-valor como a porcentagem de simulações em que a estatística é pelo menos tão extrema quanto a diferença observada entre as médias amostrais.
Inferência para Dados Numéricos em R

Teste de hipótese: gerar reamostras

Use o pacote infer para conduzir o teste:

library(infer)
Inferência para Dados Numéricos em R

Teste de hipótese: gerar reamostras

Comece com o data frame e especifique o modelo:

library(infer)

diff_ht_mean <- stem.cell %>%
  specify(__) %>%                    # y ~ x
  ...
Inferência para Dados Numéricos em R

Teste de hipótese: gerar reamostras

Declare a hipótese nula, isto é, sem diferença entre as médias:

library(infer)

diff_ht_mean <- stem.cell %>%
  specify(__) %>%                    # y ~ x
  hypothesize(null = __) %>%         # "independence" or "point"
  ...
Inferência para Dados Numéricos em R

Teste de hipótese: gerar reamostras

Gere reamostras assumindo $H_0$ verdadeiro:

library(infer)

diff_ht_mean <- stem.cell %>%
  specify(__) %>%                    # y ~ x
  hypothesize(null = __) %>%         # "independence" or "point"
  generate(reps = __, type = __) %>% # "bootstrap", "permute", or "simulate"
  ...
Inferência para Dados Numéricos em R

Teste de hipótese: gerar reamostras

Calcule a estatística de teste:

library(infer)

diff_ht_mean <- stem.cell %>%
  specify(__) %>%                    # y ~ x
  hypothesize(null = __) %>%         # "independence" or "point"
  generate(reps = _N_, type = __) %>%# "bootstrap", "permute", or "simulate"
  calculate(stat = "diff in means")  # type of statistic to calculate
Inferência para Dados Numéricos em R

Teste de hipótese: calcular p-valor

Calcule o p-valor como a proporção de simulações em que a diferença simulada entre as médias amostrais é pelo menos tão extrema quanto a observada

$$P ((\bar{x}_{esc,sim} - \bar{x}_{ctrl,sim}) \ge (\bar{x}_{esc,obs} - \bar{x}_{ctrl,obs}))$$

Inferência para Dados Numéricos em R

Vamos praticar!

Inferência para Dados Numéricos em R

Preparing Video For Download...