creating non-normal distributions

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

creating non-normal distributions

Maguin, Eugene
Can someone point me towards how to create continuous distributions with specified skew and kurtosis? Or, how to transform a normal distribution to have a specified skew and kurtosis?

Thanks, Gene Maguin

=====================
To manage your subscription to SPSSX-L, send a message to
[hidden email] (not to SPSSX-L), with no body text except the
command. To leave the list, send the command
SIGNOFF SPSSX-L
For a list of commands to manage subscriptions, send the command
INFO REFCARD
Reply | Threaded
Open this post in threaded view
|

Re: creating non-normal distributions

Jon K Peck
If you pick a distribution family, you can look up the skewness and kurtosis formulas on Wikipedia to figure out what the distribution parameters would be.  Then you can generate these with the appropriate RV.* transformation function in an Input Program or use the Make Data with Cases custom dialog on the SPSS Community site.

Jon Peck (no "h") aka Kim
Senior Software Engineer, IBM
[hidden email]
new phone: 720-342-5621




From:        "Maguin, Eugene" <[hidden email]>
To:        [hidden email]
Date:        08/21/2012 08:11 AM
Subject:        [SPSSX-L] creating non-normal distributions
Sent by:        "SPSSX(r) Discussion" <[hidden email]>




Can someone point me towards how to create continuous distributions with specified skew and kurtosis? Or, how to transform a normal distribution to have a specified skew and kurtosis?

Thanks, Gene Maguin

=====================
To manage your subscription to SPSSX-L, send a message to
[hidden email] (not to SPSSX-L), with no body text except the
command. To leave the list, send the command
SIGNOFF SPSSX-L
For a list of commands to manage subscriptions, send the command
INFO REFCARD


Reply | Threaded
Open this post in threaded view
|

Re: creating non-normal distributions

Maguin, Eugene

Jon, you sent this last week and I don’t understand what you are telling me. I know how to generate a normal distribution using rv.normal(m, sd). And power transformations will alter the skew and kurtosis. Is this what you meant? Something more/different? Or, is there a family of distributions, of which the normal distribution is the one for which skew and kurtosis=0, while others can take on specified values for skew and kurtosis?

 

Thanks, Gene Maguin

 

 

From: Jon K Peck [mailto:[hidden email]]
Sent: Tuesday, August 21, 2012 10:23 AM
To: Maguin, Eugene
Cc: [hidden email]
Subject: Re: [SPSSX-L] creating non-normal distributions

 

If you pick a distribution family, you can look up the skewness and kurtosis formulas on Wikipedia to figure out what the distribution parameters would be.  Then you can generate these with the appropriate RV.* transformation function in an Input Program or use the Make Data with Cases custom dialog on the SPSS Community site.

Jon Peck (no "h") aka Kim
Senior Software Engineer, IBM
[hidden email]
new phone: 720-342-5621




From:        "Maguin, Eugene" <[hidden email]>
To:        [hidden email]
Date:        08/21/2012 08:11 AM
Subject:        [SPSSX-L] creating non-normal distributions
Sent by:        "SPSSX(r) Discussion" <[hidden email]>





Can someone point me towards how to create continuous distributions with specified skew and kurtosis? Or, how to transform a normal distribution to have a specified skew and kurtosis?

Thanks, Gene Maguin

=====================
To manage your subscription to SPSSX-L, send a message to
[hidden email] (not to SPSSX-L), with no body text except the
command. To leave the list, send the command
SIGNOFF SPSSX-L
For a list of commands to manage subscriptions, send the command
INFO REFCARD

Reply | Threaded
Open this post in threaded view
|

Re: creating non-normal distributions

Jon K Peck
Suppose you first pick a distribution family, say, lognormal, LN(mu, sigma2).
The mean is e**(mu+sigma2/2), and the variance is (e**sigma2 - 1) * e**(2*mu + sigma2)

The skewness is (e**sigma2 +2) * sqrt(e**sigma2-1).
kurtosis is another function of sigma2.

So given mu and sigma2 and a lognormal distribution, you know the first four moments.  Then you can pick a sigma2 that will give you the desired skewness or kurtosis.  For a lognormal, both depend just on sigma2, so you can set one or the other but not both.

If you have picked a sigma2, then you can just generate lognormal random numbers using RV.LNORMAL(somemu, sigma2).

I'm presuming that you might have a preference for some particular distribution family.

A squared normal would be chi-squared(k), and the skewness is sqrt(8/k).  Kurtosis is 12/k.  Again pick one, choose k, and generate via RV.CHISQ(k).

Or pick another suitable distribution and solve for the desired moments in terms of the distribution parameters.

HTH,


Jon Peck (no "h") aka Kim
Senior Software Engineer, IBM
[hidden email]
new phone: 720-342-5621




From:        "Maguin, Eugene" <[hidden email]>
To:        [hidden email]
Date:        08/28/2012 03:12 PM
Subject:        Re: [SPSSX-L] creating non-normal distributions
Sent by:        "SPSSX(r) Discussion" <[hidden email]>




Jon, you sent this last week and I don’t understand what you are telling me. I know how to generate a normal distribution using rv.normal(m, sd). And power transformations will alter the skew and kurtosis. Is this what you meant? Something more/different? Or, is there a family of distributions, of which the normal distribution is the one for which skew and kurtosis=0, while others can take on specified values for skew and kurtosis?
 
Thanks, Gene Maguin
 
 
From: Jon K Peck [mailto:peck@...]
Sent:
Tuesday, August 21, 2012 10:23 AM
To:
Maguin, Eugene
Cc:
[hidden email]
Subject:
Re: [SPSSX-L] creating non-normal distributions

 
If you pick a distribution family, you can look up the skewness and kurtosis formulas on Wikipedia to figure out what the distribution parameters would be.  Then you can generate these with the appropriate RV.* transformation function in an Input Program or use the Make Data with Cases custom dialog on the SPSS Community site.

Jon Peck (no "h") aka Kim
Senior Software Engineer, IBM

peck@...
new phone: 720-342-5621





From:        
"Maguin, Eugene" <emaguin@...>
To:        
[hidden email]
Date:        
08/21/2012 08:11 AM
Subject:        
[SPSSX-L] creating non-normal distributions
Sent by:        
"SPSSX(r) Discussion" <[hidden email]>






Can someone point me towards how to create continuous distributions with specified skew and kurtosis? Or, how to transform a normal distribution to have a specified skew and kurtosis?

Thanks, Gene Maguin

=====================
To manage your subscription to SPSSX-L, send a message to

LISTSERV@... (not to SPSSX-L), with no body text except the
command. To leave the list, send the command
SIGNOFF SPSSX-L
For a list of commands to manage subscriptions, send the command
INFO REFCARD