Zastosowanie pakietu R w statystyce medycznej

LABORATORIUM 5


Hipotezy statystyczne

Hipoteza statystyczna to przypuszczenie dotyczące nieznanego rozkładu badanej cechy, którego prawdziwość chcemy przetestowac na podstawie próby.

Hipoteza parametryczna to hipoteza, która dotyczy jedynie parametrów nieznanego rozkładu. Pozostałe hipotezy nazywamy nieparametrycznymi.

Hipoteza prosta to taka hipoteza, która jednoznacznie określa rozkład badanej cechy. Hipoteza złożona określa całą klasę rozkładów.

W praktyce rozważamy dwie hipotezy: hipotezę zerową \(H_0\) (która zazwyczaj zakłada brak występowania zjawiska w populacji, brak odstępstw od normy) oraz hipotezę alternatywną \(H_1\) (która zachodzi gdy hipoteza zerowa nie jest prawdziwa). Hipoteza alternatywna odnosi się bezpośrednio do teorii, którą chcemy zbadać.


Testowanie hipotez

Testowanie hipotez obejmuje cztery etapy:

  1. Sformuowanie hipotezy zerowej i alternatywnej. Jeśli odrzucimy \(H_0\) to przyjmujemy \(H_1\).

  2. Pobranie odpowiedniej próby do testu \(X_1,X_2,X_3,\dots,X_n\).

  3. Obliczenie statystyki testowej czyli funkcji próby \(\delta(X_1,X_2,X_3,\dots,X_n)\) i/lub p-wartości.

  4. Sprawdzenie czy wartość statystyki testowej leży w zbiorze krytycznym \(W\) dla danego testu lub czy p-wartość jest mniejsza lub równa od przyjętego poziomu istotności \(\alpha\). Odrzucamy \(H_0\) jeśli \(\delta(X_1,X_2,X_3,\dots,X_n) \in W\) lub \(\text{p-wartość} \leq \alpha\). W przeciwnym wypadku mówimy, że nie ma podstaw do odrzucenia hipotezy zerowej.


Błędy w testowaniu hipotez

Wnioskujac o calej populacji na podstawie próby możemy popelnić jeden z dwoch błędów:

Odrzuc \(H_0\) Nie odrzucaj \(H_0\)
\(H_0\) prawdziwa Błąd I rodzaju Brak błędu
\(H_0\) fałszywa Brak błędu Błąd II rodzaju

Niestety, dla ustalonej statystyki testowej jeśli zmniejszamy prawdopodobieństwo błędu I rodzaju \(P_1\) (np. przyjmując \(H_0\) przy słabych dowodach jej słuszności) to rośnie prawdopodobieństwo błędu II rodzaju \(P_2\).

W praktyce ustalamy z góry maksymalną wartość dla prawdopodobieństwa błędu I rodzaju. Wartość tą nazywamy poziomem istotności testu i oznaczamy symbolem \(\alpha\) (zwykle przyjmuje się \(\alpha=0.05\), \(\alpha=0.005\), \(\alpha=0.001\), czasami \(\alpha=0.1\)).

Moc testu \(\beta\) jest to prawdopodobieństwo odrzucenia hipotezy zerowej gdy jest ona fałszywa, a zatem \(\beta = 1 - P_2\). Im większa jest moc testu tym lepiej. Czynniki wpływające na moc:


Statystyka testowa, zbiór krytyczny i p-wartość

Sposób w jaki liczymy statystykę testowa i wyznaczamy zbiór krytyczny \(W\) zależy od konkretnego testu statystycznego. Warto jednak zapamiętać, że wartość statystyki testowej jest funkcją próby i nie zależy od poziomu istotności \(\alpha\), w przeciwieństwie do zbioru krytycznego \(W\), którego granice są wyznaczane jako kwantyle rzędu \(1-\alpha\) odpowiednich rozkładów prawdopodbieństw, i który nie zależy od danych z próby.

