# NOT RUN {
#Examine Data
summary(ContrivedData)
#Initial OLS Model
contrived.ols<-lm(y~x.1+x.2,data=ContrivedData);summary(contrived.ols)
#Define Covariate Matrix
covariates<-cbind(1,ContrivedData$x.1,ContrivedData$x.2)
#set seed
set.seed(1241060320)
#For simple illustration, we set to few iterations.
#In this case, a 10,000-iteration run converges to the true parameters.
#If you have considerable time and hardware, delete the # on the next line.
#10,000 iterations took 39 min. with 8 GB RAM & a 1.5 GHz Quad-Core processor.
M<-8
#M<-10000
#Run the Full Model
contrived.run<-metropolis.krige(y=ContrivedData$y,X=covariates,range.tol=0.05,
east=ContrivedData$s.1,north=ContrivedData$s.2,mcmc.samples=M)
#Delete 20% for Burn-In
contrived.run<-contrived.run[(ceiling(0.2*M)+1):M,]
#examine results against true coefficients
TRUTH<-c(0.5,2.5,0.5,0,1,2)
rbind(apply(contrived.run,2,quantile,c(.5,.05,.95)),TRUTH)
#Predictive Data for Three Hypothetical people
euler<-c(1,0.2,0.7)
archimedes<-c(1,0.3,0.1)
pythagoras<-c(1,0.1,0.4)
mathematicians<-rbind(euler,archimedes,pythagoras)
basel<-c(0.1,0.8)
sicily<-c(0.4,0.1)
samos<-c(0.1,0.4)
new.locations<-rbind(basel,sicily,samos)
colnames(new.locations)<-c("eastings","northings")
# Make predictions from median parameter values:
median.pred<-krige.pred(pred.x=mathematicians,
pred.east=new.locations[,"eastings"],pred.north=new.locations[,"northings"],
train.y=ContrivedData$y,train.x=covariates,train.east=ContrivedData$s.1,
train.north=ContrivedData$s.2,mcmc.iter=contrived.run)
median.pred
# Make predictions with 90% credible intervals:
cred.pred<-krige.pred(pred.x=mathematicians,
pred.east=new.locations[,"eastings"],pred.north=new.locations[,"northings"],
train.y=ContrivedData$y,train.x=covariates,train.east=ContrivedData$s.1,
train.north=ContrivedData$s.2,mcmc.iter=contrived.run,credible=0.9)
cred.pred
# }
Run the code above in your browser using DataLab