Testování hypotéz pro porovnání dvou středních hodnot pomocí simulace

Inference for Numerical Data in R

Mine Cetinkaya-Rundel

Associate Professor of the Practice, Duke University

Motivace

  • Motivační otázka: Pomáhá léčba kmenovými buňkami zlepšit funkci srdce po infarktu více než tradiční terapie?

  • Data: soubor stem.cell z balíčku 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
Inference for Numerical Data in R

Přehled analýzy

Krok 1. Vypočítejte change pro každou ovci: rozdíl mezi kapacitou čerpání srdce před a po léčbě.

   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   ?
Inference for Numerical Data in R

Přehled analýzy

Krok 2. Stanovte hypotézy:

$H_0: \mu_{esc} = \mu_{ctrl}$; Mezi průměrnou změnou v léčebné a kontrolní skupině není žádný rozdíl.

$H_A: \mu_{esc} > \mu_{ctrl}$; Mezi průměrnou změnou v léčebné a kontrolní skupině je rozdíl.

Inference for Numerical Data in R

Přehled analýzy

Krok 3. Proveďte test hypotézy.

  • Zapište hodnoty change na 18 indexových karet.
  • (1) Zamíchejte karty a náhodně je rozdělte do dvou stejně velkých balíčků: léčebná a kontrolní skupina.
  • (2) Vypočítejte a zaznamenejte testovou statistiku: rozdíl průměrné hodnoty change mezi léčebnou a kontrolní skupinou.
  • Opakujte (1) a (2) mnohokrát k vygenerování výběrového rozdělení.
  • Vypočítejte p-hodnotu jako podíl simulací, kde testová statistika je alespoň tak extrémní jako pozorovaný rozdíl výběrových středních hodnot.
Inference for Numerical Data in R

Test hypotézy: generování převzorkování

Použijte balíček infer k provedení testu:

library(infer)
Inference for Numerical Data in R

Test hypotézy: generování převzorkování

Začněte s datovým rámcem a specifikujte model:

library(infer)

diff_ht_mean <- stem.cell %>%
  specify(__) %>%                    # y ~ x
  ...
Inference for Numerical Data in R

Test hypotézy: generování převzorkování

Deklarujte nulovou hypotézu, tj. žádný rozdíl mezi středními hodnotami:

library(infer)

diff_ht_mean <- stem.cell %>%
  specify(__) %>%                    # y ~ x
  hypothesize(null = __) %>%         # "independence" or "point"
  ...
Inference for Numerical Data in R

Test hypotézy: generování převzorkování

Generujte převzorkování za předpokladu platnosti $H_0$:

library(infer)

diff_ht_mean <- stem.cell %>%
  specify(__) %>%                    # y ~ x
  hypothesize(null = __) %>%         # "independence" or "point"
  generate(reps = __, type = __) %>% # "bootstrap", "permute", or "simulate"
  ...
Inference for Numerical Data in R

Test hypotézy: generování převzorkování

Vypočítejte testovou statistiku:

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
Inference for Numerical Data in R

Test hypotézy: výpočet p-hodnoty

Vypočítejte p-hodnotu jako podíl simulací, kde simulovaný rozdíl středních hodnot je alespoň tak extrémní jako pozorovaný

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

Inference for Numerical Data in R

Pojďme si procvičit!

Inference for Numerical Data in R

Preparing Video For Download...