Hier ist eine Anleitung zur Lösung dieses Problems (und anderer, die es mögen). Ich verwende simulierte Werte zur Veranschaulichung. Beginnen wir also damit, eine große Anzahl unabhängiger Realisierungen aus der Verteilung mit der Dichte simulieren . (Der gesamte Code in dieser Antwort ist in geschrieben .)fR
n <- 4e4 # Number of trials in the simulation
x <- matrix(pmax(runif(n*3), runif(n*3)), nrow=3)
# Plot the data
par(mfrow=c(1,3))
for (i in 1:3) {
hist(x[i, ], freq=FALSE, main=paste("i =", i))
curve(f(x), add=TRUE, col="Red", lwd=2)
}
Die Histogramme zeigen unabhängige Realisierungen des ersten, zweiten und dritten Elements der Datensätze. Das rote Kurvendiagramm . Dass sie mit den Histogrammen übereinstimmen, bestätigt, dass die Simulation wie beabsichtigt funktioniert.f40,000f
Sie müssen die Verbindungsdichte von . (Y1,Y2,Y3)Da Sie die Auftragsstatistik studieren, sollte dies Routine sein - aber der Code gibt einige Hinweise, da er ihre Verteilungen als Referenz darstellt.
y <- apply(x, 2, sort)
# Plot the order statistics.
f <- function(x) 2*x
ff <- function(x) x^2
for (i in 1:3) {
hist(y[i, ], freq=FALSE, main=paste("i =", i))
k <- factorial(3) / (factorial(3-i)*factorial(1)*factorial(i-1))
curve(k * (1-ff(x))^(3-i) * f(x) * ff(x)^(i-1), add=TRUE, col="Red", lwd=2)
}
In jedem der Datensätze wurden dieselben Daten neu angeordnet . Links ist das Histogramm ihrer Minima , rechts ihre Maxima und in der Mitte ihre Mediane .Y 1 Y 3 Y 240,000Y1Y3Y2
Berechnen Sie als nächstes direkt die gemeinsame Verteilung von . (U1,U2) Per Definition ist dies
F(u1,u2)=Pr(U1≤u1,U2≤u2)=Pr(Y1≤u1Y2,Y2≤u2Y3).
Da Sie die von berechnet haben , ist dies eine Routine, das (dreifache) Integral das durch die Wahrscheinlichkeit für die rechte Hand ausgedrückt wird. Der Integrationsbereich muss(Y1,Y2,Y3)
0≤Y1≤u1Y2, 0≤Y2≤u2Y3, 0≤Y3≤1.
Die Simulation kann uns einen Hinweis darauf geben, wie verteilt sind: Hier ist ein Streudiagramm der realisierten Werte von . Ihre theoretische Antwort sollte diese Dichte beschreiben.(U1,U2)(U1,U2)
par(mfrow=c(1,1))
u <- cbind(y[1, ]/y[2, ], y[2, ]/y[3, ])
plot(u, pch=16, cex=1/2, col="#00000008", asp=1)
Zur Kontrolle können wir uns die Randverteilungen ansehen und sie mit den theoretischen Lösungen vergleichen. Die als rote Kurven dargestellten Randdichten werden als und .∂F(u1,1)/∂u1∂F(1,u2)/∂u2
par(mfrow=c(1,2))
hist(u[, 1], freq=FALSE); curve(2*x, add=TRUE, col="Red", lwd=2)
hist(u[, 2], freq=FALSE); curve(4*x^3, add=TRUE, col="Red", lwd=2)
par(mfrow=c(1,1))
Es ist merkwürdig, dass die gleiche Verteilung wie das ursprüngliche .U1Xi