### R code from vignette source 'C:/Users/Marie/Documents/DSP/cviceni/M5201/M5201cv10.Rnw'
### Encoding: CP1250

###################################################
### code chunk number 1: M5201cv10.Rnw:69-70
###################################################
options(continue=" ")


###################################################
### code chunk number 2: M5201cv10.Rnw:73-75
###################################################
lattice.options(default.theme = "col.whitebg")
options(SweaveHooks = list(fig = function() par(mfrow=c(1,1))),width=90)


###################################################
### code chunk number 3: M5201cv10.Rnw:308-311
###################################################
fileDat<-paste(data.library,"zoo_jihlava.txt",sep="")
zoo<-scan(fileDat)
str(zoo)


###################################################
### code chunk number 4: M5201cv10.Rnw:319-321
###################################################
zooTS<-ts(zoo,start=2006,frequency=12)
str(zooTS)


###################################################
### code chunk number 5: M5201cv10.Rnw:330-331
###################################################
getOption("SweaveHooks")[["fig"]]()
plot(zooTS,type="o",pch=20,cex=3)


###################################################
### code chunk number 6: M5201cv10.Rnw:467-473
###################################################
xts<-zooTS
d<-frequency(xts)
n<-length(xts)
m<-ceiling(n/d)
shift<-start(xts)[2]-1
#r<-m*d-n-shift


###################################################
### code chunk number 7: M5201cv10.Rnw:481-485
###################################################
Season<-factor(as.integer(gl(d,1,n))-shift)
Year<-factor(floor(time(xts)))
data<-data.frame(x=as.vector(xts),grS=Season,grY=Year)
str(data)


###################################################
### code chunk number 8: M5201cv10.Rnw:496-498
###################################################
M1<-lm(x~grY+grS-1,data,contrasts=list(grY=diag(1,length(levels(data$grY))),grS=contr.sum))
summary(M1)


###################################################
### code chunk number 9: M5201cv10.Rnw:525-526
###################################################
anova(M1)


###################################################
### code chunk number 10: M5201cv10.Rnw:550-552
###################################################
M1.terms<-predict(M1,type="terms")
str(M1.terms)


###################################################
### code chunk number 11: M5201cv10.Rnw:560-563
###################################################
pom<-cbind(M1.terms,M1.terms[,1]+M1.terms[,2],fitted(M1))
colnames(pom)<-c(colnames(M1.terms),"grY+grS","fitted(M1)")
print(pom[1:6,])


###################################################
### code chunk number 12: M5201cv10.Rnw:578-579
###################################################
(M1.mj<-M1.terms[seq(1,n,d),1])


###################################################
### code chunk number 13: M5201cv10.Rnw:586-587
###################################################
(M1.sk<-M1.terms[1:d,2])


###################################################
### code chunk number 14: M5201cv10.Rnw:596-605
###################################################
getOption("SweaveHooks")[["fig"]]()
SK<-M1.sk
nf<-layout(matrix(c(1,2),nrow=1),width=c(2.75,1.25))
#layout.show(nf)
txtS<-paste("S",1:length(SK)," =",sep="")
par(mar=c(2,2,0,0)+0.05)
plot(1:length(SK),SK,type="o")
plot(c(0,1),c(0,length(SK)),type="n",axes=FALSE)
text(rep(0,length(SK)),rev(1:length(SK)),txtS,adj=c(0,1),cex=1.125)
text(rep(1,length(SK)),rev(1:length(SK)),round(SK),adj=c(1,1),cex=1.125)


###################################################
### code chunk number 15: M5201cv10.Rnw:619-632
###################################################
getOption("SweaveHooks")[["fig"]]()
tt<-as.vector(time(xts))
xx<-as.vector(xts)
fit<-fitted(M1)
tr<-rep(M1.mj,each=d,length.out=n)
ylim<-range(range(xx),range(fit),tr)
par(mfrow=c(1,1),mar=c(2,2,2,0)+0.5)
plot(tt,xx,type="o",pch=20,col="black",ylim=ylim)
lines(tt,fit,type="o",pch=22,col="red",bg="yellow",cex=0.85)
lines(tt,tr,type="s",col="dodgerblue",lwd=2)
abline(v=as.numeric(as.character(levels(data$grY))),col="gray",lty=2)
legend(par("usr")[1],par("usr")[4],bty="n",
       legend=c("puvodni","odhady"),lty=c(1,1),
       pch=c(20,22),bg=c("black","yellow"),col=c("black","red"))


###################################################
### code chunk number 16: M5201cv10.Rnw:684-687
###################################################
M1m<-lm(x~grY+grS,data,contrasts=list(grY=contr.sum,grS=contr.sum))
summary(M1m)
anova(M1m)


###################################################
### code chunk number 17: M5201cv10.Rnw:715-717
###################################################
 M1m.terms<-predict(M1m,type="terms")
