Grafiska metoder för att bedöma normalitet
I videon lärde du dig hur man skapar ett histogram med 20 intervall som representerar sannolikhetstätheten för FTSE-data, samt hur man lägger till en normalfördelning som en röd linje i det befintliga diagrammet:
> hist(ftse, nclass = 20, probability = TRUE)
> lines(ftse, dnorm(ftse, mean = mu, sd = sigma), col = "red")
Som du kan se beräknar dnorm(x, mean, sd) sannolikhetstäthetsfunktionen (PDF) för data x med det beräknade stickprovsmedelvärdet och standardavvikelsen – detta kallas momentmetoden.
För att skatta tätheten hos data x används density(x). Detta skapar en så kallad kärntäthetsskattning (KDE) med hjälp av en icke-parametrisk metod som inte gör några antaganden om den underliggande fördelningen.
De olika diagrammen tyder på att data har tyngre svansar än normalfördelningen, men du kommer att lära dig om bättre grafiska och numeriska tester i kommande övningar.
I den här övningen anpassar du en normalfördelning till loggavkastningarna för Dow Jones-index för 2008–2009 och jämför data med den anpassade fördelningen med hjälp av ett histogram och ett täthetsdiagram. Objektet djx med Dow Jones-data finns inläst i din arbetsmiljö.
Den här övningen är en del av kursen
Kvantitativ riskhantering i R
Övningsinstruktioner
- Beräkna medelvärdet och standardavvikelsen (
sd()) fördjx-data och tilldela dem tillmurespektivesigma. - Rita ett histogram för
djxmed 20 intervall som representerar sannolikhetstätheten för data. - Fyll i funktionerna
lines()ochdnorm()för att lägga till normalfördelningskurvan fördjxsom en röd linje i histogrammet. - Rita en kärntäthetsskattning för
djxmed hjälp avdensity(). - Använd samma
lines()-kommando som ovan för att lägga till normalfördelningskurvan fördjxsom en röd linje i KDE:n.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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 = ___)