Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

- RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

Posted 02-04-2013 05:35 AM
(1045 views)

Hi

I will be so thankful to anyone who can help to figure out what is wrong with my code

attached is the code

It suppose to estimate the parameters using NLPQN

if I have one simulated data set, then there is no errors (but results are not good). If I ask for more than one simulation I get error and warnings messages such as

WARNING: Invalid argument resulted in missing value result.

that refers to this statement

**do L=1 to n;**

**sum=sum+( X - 1/alpha*( -log(p)/gamma) **(-1/beta) )**2;**

** end;**

and at the end I get this error message

ERROR: Overflow error in NLPQN.

I don't know exactly what is my mistake? I tried to change the initial values ...it works but then if I increase the sample size **n** then I get

the same error again

I will highly appreciate any advice

thank you

3 REPLIES 3

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

I modified your code to save some of the intermediate values as it was evaluating the objective function, and it appears that you are getting an overflow sometimes when the algorithm computes the following in the objective function:

**1**/alpha*( -log(p**1**/beta) )****2**;

Basically, with your constraints beta can be small (0.0001). When it is small and -log(p

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

Thank you so much for your help

you were right about beta, beta shouldn't be small, I was trying to play with initial values based on your recommendations before I reply

Now, I don't get any errors or warnings but I found that there is no optimizations,for instant whether I take the size of the data (n) 10 or 50, whether the number of simulations (k) =10 or 1000 results are the same don't change at all like if they were fixed no matter how many loops I execute or how big my data are

I also changed the true values of the parameter, the initial values the constrains...but nothing seems to matter, I wasn't sure exactly how to change the objective function.

I wilcome any suggestions or advices

thank you for your help

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

I am not sure what you are trying to do, but looking at your code, if you are expecting to get the optimization to converge to alpha, beta, and gamma, I believe that you should set p to match the random number stream used in your simulation. Otherwise, I don't see how you could expect it to converge to the right answer. Try doing:

********************* Generating My Data ****************************************;

do j=1 to n;

p

X

end;

********************************************************************************;

Registration is open! SAS is returning to Vegas for an AI and analytics experience like no other! Whether you're an executive, manager, end user or SAS partner, SAS Innovate is designed for everyone on your team. Register for just $495 by 12/31/2023.

**If you are interested in speaking, there is still time to submit a session idea. More details are posted on the website. **

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.