Werte von kernel-Dichte-Schätzung in R
Ich versuche, Dichte Schätzungen für das Protokoll der Aktienkurse in R. ich weiß, ich kann zeichnen Sie es mit plot(density(x))
. Aber eigentlich möchte ich Werte für die Funktion.
Ich versuche, die Implementierung der kernel-Dichte-Schätzung der Formel. Hier ist, was ich habe, so weit:
a <- read.csv("boi_new.csv", header=FALSE)
S = a[,3] # takes column of increments in stock prices
dS=S[!is.na(S)] # omits first empty field
N = length(dS) # Sample size
rseed = 0 # Random seed
x = rep(c(1:5),N/5) # Inputted data
set.seed(rseed) # Sets random seed for reproducibility
QL <- function(dS){
h = density(dS)$bandwidth
r = log(dS^2)
f = 0*x
for(i in 1:N){
f[i] = 1/(N*h) * sum(dnorm((x-r[i])/h))
}
return(f)
}
QL(dS)
Jede Hilfe wäre sehr geschätzt werden. An diesem Tage!
Ich war auf der Suche nach Werten für die Dichte-Funktion.
InformationsquelleAutor Ruth O'Brien | 2013-01-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie ziehen Sie die Werte direkt aus der
density
Funktion:Alternativ, wenn Sie wirklich wollen, schreiben Sie Ihre eigenen kernel-Dichte-Funktion, hier finden Sie den code, um Ihnen den Einstieg:
Setzen Sie die Punkte
z
undx
Bereich:Nun fügen wir die Punkte zu einem Graphen
Setzen Sie die Normale Dichte um jeden Punkt:
und hinzufügen von Kurven zum Diagramm:
Schließlich, berechnen Sie die vollständige Schätzung:
Dies entspricht
Den plots oben geben:
InformationsquelleAutor csgillespie