BookmarkSubscribeRSS Feed
adrfinance
Obsidian | Level 7

We are running the following code on a SAS server:

 

rsubmit;
proc arima data=datasample2 plots = all;
identify var = r nlag = 8 esacf stationarity = (adf= (0,1,2,3,4,5,6,7,8));
run;
endrsubmit;

 

which for some reason does not produce any plots.. Is there some way to save the values of the acf and pacf so that we can plot them locally in either SAS or Excel? (running the code locally is not an option since ETS is only installed on the server)

 

Thank you

 

2 REPLIES 2
Rick_SAS
SAS Super FREQ

I don't have much experience with remote submissions, but here are a few ideas:

 

1. If you can generate the graphs on the server (but just can't see them), perhaps you can save the graphs to a PNG and then pull them back to the client for viewing.

2. If you can generate the graphs on the server, you can use ODS OUTPUT to save the underlying data object that contains the values in the graphs. You can then bring that data back to the client and graph it. here's what it looks like locally:

ods graphics on;
proc arima data=datasample2 plots(unpack)=series(acf pacf);
identify var = r nlag = 8 esacf stationarity = (adf= (0,1,2,3,4,5,6,7,8));
         ods select SeriesACFPlot SeriesPACFPlot;
         ods output SeriesACFPlot=ACF SeriesPACFPlot=PACF;
quit;

proc contents varnum short data=ACF;
run;

title "ACF";
proc sgplot data=ACF;
band x=LAGS_SERIES_MAX_NLAGS_ 
     lower=___2__ACFSTD_SERIES_NLAGS_NLAGS_ 
     upper=_2_ACFSTD_SERIES_NLAGS_NLAGS__;
needle x=LAGS_SERIES_MAX_NLAGS_ y=ACF_SERIES_NLAGS_NLAGS_ / lineattrs=(thickness=8);
run;

/* then do same for PACF */

 

3. You can use the OUTCOV= option on the IDENTIFY statement to get the ACF and PACF values in a data set. Unfortunately, you would have to compute the confidence bands by hand (if you want them)  The value for PACF at LAG=0 might need to be adjusted. Here's the general idea

proc arima data=datasample2 plots=NONE;
identify var = r nlag = 8 esacf stationarity = (adf= (0,1,2,3,4,5,6,7,8)) 
         outcov=cov;
quit;
title "ACF";
proc sgplot data=cov;
/* band x=lag lower=LOWER upper=UPPER; */
needle x=lag y=corr / lineattrs=(thickness=8);
run;

title "PACF";
proc sgplot data=cov;
/* band x=lag lower=LOWER upper=UPPER; */
needle x=lag y=partcorr / lineattrs=(thickness=8);
run;

:

 

 

 

 

Reeza
Super User

Do you have a place you can upload/download files on your server? If so, you could pipe the output to a PDF/HTML file and download it. 

 


@adrfinance wrote:

We are running the following code on a SAS server:

 

rsubmit;
proc arima data=datasample2 plots = all;
identify var = r nlag = 8 esacf stationarity = (adf= (0,1,2,3,4,5,6,7,8));
run;
endrsubmit;

 

which for some reason does not produce any plots.. Is there some way to save the values of the acf and pacf so that we can plot them locally in either SAS or Excel? (running the code locally is not an option since ETS is only installed on the server)

 

Thank you

 


 

Ready to join fellow brilliant minds for the SAS Hackathon?

Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.

Register today!
Mastering the WHERE Clause in PROC SQL

SAS' Charu Shankar shares her PROC SQL expertise by showing you how to master the WHERE clause using real winter weather data.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 2 replies
  • 1114 views
  • 0 likes
  • 3 in conversation