【发布时间】:2021-03-13 10:57:37
【问题描述】:
假设我从一个均值为零的正态分布中随机抽取,标准差由一个向量表示,例如,维度为 3 的向量
scale_rng=np.array([1,2,3])
eps=np.random.normal(0,scale_rng)
我需要根据我绘制上述eps 的一些模拟计算加权平均值。这个平均值的权重是“eps 的概率”(因此我将有一个具有 3 个权重的向量)。对于加权平均,我只是指算术和,其中每个分量乘以权重,即 0 到 1 之间的数字,并且所有权重的总和应为 1。
这种加权平均值应计算如下:我有一个变量的时间序列观察,x。我计算了x 的扩展滚动标准偏差(假设这是scale 中的值)。然后,我从正态分布中提取一个随机变量eps,如上所述,对于x 中的每个时间观察,我将其添加到其中,比如获得y=x+eps。最后,我需要计算y 的加权平均值,其中y 的每个值由“从均值为零且标准差等于scale 的正态分布中提取eps 的每个值的概率加权。
现在,我知道我不能认为这是 pdf 上与随机绘制的值相对应的点,因为正常的随机变量是连续的,因此某个点的 pdf 为零。因此,我发现的唯一解决方案是用一定数量的 bin 离散正态分布,然后找到用上面的代码提取的值实际被绘制的概率。我怎么能在 Python 中做到这一点?
编辑:我找到的解决方案是使用
norm.cdf(eps_it+0.5, loc=0, scale=scale_rng)-norm.cdf(eps_it-0.5, loc=0, scale=scale_rng)
这并不是真正基于离散化,但至少在我看来“概率方面”是可行的。
【问题讨论】:
-
正态分布具有明确定义的概率密度函数,在 scipy 中显示为stats.norm。为什么不使用它?
-
@SamMason pdf 没有给我计数随机变量等于特定值的概率,而是等于一个区间。此外,pdf 可以在很小的区间内超过 1,这使得它不适合为加权平均生成权重
-
这不太对,但我不确定如何最好地解释。可以发布一个答案,展示如何使用 PDF 来获得加权平均值。请注意,从法线提取
eps,然后通过法线 PDF 进一步加权可能会对您的估计产生意想不到的影响 -
不幸的是,使用
eps的 pdf 构建加权平均值不是我的想法,而是其他人,我必须重现这样的结果。不幸的是,我在网上找不到任何进一步的帮助 -
您知道您的垃圾箱的限制吗?您可能正在寻找不等的 bin 宽度以实现相等的概率,或者固定的 bin 宽度(除了最低和最高,因为法线的范围是无限的)产生不等的概率,或者可能完全是其他东西。我认为您需要在问题中提供更多信息。
标签: python random normal-distribution discretization