回答:
この問題を解決するためのガイドは次のとおりです(他の人も同様)。 シミュレーション値を使用して説明するため、密度分布から多数の独立した実現をシミュレートすることから始めましょう。(この回答のコードはすべてで記述されています。)R
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)
}
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)
}
の結合密度を計算したので、これは、右手確率で表される(三重)積分を実行する日常的な問題です。統合の領域は
シミュレーションにより、がどのように分布しているかを知ることができます。これは実現値の散布図です。あなたの理論的な答えはこの密度を説明する必要があります。
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)
チェックとして、周辺分布を見て、理論解と比較する場合があります。赤い曲線として示されている周辺密度は、および として取得されます。 ∂ F (1 、U 2)/ ∂ U 2
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))
が元のと同じ分布を持っていることは奇妙です。
これは、必要な手順をたどる正確なシンボリックソリューションです。ここでは、自動化されたツールを使用して重要な部分を実行します。
が親pdfからのサイズ3のサンプルを示すとしましょう:
次いで、順序付けられたサンプルの関節PDFがと言うのである:
MathematicaのmathStaticaパッケージのOrderStat
関数を使用しています。
関節CDFある:
の結合pdfはと単純に微分することで得られます。u 1 u 2
最後に、簡単なモンテカルロチェックとして、以下を比較します。
導出された正確な理論的解(結合pdf-オレンジ色の表面)
経験的モンテカルロシミュレーションによる結合pdf(3Dヒストグラム)に対してプロット: