Wartości p

Testowanie hipotez w R

Richie Cotton

Data Evangelist at DataCamp

Procesy karne

  • Dwa możliwe stany rzeczywiste.
    1. Oskarżony popełnił przestępstwo.
    2. Oskarżony nie popełnił przestępstwa.
  • Dwa możliwe wyroki.
    1. Winny.
    2. Niewinny.
  • Początkowo zakłada się, że oskarżony jest niewinny.
  • Jeśli dowody świadczą „ponad wszelką wątpliwość”, że oskarżony popełnił przestępstwo, zapada wyrok „winny”, w przeciwnym razie „niewinny”.
Testowanie hipotez w R

Wiek pierwszego kontaktu z programowaniem

  • age_first_code_cut klasyfikuje, kiedy użytkownik Stack Overflow zaczął programować
    1. "adult" oznacza, że zaczął w wieku 14 lat lub później
    2. "child" oznacza, że zaczął przed 14. rokiem życia
  • Wcześniejsze badania sugerują, że 35% programistów zaczęło programować jako dzieci
  • Czy nasza próbka wskazuje, że większy odsetek data scientistów zaczynał programować jako dzieci?
Testowanie hipotez w R

Definicje

Hipoteza to twierdzenie o nieznanym parametrze populacji.

Test hipotez to test dwóch konkurujących hipotez.

  • Hipoteza zerowa ($H_{0}$) to dotychczasowy „mistrz”.

  • Hipoteza alternatywna ($H_{A}$) to nowy „pretendent” badacza.

Dla naszego problemu

  • $H_{0}$: Odsetek data scientistów zaczynających programować jako dzieci jest taki sam jak wśród programistów (35%).
  • $H_{A}$: Odsetek data scientistów zaczynających programować jako dzieci jest większy niż 35%.
1 „Naught” to brytyjska angielska forma „zero”. Z przyczyn historycznych „H-naught” to międzynarodowa konwencja wymowy hipotezy zerowej.
Testowanie hipotez w R
  • Dwa możliwe stany rzeczywiste.
    1. Oskarżony popełnił przestępstwo.
    2. Oskarżony nie popełnił przestępstwa.
  • Dwa możliwe wyroki.
    1. Winny.
    2. Niewinny.
  • Początkowo zakłada się, że oskarżony jest niewinny.
  • Jeśli dowody świadczą „ponad wszelką wątpliwość”, że oskarżony popełnił przestępstwo, zapada wyrok „winny”, w przeciwnym razie „niewinny”.
  • W rzeczywistości prawdziwa jest albo $H_{A}$, albo $H_{0}$ (ale nie obie).
  • Test kończy się werdyktem „odrzucamy $H_{0}$” lub „brak podstaw do odrzucenia $H_{0}$”.
  • Początkowo zakłada się, że hipoteza zerowa $H_{0}$ jest prawdziwa.
  • Jeśli dowody z próby są „istotne” dla $H_{A}$, wybieramy tę hipotezę, w przeciwnym razie $H_{0}$.

Poziom istotności to „ponad wszelka wątpliwość” w testowaniu hipotez.

Testowanie hipotez w R

Testy jedno- i dwustronne

Wykres gęstości pdf standardowego rozkładu normalnego z zakrytą środkową częścią, pokazujący tylko ogony.

Testy hipotez sprawdzają, czy statystyki z próby leżą w ogonach rozkładu zerowego.

Test Ogony
alternatywna różna od zerowej dwustronny
alternatywna większa od zerowej prawostronny
alternatywna mniejsza od zerowej lewostronny

$H_{A}$: Odsetek data scientistów zaczynających programować jako dzieci jest większy niż 35%.

Nasza hipoteza alternatywna używa „większy niż”, więc potrzebujemy testu prawostronnego.

Testowanie hipotez w R

Wartości p

  • Im większa wartość p, tym silniejsze wsparcie dla $H_{0}$.
  • Im mniejsza wartość p, tym silniejszy dowód przeciw $H_{0}$.
  • Małe wartości p oznaczają, że statystyka leży w ogonie rozkładu zerowego (rozkładu statystyki przy założeniu prawdziwości hipotezy zerowej).
    • „p” w wartości p oznacza prawdopodobieństwo (probability).
    • Dla wartości p „małe” znaczy „bliskie zera”.
Testowanie hipotez w R

Definicja wartości p

Wartość p to

prawdopodobieństwo zaobserwowania statystyki testu

równie lub bardziej skrajnej

niż ta zaobserwowana w naszej oryginalnej próbie,

przy założeniu, że hipoteza zerowa jest prawdziwa.

Testowanie hipotez w R

Obliczanie wyniku z

prop_child_samp <- stack_overflow %>%
  summarize(point_estimate = mean(age_first_code_cut == "child")) %>%
  pull(point_estimate)
0.388
prop_child_hyp <- 0.35
std_error <- 0.0096028
z_score <- (prop_child_samp - prop_child_hyp) / std_error
3.956
Testowanie hipotez w R

Obliczanie wartości p

  • pnorm() to dystrybuanta rozkładu normalnego.
  • Test lewostronny → użyj domyślnego lower.tail = TRUE.
  • Test prawostronny → ustaw lower.tail = FALSE.

 

p_value <- pnorm(z_score, lower.tail = FALSE)
3.818e-05
Testowanie hipotez w R

Czas na praktykę!

Testowanie hipotez w R

Preparing Video For Download...