从折叠正态分布中采样是否等同于从正态分布中截断为 0 的采样?

机器算法验证 正态分布 模拟 截断
2022-03-13 07:46:31

我希望从正常密度(比如 mean=1,sd=1)进行模拟,但只需要正值。

一种方法是从法线模拟并取绝对值。我认为这是一个折叠的正常。

我在 R 中看到有用于截断随机变量生成的函数。如果我从截断的法线(在 0 处截断)进行模拟,这是否等同于折叠方法?

2个回答

是的,对于零均值正态分布,这些方法给出了相同的结果。

检查概率在区间上是否一致就足够了,因为这些生成了所有 (Lebesgue) 可测集的 sigma 代数。Φ是标准的法向密度:Φ((一种,b])给出标准正态变量位于区间内的概率(一种,b]. 那么,对于0一种b,截断概率为

Φ截断((一种,b])=Φ((一种,b])/Φ([0,])=2Φ((一种,b])

(因为Φ([0,])=1/2) 和折叠概率是

Φ折叠((一种,b])=Φ((一种,b])+Φ([-b,-一种))=2Φ((一种,b])

由于对称性Φ关于0.

该分析适用于任何对称的分布0并且存在的概率为零0. 但是,如果均值不为零,则分布不是对称的,并且两种方法不会给出相同的结果,如相同的计算所示。

三种分布

此图显示了正态 (1,1) 分布(黄色)、折叠正态 (1,1) 分布(红色)和截断正态 (1,1) 分布(蓝色)的概率密度函数。请注意折叠分布如何与其他两个不共享特征钟形曲线形状。蓝色曲线(截断分布)是黄色曲线的正部分,按比例放大以获得单位面积,而红色曲线(折叠分布)是黄色曲线的正部分及其负尾之和(如反映在y 轴)。

Xñ(μ=1,小号D=1). 的分布X|X>0绝对不一样|X|.

R中的快速测试:

x <- rnorm(10000, 1, 1)
par(mfrow=c(2,1))
hist(abs(x), breaks=100)
hist(x[x > 0], breaks=100)

这给出了以下内容。 模拟直方图