# NOT RUN {
##############################################################
##############################################################
############ Example
Funcc = function(x){
return(0.5*(6*x-2)^2*sin(12*x-4)+10*(x-0.5)-5)
}
Funcf = function(x){
z1 = Funcc(x)
z2 = 2*z1-20*x+20 + sin(10*cos(5*x))
return(z2)
}
#####################################################################
###### Nested design
#####################################################################
Dc <- seq(-1,1,0.1)
indDf <- c(1, 3, 6, 8, 10, 13, 17, 21)
zc <- Funcc(Dc)
Df <- Dc[indDf]
zf <- Funcf(Df)
input.new = as.matrix(seq(-1,1,length.out=200))
## fit and predict with the AR-Cokriging model
out = ARCokrig(formula=list(~1,~1+x1), output=list(c(zc), c(zf)),
input=list(as.matrix(Dc), as.matrix(Df)),
cov.model="matern_5_2",
input.new=input.new)
## plot results
# }
# NOT RUN {
library(ggplot2)
cokrig = out$cokrig
df.l1 = data.frame(x=c(Dc), y=c(zc))
df.l2 = data.frame(x=c(Df), y=c(zf))
CI.lower = cokrig$lower95[[2]]
CI.upper = cokrig$upper95[[2]]
df.CI = data.frame(x=c(input.new),lower=CI.lower, upper=CI.upper)
df.pred = data.frame(x=c(input.new), y=cokrig$mu[[2]])
g = ggplot(data.frame(x=c(-1,1)), aes(x)) +
stat_function(fun=Funcc, geom="line", aes(colour="level 1"), n=500) +
stat_function(fun=Funcf, geom="line", aes(colour="level 2"), n=500)
g = g + geom_point(data=df.l1, mapping=aes(x=x, y=y), shape=16, size=2, color="black") +
geom_point(data=df.l2, mapping=aes(x=x, y=y), shape=17, size=2, color="black")
g = g + geom_line(data=df.pred, aes(x=x, y=y, colour="cokriging"), inherit.aes=FALSE) +
geom_ribbon(data=df.CI, mapping=aes(x=x,ymin=lower, ymax=upper), fill="gray40",
alpha=0.3, inherit.aes=FALSE)
g = g + scale_colour_manual(name=NULL, values=c("red","blue", "turquoise3"),
breaks=c("cokriging","level 1", "level 2"))
g = g + ggtitle("A Two-Level Example") +
theme(plot.title=element_text(size=14),
axis.title.x=element_text(size=14),
axis.text.x=element_text(size=14),
axis.title.y=element_text(size=14),
axis.text.y=element_text(size=14),
legend.text = element_text(size=12),
legend.direction = "horizontal",
legend.position = c(0.6, 0.1)) + xlab("") + ylab("")
print(g)
# }
# NOT RUN {
# }
Run the code above in your browser using DataLab