#2011, Eulalie Sauthier, Master Thesis

forcast <- function() {

#permet de charger le chemin du répertoir courant
setwd("/Users/Lilosme/Documents/EPFL/pdmlilo/PDM/ACP/data")
library(dse) #librarie du package
source("monthtoyear.r") #load une fonction

prec_lp_ttes<-read.csv("Glaciers/P_long_period_ttes_.csv") #load les données
prec_lp_ttes<-read.csv("Glaciers/P_long_period.csv")

temp<-prec_lp_ttes[8:11] #précise les données
temp<-temp[1:1764,]
prec<-prec_lp_ttes[3:6]
prec<-prec[1:1764,]

#premier modèle Holt-Winters
#temp<-HoltWinters(prec_ts[,2])
#forecast <- predict(
#  temp, 
#  n.ahead=37, 
#  prediction.interval=T)
#plot(temp, predicted.values=forecast,
#     main="Holt-Winters filtering: trend model")
#
 
i<-4 #choix de la station parmi les 4

temp_ts<-ts(temp,start=c(1864,1),end=c(2010,12),freq=12) #time serie
temp_ts_an<-ts(monthtoyear(temp_ts,i),start=c(1864),end=c(2010),freq=1) #annuel
temp_ts_cut<-temp_ts_an[ which(time(temp_ts_an)==1894):length(temp_ts_an)] #synchronise les données
temp_ts_cut<-ts(temp_ts_cut,start=c(1894),end=c(2010),freq=1) #retime serie

prec_ts<-ts(prec,start=c(1864, 1),end=c(2010,12),freq=12) #time serie
prec_ts_an<-ts(monthtoyear(prec_ts,i),start=c(1864),end=c(2010),freq=1) #annuel
prec_ts_cut<-prec_ts_an[ which(time(prec_ts_an)==1894):length(prec_ts_an)] #synchronise les données
prec_ts_cut<-ts(prec_ts_cut,start=c(1894),end=c(2010),freq=1) #re time serie

#relie les vecteurs sychronisés
out_2<-cbind(temp_ts_cut, prec_ts_cut)

eg1.DSE.data<- TSdata( output= out_2) #transforme en modèle temporel

#renomme les vecteurs
seriesNamesOutput<-c(paste("Temp",colnames(temp)[i]), paste("Prec",colnames(prec)[i]))
# calcule les paramètres de la prévision
eg1.DSE.data<-estVARXls(eg1.DSE.data)
# prépare les deux vecteurs pour les prévisions
new.data <-TSdata(output=ts(rbind(outputData(eg1.DSE.data)), start=start(eg1.DSE.data),frequency=frequency(eg1.DSE.data)))

#calcule les prévisions
z<-forecast(TSmodel(eg1.DSE.data),new.data)
pdf(paste("../Image/forcast_",colnames(prec)[i],".pdf"))
tfplot(z,ylab=c(paste("Temp",colnames(temp)[i]),paste("Prec",colnames(prec)[i])))
dev.off()
}
