BookmarkSubscribeRSS Feed
trash
Fluorite | Level 6

I'm given these two equations:

                       PDF: f(x) =1/(π(1+x^2))    -∞ ≤ x ≤ ∞                   CDF: F(x) =(1/2) + arctan(x)/π  -∞ ≤ x ≤ ∞
and I am asked to generate 10,000 random numbers using the Inversion Method for Cauchy Distribution.
Here is the code I have started:
PROC IML; 
      n=10000;
      myran = j(n,1, 0); 
      uniform = uniform(myran);
      exponential = (tan(uniform*pi-(pi/2)));
CREATE uniform2 FROM uniform[colname={'x'}];
APPEND FROM uniform;
CREATE exp2 FROM exponential[colname={'y'}];
APPEND FROM exponential;
QUIT;
 
but my log says: "ERROR: (execution) Matrix has not been set to a value." after the exponential statement. 
how do I correct for this? I'm not sure how to account for the -∞ ≤ x ≤ ∞ part. 
subsequently, I am asked to create a subset of the 10000 Cauchy Dist. of random numbers where -10<x<10
 
3 REPLIES 3
WarrenKuhfeld
Ammonite | Level 13

Set the scalar pi to a value after you invoke IML.

pi = constant('pi');
Ksharp
Super User

IML has build-in function, you can use it .

 

proc iml;
x=j(10000,1,.);
call randseed(12345678);
call randgen(x, 'CAUCHY'); 

create want var{x};
append;
close;
quit;
Rick_SAS
SAS Super FREQ

You asked, "how do I account for the [-infinity, infinity] part?" Here is a hint: What is the range of the expression

uniform*pi - pi/2 ?

Ask yourself how the TAN function behaves on this interval.

 

 

For more about the inverse CDF method of simulating data, see "The inverse CDF method for simulating from a distribution."

SAS Innovate 2025: Call for Content

Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 16. Read more here about why you should contribute and what is in it for you!

Submit your idea!

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
  • 1322 views
  • 2 likes
  • 4 in conversation