Bootstrapowe testy hipotez

Myślenie statystyczne w Pythonie (część 2)

Justin Bois

Lecturer at the California Institute of Technology

Schemat testowania hipotez

  • Jasno sformułuj hipotezę zerową
  • Zdefiniuj statystykę testową
  • Wygeneruj wiele zestawów symulowanych danych przy założeniu prawdziwości hipotezy zerowej
  • Oblicz statystykę testową dla każdego zestawu symulowanych danych
  • P-wartość to frakcja zestawów symulowanych danych, dla których statystyka testowa jest co najmniej tak skrajna jak dla danych rzeczywistych
Myślenie statystyczne w Pythonie (część 2)

Michelson i Newcomb: pionierzy pomiarów prędkości światła

ch3-3.008.png

1 Zdjęcie Michelsona: domena publiczna, Smithsonian 2 Zdjęcie Newcomba: US Library of Congress
Myślenie statystyczne w Pythonie (część 2)

Michelson i Newcomb: pionierzy pomiarów prędkości światła

ch3-3.010.png

1 Zdjęcie Michelsona: domena publiczna, Smithsonian 2 Zdjęcie Newcomba: US Library of Congress
Myślenie statystyczne w Pythonie (część 2)

Dostępne dane

ch3-3.011.png

1 Dane: Michelson, 1880
Myślenie statystyczne w Pythonie (część 2)

Hipoteza zerowa

  • Prawdziwa średnia prędkość światła w eksperymentach Michelsona była równa wartości podanej przez Newcomba
Myślenie statystyczne w Pythonie (część 2)

Przesunięcie danych Michelsona

newcomb_value = 299860  # km/s
michelson_shifted = michelson_speed_of_light \\
           - np.mean(michelson_speed_of_light) + newcomb_value

Przesunięcie danych Michelsona

Myślenie statystyczne w Pythonie (część 2)

Obliczanie statystyki testowej

def diff_from_newcomb(data, newcomb_value=299860):
    return np.mean(data) - newcomb_value
diff_obs = diff_from_newcomb(michelson_speed_of_light)

diff_obs
-7.5999999999767169
Myślenie statystyczne w Pythonie (część 2)

Obliczanie p-wartości

bs_replicates = draw_bs_reps(michelson_shifted,
                             diff_from_newcomb, 10000)

p_value = np.sum(bs_replicates <= diff_observed) / 10000
p_value
0.16039999999999999
Myślenie statystyczne w Pythonie (część 2)

 

Test jednej próby

- Porównanie jednego zestawu danych z pojedynczą liczbą

 

Test dwóch prób

- Porównanie dwóch zestawów danych
Myślenie statystyczne w Pythonie (część 2)

Czas na ćwiczenia!

Myślenie statystyczne w Pythonie (część 2)

Preparing Video For Download...