La méthode integrate_box_1d
peut être utilisé pour calculer le CDF, mais il n'est pas vectorisé; vous aurez besoin de faire une boucle sur les points. Si la mémoire n'est pas un problème, réécrire son code source (qui est essentiellement juste un appel à special.ndtr
) sous forme vectorielle peut accélérer les choses.
from scipy.special import ndtr
stdev = np.sqrt(kde.covariance)[0, 0]
pde_cdf = ndtr(np.subtract.outer(x, n)).mean(axis=1)
plot(x, pde_cdf)
Le tracé de la fonction inverse serait plot(pde_cdf, x)
. Si l'objectif est de calculer la fonction inverse à un point spécifique, envisagez d'utiliser l'inverse de la spline d'interpolation, en interpolant les valeurs calculées de la CDF.