if the CDF is non-invertible or does not have a closed form solution(e.g. Normal CDF), how can we generate random data from such a distribution?

873 Views Asked by At

Given the CDF of a distribution to generate random data from that distribution by using the inverse transformation of the CDF. Then if the CDF is non-invertible or does not have a closed form solution(e.g. Normal CDF), how can we generate random data from such a distribution?

Several guidelines I am given are the following 1) Review the CDF method. Give an example. 2) Research for the methods available to generate normal random variables. (3) Another popular technique is the Accept-Reject Algorithm. Construct an example based on the Accept-Reject Algorithm .

Could someone give some directions for solving this problem?

1

There are 1 best solutions below

0
On

Andre Nicholas gave a good hint. Also, a really simple way is to generate standard normal distributions as the average of a large number of uniform(-.5,.5) random variables.

A lower bound on the accuracy of this method is given by the Berry-Eseen Theorem:

$|F_n(x)-\Phi(x)|\leq \frac{0.4748\rho}{\sigma^3\sqrt{n}}$ where $\rho$ is the absolute third moment and $\sigma$ is the standard deviation of $F_n$. For a single uniform(-.5,0.5), we have $\rho_1 = \frac{1}{32},\sigma_1=\frac{1}{\sqrt{12}}$.

Therefore, if we add $n$ such variables together we get: $\rho_n = \frac{n}{32},\sigma_n=\frac{\sqrt{n}}{\sqrt{12}}$

The sample average of the above sum is $Y_n$ The standardized sample average is $\frac{Y_n\sqrt{12n}}{n}=Y_n\sqrt{\frac{12}{n}}$. It has mean = 0 and variance = 1.

From Berry-Esseen, if we let $Y_n\sqrt{\frac{12}{n}} \sim F_n$ then we can bound the error as: Error $\leq \frac{0.4748*12\sqrt{12}}{32\sqrt{n}}\approx \frac{0.617}{\sqrt{n}}$

Based on the above, if we add together 1,000 uniform(0,1) r.v.s and take the standardized sample average, then we are guaranteed to be off by <2% absolute differnece.