simulate {RobustGaSP} | R Documentation |
Sample for Robust GaSP model
Description
Function to sample Robust GaSP after the Robust GaSP model has been constructed.
Usage
## S4 method for signature 'rgasp'
simulate(object, testing_input, num_sample=1,
testing_trend= matrix(1,dim(testing_input)[1],1),
r0=NA,rr0=NA,sample_data=T,...)
Arguments
object |
an object of class |
testing_input |
a matrix containing the inputs where the |
num_sample |
number of samples one wants. |
testing_trend |
a matrix of mean/trend for prediction. |
r0 |
the distance between input and testing input. If the value is |
rr0 |
the distance between testing input and testing input. If the value is |
sample_data |
a boolean value. If |
... |
Extra arguments to be passed to the function (not implemented yet). |
Value
The returned value is a matrix
where each column is a sample on the prespecified inputs.
Author(s)
Mengyang Gu [aut, cre], Jesus Palomo [aut], James Berger [aut]
Maintainer: Mengyang Gu <mengyang@pstat.ucsb.edu>
References
M. Gu. (2016). Robust uncertainty quantification and scalable computation for computer models with massive output. Ph.D. thesis. Duke University.
Examples
#------------------------
# a 1 dimensional example
#------------------------
###########1dim higdon.1.data
p1 = 1 ###dimensional of the inputs
dim_inputs1 <- p1
n1 = 15 ###sample size or number of training computer runs you have
num_obs1 <- n1
input1 = 10*matrix(runif(num_obs1*dim_inputs1), num_obs1,dim_inputs1) ##uniform
#####lhs is better
#library(lhs)
#input1 = 10*maximinLHS(n=num_obs1, k=dim_inputs1) ##maximin lhd sample
output1 = matrix(0,num_obs1,1)
for(i in 1:num_obs1){
output1[i]=higdon.1.data (input1[i])
}
m1<- rgasp(design = input1, response = output1, lower_bound=FALSE)
#####locations to samples
testing_input1 = seq(0,10,1/50)
testing_input1=as.matrix(testing_input1)
#####draw 10 samples
m1_sample=simulate(m1,testing_input1,num_sample=10)
#####plot these samples
matplot(testing_input1,m1_sample, type='l',xlab='input',ylab='output')
lines(input1,output1,type='p')