So finden Quantile der empirischen kumulativen Dichte-Funktion (ECDF)
Ich bin mit ecdf()
Funktion zum berechnen der empirischen kumulativen Dichte-Funktion (ECDF) von einigen Stichproben:
set.seed(0)
X = rnorm(100)
P = ecdf(X)
Nun P
gibt ECDF und wir könnten plot:
plot(P)
abline(h = 0.6, lty = 3)
Meine Frage ist: wie finde ich die sample-Wert x
, so dass P(x) = 0.6
, d.h., das 0,6-Quantil der ECDF-oder die x-Koordinate des schnittpunkts von ECDF-und h = 0.6
?
Könnten Sie irgendein Beispiel? Vielen Dank.
StackOverflow ist nicht hier, um die statistische Nachhilfe-Sitzungen. Wenn Sie verwirrt sind, Ihre Statistiken HW, dann sollten Sie post auf CrossValidated.com und die self-study-tag.
StackOverflow ist nicht hier, um die statistische Nachhilfe-Sitzungen. Wenn Sie verwirrt sind, Ihre Statistiken HW, dann sollten Sie post auf CrossValidated.com und die self-study-tag.
InformationsquelleAutor Yang Yang | 2016-07-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Im folgenden verwende ich nicht
ecdf()
, wie es ist leicht zu bekommen, empirischen kumulativen Dichte-Funktion (ECDF) selbst.Zuerst Sortieren wir Proben
X
in aufsteigender Reihenfolge:ECDF bei diesen Proben nimmt die Funktion Werte:
Konnten wir dann skizzieren ECDF von:
Nun, wir sind auf der Suche für den ersten Wert von
X
, so dassP(X) >= 0.6
. So ist das eben:Da unsere Daten sind Stichprobe aus der standard-normal-Verteilung, die theoretischen quantile ist
Also unser Ergebnis ist ganz nah.
Verlängerung
Seit die inverse CDF Quantil-Funktion (zum Beispiel die Umkehrung des
pnorm()
istqnorm()
), kann man erraten, die inverse von ECDF als Beispiel quantile, i,e, das inverseecdf()
istquantile()
. Das ist nicht wahr!ECDF ist eine Treppe /step-Funktion, und wenn es keine inverse. Wenn wir drehen ECDF um
y = x
, die resultierende Kurve ist nicht eine mathematische Funktion. So sample-Quantil ist, hat nichts zu tun mit ECDF.Für
n
sortiert Proben, Beispiel Quantil-Funktion ist in der Tat eine lineare interpolation Funktion von(x, y)
mit:seq(0, 1, length = n)
;Können wir definieren unsere eigene version von sample-Quantil-Funktion von:
Let ' s test:
Beachten Sie, dass das Ergebnis anders aus, was wir von
X[which(e_cdf >= 0.6)[1]]
.Es ist aus diesem Grund, dass ich mich weigere zu verwenden
quantile()
in meiner Antwort.InformationsquelleAutor 李哲源