Wyhnuie procedury statystyczne
> U sześć testów t-Studenta, wszystkie hipotezy zerowe są fałszywe
> pwart “ numeric(6)
> for (i in 1:6) pwartfi] = t.test(rnorm(20),rnonn(20,1))$p.value
> # korekta p-wartości z użyciem funkcji mt ,rawp2adjp, w pierwszej
kolumnie pola $adjp znajdują się oryginalne p-wartości. w pozostałych dopasowane p-wartości
> mt.rawp2adjp(p«art, proc=c("Bonferroni", "BH”))
$adjp
rawp Bonferroni BH
[1,] 0.0002528423 0.001517054 0.0009609375
[2,] 0.0003203125 0.001921875 0.0009609375 Ą
[3.] 0.0005902555 0.003541533 0.0011805109
[4,] 0.0009595065 0.005757039 0.0014392598 ;
[5,] 0.0105425680 0.063255408 0.0126510816 [6,] 0.0606874704 0.364124822 0.0606874704
$index
[1] 2 6 1 5 4 3
> » wykonujemy korektę p-wartości z użyciem funkcji p.adjust
> p. adjust (pwart, method-ic (1' BH" ) )
[1] 0.0011805109 0.0009609375 0.0606874704 0.0126510816 0.0014392598 [6] 0.0009609375
Zaletą funkcji p.adjust O jest to, że jej wynikiem jest. wektor zmodyfikowanych p-wartości odpowiadających hipotezom w tej samej kolejności w jakiej występowały one w argumencie wejściowym. W przypadku funkcji mt.rawp2adjp() p-wartości są wyświetlane w kolejności rosnącej, a w polu index opisane są indeksy kolejnych wartości w oryginalnym wektorze. Do kontroli współczynnika FYVER zalecana jest korekta Hochberga (argument proc="Hochberg").
3.6 Bootstrap
Stosunkowo nową i bardzo użyteczną metodą do badania właściwości estymatorów jest metoda bootstrap. Idea tej metody jest następująca. Jeżeli na próbie X możemy wyznaczyć wartość statystyki t = T(X), to możemy wygenerować na bazie A' wiele replikacji danej próby X" i na nich wyznaczyć wartości statystyki t1 = T(X’). Mając replikacje możemy oceniać zachowanie statystyki na zreplikowanych danycli, wnioskować o jej wariancji, przedziałach ufności itp. Najczęściej badana statystyka jest estymatorem parametru rozkładu, z którego pochodzą obserwacje.
Dwa najpopularniejsze sposoby generowania replikacji bootstrapowych to: |
\V zależności od analizowanego zagadnienia stosowanych jest też wiele innych sposobów generowania replikacji np. tzw. bootstrap wygładzony, bootstrap residuów, popularny w szeregach czasowych bootstrap blokowy itp. Funkcje wspomagające stosowanie metody bootstrap znajdują się m.in. w pakietach boot i bootstrap. Poniżej omówimy funkcję boot (boot), której deklaracja jest, postaci:
boot(data, statistic, R, sira="ordinary", stype="i", strata=rep(ł,n), L=NULL, m=0, weights=NULL, ran.gen=function(d,p) d, mle=NULL,...)
Za argument data powinien być podany wektor, macierz lub ramka danych. Jeżeli , l-’ będzie to macierz lub ramka danych, to obserwacje będą traktowane wielowymiarowo, a więc replikowane będą cale wiersze. Argument sim określa typ bootstrapu, któ-. ry ma być zastosowany. Wartość sim="ordinary" odpowiada bootstrapowi nieparametrycznemu (można wskazać prawdopodobieństwa wylosowania poszczególnych ol>serwacji) wartość sim="parametric" odpowiada boostrapowi parametrycznemu, dopuszczalne są leż inne wartości. Argument stypę określa w jaki sposób inlorma-cjco próbach bootstrapowych mają być przekazywane funkcjom liczącym statystyki. Możliwe wartości to:
• "i" - przekazywane są indeksy wylosowanych elementów oryginalnej próby,
• "f" - przekazywane są liczności wystąpień w wylosowanej próbie,
• "w" - przekazywane są znormalizowano liczności wystąpień (innymi słowy częstości) w wylosowanej próbie.
Argument statistic określa funkcję wyznaczającą statystykę (patrz przykład poniżej), a argument R określa liczbę replikacji bootstrapowych do wyznaczenia.
Metoda bootstrap jest szczególnie przydatną techniką, gdy' danych nie jest zbyt wiele. Poniżej przedstawimy przykład jej użycia na zbiorze danych daneO. Z uwagi na rozkład oraz niewielką liczbę obserwacji ocena średniej zmiennej VEGF może mieć dużą zmienność na zbiorze 97 pacjentek. Używając metody boolstrap możemy ocenić zachowanie estymatora średniej dla tej zmiennej. Poniżej przedstawiamy przykład jak to zrobić w pakiecie R. Wynik przeciążonej funkcji plotO użytej w tym przykładzie (rozkład ocen średniej dla replikacji) przedstawiony jest na rysunku 3.39.
, > tt funkcja licząca średnią z replikacji, ma dwa argumenty, drugi to częstości występowania poszczególnych elementów w replikacjach
> średnia <- function(x,w) sum(xł«)
> tt wyznaczamy 999 replikacji z próby i liczymy dla nich średnie
> wynikBoot <- boot(daneO$VEGF, średnia, R=999, stypę-"w")
> tt wyznaczmy 95X przedział ufności dla oceny średniej z replikacji
> ąuantile(wynikBoot$t, c(0.05/2, 1- 0.05/2))
2.57. 97.57.
1977.732 3401.878
> tt przedstawmy graficznie rozkład estymatora średniej z replikacji
> plot(wynikBoot)
Bootstrap nieparametryczny. Replikacje to próby losowane ze zwracaniem z próby oryginalnej. W replikacjach niektóre obserwacje będą się powtarzały, niektórych będzie brakowało.
• Bootstrap parametryczny. Replikacje to próby losowane z rozkładu ocenionego na podstawie próby oryginalnej. W zreplikowanych próbach nie muszą występować wartości z próby oryginalnej.