**A**s I was working on a research project with graduate students, I became interested in fast and not necessarily very accurate approximations to the normal cdf Φ and its inverse. Reading through this 2010 paper of Richards et al., using for instance Polya’s

(with another version replacing 2/π with the squared root of π/8) and

not to mention a rational faction. All of which are more efficient (in R), if barely, than the resident pnorm() function.

test replications elapsed relative user.self
3 logistic 100000 0.410 1.000 0.410
2 polya 100000 0.411 1.002 0.411
1 resident 100000 0.455 1.110 0.455

For the inverse cdf, the approximations there are involving numerical inversion except for

which proves slightly faster than qnorm()

test replications elapsed relative user.self
2 inv-polya 100000 0.401 1.000 0.401
1 resident 100000 0.450 1.000 0.450

### Like this:

Like Loading...