turn on suggestions

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

Showing results for

Find a Community

- Home
- /
- Analytics
- /
- Forecasting
- /
- Simple Unemployment Forecasting will not converge ...

Topic Options

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

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

06-26-2013 03:10 PM

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!

Accepted Solutions

Solution

06-26-2013
06:45 PM

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

06-26-2013 06:45 PM

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

All Replies

Solution

06-26-2013
06:45 PM

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

06-26-2013 06:45 PM

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

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

06-28-2013 10:49 AM

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!

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

06-28-2013 12:21 PM

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