142
Wybrane procedury statystyczne
Funkcje do generowania liczb i wyznaczania charakterystyk z rozkładu normalne-go to pnorm(stats), dnorm(stats), ąnorm(stats) i rnorm(stats). Poniżej przedstawiamy ich deklaracje. Funkcje dla innych rozkładów mają bardzo podobne deklaracje z dokładnością do nazwy parametrów rozkładów.
dnorm(x, mean=0, sd=l, log = FALSE)
pnorm(q, mean=0, sd=l, louer.tail = TRUE, log.p = FALSE) qnorm(p, mean=0, sd=l, lower.tail = TRUE, log.p » FALSE) rnormCn, mean=0, sd=l)
Rozkład normalny opisywany jest dwoma parametrami: średnią i wariancją. Standardowy rozkład normalny ma średnią równą 0 i wariancje równą 1, są to też domyślne wartości argumentów mean i sd. Wartość argumentu lower. taił "TRUE powoduje, że dystrybuanta liczona jest jako P(X < x), gdy argument lower. tail=FALSE, to wyznaczana jest wartość P(X > x).
Zgodnie z regułą trzech sigma prawdopodobieństwo, że zmienna losowa o standardowym rozkładzie normalnym przyjmie wartość mniejszą od -3 lub większą od 3 jest bardzo małe. Jeżeli pamiętamy czym jest dystrybuanta oraz wiemy, że wartości dystrybuanty w R wyznaczyć można funkcją pnormO, to z łatwością wyznaczymy to prawdopodobieństwo.
> t> prawdopodobieństwo wylosowania z r. normalnego wartości > 3 lub < ■
> pnorm(-3) + (1 - pnorm(3))
[1] 0.002699796
> tt wyznaczmy wartość gęstości rozkładu normalnego w punktach -1. 0 i ;
> dnorm(-l:l, mean-0, sd=l)
[1] 0.2419707 0.3989423 0.2419707
> # wyznaczmy najpopularniejsze kwantyle rozkładu normalnego
> qnorm(c(0.001, 0.025, 0.05, 0.5, 0.95, 0.975, 0.999))
[1] -3.090232 -1.959964 -1.644854 0.000000 1.644854 1.959964 3.090>
Nie gwarantuję, że otrzymacie ten sam
wynik.
Poniżej pokażemy jak wylosować 10 liczb z rozkładu normalnego z zadaną śre i wariancją.
> # 10 liczb z r. normalnego o średniej 2 i odchyleniu std. równym 1
> rnormGO, mean - 2, sd - 1)
[1] 0.6768987 1.2803642 2.2650092 0.6985579 2.3181149 [6] 1.8539709 3.0213374 1.6717404 2.9371182 1.5042659
> # średnia t sd mogą być też wektorami
> rnormGO, mean * 1:10, sd“l: 10)
Cl] 0.5966586 0.8989059 -0.9885034 7.9174842 11.8555541
[6] 8.2639667 12.4974246 -0.8795076 14.9873530 11.5999521
Z pozostałych rozkładów' korzysta się równie prosto. Na rysunku 3.14 przeć wiono przykładowy rozkład ciągłej zmiennej losowej o nośniku [0,1]. Na tym rysi zaznaczono podstawowe charakterystyki rozkładu ciągłej zmiennej losowej, takie jas
wartość średnia, mediana, moda (dominanta), kwartyl górny i dolny oraz kwanty) rzędu 0.9 (nazywany też 90. percentylem lub 9. decylem).
Liczby losowe
143
gęstość
Rysunek 3.14: Wybrane charakterystyki rozkładu ciągłej zmiennej losowej, na przykładzie rozkładu B(2,5)
3.2.2.1 Estymacja parametrów
Do oceny parametrów metodą maksimum funkcji wiarogodności w określonej rodzinie rozkładów służy funkcja f itdistr(MASS). Estymowane mogą być parametry dla szerokiej klasy rozkładów, praktycznie wszystkich wymienionych w tabeli 3.2. Pierwszym argumentem funkcji f itdistrO jest wektor obserwacji, na bazie którego wykonana będzie estymacja. Drugim argumentem powinna być nazwa rozkładu a trzecim argumentem lista z początkowymi ocenami parametrów rozkładu. Trzeci argument nie jest wymagany dla rozkładu normalnego, log-normalnego, wykładniczego i Poissona. Poniżej przedstawiamy przykład wywołania tej funkcji. Poza ocenami parametrów' wyznaczany jest też błąd standardowy tych ocen (w nawiasach).
> # losujemy obserwacje z rozkładu lognormalnego
> yek = rlnorm(lOO)
•> # estymujemy parametry w rodzinie rozkładów normalnych
> fitdistrCuek, "normal")
mean sd
i 1.5460227 1.6830700
(0.1683070) (0.1190110)
> # estymujemy parametry w rodzinie rozkładów gamma
> fitdistr(wek, "gamma", list(shape-3,rate«3))
shape ratę
: 1.1445007 0.7402887
; (0.1441915) (0.1161330)