2

我有一个支持 [4,6] 的 Gamma(shape=50, scale=0.1)。我能够通过将完整的伽马分布除以 F(6) - F(4) 来找到它的分布。

p1 = seq(1,10,length=100)
d1 = dgamma(p1, shape=50, scale=0.1)

p2 = seq(4,6,length=100)
d2.full = dgamma(p2, shape=50, scale=0.1)
d2 = d2.full / (pgamma(6, shape=50, scale=0.1) - pgamma(4, shape=50, scale=0.1))

我如何找到这个截断分布的中心 95 可信区间(即 d2)?

编辑:请注意,我的截断伽玛与标准伽玛没有相同的 pdf。原因是截断的 gamma 必须重新归一化,以便它在支持上积分为 1 [4,6]。这就是为什么 d2 = d2.full / (F(6) - F(4))

4

2 回答 2

5

如果我理解正确,您需要的是(lower, upper)截断伽马的概率为 95% 的间隔,间隔的概率为(4, lower)2.5%,间隔的概率为(upper, 6)2.5%。如果是这样,通过简单的代数:

R > F = function(x){ pgamma(x, shape = 50, scale = 0.1) }
R > F(4)
[1] 0.07034
R > F(6)
[1] 0.9156
R > gap = 0.025*(F(6)-F(4))
R > gap
[1] 0.02113
R > (lower = qgamma(F(4) + gap, shape = 50, scale = 0.1))
[1] 4.087
R > (upper = qgamma(F(6) - gap, shape = 50, scale = 0.1))
[1] 5.9
于 2013-01-23T03:15:04.250 回答
3

我真的很喜欢@liuminzhao 的答案,但我已经编写了一个更脏但可能是互补的答案:

plot(p2, d2)  # you have most of the probability mass in the interval 4-6
 rd2.full = rgamma(100000, shape=50, scale=0.1)
 rd2 = rd2.full[rd2.full >= 4 & rd2.full <6]  # rejection sampling
 quantile(rd2, probs=c(0.025, 0.975))
#     2.5%    97.5% 
# 4.087765 5.897290 
于 2013-01-23T03:19:52.560 回答