我无法使X
适合常见发布,所以目前我只有X ~ ecdf(sample_data)
。
如何计算sum(X1 + ... + Xn)
给定n
的经验分布? X1到Xn是iid。
答案 0 :(得分:1)
要估算该总和的分布,您可以重复采样(然后取n
个变量来自sample_data
。 (sample()
在sample_data
的每个元素上放置相等的概率质量,就像ecdf一样,因此您不需要将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))
答案 1 :(得分:0)
首先,概括和简化:求解步骤函数CDF X和Y,独立但不同分布。对于每一步跳跃x i 并且每一步跳跃y i ,将在x i + y i处进行相应的步骤跳转在X + Y的CDF中,所以X + Y的CDF将以列表为特征:
sorted(x + y for x in X for y in Y)
这意味着如果X的CDF中有k个点,则(X 1 + ... + X n n >)。我们可以通过丢弃除k之外的所有数据将其减少到可管理的数量,但显然中间计算在时间和空间上都是昂贵的。
另外,请注意,即使原始CDF是X的ECDF,结果不也不是ECDF(X 1 + ... + X < sub> n ),即使你保留所有k n 点。
总之,使用Josh的解决方案。