Using Scipy Gaussian Kernel Density Estimation To Calculate CDF Inverse
The gaussian_kde function in scipy.stats has a function evaluate that can returns the value of the PDF of an input point. I'm trying to use gaussian_kde to estimate the inverse CDF
Solution 1:
You can use some python tricks for fast and memory-effective estimation of the CDF (based on this answer):
from scipy.special import ndtr
cdf = tuple(ndtr(np.ravel(item - kde.dataset) / kde.factor).mean()
for item in x)
It works as fast as this answer, but has linear (len(kde.dataset)
) space complexity instead of the quadratic (actually, len(kde.dataset) * len(x)
) one.
All you have to do next is to use inverse approximation, for instance, from statsmodels.
Post a Comment for "Using Scipy Gaussian Kernel Density Estimation To Calculate CDF Inverse"