BookmarkSubscribeRSS Feed
deleted_user
Not applicable
Hi,

I programmed a likelihood function with 465 unknowns and trying to maximize log-likelihood using this sub-routine. As the number of unknowns are large, the sub-routine throws a note "I/O required temporary file to be open" and "Initial allocation of symbol space exhausted. You may specify SYMSIZE = option on PROC IML statement to increase its allocation for more efficiency". As suggested by the sub-routine, I increased the symsize to 30000 (max limit), still it throws the same error. I guess this happens as the symbol space is exhausted. Could anyone tell me how to resolve this and suggest an alternative so that I can estimate unknowns. Many thanks. Bhaskar
5 REPLIES 5
deleted_user
Not applicable
Hi..just to know if my program working or not, I reduced the number of unknowns to 58 so that the sub-routine doesnt run out of symbol space. This idea worked avoiding symbol space problem but only one iteration happened and the "ABSGCONV" satisfied leaving the final solution at initial values. Would any one of you know the reason for this. That would be of great help. Thanks - Bhaskar
Hutch_sas
SAS Employee
As for the premature convergence for the 58 variable case, you probably need to check over your termination criteria. In the IML doc, go to
SAS Products->SAS/IML User's Guide->Nonlinear Optimization Examples->Details->Termination Criteria. There are several possible criteria that you can use to determine when to stop iterating the solver, and my guess is that the default gradient-based termination criteria is too loose for your particular problem. If you can't figure it out, work with SAS Technical Support. You can send your code to them if necessary for a specific diagnosis.
deleted_user
Not applicable
Thanks Joe, I have not set any termination criteria and left default. However, I take your point of discussing with SAS technical support. In which whom should I contact and how. If you could let me know that would be great. Thanks, Bhaskar
Hutch_sas
SAS Employee
You might try setting the SAS MEMSIZE= configuration option to MAX, as this limits how much you can request for the SYMSIZE option in proc iml. I'm not sure what the default is on your machine, but it might be worth a try. I also suggest you check with SAS Technical support, as they have direct access to the SAS developer, if they get stumped.
tonya_sas
SAS Employee
You can contact SAS technical support by any of the ways suggested at this site:

http://support.sas.com/techsup/contact/index.html

It would be beneficial for you to email your problem description, code, and data so that technical support can attempt to reproduce your problem to further diagnose it.

sas-innovate-2024.png

Don't miss out on SAS Innovate - Register now for the FREE Livestream!

Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.

 

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.

Discussion stats
  • 5 replies
  • 1274 views
  • 0 likes
  • 3 in conversation