getwd()
paste(getwd(), "/Hybrid_Matern/Implementation_hybrid_matern.R")
paste(getwd(), "/Hybrid_Matern/Implementation_hybrid_matern.R", sep="")
source(paste(getwd(), "/Hybrid_Matern/Implementation_hybrid_matern.R", sep=""))
library(DiceKriging) ###Use to estimate the smoothness parameters
install.packages("DiceKriging")
library(DiceKriging) ###Use to estimate the smoothness parameters
fit<-km(formula=~1, design=x=xf, response=y=yf, covtype="powexp",
lower=1e-10, upper=10)
fit<-km(formula=~1, design=x=xf, response=y=yf, covtype="powexp", lower=1e-10, upper=10)
?km
fit<-km(formula=~1, design=xf, response=yf, covtype="powexp", lower=1e-10, upper=10)
paste(getwd(), "/data/x100.txt", sep="")
getwd()
dp=5
x1=read.table(paste(getwd(), "/data/x100.txt", sep=""),header=F)
colnames(x1)=paste('x',c(1:5),sep='')
y1=read.table(paste(getwd(), "/data/logy100.txt", sep=""), header=F)[,2]
x2=read.table(paste(getwd(), "/data/x150.txt", sep=""),header=F)
colnames(x2)=paste('x',c(1:5),sep='')
y2=read.table(paste(getwd(), "/data/logy150.txt", sep=""), header=F)[,2]
set.seed(100+69)
tst=sample(1:150,100,replace=F)
xf=x2[tst,]
rownames(xf)=c(1:100)
yf=data.frame(y=y2[tst])
rownames(yf)=c(1:100)
xp=rbind(x1,x2[-tst,])
rownames(xp)=c(1:150)
yp=data.frame(y=c(y1,y2[-tst]))
source(paste(getwd(), "/Hybrid_Matern/Implementation_hybrid_matern.R", sep=""))
library(DiceKriging) ###Use to estimate the smoothness parameters
dim(xf)
dim(yf)
dim(yp)
dim(xp)
fit<-km(formula=~1, design=xf, response=yf, covtype="powexp", lower=1e-10, upper=10)
############# Read the data
dp=5
x1=read.table(paste(getwd(), "/data/x100.txt", sep=""),header=F)
colnames(x1)=paste('x',c(1:5),sep='')
y1=read.table(paste(getwd(), "/data/logy100.txt", sep=""), header=F)[,2]
x2=read.table(paste(getwd(), "/data/x150.txt", sep=""),header=F)
colnames(x2)=paste('x',c(1:5),sep='')
y2=read.table(paste(getwd(), "/data/logy150.txt", sep=""), header=F)[,2]
############ Get the training set and hold-out set.
set.seed(100+69)
tst=sample(1:150,100,replace=F)
#######training set, randomely sample 100 from 150, n=100
xf=x2[tst,]
rownames(xf)=c(1:100)
yf=data.frame(y=y2[tst])
rownames(yf)=c(1:100)
######## Hold-out set, 100+50 = 150, m=150
xp=rbind(x1,x2[-tst,])
rownames(xp)=c(1:150)
yp=data.frame(y=c(y1,y2[-tst]))
source(paste(getwd(), "/Hybrid_PowExp/Implementation_hybrid_powexp.R", sep=""))
alpha = c(1.0086779, 2, 1.7810691, 1.9886917, 1.8338945)
d
fit_h<-runBMCMC(nmcmc=10000,burn=4000,thin=10,x,y,xtest1, lambda.ini=rep(0.5,dp),
lambda.w.ini=rep(0.1, dp), alpha)
source(paste(getwd(), "/Hybrid_PowExp/Implementation_hybrid_powexp.R", sep=""))
########smoothness parameters
alpha = c(1.0086779, 2, 1.7810691, 1.9886917, 1.8338945)
########Fit the model
fit_h<-runBMCMC(nmcmc=10000,burn=4000,thin=10,x=xf,y=yf,xtest1=xp, lambda.ini=rep(0.5,dp),
lambda.w.ini=rep(0.1, dp), alpha)
print(fit_h$pred.y)
print(fit_h$pred.var)
print(sqrt(sum((fit_h$pred.y-yp$y)^2)/length(yp$y)))
print(sqrt(sum((fit_h$pred.y-yp$y)^2)/length(yp$y)))
print(sqrt(sum((fit_h$pred.y-yp$y)^2)/length(yp$y))/sqrt(sum((mean(yf$y)-yp$y)^2)/length(yp$y)))
source(paste(getwd(), "/Full_PowExp/Implementation_full_powexp.R", sep=""))
fit_f<-runBMCMC(nmcmc=10000,burn=4000,thin=10,x = xf,y = yf,xtest1 = xp, lambda.ini=rep(0.5,d),
lambda.w.ini=rep(0.1, d), gamma.ini=rep(5, d), gamma.w.ini=rep(20, d))
fit_f<-runBMCMC(nmcmc=10000,burn=4000,thin=10,x = xf,y = yf,xtest1 = xp, lambda.ini=rep(0.5,dp),
lambda.w.ini=rep(0.1, dp), gamma.ini=rep(5, dp), gamma.w.ini=rep(20, dp))
print(fit_f$pred.y)
print(fit_f$pred.var)
print(sqrt(sum((fit_f$pred.y-yp$y)^2)/length(yp$y)))
print(sqrt(sum((fit_f$pred.y-yp$y)^2)/length(yp$y))/sqrt(sum((mean(yf$y)-yp$y)^2)/length(yp$y)))
source(paste(getwd(), "/Hybrid_Matern/Implementation_hybrid_matern.R", sep=""))
cp = c(0, 2, 1, 1, 1)
fit_m<-runBMCMC(nmcmc=10000,burn=4000,thin=10,x=xf,y=yf,xtest1=xp,
lambda.ini=rep(0.5, 5), lambda.w.ini=rep(0.1, 5), cp)
print(fit_m$pred.y)
print(sqrt(sum((fit_m$pred.y-yp$y)^2)/length(yp$y)))
print(sqrt(sum((fit_m$pred.y-yp$y)^2)/length(yp$y))/sqrt(sum((mean(yf$y)-yp$y)^2)/length(yp$y)))
getwd()
getwd()
knitr::opts_chunk$set(echo = TRUE)
dp=5
x1=read.table(paste(getwd(), "/data/x100.txt", sep=""),header=F)
colnames(x1)=paste('x',c(1:5),sep='')
y1=read.table(paste(getwd(), "/data/logy100.txt", sep=""), header=F)[,2]
x2=read.table(paste(getwd(), "/data/x150.txt", sep=""),header=F)
colnames(x2)=paste('x',c(1:5),sep='')
y2=read.table(paste(getwd(), "/data/logy150.txt", sep=""), header=F)[,2]
set.seed(100+69)
tst=sample(1:150,100,replace=F)
xf=x2[tst,]
rownames(xf)=c(1:100)
yf=data.frame(y=y2[tst])
rownames(yf)=c(1:100)
