Forecasting using SAS Forecast Server, SAS/ETS, and more

Simple Unemployment Forecasting will not converge using TSFS

Accepted Solution Solved
Reply
Contributor
Posts: 62
Accepted Solution

Simple Unemployment Forecasting will not converge using TSFS

Hi All,

I'm trying to forecast a non-seasonally adjusted unemployment rate but when run through the Time Series Forecasting System i get an error that says

"

ERROR: The estimation algorithm did not converge after 150 iterations.

ERROR: Forecasting was not performed because estimation was not done.

"

The source for my data comes right form the LAUS BLS webpage.

any hints?

Thanks!

Attachment

Accepted Solutions
Solution
‎06-26-2013 06:45 PM
SAS Employee
Posts: 416

Re: Simple Unemployment Forecasting will not converge using TSFS

Hello -

It seems to me that you are running the Time Series Forecasting System to "fit model automatically" - I was able to replicate the behavior you are experiencing.

As far as I can tell the only model which is failing is ARIMA(2,1,2)(0,1,1)s NOINT - all other models run fine.

The ARIMA procedure primarily uses the computational methods outlined by Box and Jenkins. Marquardt’s method is used for the nonlinear least squares iterations. Since this technique is iterative, it might run into convergence problems. The ARIMA procedure provides access to some options to tune this process - however, not all of these options are surfaced in the Time Series Forecasting System.

In your particular case I was able to address the convergence issue by increasing the maximum number of iterations from 150 (default in Time Series Forecasting System) to 500:

proc arima data=YOURDATA;

            identify var=URATE( 1,12 )

            nlag=29 noprint;

            estimate p=2 q=( 1,2 )( 12 )

             noint method=ML

               outmodel=_est_ converge=.0001 delta=.0001 maxiter=500

               noprint;

            forecast

               id=DATE interval=MONTH align=BEGINNING lead=0

               alpha=0.05  out=_fitout_ noprint;

quit;

For details please check out: http://support.sas.com/documentation/cdl/en/etsug/63939/HTML/default/viewer.htm#etsug_arima_sect036....

Hope this helps,

Udo

View solution in original post


All Replies
Solution
‎06-26-2013 06:45 PM
SAS Employee
Posts: 416

Re: Simple Unemployment Forecasting will not converge using TSFS

Hello -

It seems to me that you are running the Time Series Forecasting System to "fit model automatically" - I was able to replicate the behavior you are experiencing.

As far as I can tell the only model which is failing is ARIMA(2,1,2)(0,1,1)s NOINT - all other models run fine.

The ARIMA procedure primarily uses the computational methods outlined by Box and Jenkins. Marquardt’s method is used for the nonlinear least squares iterations. Since this technique is iterative, it might run into convergence problems. The ARIMA procedure provides access to some options to tune this process - however, not all of these options are surfaced in the Time Series Forecasting System.

In your particular case I was able to address the convergence issue by increasing the maximum number of iterations from 150 (default in Time Series Forecasting System) to 500:

proc arima data=YOURDATA;

            identify var=URATE( 1,12 )

            nlag=29 noprint;

            estimate p=2 q=( 1,2 )( 12 )

             noint method=ML

               outmodel=_est_ converge=.0001 delta=.0001 maxiter=500

               noprint;

            forecast

               id=DATE interval=MONTH align=BEGINNING lead=0

               alpha=0.05  out=_fitout_ noprint;

quit;

For details please check out: http://support.sas.com/documentation/cdl/en/etsug/63939/HTML/default/viewer.htm#etsug_arima_sect036....

Hope this helps,

Udo

Contributor
Posts: 62

Re: Simple Unemployment Forecasting will not converge using TSFS

Thanks udo, that was very helpful. Using the code you've provided how can i obtain a forecast of the urate say a year from now?

Thanks!

SAS Employee
Posts: 416

Re: Simple Unemployment Forecasting will not converge using TSFS

Hello -

Sure - you will need to change the lead option to 12 (as you have monthly data) - I also added a plot statement to visualize the forecasts:

proc arima data=YOURDATA plots(only)=forecast(forecasts);

            identify var=URATE( 1,12 )

            nlag=29 noprint;

            estimate p=2 q=( 1,2 )( 12 )

             noint method=ML

               outmodel=_est_ converge=.0001 delta=.0001 maxiter=500

               noprint;

            forecast

               id=DATE interval=MONTH align=BEGINNING lead=12

               alpha=0.05  out=forecasts;

quit;

You will find a table call forecasts in your WORK library.

Alternatively you may want to run our new ESM procedure:

proc esm data=YOURDATA out=_null_ outfor=esmfc plot=forecasts;

id date interval=month;

forecast urate / method=addwinters;

run;

Thanks!

Udo

🔒 This topic is solved and locked.

Need further help from the community? Please ask a new question.

Discussion stats
  • 3 replies
  • 1300 views
  • 0 likes
  • 2 in conversation