BookmarkSubscribeRSS Feed
pjy1006
Calcite | Level 5

I need to forecast call volume for a product support line. The data is quite volatile and it's not that easy to remove all the known outliers. I currently use Proc Arima and Proc ESM.  

1. Any other procedure/model suggestions?

2. Is there any good resources for outlier identification?  (Currently we use multiple ways to identify outliers such as standard deviation or % calculations. But can such method identify some seasonality as outliers..? So just wonder if there is some research into this to recommend best practice for outlier identification)

3 REPLIES 3
rselukar
SAS Employee

Hello pjy1006,

Outlier detection in time series modeling (and in other types of modeling) is an art rather than science.  If you are using outlier detection facility of PROC ARIMA (the OUTLIER statement) and PROC ESM then you are already on the right track.  Since you want to know if there are additional facilities in SAS/ETS I am going to suggest PROC UCM (for a quick illustration, see SAS Help Center: Detection of Level Shift).   The outlier detection technology behind ARIMA and UCM is very similar.  Outlier detection often requires iterative steps.  One starts with a reasonable baseline model and adjusts the model based on the most obvious breaks that are detected.  This adjusted model becomes the new baseline.  For UCM setting I will suggest the following types of initial baseline models. Suppose your input data set is test, your response series is y, and you already know external variables X1 and X2 affect y.

 

Case 1:  Your series does not have an obvious trend.

PROC UCM data=test;
    model y=x1 x2;
    level variance=0 noest checkbreak;
    irregular;
run;

 

Case 2: Your series does have some type of movement:

PROC UCM data=test;
   model y=x1 x2;
   level variance=0 noest checkbreak;
   slope;
   irregular;
run;

 

Case 3: Your series is seasonal with season length slength:

PROC UCM data=test;
   model y=x1 x2;
   level variance=0 noest checkbreak;
   slope;
   season length=slength type=trig;
   irregular;
run;

 

Depending on the length of the series and the inherent noise, you may have to adjust the alpha levels for additive outlier and level shift detections (see SAS Help Center: OUTLIER Statement ).

 

For more general outlier detection and general logic behind this type of outlier detection you can see Detecting and Adjusting Structural Breaks in Time Series and Panel Data Using the SSM Procedure (sas...

 

Hope this helps.

 
 
rselukar
SAS Employee
A correction:

Case 1: Your series does not have an obvious trend.
PROC UCM data=test;
model y=x1 x2;
level checkbreak;
irregular;
run;

sas-innovate-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

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
  • 3 replies
  • 452 views
  • 2 likes
  • 3 in conversation