2016-05-11 19 views
0

Der folgende Code berechnet die kumulative Verteilungsfunktion (CDF) für Vektor VP. Ich möchte die CDF verwenden, um die Wahrscheinlichkeitsdichtefunktion (PDF) zu erhalten. Mit anderen Worten, ich muss die Ableitung von CDF berechnen. Wie kann ich das in R machen?Berechnen Sie das Derivat der kumulativen Verteilung (CDF), um die Wahrscheinlichkeitsdichte zu erhalten (PDF)

VP <- c(0.36, 0.3, 0.36, 0.47, 0, 0.05, 0.4, 0, 0, 0.15, 0.89, 0.03, 
    0.45, 0.21, 0, 0.18, 0.04, 0.53, 0, 0.68, 0.06, 0.09, 0.58, 0.03, 
    0.23, 0.27, 0, 0.12, 0.12, 0, 0.32, 0.07, 0.04, 0.07, 0.39, 0, 0.25, 
    0.28, 0.42, 0.55, 0.04, 0.07, 0.18, 0.17, 0.06, 0.39, 0.65, 0.15, 
    0.1, 0.32, 0.52, 0.55, 0.71, 0.93, 0, 0.36) 
set.seed(0) 
CF <- round(sapply(1:1000, function(i) sample(VP, length(VP), replace=TRUE)),2) 
Breaks <- c(max(CF,1.0), 1.0, 0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2, 0.1, 0) 
CDF <- round(sapply(Breaks, function(b) sum(CF<=b)/length(CF)),2) 

Antwort

3

diff ist die diskrete Differenzoperator, so dass ich glaube, du bist für

diff(CDF)/diff(Breaks) 
  • Notiz suchen, dass dieser Vektor eine kürzer als die ursprünglichen CDF und Breaks Vektoren sein
  • Sie könnte etwas tun, um Ihre CDF und Breaks Vektoren umzukehren, um vernünftige Ergebnisse zu erhalten ...
0

Sie können auch die empirischen CDF-Funktion versuchen:

CDF <- ecdf(VP) 

und die Histogramm-Funktion kann auch eine Probendichte Funktion

PDF <- hist(VP, freq=F) 

bieten Werfen Sie einen Blick auf PDF$counts und PDF$breaks.