Wzory pozwalające obliczyć wartość statystyki testowej oraz granice zbioru krytycznego. (Dokument pochodzi że strony internetowej dr hab. Anny Dembińskiej z Wydziału MiNI PW https://www.mini.pw.edu.pl/~dembinsk.)

Najtrudniejszym do zrozumienia konceptem jest p-wartość. Definicja mówi, że jest to najmniejsza wartość poziomu istotności przy której dla danej wartości statystyki testowej odrzucamy hipotezę zerowa \(H_0\). Wynika z tego, że p-wartość zależy od wartości statystyki testowej (czyli zależy od próby).

P-wartość jest prawdopodobieństwem otrzymania wyników z próby lub wyników bardziej skrajnych, jeżeli hipoteza zerowa jest prawdziwa. Innymi słowy, p-wartość jest prawdopodobieństwem tego, że zaobserwowane w danych zjawisko mogło wystapic przypadkowo i że w calej populacji takie zjawisko wcale nie występuje.


Przykłady

W pakiecie R (biblioteka podstawowa stats) zaimplementowanych jest wiele funkcji ułatwiających testowanie hipotez statystycznych, m.in. t.test() i power.t.test() (hipotezy dotyczące wartości sredniej rozkładu normalnego, a dla duzej próby dowolnego), prop.test(), binom.test() i power.prop.test() (hipotezy dotyczące rozkładu dwupunktowego), var.test() (hipotezy dotyczące równosci dwóch wariancji). Poniżej jest omówionych kilka przykładow użycia tych funkcji (przykłady pochodzą z wykładu Wstęp do Wnioskowania Statystycznego prowadzonego przez dr hab. Annę Dembińska z Wydziału MiNI PW https://www.mini.pw.edu.pl/~dembinsk).

Przykład 5.1

Czas montowania bębna w pralce jest zmienną losową o rozkładzie normalnym z odchyleniem standardowym równym pół minuty. Norma techniczna przewiduje na tę czynność 6 minut. Wśród załogi panuje jednak przekonanie, że ten normatywny czas jest zbyt krótki. Zmierzono czas montowania bębna przez 6 losowo wybranych robotników i otrzymano następujące wyniki (w minutach): 6.2, 7.1, 6.3, 5.9, 5.5, 7.0. Na poziomie istotności 0.05 stwiedzić, czy przekonanie załogi jest słuszne.

# H0: mu=6, H1: mu>6, Model I - nieznana średnia, znana wariancja
alfa <- 0.05
sd <- 0.5
mu <- 6
# Proba
x <- c(6.2,7.1,6.3,5.9,5.5,7.0)
n <- length(x)
# Zbior krytyczny W=< qnorm(1-alfa); +Inf>
w <- qnorm(1-alfa,0,1); w
## [1] 1.644854
# Statystyka testowa
U <- sqrt(n)*(mean(x)-mu)/sd; U
## [1] 1.632993
# Statystyka testowa nie wpada do zbioru krytycznego. Nie ma podstaw do odrzucenia H0
Przykład 5.2

Dział kontroli jakości w zakładach chemicznych chce oszacować średnią wagę proszku do prania sprzedawanego w pudełkach o nominalnej wadze 3 kg. Pobrano w tym celu próbkę losową 7 pudełek i otrzymano wyniki (w kg): 2.93, 2.97, 3.05, 2.91, 3.02, 2.87, 2.92. Wiadomo, że rozkład wagi pudełka proszku do prania jest normalny.

  1. Czy na poziomie istotności 0.05 można twierdzić, że faktyczna średnia waga pudełka proszku do prania jest mniejsza niż 3 kg?
# H0: mu=3, H1: mu<3, Model II - nieznana średnia i wariancja
alfa <- 0.05
mu <- 3
# Proba
x <- c(2.93,2.97,3.05,2.91,3.02,2.87,2.92)
n <- length(x)
# Pakiet R ma wbudowany test T-Studenta dla modelu II
wynik <- t.test(x, alternative = "less", mu=mu); wynik
## 
##  One Sample t-test
## 
## data:  x
## t = -1.9502, df = 6, p-value = 0.04952
## alternative hypothesis: true mean is less than 3
## 95 percent confidence interval:
##     -Inf 2.99983
## sample estimates:
## mean of x 
##  2.952857
wynik$p.value > alfa # P-wartość jest mniejsza niż poziom istotności. Odrzucamy zatem H0.
## [1] FALSE
  1. Zakładając, że rzeczywista średnia waga proszku do prania wynosi 2.9 kg, wyznaczyć prawdpodobienstwo, że przeprowadzając test na poziomie istotności 0.05 i na podstawie 7 obserwacji, błędnie uznamy, że średnia waga proszku jest zgodna z podaną na pudełku.
# Pakiet R ma wbudowaną funkcje do obliczenia mocy testu T-Stuenta
mu1 <- 2.9
moc <- power.t.test(n, delta=mu-mu1, sd=sd(x), sig.level = alfa, type="one.sample", alternative = "one.sided"); moc
## 
##      One-sample t test power calculation 
## 
##               n = 7
##           delta = 0.1
##              sd = 0.06395683
##       sig.level = 0.05
##           power = 0.9758999
##     alternative = one.sided
1 - moc$power # Szukane prawdopodobieństwo wynosi:
## [1] 0.02410011
  1. Jak liczną próbkę trzeba by pobrać, by przeprowadzony test (na poziomie istotności 0.05), w sytuacji, gdy rzeczywista średnia waga pudełka proszku do prania wynosi 2.9 kg, odrzucał hipotezę, że średnia waga proszku jest zgodna z podaną na pudełku, z prawdopodobieństwem nie mniejszym niż 0.9?
moc <- power.t.test(delta=mu-mu1, sd=sd(x), sig.level = alfa, type="one.sample", alternative = "one.sided", power = 0.9); moc
## 
##      One-sample t test power calculation 
## 
##               n = 5.186366
##           delta = 0.1
##              sd = 0.06395683
##       sig.level = 0.05
##           power = 0.9
##     alternative = one.sided
ceiling(moc$n) # Szukana liczba próbek wynosi:
## [1] 6
Przykład 5.3

Ogrodnik ma 5000 nasion białych i czerwonych tulipanow. Chciałby wiedzieć jaki procent owych nasion to nasiona tulipanów białych. Nasiona te przeznaczone są do sprzedazy, więc nie może ich wszystkich wysiać i sprawdzić, ile z nich zakwitnie na biało. Wybrał zatem losowo 100 nasion, posiał je i okazało się, że 13 z nich ma białe kwiaty.

  1. Czy na poziomie istotności 0.01 ogrodnik może stwierdzic, że nasiona białych tulipanow stanowią 10% wszystkich nasion?
# H0: p=0.1, H1: p!=0.1, Model IV - zmienna losowa ma rozkład dwupunktowy P(bialy)=p, P(czerwony)=1-p=q
alfa <- 0.01
p <- 0.1
n <- 100
b <- 13
wynik <- prop.test(x=b, n=n, p=p, alternative = "two.sided"); wynik
## 
##  1-sample proportions test with continuity correction
## 
## data:  b out of n, null probability p
## X-squared = 0.69444, df = 1, p-value = 0.4047
## alternative hypothesis: true p is not equal to 0.1
## 95 percent confidence interval:
##  0.07376794 0.21560134
## sample estimates:
##    p 
## 0.13
wynik$p.value > alfa # P-wartość jest większa niż poziom istotności. Nie ma podstaw do odrzucenia H0.
## [1] TRUE
  1. Czy zmieni się odpowiedź w punkcie (a) jeśli ogrodnik posieje jedynie 10 nasion i 2 z nich wykiełkują na biało?
# Poniewaz b=2<5 to nie można stosowac przyblizenia rozkladem normalnym. Uzyjemy funkcji binom.test, która daje dokladne wyniki dla rozkładu dwupunktowego.
b <- 2
n <- 10
wynik <- binom.test(x=b,n=n,p=p, alternative = "two.sided"); wynik
## 
##  Exact binomial test
## 
## data:  b and n
## number of successes = 2, number of trials = 10, p-value = 0.2639
## alternative hypothesis: true probability of success is not equal to 0.1
## 95 percent confidence interval:
##  0.02521073 0.55609546
## sample estimates:
## probability of success 
##                    0.2
wynik$p.value > alfa # P-wartość jest większa niż poziom istotności. Nie ma podstaw do odrzucenia H0.
## [1] TRUE
Przykład 5.4

20 sposrod 100 losowo wybranych studentów studiów zaocznych i 40 sposrod 120 losowo wybranych studentów studiów dziennych zdało egzamin ze Statystyki w pierwszym terminie.

  1. Czy na podstawie powyższych danych możemy stwierdzic, na poziomie istotności 0.01, że studenci studiów zaocznych gorzej przygotowują się do egzaminu ze Statystyki niż studenci dzienni?
# H0: pz = pd, H1: pz < pd
alfa <- 0.01
x <- c(20,40)
n <- c(100,120)
delta <- 0 # Hipoteza zerowa
wynik <- prop.test(x=x, n=n, alternative = "less"); wynik
## 
##  2-sample test for equality of proportions with continuity
##  correction
## 
## data:  x out of n
## X-squared = 4.2398, df = 1, p-value = 0.01974
## alternative hypothesis: less
## 95 percent confidence interval:
##  -1.00000000 -0.02752747
## sample estimates:
##    prop 1    prop 2 
## 0.2000000 0.3333333
wynik$p.value > alfa # P-wartość jest większa niż poziom istotności. Nie ma podstaw do odrzucenia H0.
## [1] TRUE
  1. Przypuszczamy, że zdawalność egzaminu ze Statystyki w pierwszym terminie wynosi dla studentów dziennych 0.3 a zaocznych 0.2. Ilu studentów dziennych i zaocznych trzeba by wylosować do próby by jednostronny test porównujący proporcje z poziomem istotności 0.01 miał moc 0.75?
moc <- power.prop.test(p1 = 0.2, p2 = 0.3, sig.level = alfa, power = 0.75, alternative = "one.sided"); moc
## 
##      Two-sample comparison of proportions power calculation 
## 
##               n = 336.6738
##              p1 = 0.2
##              p2 = 0.3
##       sig.level = 0.01
##           power = 0.75
##     alternative = one.sided
## 
## NOTE: n is number in *each* group
2*ceiling(moc$n) # Szukana liczba studentów wynosi:
## [1] 674
Przykład 5.5

Losową grupę 5 osób poddano 6-tygodniowej diecie odchudzającej. Uzyskano następujące wyniki (waga przed i po kuracji [w kg]):

Przed kuracją Po kuracji
88 75
86 76
82 83
64 65
59 58

Można zalożyć, że rozkład łączny wagi przed i po kuracji jest normalny.

  1. Czy powyższe wyniki potwierdzają skuteczność diety na poziomie istotności 0.05?
# H0: mu0 = mu1, H1: mu0 > mu1
alfa <- 0.05
x0 <- c(88,86,82,64,59)
x1 <- c(75,76,83,65,58)
wynik <- t.test(x=x0, y=x1, paired = TRUE, alternative = "greater"); wynik
## 
##  Paired t-test
## 
## data:  x0 and x1
## t = 1.4866, df = 4, p-value = 0.1057
## alternative hypothesis: true difference in means is greater than 0
## 95 percent confidence interval:
##  -1.90969      Inf
## sample estimates:
## mean of the differences 
##                     4.4
wynik$p.value > alfa # P-wartość jest większa niż poziom istotności. Nie ma podstaw do odrzucenia H0.
## [1] TRUE
  1. Przypuszczamy, że średnia różnica wagi sprzed i po kuracji wynosi 4 kg. Jakie jest prawdopodobieństwo, że test z punktu (a) potwierdzi skuteczność diety?
n <- length(x0)
delta <- 4
moc <- power.t.test(n=n, delta=delta, sd=sd(x0-x1), sig.level=alfa, type="paired", alternative="one.sided"); moc
## 
##      Paired t test power calculation 
## 
##               n = 5
##           delta = 4
##              sd = 6.618157
##       sig.level = 0.05
##           power = 0.3024461
##     alternative = one.sided
## 
## NOTE: n is number of *pairs*, sd is std.dev. of *differences* within pairs
moc$power # Szukane prawdopodobieństwo wynosi zaledwie:
## [1] 0.3024461
  1. Przypuszczamy, że średnia różnica wagi sprzed i po kuracji wynosi 4 kg. Ile osób trzeba by losowo wybrać do eksperymentu by test jednostronny o poziomie istotności 0.05 z prawdopodobienstwem 0.8 potwierdzał skuteczność diety?
moc <- power.t.test(power=0.8, delta=delta, sd=sd(x0-x1), sig.level=alfa, type="paired", alternative="one.sided"); moc
## 
##      Paired t test power calculation 
## 
##               n = 18.35582
##           delta = 4
##              sd = 6.618157
##       sig.level = 0.05
##           power = 0.8
##     alternative = one.sided
## 
## NOTE: n is number of *pairs*, sd is std.dev. of *differences* within pairs
ceiling(moc$n) # Liczba osób, które nalezy wybrać do eksperymentu:
## [1] 19
Przykład 5.6

Dokonano 10 pomiarów tego samego napięcia prądu przy użyciu dwóch różnych woltomierzy. Dla pierwszego woltomierza otrzymano następujące wyniki:

v1 <- c(1.2,1.0,1.1,1.4,1.1,1.2,1.0,0.9,1.1,1.2)

a dla drugiego:

v2 <- c(1.3,1.1,1.4,0.9,1.4,1.2,1.3,1.0,1.2,1.3)

Można założyć, że pomiary napięcia na badanych woltomierzach mają rozkłady normalne.

  1. Na poziomie istotności 0.01 zweryfikować hipotezę o jednakowych wynikach pomiaru napięcia przez oba woltomierze.
# Nie wiemy czy wariancje są rowne czy nie, zatem w pierwszej kolejności przeprowadzimy test równości wariancji
# H0: var1 = var2, H1: var1 != var2, przeprowadzimy test F z alfa=0.1
var.wynik <- var.test(x=v1, y=v2, alternative = "two.sided")
var.wynik$p.value
## [1] 0.6135592
# P-wartość jest większa niż poziom istotności, a zatem nie ma podstaw do odrzucenia H0. Zakladamy zatem, że wariancje są rowne. Przetestujemy rownosc srednich.
# H0: mu1 = mu2, H1: mu1 != mu2
alfa <- 0.01
wynik <- t.test(x=v1, y=v2, alternative = "two.sided", mu=0, paired = FALSE, var.equal = TRUE); wynik
## 
##  Two Sample t-test
## 
## data:  v1 and v2
## t = -1.3097, df = 18, p-value = 0.2068
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -0.23437206  0.05437206
## sample estimates:
## mean of x mean of y 
##      1.12      1.21
wynik$p.value > alfa # P-wartość jest większa niż poziom istotności. Nie ma podstaw do odrzucenia H0.
## [1] TRUE
  1. Przypuszczamy, że średnia różnica pomiarów na obu woltomierzach to 0.1. Ile pomiarów na każdym woltomierzu należy wykonać by moc dwustronnego testu o poziomie istotności 0.01 wynosila nie mniej niż 0.8.
n1 <- length(v1)
n2 <- length(v2)
s1 <- sd(v1)^2
s2 <- sd(v2)^2
sd <- sqrt(((n1-1)*s1+(n2-1)*s2)/(n1+n2-2))
moc <- power.t.test(delta = 0.1, power = 0.8, sig.level = alfa, alternative = "two.sided", type = "two.sample", sd=sd); moc
## 
##      Two-sample t test power calculation 
## 
##               n = 56.83143
##           delta = 0.1
##              sd = 0.1536591
##       sig.level = 0.01
##           power = 0.8
##     alternative = two.sided
## 
## NOTE: n is number in *each* group
ceiling(moc$n) # Szukana liczba pomiarów wynosi
## [1] 57


Zadanie punktowane

W kolumnie WeightInitial w pliku http://www.if.pw.edu.pl/~paluch/MSR/data/goats.txt zapisano wagę (w kg) losowo wybranych młodych kóz hodowanych w Australii. Wiadomo, że rozkład badanej cechy jest normalny.

  1. Na poziomie istotności 0.05 przetestować hipotezę, że średnia waga młodych kóz hodowanych w Australii przekracza 23 kg.
## [1] 0.393602
  1. Zakładając, że rzeczywista średnia waga młodych kóz hodowanych w Australii wynosi 24 kg, wyznaczyć prawdopodobieństwo, że przeprowadzając test na poziomie istotności 0.05 i na podstawie 40 obserwacji, błędnie uznamy, że średnia waga takich kóz nie przekracza 23 kg.
## [1] 0.4460559
  1. Załóżmy, że rzeczywista średnia waga młodych kóz hodowanych w Australii wynosi 24 kg. Ile trzeba by zebrać pomiarów wag takich kóz, by test (przeprowadzony na poziomie istotności 0.05) wykrywal, z prawdopodobieństwem nie mniejszym niż 0.8, że średnia waga takich kóz przekracza 23 kg?
## [1] 77
  1. Sprawdzić na poziomie istotności 0.1 czy można przyjąć, że wariancja wagi młodych kóz hodowanych w Australii wynosi 20 kg^2.
## [1] 23.75500 25.69539 54.57223

Poza wykonaniem stosownych obliczeń, w każdym podpunkcie wymagana jest odpowiedź pełnym zdaniem (w postaci komentarza w skrypcie).