Can anyone suggest a simple and fast approximation to f(x) = std_normal_pdf(x) / std_normal_cdf(x)?
Right know I'm approximating the cdf by 1 / (1 + e^(-p(x)), where p is an optimized odd polynomial, and using f(x) = -x for large negative x. This is quite accurate for positive values of x, but much less so for moderate negative values.
Perhaps there are better approximations to the tails using asymptotic expansion?
Ideally I want to stick to standard functions.
Since $Φ(z)$is symmetric about zero, in literature they will only look to approximate all values of $Z>0$.
One very good approximation of the CDF is of Aludaat (2008):
Using neural network structures, you could also get an even more accurate estimate for the tails (and overall):