Date: Tue, 29 Jun 1999 09:23:31 -0500
Reply-To: Tim Dunsworth <Tim.Dunsworth@METROSTATE.EDU>
Sender: "SPSSX(r) Discussion" <SPSSX-L@LISTSERV.UGA.EDU>
From: Tim Dunsworth <Tim.Dunsworth@METROSTATE.EDU>
Subject: Re: Distribution method used to create random values
Content-Type: text/plain; charset=US-ASCII
Thanks for the confirmation, David. I would be curious to have a brief description and/or reference about the algorithm SPSS uses to directly generate normal random variates. The methods I have run across before all used one or more continuous variates and some brute force to get that result. They include:
1. compute the mean of a largish number of (0,1) variates, then rescale it.
2. treat the uniform variate roughly as a cumulative probability, then use an empirical polynomial approximation to the inverse CDF to get back to a z score.
3. generate pairs of uniform variates and then crank them through a hairy transform (which I don't recall off the top of my head) to get pairs of normal variates.
>>> "Nichols, David" <nichols@SPSS.COM> 06/28 2:49 PM >>>
Yes, this is what's done for SAMPLE. Incidentally, all distributions other
than the normal begin with the same uniform number generator algorithm, but
a separate algorithm is used for direct production of normal pseudo-random
numbers.
David Nichols
Principal Support Statistician and
Manager of Statistical Support
SPSS Inc.
> -----Original Message-----
> From: Tim Dunsworth [mailto:Tim.Dunsworth@METROSTATE.EDU]
> Sent: Monday, June 28, 1999 10:44 AM
> To: SPSSX-L@LISTSERV.UGA.EDU
> Subject: Re: Distribution method used to create random values
>
>
> The fundamental random number generator in SPSS is a uniform
> number generator on the (0,1) interval, then various
> rescalings or other manipulations are done to get any other
> desired distribution. In this case, no further manipulation
> is needed, since if you do, say,
> SAMPLE .25
> then all SPSS has to do is generate a (0,1) uniform random
> number for each observation and then select only those
> observations with a value <.25. The manual version I have
> does not say this in so many words, but it is implied by what
> is said and I would be very surprised if the SPSS developers
> did anything different than this simple approach.
>
> >>> <JonWoodlan@AOL.COM> 06/26 9:31 AM >>>
> Hello folks,
>
> What distribution method (uniform, normal, etc.) does SPSS
> 7.5.1 use to
> create the random values in Data:Select Cases:Random Sample Of Cases?
>
> Thank you for your help.
>
> Jon Woodland
> JonWoodlan@aol.com
>
|