Testarea ipotezelor pentru compararea a două medii prin simulare

Inferență pentru date numerice în R

Mine Cetinkaya-Rundel

Associate Professor of the Practice, Duke University

Motivație

  • Întrebare motivatoare: Tratamentul cu celule stem embrionare îmbunătățește funcția cardiacă după un infarct mai mult decât terapia tradițională?

  • Date: setul stem.cell din pachetul 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
Inferență pentru date numerice în R

Structura analizei

Pasul 1. Calculați change pentru fiecare oaie: diferența dintre capacitățile de pompare înainte și după infarct.

   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   ?
Inferență pentru date numerice în R

Structura analizei

Pasul 2. Stabiliți ipotezele:

$H_0: \mu_{esc} = \mu_{ctrl}$; Nu există nicio diferență între modificarea medie în grupul de tratament și grupul de control.

$H_A: \mu_{esc} > \mu_{ctrl}$; Există o diferență între modificarea medie în grupul de tratament și grupul de control.

Inferență pentru date numerice în R

Structura analizei

Pasul 3. Efectuați testul de ipoteză.

  • Scrieți valorile change pe 18 fișe.
  • (1) Amestecați fișele și împărțiți-le aleatoriu în două pachete egale: tratament și control.
  • (2) Calculați și înregistrați statistica de test: diferența dintre media change în grupul de tratament și cel de control.
  • Repetați (1) și (2) de mai multe ori pentru a genera distribuția de eșantionare.
  • Calculați valoarea p ca procentaj al simulărilor în care statistica de test este cel puțin la fel de extremă ca diferența observată între mediile eșantioanelor.
Inferență pentru date numerice în R

Test de ipoteză: generare reantioane

Utilizați pachetul infer pentru a efectua testul:

library(infer)
Inferență pentru date numerice în R

Test de ipoteză: generare reantioane

Începeți cu cadrul de date și specificați modelul:

library(infer)

diff_ht_mean <- stem.cell %>%
  specify(__) %>%                    # y ~ x
  ...
Inferență pentru date numerice în R

Test de ipoteză: generare reantioane

Declarați ipoteza nulă, adică nicio diferență între medii:

library(infer)

diff_ht_mean <- stem.cell %>%
  specify(__) %>%                    # y ~ x
  hypothesize(null = __) %>%         # "independence" or "point"
  ...
Inferență pentru date numerice în R

Test de ipoteză: generare reantioane

Generați reantioane presupunând că $H_0$ este adevărată:

library(infer)

diff_ht_mean <- stem.cell %>%
  specify(__) %>%                    # y ~ x
  hypothesize(null = __) %>%         # "independence" or "point"
  generate(reps = __, type = __) %>% # "bootstrap", "permute", or "simulate"
  ...
Inferență pentru date numerice în R

Test de ipoteză: generare reantioane

Calculați statistica de test:

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
Inferență pentru date numerice în R

Test de ipoteză: calculul valorii p

Calculați valoarea p ca proporție a simulărilor în care diferența simulată dintre mediile eșantioanelor este cel puțin la fel de extremă ca cea observată

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

Inferență pentru date numerice în R

Să exersăm!

Inferență pentru date numerice în R

Preparing Video For Download...