BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
Ateet
Calcite | Level 5
Hi All,
I am working on forecasting utility I wanted to do time series forecasting for a univariate data through neural network technique.Can somebody help me with the SAS Code.Would be very helpful.I am struck up and need help badly.
1 ACCEPTED SOLUTION

Accepted Solutions
alexchien
Pyrite | Level 9

I think your best bet is to install SAS EM to gain access to the production quality machine learning algorithms from SAS. You might also consider using SAS/IML to call R nnet package, but you will have to pass the data to and from R which could potentially slow down the procssing time and your code will be a bit more error prone. 

View solution in original post

13 REPLIES 13
Reeza
Super User

Do you have SAS Enterprise Miner?

Ateet
Calcite | Level 5
No reeza I dont have sas miner i am working pc sas 9.2 could you plz tell me the SAS Code???
udo_sas
SAS Employee

Hello -

Out of curiosity: what's your motivation using neural networks for univariate forecasting?

If you have access to SAS/ETS you may want to start with more classical time series models first, such as exponential smoothing for example (PROC ESM).

Neural networks are currently not available outside of SAS Enterprise Miner - you will need to use either a SAS macro or SAS/IML to code it up yourself. Not sure if it will be worth the effort, though - see: http://www.kestencgreen.com/simplefor.pdf

Thanks,

Udo

Ateet
Calcite | Level 5
Hi udo ,
I have already built up exponential smoothing and arima models but wanted to go for complex methods which is neural network.I don't have sas eminer I'm working on pc sas 9.2 with SAS/ETS installed.
Is there any document which talks about sas code for time series forecasting in neural network.Will be of great help.
Reeza
Super User

Search on lexjansen.com for sample code, if it exists. 

 

Do you have SAS IML? 

Reeza
Super User

Search on lexjansen.com for sample code, if it exists. 

 

Do you have SAS IML? 

Ateet
Calcite | Level 5
Right now I dont have but I can get it installed but is there any technique inside IML? ??
udo_sas
SAS Employee

Hello -

Not out of the box - but as IML provides you with access to a very powerful matrix language and lots of out of the box methods like non-linear optimization you could build a NN module yourself.

Thanks,

Udo

Ateet
Calcite | Level 5
Anybody I want help anyone knows about time series forecasting in neural network??? Would be of great help
alexchien
Pyrite | Level 9

I did a Google search on Neural Network in SAS Macros and the following SUGI paper showed up. http://people.orie.cornell.edu/davidr/or474/nn_sas_implement.pdf

 

The paper is rather old but you can at least run a simple verion of neural network model without SAS Enterprise Miner. The neural network model implemented in EM is much faster and have a lot more model training options. Futhermore, EM comes with Random Forests and Gradient Boosting Tree models that are commonly considered for utility forecasting. Something you might consider licensing in the future.

 

Before getting into too much in the so called machine learning algorithms for utility forecasting, you might consider other modeling approaches that often time out beat the machine learning algorithms. Please check out the follwoing website for more info.

http://www.drhongtao.com/publications

 

You can also try running UCM models by each hour of the data (assuming the utility series is hourly basis) and use the CYCLE components (basically a bunch sin's and cosin's with different frequencies) to capture multiple seasonalities existing in the hourly data. Here is a sample code to run UCM by each hour for an hourly utility load data:

 

proc ucm data=load;
id date interval=day;
by hour;
irregular;
level;
cycle period=7 rho=1 noest=(period rho);
cycle period=3.5 rho=1 noest=(period rho);
cycle period=2.3333 rho=1 noest=(period rho);
randomreg cos1-cos16 sin1-sin16;
model eload = dec24 dec25 dec26 jan1 jan6 aug15 easterSat
easterSun easterMon easterTue holidays holySat
holySun bridgeDay endYear;
estimate back=14 plot=panel;
forecast back=14 lead=14 outfor=book.loadfor plot=decomp;
run;

 

 

Ateet
Calcite | Level 5
Hi alexchien,
Thanks for the update.I appreciate it.Actually Alex I m not working of utility domain data I am actually building forecasting macro in SAS which would accept univariate time series data and run various models on top of it and give best model based on accuracy.I have checked the paper but it seems this macro has lot of bugs.I don't have the time to resolve.So thinking anyone could give me the quick simple neural network code for time series forecasting.Would be of great help to me.
alexchien
Pyrite | Level 9

I think your best bet is to install SAS EM to gain access to the production quality machine learning algorithms from SAS. You might also consider using SAS/IML to call R nnet package, but you will have to pass the data to and from R which could potentially slow down the procssing time and your code will be a bit more error prone. 

sas-innovate-2024.png

Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.

Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.

 

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
  • 13 replies
  • 2056 views
  • 0 likes
  • 4 in conversation