X
私は一般的なディストリビューションに適合できないため、現在はX ~ ecdf(sample_data)
.
の経験分布を計算するにはどうすればよいですsum(X1 + ... + Xn)
かn
? X1 から Xn は iid です。
X
私は一般的なディストリビューションに適合できないため、現在はX ~ ecdf(sample_data)
.
の経験分布を計算するにはどうすればよいですsum(X1 + ... + Xn)
かn
? X1 から Xn は iid です。
その合計の分布を推定するには、n
から変量を置換して繰り返しサンプリング (および合計を取得) しsample_data
ます。( ecdf と同様に、sample()
の各要素に等確率質量を配置するため、中間ステップとしてsample_data
計算する必要はありません。)ecdf(sample_data)
# Create some example data
sample_data <- runif(100)
n <- 10
X <- replicate(1000, sum(sample(sample_data, size=n, replace=TRUE)))
# Plot the estimated distribution of the sum of n variates.
hist(X, breaks=40, col="grey", main=expression(sum(x[i], i==1, n)))
box(bty="l")
# Plot the ecdf of the sum
plot(ecdf(X))
まず、一般化して単純化します。ステップ関数の CDF X と Y を解きます。独立していますが、同一分布ではありません。すべてのステップ ジャンプ x iとすべてのステップ ジャンプ y iに対して、X + Y の CDF の x i +y iに対応するステップ ジャンプがあるため、X + Y の CDF は次のリストによって特徴付けられます。
sorted(x + y for x in X for y in Y)
つまり、X の CDF に k 個の点がある場合、(X 1 + ... + X n ) には k nが存在します。最後に k 以外をすべて破棄することで、これを扱いやすい数に減らすことができますが、明らかに中間の計算は時間とスペースの面でコストがかかります。
また、元の CDF が X のECDFであっても、すべての k nポイントを保持したとしても、結果は(X 1 + ... + X n ) の ECDF にはならないことに注意してください。
結論として、ジョシュのソリューションを使用してください。