4
4
4
4
4
4
4
4
i
U
4
4
4
244
gRrrafika
Funkcja kde(ks) pozwala na jądrową estymację gęstości dla danych wielowymiarowych (maksymalnie do 6 wymiarów). W działaniu funkcja ta jest podobna do funkcji densityO jest też ona równie prosta w użyciu (patrz rysunek 4.18 i 4.19).
Podobnie jak dla jednowymiarowych jądrowych estymatorów gęstości mamy możliwość kontrolowania szerokości okna, w tym przypadku również osobno dla każdej ze współrzędnych. Do automatycznego wyboru szerokości okna w oparciu o macierz korelacji służy funkcja Hscv(ks) (patrz poniższy przykład). Dodatkowo, jeżeli chcemy narysować dwuwymiarową ocenę gęstości, rysowane są też wskazane kwantyle estymowanego rozkładu. Poniższy kod generuje wykresy z rysunków 4.18 i 4.19. >'
U przygotowujemy jądrowy estymator gęstości deudetmp » danef, c(6,7)]
mcov » Hscv(danetrap) »$$
gest2d = kdeCdanetmp, H=mcov)
# następnie rysujemy poziomice wyestymowanej gęstości •;
plot(gest2d, cont=c(5,25,50,75,95))
Do wyznaczania estymatora jądrowego dla funkcji gęstości dwóch zmiennych można również wykorzystać funkcję kde2d(MASS). Jest ona znacznie łatwiejsza w użyciu od funkcji kde(), ale jest ograniczona jedynie do estymacji gęstości dla dwóch zmiennych. Parametrami tej funkcji poza współrzędnymi punktów są rozmiary okna oraz rozmiar siatki, na której te gęstości mają być wyznaczone. Poniżej przykład wywołania, tej funkcji. Do wizualizacji gęstości wykorzystane są dwie różne funkcje prezentujące estymowaną gęstość w przestrzeni trójwymiarowej.
Funkcja persp(graphics) rysuje w określonym rzucie (określonym parametrami ■ : phi, theta, r) powierzchnię opisaną przez macierz liczb (wysokości). Podobny efekt można również uzyskać funkcją wireframe(lattice). Funkcja rgl.surface(rgl) wykorzystuje bibliotekę rgl to rysowania powierzchni uwzględnia oświetlenie powierzchni oraz pozwala na interaktywne obracanie wykresem.
# wyznaczamy oceny gęstości na siatce o wymiarach 50x50 vspZ * kde2d(wspX, wspY, 50)
tt estymator gęstości przedstawiony funkcją perspO persp(wspX, WBpY, wapZ)
# estymator gęstości przedstawiony z użyciem biblioteki rgl
rgl.clearO; rgl.surface(wspX, wspY, wspZ)
Te trzy funkcje umożliwiają rysowanie konturów dla map wysokości (tzn. dla dwuwy-’ miarowych macierzy, w których zapisane są wysokości lub inne wartości o podobnej interpretacji) lub rysowanie mapy wizualizującej daną powierzchnię (wysokość bę-dzie reprezentowana przez różne kolory). Tego typu mapy są wynikiem np. funkcji i, kdeO do ocćny gęstości za pomocą estymatorów jądrowych.
Rysunek 4.16: Powierzchnia narysowana z Rysunek 4.17: Powierzchnia narysowana z użyciem funkcji perspf). użyciem funkcji rgl.surface().
Rysunek 4.18: Wykres konturowy dla jądro- Rysunek 4.19: Wykres konturowy dla jądrowego estymatora gęstości, kde(). wego estymatora gęstości, kde().
danie nie skurczowe
Rysunek 4.20: Wykres konturowy, contour().
Rysunek 4.21:
contourplot().
Wykres konturowy,