Open
Description
SciPy currently falls back to quadrature integration of the PDF in the left tail of the skewnorm CDF for positive
import numpy as np
from scipy import special
import matplotlib.pyplot as plt
a = 1
x = np.linspace(-50, 0, 100000)
plt.semilogy(x, special._ufuncs._skewnorm_cdf(x, 0.0, 1.0, a))
plt.show()
Which results in the following plot:
Zooming in shows
For reference what the parameters of _skewnorm_cdf
mean here the wrapper code:
template<typename Real>
Real
skewnorm_cdf_wrap(const Real x, const Real l, const Real sc, const Real sh)
{
if (std::isfinite(x)) {
return boost::math::cdf(
boost::math::skew_normal_distribution<Real, StatsPolicy>(l, sc, sh), x);
}
// -inf => 0, inf => 1
return 1 - std::signbit(x);
}
Metadata
Metadata
Assignees
Labels
No labels