Help using Base SAS procedures

Box Muller Transformation

Occasional Contributor
Posts: 13

Box Muller Transformation

Let X and Y be independent random variables from the bivariate normal distribution where
X ~ N(μ1= 15,σ1^2= 5) and Y ~ N(μ2= 10,σ2^2= 3). Generate 10000 random numbers for X and Y using the
Box Muller transformation.
-Print a histogram for both X and Y and supply the appropriate descriptive statistics to verify your
-Print a Contour and Surface plot in SAS.
I don't know how to begin. I can't seem to find anything helpful for Box Muller Transformations coding. 
Esteemed Advisor
Posts: 5,521

Re: Box Muller Transformation

You could try looking up Box-Muller on Wikipedia, for a start.

Respected Advisor
Posts: 2,981

Re: Box Muller Transformation

You could also search SAS Help for "box muller". Hint: it's in there!

Paige Miller
Posts: 4,237

Re: Box Muller Transformation

The Box-Mueller transformation is a way to generate a random normal variates from two uniform variates. 

1. Learn how to generate uniform random variates in SAS in the DATA step.

2. Use DATA step programming to combine the uniform variates to form a normal variate.


I suggest looking into PROC UNIVARIATE when you are ready to generate descriptive statistics that indicate that the sample statistics for X and Y are close to the parameters in the population.


For the contour plot and surface plot, I suggest you look at PROC KDE, which can produce bivariate plots of density.

Ask a Question
Discussion stats
  • 3 replies
  • 4 in conversation