【发布时间】:2011-06-09 19:23:43
【问题描述】:
我使用chi2 分布作为模拟系统的理论问题。
对于给定的区间,我需要将此分布估计为 PMF,该 PMF 定义为该区间内 PDF 的积分。该值应接近区间中心的 PDF 值,但可能略有不同,具体取决于 PDF 的形状。
这是我的工作:
import numpy
from scipy.stats import chi2
dist = chi2(10)
nbins = 120
F = dist.cdf(numpy.arange(nbins+1))
pmf = F[1:] - F[:-1] # surface inside the interval
pmf /= pmf.sum() # Normalisation
问题是chi2.cdf(100, 10) 及以上给出的正好是 1.0。所以我能得到的最小值是 1.11e-16 左右。但是chi2.pdf(100, 10) 不完全是 0(大约是 2.5e-17)。
我的问题是:我怎样才能更精确地获得我的 pmf 估计(可能高达 1e-25)?为什么 cdf 函数的精度不如 pdf 函数?
【问题讨论】:
标签: python numpy scipy precision cdf