str(M1m.terms)


###################################################
### code chunk number 18: M5201cv10.Rnw:727-731
###################################################
pom<-cbind(M1m.terms,M1m.terms[,1]+M1m.terms[,2]+attr(M1m.terms,"constant"),
fitted(M1m))
colnames(pom)<-c(colnames(M1m.terms),"grY+grS+constant","fitted(M1m)")
print(pom[1:6,])


###################################################
### code chunk number 19: M5201cv10.Rnw:739-741
###################################################
(M1m.sk<-M1m.terms[1:d,2])
(M1m.mj<-attr(M1m.terms,"constant")+M1m.terms[seq(1,n,d),1])


###################################################
### code chunk number 20: M5201cv10.Rnw:750-759
###################################################
getOption("SweaveHooks")[["fig"]]()
SK<-M1m.sk
nf<-layout(matrix(c(1,2),nrow=1),width=c(2.75,1.25))
#layout.show(nf)
txtS<-paste("S",1:length(SK)," =",sep="")
par(mar=c(2,2,0,0)+0.05)
plot(1:length(SK),SK,type="o")
plot(c(0,1),c(0,length(SK)),type="n",axes=FALSE)
text(rep(0,length(SK)),rev(1:length(SK)),txtS,adj=c(0,1),cex=1.125)
text(rep(1,length(SK)),rev(1:length(SK)),round(SK),adj=c(1,1),cex=1.125)


###################################################
### code chunk number 21: M5201cv10.Rnw:774-787
###################################################
getOption("SweaveHooks")[["fig"]]()
fit<-fitted(M1m)
#tr<-attr(M1m.terms,"constant")+rep(M1m.mj,each=d,length.out=n)
tr<-rep(M1m.mj,each=d,length.out=n)
ylim<-range(range(xx),range(fit),tr)
par(mfrow=c(1,1),mar=c(2,2,2,0)+0.5)
plot(tt,xx,type="o",pch=20,col="black",ylim=ylim)
lines(tt,fit,type="o",pch=22,col="red",bg="yellow",cex=0.85)
lines(tt,tr,type="s",col="dodgerblue",lwd=2)
abline(v=as.numeric(as.character(levels(data$grY))),col="gray",lty=2)
abline(h=attr(M1m.terms,"constant"),lty=2,col="gray35")
legend(par("usr")[1],par("usr")[4],bty="n",
       legend=c("puvodni","odhady"),lty=c(1,1),
       pch=c(20,22),bg=c("black","yellow"),col=c("black","red"))


###################################################
### code chunk number 22: M5201cv10.Rnw:801-802
###################################################
cbind(fitted(M1),fitted(M1m))[1:6,]


###################################################
### code chunk number 23: M5201cv10.Rnw:915-916
###################################################
set.seed(528)


###################################################
### code chunk number 24: M5201cv10.Rnw:919-921
###################################################
Sarima.sim<-my.sarima.sim(n=25,period=12,sd=sqrt(1.75),model=list(ma=-0.5,order=c(0,1,1)),
    seasonal=list(ma=-0.7, order=c(0,1,1)))


###################################################
### code chunk number 25: M5201cv10.Rnw:927-928
###################################################
getOption("SweaveHooks")[["fig"]]()
plot(Sarima.sim, bands=TRUE)


###################################################
### code chunk number 26: M5201cv10.Rnw:938-939
###################################################
getOption("SweaveHooks")[["fig"]]()
eda.ts(Sarima.sim, bands=TRUE)


###################################################
### code chunk number 27: M5201cv10.Rnw:952-955
###################################################
sarima.fit<-arima(Sarima.sim,order=c(0,1,1),
                  seasonal=list(order=c(0,1,1),period=12))
print(sarima.fit)


###################################################
### code chunk number 28: M5201cv10.Rnw:965-966
###################################################
getOption("SweaveHooks")[["fig"]]()
tsdiag(sarima.fit)


###################################################
### code chunk number 29: M5201cv10.Rnw:981-985
###################################################
getOption("SweaveHooks")[["fig"]]()
fileFun<-paste(data.library,"FunkceM5201.R",sep="")
source(fileFun)
par(mfrow=c(1,1),mar=c(2,2,1,0)+0.05)
PlotPredictARIMA(Sarima.sim,sarima.fit,n.ahead=24)


###################################################
### code chunk number 30: M5201cv10.Rnw:1000-1003
###################################################
library(forecast)
sarima.fitF<-auto.arima(Sarima.sim,trace=TRUE)
print(sarima.fitF)


###################################################
### code chunk number 31: M5201cv10.Rnw:1014-1016
###################################################
getOption("SweaveHooks")[["fig"]]()
par(mfrow=c(1,1),mar=c(2,2,1,0)+0.05)
plot(forecast(sarima.fitF),n=24)


