Our World Statistics Day conversations have been a great reminder of how much statistics can inform our lives. Do you have an example of how statistics has made a difference in your life? Share your story with the Community!
Choose Language Hide Translation Bar

Building Better Forecasting Models With Transfer Functions ( 2019-EU-30MP-089 )

Level: Advanced
Job Function: Analyst / Scientist / Engineer

Jian Cao, Principal Systems Engineer, JMP Division, SAS


Best Invited Paper Finalist


How to model and forecast the time series when it is interrupted due to interventions (e.g., process changes)? If you have leading indicators or other exogenous variables how can you incorporate them into your ARIMA models to make better forecast?


In this paper I will try to demystify the transfer function models in JMP with key use cases: Regression with ARIMA Errors, Distributed Lag Models and Intervention Models. I will demonstrate the benefits of using the transfer functions over the Ordinary Least Squares regression and ARIMA for building better forecasting models.  


Very nice piece of work ! Thanks for all the teachers who try to teach Forecasting "Multivariate" Models with JMP as well as with SAS ETS.

Nice presentation! I now try to apply this in my project on modelling parking occupation level; with Neural Net I achieve a nice R² o 0,96 however the residuals are not random and can be modeled with a seasonal ARMA (4,0,5) (0,0,1)6 model. So I now want to build a transfer function for parking occupation with as input the Neural network model and ARMA reesidual model; I am surprised to notice that the tranfer model option is not activated? Did do something wrong? I am using a regular JMP 13.2 version.

Thanks, Frank.

Transfer Function option has been available since JMP 7. After you launch the time series with output and Input series it can be selected from the top red triangle menu.  



Strange, the tranfer function oprion is in my menu list but it is blurred and I can't activate it? 

Hi Jian, thanks for help, sorry for false alarm regarding blurred transfer function option, it is OK, I made a wrong input..

I nicely (R² = 0,92) modeled the residuals real occupation - modeled occupation with a seasonal ARMA model so now I can further proceed with the transfer function.

However I have a question with regard to the ARMA residual prediction in the data table with the saved ARMA time series prediction formula: I notice that the predicted residuals are in the same row i.e. same time interval as the actual residuals? As the ARMA formula is based on past residuals Y (Yt-1, Yt-2,.. I would expect that in the column of predicted residuals a number of cells are left blank so how can an ARMA residual estimation be made without past residual data? Thanks in advance for help. Frank


The forecast for the very first time period t=1 is either the intercept or 0 (if you choose a no-intercept ARMA model). From t=2 on JMP uses a special version of the Kalman filter to produce forecasts.  The statistical details can be found in Box & Jenkins et al’ book Time Series: Forecasting and Control in section 7.4 “Likelihood Function Based on the State-Space Model”.

Jian, sorry for late reply, thanks for your comments and inputs, helped me a lot. Using a neural time series model with ARMA model for the residuals I got a final R² = 99% forecasting model!