BookmarkSubscribeRSS Feed
Calcite | Level 5

I need some advice on Rick Wicklin's implementation of the Value-Maurelli method in SAS/IML from his book (section 16.11), "Simulating data with SAS" (highly recommended book by the way).

The method allows one to generate Monte Carlo simulation data with pre-specified marginal skewness, kurtosis and joint linear correlation (as gauged by Pearson's r).

Great stuff, but I find that I get this error (see below a simple bivariate example) when I try to specify significant skewness, with low kurtosis.

It looks like a type of input format error, but I've used it a lot and it seems rather a problem with specifying high skew with low kurtosis (if I bump up the kurtosis in this example, eventually the problem goes away).

It would be nice if I could find out if this is a limitation of the method itself or my own error?

Thank you for taking the time to consider my question.

250        proc iml;


251        load module=_all_;

NOTE: Opening storage library WORK.IMLSTOR

252        skew = {2 2};

253        kurt = {0 0};

254        R = {1.0 0.5,

255             0.5 1.0};

256        V = VMTargetCorr(R, skew, kurt);

ERROR: (execution) Invalid argument or operand; contains missing values.


Look at the moment-ratio diagram on p. 300 (Fig 16.2).  The diagram and accompanying text indicates that skew=2 and kurtosis=0 is not a valid choice of any univariate probability distribution.  That combination of moments is impossible.  Look at Section 16.19 for code that helps you restrict your simulation study to valid values of (skew, kurt).

Calcite | Level 5

Makes perfect sense, thanks for the confirmation.



Time is running out to save with the early bird rate. Register by Friday, March 1 for just $695 - $100 off the standard rate.


Check out the agenda and get ready for a jam-packed event featuring workshops, super demos, breakout sessions, roundtables, inspiring keynotes and incredible networking events. 


Register now!

Multiple Linear Regression in SAS

Learn how to run multiple linear regression models with and without interactions, presented by SAS user Alex Chaplin.

Find more tutorials on the SAS Users YouTube channel.

From The DO Loop
Want more? Visit our blog for more articles like these.
Discussion stats
  • 3 replies
  • 2 in conversation