Graficzne metody oceny normalności rozkładu
Na filmie pokazano, jak utworzyć histogram z 20 przedziałami przedstawiający gęstość prawdopodobieństwa danych FTSE oraz jak dodać do wykresu rozkład normalny w postaci czerwonej linii:
> hist(ftse, nclass = 20, probability = TRUE)
> lines(ftse, dnorm(ftse, mean = mu, sd = sigma), col = "red")
Jak widać, dnorm(x, mean, sd) wyznacza funkcję gęstości prawdopodobieństwa (PDF) dla danych x przy użyciu obliczonej próbkowej średniej i odchylenia standardowego – jest to tzw. metoda momentów.
Aby obliczyć estymator gęstości danych x, skorzystaj z funkcji density(x). Tworzy ona estymator jądrowy gęstości (KDE) – nieparametryczną metodę, która nie zakłada z góry żadnego konkretnego rozkładu.
Różne wykresy sugerują, że dane mają cięższe ogony niż rozkład normalny. Lepszych graficznych i numerycznych testów nauczysz się w kolejnych ćwiczeniach.
W tym ćwiczeniu dopasujesz rozkład normalny do logarytmicznych stóp zwrotu indeksu Dow Jones za lata 2008–2009, a następnie porównasz dane z dopasowanym rozkładem przy użyciu histogramu i wykresu gęstości. Obiekt djx z danymi Dow Jones jest już wczytany do twojego środowiska.
To ćwiczenie jest częścią kursu
Ilościowe zarządzanie ryzykiem w R
Instrukcje do ćwiczenia
- Oblicz średnią i odchylenie standardowe (
sd()) danychdjxi przypisz wyniki odpowiednio do zmiennychmuisigma. - Narysuj histogram danych
djxz 20 przedziałami przedstawiający gęstość prawdopodobieństwa. - Uzupełnij funkcje
lines()idnorm(), aby dodać krzywą gęstości normalnej dladjxjako czerwoną linię na histogramie. - Narysuj estymator jądrowy gęstości dla
djxprzy użyciu funkcjidensity(). - Użyj tego samego polecenia
lines(), co powyżej, aby dodać krzywą gęstości normalnej dladjxjako czerwoną linię do wykresu KDE.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Calculate average and standard deviation of djx
mu <- ___
sigma <- ___
# Plot histogram of djx
___(___)
# Add the normal density as a red line to histogram
lines(___, dnorm(___), col = ___)
# Plot non-parametric KDE of djx
___(___)
# Add the normal density as red line to KDE
lines(___, dnorm(___), col = ___)