我需要以概率函数的逆CDF F ^ -1(y)(累积分布函数)有效地并且以数值稳定的方式计算,假设PDF f(x)和CDF F(x)分析已知,但逆CDF不是。我在MATLAB中这样做。
这是F(x)-y的根发现问题,我可以使用 fzero :
invcdf = @(y, x0) fzero(@(x) cdf(x) - y, x0);
但是, fzero 用于通用非线性函数。
我想知道是否有某些功能,或者我可以编写一些使用F(x)是cdf的显式信息的算法(例如,我们知道它是单调非递减的,我们有它的导数,f (X))。
仅供参考,我正在使用的PDF的形状是高斯分布的通用混合乘以任意度的多项式(在这种情况下,CDF可以通过分析计算,尽管它并不漂亮,并且对于具有许多多项式的多项式来说它变得昂贵计算)。请注意,我需要为此类中的数百万个CDF计算逆CDF;查找表不可行。
有关更多数学详细信息,请参阅Math Exchange上的this related question(此处我特别要求提供MATLAB解决方案)。