【发布时间】:2019-11-23 21:16:58
【问题描述】:
我有一个 pdf,它是正态分布的线性变换:
T = 0.5A + 0.5B
Mean_A = 276
Standard Deviation_A = 6.5
Mean_B = 293
Standard Deviation_A = 6
如何在 Python 中计算 T 在 281 和 291 之间的概率?
我已经尝试了以下代码:
mu1 = 276
sigma1 = 6.5
mu2 = 293
sigma2 = 6
normalized = 0.5 * scipy.stats.norm.pdf(x, loc = mu1, scale = sigma1) + 0.5 * scipy.stats.norm.pdf(x, loc = mu2, scale = sigma2)
print(normalized.cdf(291) - normalized.cdf(281))
但这出现了一个错误。
我也试过计算T ~ N(284.5, 19.5625)和的CDF
print(norm.cdf(291 - 284.5/4.422952)) 等,但这给出了一个不正确的答案。
任何帮助将不胜感激!
【问题讨论】:
-
您是否假设两个正态随机变量
A和B是独立的?一般来说,答案将取决于 2 个随机变量的协方差。 -
也许我把它称为线性变换是不正确的,但我们基本上得到分布遵循上面的公式,即:0.5 * scipy.stats.norm.pdf(x, loc = mu1 , scale = sigma1) + 0.5 * scipy.stats.norm.pdf(x, loc = mu2, scale = sigma2)。我还尝试使用 T ~ N 计算概率,其中 E(T) = 276(0.5)+ 293(0.5) 和 Var(T) = (0.5^2)(6.5^2) + (0.5^2) (6^2) 这也是一个不正确的答案
-
假设独立,后一种方法很好(参见下面的答案),但您不能按照伪代码建议的方式对 PDF 进行操作。
标签: python scipy probability normal-distribution cdf