I'd like to learn and understand the ETS Transfer Function Model specification syntax.
I want to specify a transfer function that corresponds to the JMP model specifications that are in the attached Word document.
I have an output series (Traffic_In) with which I am trying to predict with two input series: Total_Wi_Fi_Users and NumTrans_rstrnt3.
Would the corresponding proc arima be:
proc arima data=d.Stor ;
IDENTIFY VAR=Traffic_In(1,7) CROSSCORR= (Total_Wi_Fi_Users (1,7) NumTrans_rstrnt3 (1,7)) nlag=28 ;
ESTIMATE p=(1)(7) q=(1)(7)
INPUT= ( (1)Total_Wi_Fi_Users (1)NumTrans_rstrnt3 / (1)Total_Wi_Fi_Users (1)NumTrans_rstrnt3 ) noprint ; run;
thank you in advance for any help or resources!
My attached JMP model specification was wrong, here is the updated specification and output
JMP has their own community. It is best to post this question there: https://community.jmp.com/
Best wishes,
Shelley
Hi,
Based on the updated information, if you let Y=traffic_In, x1=Total_Wifi_Users and x2=Num_Trans_Rstrnt3, then you can specify your model in PROC ARIMA as:
proc arima data=dsname;
identify var=y(1,7) crosscorr=( x1(1,7) x2(1,7));
estimate p=(1) q=(1)(7)
input=( (1)(7)/(1) x1 (1)/(1)(7) x2) method=ml;
run;
quit;
I believe JMP uses maximum likelihood estimation by default, which is why I added the METHOD=ML option in the ESTIMATE statement. For more details on the syntax for the INPUT= option when fitting a transfer function model in PROC ARIMA, please see the following documentation link:
It is possible that the parameter estimates computed by PROC ARIMA might differ from those obtained in JMP due to differences in the optimization algorithm, starting values, convergence criteria, etc. However, for a model that fits the data well, the estimates should be relatively close.
I hope this helps!
DW
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9.
Save $200 when you sign up by March 14!