Time Series with Neural Networks

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Time Series with Neural Networks

Emre Karagülle
Hi,
I am would like to ask few questions.
I am trying to forecast  hourly electricity prices by 24 hours ahead.
I have hourly data starting from 2015*12*18 to 2017-10-24
and I have defined the data as time series as written in the code below.

Then I am trying do neural network with 23 non-seasonal dummies and 1 seasonal dummy.
But I don’t know whether training set is enough.( Guess it is 50 hours in here?)

The problem is that I couldn’t 24 for output here. How can I make such forecast?
 And my MASE score (6.95 in the Test set) is not good. Could be related to shortness of training set?

The Code:

library(zoo)
library(readxl)
setwd("C:/Users/emrek/Dropbox/2017-2018 Master Thesis/DATA")
epias <- read_excel("eski.epias.xlsx")


nPTF <- epias$`PTF (TL/MWh)`
nSMF<- epias$`SMF(TL/MWh)`
nC<- epias$`TT(MWh)`
nEAK<- epias$`EAK-Toplam (MWh)`
nTP<- epias$`Toplam (MWh)`

times     <- seq(from=as.POSIXct("2015-12-18 00:00:00"), to=as.POSIXct("2017-10-24 23:00:00"), by="hour")
mydata <- rnorm(length(times))

PTF <- zoo(nPTF, order.by=times )
SMF <- zoo(nSMF, order.by=times )
C <- zoo(nC, order.by=times )
EAK <- zoo(nEAK, order.by=times )
TP<- zoo(nTP, order.by=times )
SH <- (EAK-TP)

epias <- cbind(PTF,C,SH)
View(epias)

#neural networks
library(forecast)
set.seed(201)
epias.nn <- nnetar(PTF, repeats = 50, p=23, P=1, size =12)
summary(epias.nn$model[[1]])

epias.pred <- forecast(epias.nn, h= 24)
accuracy(epias.pred, 24)

plot(PTF, ylim=c(0,500) , ylab=  , xlab= , bty="l", xaxt="n", xlim=c(as.POSIXct("2017-10-20 00:00:00"),as.POSIXct("2017-10-25 23:00:00")) , lty=1 )

lines(epias.pred$fitted,lwd = 2,col="blue")


Best Regards,
--
Emre


        [[alternative HTML version deleted]]

______________________________________________
[hidden email] mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
Reply | Threaded
Open this post in threaded view
|

Fwd: Time Series with Neural Networks

Emre Karagülle

> Hi,
> I am would like to ask few questions.
> I am trying to forecast  hourly electricity prices by 24 hours ahead.
> I have hourly data starting from 2015*12*18 to 2017-10-24
> and I have defined the data as time series as written in the code below.
>  
> Then I am trying do neural network with 23 non-seasonal dummies and 1 seasonal dummy.
> But I don’t know whether training set is enough.( Guess it is 50 hours in here?)
>  
> The problem is that I couldn’t 24 for output here. How can I make such forecast?
> And my MASE score (6.95 in the Test set) is not good. Could be related to shortness of training set?
>  
> The Code:
>  
> library(zoo)
> library(readxl)
> setwd("C:/Users/emrek/Dropbox/2017-2018 Master Thesis/DATA")
> epias <- read_excel("eski.epias.xlsx")
>  
>  
> nPTF <- epias$`PTF (TL/MWh)`
> nSMF<- epias$`SMF(TL/MWh)`
> nC<- epias$`TT(MWh)`
> nEAK<- epias$`EAK-Toplam (MWh)`
> nTP<- epias$`Toplam (MWh)`
>  
> times     <- seq(from=as.POSIXct("2015-12-18 00:00:00"), to=as.POSIXct("2017-10-24 23:00:00"), by="hour")
> mydata <- rnorm(length(times))
>  
> PTF <- zoo(nPTF, order.by=times )
> SMF <- zoo(nSMF, order.by=times )
> C <- zoo(nC, order.by=times )
> EAK <- zoo(nEAK, order.by=times )
> TP<- zoo(nTP, order.by=times )
> SH <- (EAK-TP)
>  
> epias <- cbind(PTF,C,SH)
> View(epias)
>  
> #neural networks
> library(forecast)
> set.seed(201)
> epias.nn <- nnetar(PTF, repeats = 50, p=23, P=1, size =12)
> summary(epias.nn$model[[1]])
>  
> epias.pred <- forecast(epias.nn, h= 24)
> accuracy(epias.pred, 24)
>  
> plot(PTF, ylim=c(0,500) , ylab=  , xlab= , bty="l", xaxt="n", xlim=c(as.POSIXct("2017-10-20 00:00:00"),as.POSIXct("2017-10-25 23:00:00")) , lty=1 )
>  
> lines(epias.pred$fitted,lwd = 2,col="blue")
>  
>  
> Best Regards,
> --
> Emre
>  

        [[alternative HTML version deleted]]

______________________________________________
[hidden email] mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.