Python >> Tutoriel Python >  >> Python Tag >> SciPy

Utilisation de l'estimation de la densité du noyau gaussien scipy pour calculer l'inverse du CDF

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.