KOMPUTEROWE METODY STATYSTYKI
Omówimy trzy zagadnienia związane z
możliwością zastosowania metod informatycznych w statystyce: generowanie liczb o
charakterze losowym, metodę bootstrap oraz jądrową estymację gęstości.
Metody te są dziś w powszechnym użyciu.
Liczby pseudolosowe
W trakcie tego kursu kilkakrotnie wykorzystaliśmy
liczby wylosowane przez komputer z zadanego rozkładu. Teraz opiszemy jedną z
metod używanych przez współczesne programy komputerowe do ich uzyskiwania.
Otrzymane w ten sposób liczby nie są w istocie losowe, lecz są wynikiem
działania pewnego dość prostego algorytmu deterministycznego. Dlatego też
określa się je często mianem liczb pseudolosowych.
Obecnie wykorzystywane
programy komputerowe używają najczęściej następującego algorytmu: dla ustalonych
liczb naturalnych ,
i
wybieramy dowolną liczbę naturalną ,
zwaną ziarnem (ang. seed), a następnie określamy rekurencyjnie ciąg:
Mówiąc
inaczej, za każdym razem obliczamy ,
a jako
bierzemy resztę z dzielenia
przez
- tak więc wszystkie wyrazy naszego ciągu są liczbami naturalnymi mniejszymi od
.
Jeżeli parametry ,
,
i
są odpowiednio dobrane, to okazuje się, że liczby:
mają
własności niemal takie same, jak liczby wylosowane z rozkładu jednostajnego na
przedziale .
Istnieją pewne zasady wybierania parametrów. W szczególności,
powinno być bardzo duże, aby jak najbardziej ograniczyć zjawisko okresowości. Z
podobnych względów także
powinno być dużą liczbą, najlepiej względnie pierwszą z .
Natomiast wybór
ma mniejsze znaczenie - często przyjmuje się .
Okazuje się, że przy odpowiednio wybranych parametrach oraz przy zastosowaniu
dodatkowych procedur (patrz poniżej) liczby pseudolosowe i ich zestawy mają
bardzo dobre własności - potwierdzają to także odpowiednie testy statystyczne.
Przykładowo, program Maple (już w wersji 5) używa generatora liczb
pseudolosowych z bardzo dużymi parametrami
oraz ,
mianowicie:
Wartość
ziarna
można w każdej chwili zadać zgodnie z aktualnymi potrzebami. Może nam na
przykład zależeć, aby przy powtórzeniach danego losowania zawsze otrzymywać te
same liczby pseudolosowe - zadajemy wtedy taką samą (stałą) wartość
(przy rozpoczęciu nowej sesji z programem Maple wartość ziarna wynosi ).
Z drugiej strony, możemy żądać, aby w każdym losowaniu otrzymywać inne liczby
pseudolosowe - można to na przykład osiągnąć, zadając wartość ziarna w
zależności od upływu czasu zużytego przez procesor od rozpoczęcia aktualnej
sesji.
Bardzo ważne jest też to, aby kolejne liczby pseudolosowe
reprezentowały niezależne zmienne losowe. Oczywiście, formalnie one są zależne,
jednak przy odpowiednio dobranych parametrach zależność ta jest niezwykle słaba.
Co więcej, stosuje się czasem dodatkowe zabezpieczenia polegające na odrzucaniu
niektórych liczb.
Mając liczby pseudolosowe z rozkładu jednostajnego na
odcinku ,
można, stosując odpowiednią metodę, uzyskać liczby pseudolosowe z innego
zadanego rozkładu - poniżej opisujemy jedną z takich metod, zwaną metodą
odwracania dystrybuanty.
Niech
będzie zmienną losową o rozkładzie jednostajnym na przedziale ,
czyli:
oraz
niech
będzie dystrybuantą interesującego nas w danej chwili rozkładu. Dla uproszczenia
załóżmy, że
jest funkcją ściśle rosnącą [AM]. Określamy nową zmienną losową
jako:
Wówczas
dla każdego
mamy:
Wynika
stąd, że
jest dystrybuantą zmiennej losowej .
Mówiąc inaczej, jeżeli liczby
zostały wylosowane zgodnie z rozkładem jednostajnym na przedziale ,
to
mogą być traktowane jako liczby wylosowane z rozkładu o dystrybuancie .
Przykład 14.1
Aby wylosować liczbę pseudolosową z rozkładu wykładniczego, rozważamy jego
dystrybuantę:
W związku z tym, mając daną liczbę pseudolosową z rozkładu jednostajnego na odcinku , znajdujemy liczbę pseudolosową:
z rozkładu wykładniczego.
W związku z tym, mając daną liczbę pseudolosową z rozkładu jednostajnego na odcinku , znajdujemy liczbę pseudolosową:
z rozkładu wykładniczego.
Zauważmy, że nie zawsze jest łatwo wyznaczyć
efektywnie
- jest tak na przykład w przypadku rozkładu normalnego. W takich sytuacjach
można szukać przybliżonej wartości ,
rozwiązując numerycznie równanie:
ze
względu na .
Istnieją też inne metody pozyskiwania liczb pseudolosowych z niektórych
rozkładów (na przykład rozkładu normalnego), na bazie liczb pochodzących z
rozkładu jednostajnego.
Metoda bootstrap
W ostatnich latach stosuje się coraz powszechniej tak
zwaną metodę bootstrap. Robi się to wtedy, gdy nie znamy rozkładu, z którego
pochodzi próbka, a jej wielkość jest zbyt mała, aby stosować metody oparte na
prawach wielkich liczb.
Metoda bootstrap polega na losowaniu kolejno
próbek na podstawie wyjściowej próbki, przy czym losowanie odbywa się ze
zwracaniem, a wielkości próbek są takie same jak wielkość próbki wyjściowej.
Jeżeli chcemy estymować dany parametr i znamy jego estymator, powiedzmy ,
to estymator bootstrapowy danego parametru określamy jako średnią z wartości
tego estymatora obliczonych dla każdej próbki, czyli:
gdzie
jest próbką wylosowaną za -tym
razem.
Przykład
14.2
Przypuśćmy, że mamy daną następującą próbkę prostą z nieznanego rozkładu:
Interesuje nas bootstrapowy estymator średniego błędu.
Pamiętamy, że średni błąd wyraża się wzorem:
Losujemy teraz 10 próbek bootstrapowych, przy czym każda taka próbka ma 7 elementów otrzymanych jako wynik losowania ze zwracaniem z podstawowej próbki, jednocześnie wyznaczając dla każdej z nich wartość . Dostajemy przykładowo:
Liczymy teraz średnią z tak otrzymanych 10 średnich błędów dla poszczególnych próbek i otrzymujemy estymator bootstrapowy średniego błędu równy w przybliżeniu .
Interesuje nas bootstrapowy estymator średniego błędu.
Pamiętamy, że średni błąd wyraża się wzorem:
Losujemy teraz 10 próbek bootstrapowych, przy czym każda taka próbka ma 7 elementów otrzymanych jako wynik losowania ze zwracaniem z podstawowej próbki, jednocześnie wyznaczając dla każdej z nich wartość . Dostajemy przykładowo:
Liczymy teraz średnią z tak otrzymanych 10 średnich błędów dla poszczególnych próbek i otrzymujemy estymator bootstrapowy średniego błędu równy w przybliżeniu .
Na
ogół losuje się dużo więcej niż w powyższym przykładzie próbek bootstrapowych -
często jest to 1000 próbek.
Metodę bootstrap można używać także do
wyznaczania przedziałów ufności określonych parametrów. Istnieje tutaj kilka
metod - my poznamy, na przykładzie, tak zwaną metodę percentylową.
Przypuśćmy, że na podstawie naszej próbki chcemy wyznaczyć
przedział ufności dla średniego błędu. Postępujemy wówczas następująco: losujemy
1000 próbek bootstrapowych i dla każdej z nich obliczamy żądany estymator,
powiedzmy średni błąd, otrzymując ciąg:
Dla
jego zobrazowania rysujemy odpowiedni histogram:
Kwantyle tego ciągu rzędu
i
są (z definicji) końcami szukanego przedziału ufności - w naszym przypadku
okazał się być nim przedział:
Estymacja gęstości
Zdarza się, iż w niektórych sytuacjach nie wiemy z
góry, z jakiego rozkładu pochodzi próbka prosta. Warto wówczas oczywiście
naszkicować histogram, ale jeżeli próbka wskazuje na to, że rozkład jest ciągły,
to warto także sporządzić tak zwany jądrowy estymator gęstości, który w tym
punkcie omawiamy. Jego podstawową zaletą (w stosunku do histogramu) jest to, że
jest on na ogół funkcją ciągłą.
Funkcję
nazywamy jądrem, gdy:
(1)
dla każdego ,
(2) ,
(3)
dla każdego .
Przykładami jąder są następujące funkcje:
- - jądro gaussowskie,
- - jądro Epanesznikowa,
- - jądro trójkątne.
nazywamy estymatorem jądrowym gęstości .
Stosując kolejno następujące zmiany zmiennych
można łatwo sprawdzić, że:
Oczywiście także:
tak więc funkcja jest gęstością rozkładu prawdopodobieństwa. Zauważmy dodatkowo, że gdy jądro jest funkcją ciągłą, tak jak w podanych powyżej przykładach, to także , jako suma funkcji ciągłych, jest funkcją ciągłą.
Można łatwo zrozumieć powód, dla którego jądrowy estymator gęstości powinien dobrze przybliżać daną gęstość . Otóż, gdy jest dużą liczbą, to należy się spodziewać, że w pobliżu punktu znajduje się stosunkowo dużo punktów z naszej próbki, a zatem także wartości odpowiadające tym punktom są stosunkowo duże, a więc duża jest też wartość . Przeciwnie, tam gdzie wartości są małe, tam jest niewiele (albo wcale nie ma) punktów próbki i może się zdarzyć, że niemal wszystkie składniki będą bliskie zeru, a więc także będzie niewielką liczbą.
Zauważmy jednak, że do wyznaczenia pojedynczej wartości należy, oprócz innych działań, wykonać obliczenia tylu wartości , ile jest elementów próbki - w praktyce jest to możliwe tylko przy użyciu komputera.