Pyrite | Level 9

## Multiplicative seasonality in PROC UCM

We are forecasting some series where after a level shift down multiplicative seasonality is revealed. PROC UCM's additive seasonality results in negative forecasts as the variance of the low seasonal points is too high. I would like to determine if we can hack multiplicative seasonality in some way.

My understanding is that if our model was log(Y) = log(Season) + ... this would accomplish multiplicative seasonality. We can leave level, trend, and predictors as additive. Logging Y is easy! If I am right so far, then the real issue is how to do the equivalent of logging seasonality. There is no option to do so. Is there something that would be, perhaps not equivalent, but close enough, in the form of an adjustment post-forecast that could be applied algorithmically using the season values in the OUTFOR= data set?

1 ACCEPTED SOLUTION

Accepted Solutions
SAS Employee

## Re: Multiplicative seasonality in PROC UCM

Modelling log(Y) instead of Y does provide a way to get multiplicative seasonality:

log(Y) = level + regression-effects + season + error

translates into:

Y = exp(level) * exp(regression effects) * exp(season) * exp(error)

When you use log(Y) as the response series in PROC UCM, the OUTFOR data set contains the forecasts and estimates of different components (level, season, error, etc).  You will need to manually (DATA step) back-transform them to get their multiplicative versions (see "Example 7.2 Seasonal Model for the Airline Series" in the PROC ARIMA doc to see this type of back-transforming of the log transformation).

Is this what you want?

5 REPLIES 5
SAS Employee

## Re: Multiplicative seasonality in PROC UCM

Modelling log(Y) instead of Y does provide a way to get multiplicative seasonality:

log(Y) = level + regression-effects + season + error

translates into:

Y = exp(level) * exp(regression effects) * exp(season) * exp(error)

When you use log(Y) as the response series in PROC UCM, the OUTFOR data set contains the forecasts and estimates of different components (level, season, error, etc).  You will need to manually (DATA step) back-transform them to get their multiplicative versions (see "Example 7.2 Seasonal Model for the Airline Series" in the PROC ARIMA doc to see this type of back-transforming of the log transformation).

Is this what you want?

Pyrite | Level 9

## Re: Multiplicative seasonality in PROC UCM

Yes-- in fact, we have subsequently figured that out. At the moment I am working on the transformation back of variables that are in the OUTFOR and ods forecasts tables. We are transforming back with the EXP() function.

By doing this, we now have ETS(M,M or N,M or N) models, correct? We're thinking through the implications of multiplicative errors and trend as we consider which models on which to apply the log transformation. We would want to be careful with any positive, exponential trends. We may build multiplicative damping on as a post-hoc adjustment if we end up with models that require mult season and a trend, but where the exponential trend is too steep.

Are those reasonable steps/assumptions?

SAS Employee

## Re: Multiplicative seasonality in PROC UCM

I do not want to venture into ETS modeling framework popularized by Hyndman and others because even though it is similar to the decompositions provided by PROC UCM, there are many important differences (e.g., they deal with multiplicative and other nonlinear models by specific techniques).  Currently, SAS/ETS (the software and not the modeling methodology) offers a few of the ETS models via PROC ESM.  However, PROC ESM does not support regressors in the model.

Now questions whether exponential trends are too steep and such depend on particular application and as with any data analysis project some trial and error is needed.

Pyrite | Level 9

## Re: Multiplicative seasonality in PROC UCM

Fair enough. We use PROC ESM as well but prefer UCM because we do have regressors. We believe we can functionally achieve 12 of the 30 models in the Hyndman framework by selectively using log(Y) and/or doing trend-dampening adjustments, and that's plenty. We just want to make sure that we understand the potential drawbacks of these transformations.

SAS Employee

## Re: Multiplicative seasonality in PROC UCM

As far as I can see, what you are doing is routinely done in forecasting projects and after taking care to not forecast too far into the future things should be fine.  My two cents!

Discussion stats
• 5 replies
• 1679 views
• 1 like
• 2 in conversation