06-26-2017 04:39 PM
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!
06-27-2017 01:13 PM
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!