Da nur ein Skalierungsfaktor ist, wählen Sie ohne Verlust der Allgemeinheit Maßeinheiten, die , und machen Sie die zugrunde liegende Verteilungsfunktion mit der Dichte .λλ=1F(x)=1−exp(−x)f(x)=exp(−x)
Aus Überlegungen, die denen des zentralen Grenzwertsatzes für Stichprobenmediane entsprechen , ist asymptotisch normal mit dem Mittelwert und der VarianzX(m)F−1(p)=−log(1−p)
Var(X(m))=p(1−p)nf(−log(1−p))2=pn(1−p).
Aufgrund der memorylosen Eigenschaft der Exponentialverteilung wirken die Variablen wie die Ordnungsstatistik einer Zufallsstichprobe von die aus , zu der wurde hinzugefügt. Schreiben(X(m+1),…,X(n))n−mFX(m)
Y=1n−m∑i=m+1nX(i)
für ihre mittleren, ist es sofort , dass der Mittelwert von die Mittelwert ist (gleich ) und die Varianz von ist mal die Varianz von (entspricht auch ). Der zentrale Grenzwertsatz impliziert, dass das standardisierte asymptotisch Standard Normal ist. Da bedingt unabhängig von , haben wir gleichzeitig die standardisierte Version von , die asymptotisch Standard Normal wird und nicht mit korreliert . Das ist,YF1Y1/(n−m)F1YYX(m)X(m)Y
(X(m)+log(1−p)p/(n(1−p))−−−−−−−−−−√,Y−X(m)−1n−m−−−−−√)(1)
hat asymptotisch eine bivariate Standardnormalverteilung.
Der Grafikbericht über simulierte Daten für Stichproben von ( Iterationen) und . Eine Spur positiver Schiefe bleibt bestehen, aber der Ansatz zur bivariaten Normalität zeigt sich in der fehlenden Beziehung zwischen und und der Nähe der Histogramme zur Standardnormaldichte (gezeigt in rote Punkte).
500 p = 0,95 Y - X ( m ) X ( m )n=1000500p=0.95Y−X(m)X(m)
Die Kovarianzmatrix der standardisierten Werte (wie in Formel ) für diese Simulation war bequem nahe an der Einheitsmatrix, die sie approximiert.( 0,967 - 0,021 - 0,021 1,010 ) ,(1)
(0.967−0.021−0.0211.010),
Der R
Code, der diese Grafiken erstellt hat, kann leicht geändert werden, um andere Werte von , und Simulationsgröße zu untersuchen.pnp
n <- 1e3
p <- 0.95
n.sim <- 5e3
#
# Perform the simulation.
# X_m will be in the first column and Y in the second.
#
set.seed(17)
m <- floor(p * n)
X <- apply(matrix(rexp(n.sim * n), nrow = n), 2, sort)
X <- cbind(X[m, ], colMeans(X[(m+1):n, , drop=FALSE]))
#
# Display the results.
#
par(mfrow=c(2,2))
plot(X[,1], X[,2], pch=16, col="#00000020",
xlab=expression(X[(m)]), ylab="Y",
main="Y vs X", sub=paste("n =", n, "and p =", signif(p, 2)))
plot(X[,1], X[,2]-X[,1], pch=16, col="#00000020",
xlab=expression(X[(m)]), ylab=expression(Y - X[(m)]),
main="Y-X vs X", sub="Loess smooth shown")
lines(lowess(X[,2]-X[,1] ~ X[,1]), col="Red", lwd=3, lty=1)
x <- (X[,1] + log(1-p)) / sqrt(p/(n*(1-p)))
hist(x, main="Standardized X", freq=FALSE, xlab="Value")
curve(dnorm(x), add=TRUE, col="Red", lty=3, lwd=2)
y <- (X[,2] - X[,1] - 1) * sqrt(n-m)
hist(y, main="Standardized Y-X", freq=FALSE, xlab="Value")
curve(dnorm(x), add=TRUE, col="Red", lty=3, lwd=2)
par(mfrow=c(1,1))
round(var(cbind(x,y)), 3) # Should be close to the unit matrix