Rachunek prawdopodobieństwa i statystyka/Wykład 14: Komputerowe metody statystyki

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Omówimy, bardzo krótko, 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.

Na ostatnim wykładzie poznamy pewne metody, które zostały opracowane w drugiej połowie XX wieku, a ich przewodnią ideą jest wykorzystanie dużej mocy obliczeniowej komputera. 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.

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 .

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:

<flash>file=Rp.1.147.swf|width=350|height=350</flash>

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:

  1. - jądro gaussowskie,
  2. - jądro Epanesznikowa,
  3. - jądro trójkątne.

Niech będzie dana próbka prosta z rozkładu ciągłego o gęstości . Ustalmy jądro oraz liczbę zwaną dalej szerokością pasma. Funkcję:



nazywamy estymatorem jądrowym gęstości .

Stosując kolejno następujące zmiany zmiennych (patrz wykład z Analizy matematycznej):



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łą (patrz wykład z Analizy matematycznej).

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.


Przykład 14.3

Dla zilustrowania metody estymacji jądrowej wylosujemy 250-elementową próbkę prostą z rozkładu , a następnie, wykorzystując jądro gaussowskie, wyznaczymy estymator (kolor czerwony) i narysujemy go na wspólnym rysunku z gęstością rozkładu (kolor niebieski).

Zastosujemy tu trzy różne szerokości pasma :

1. :

<flash>file=Rp.1.148.swf|width=350|height=350</flash>

2. :

<flash>file=Rp.1.149.swf|width=350|height=350</flash>

3. :

<flash>file=Rp.1.150.swf|width=350|height=350</flash>

Istnieją przesłanki zarówno teoretyczne, jak praktyczne, dotyczące wyboru jądra oraz szerokości pasma, tak aby estymator najlepiej, w pewnym określonym sensie, przybliżał gęstość . Mówiąc ogólnie, warto jest używać jąder wymienione powyżej, natomiast można ustalać jako liczbę nieznacznie większą od , gdzie oznacza estymator odchylenia standardowego z próbki, czyli:



Warto też zauważyć, że małe wartości powodują, że wykres jest stosunkowo nieregularny, ale za to "wychwytuje" poszczególne punkty próbki, natomiast dużym wartościom odpowiada stosunkowo gładki wykres . W powyższym przykładzie , a więc: