# sim.dpp.modal.seq: Draw sequential samples from the conditional DPP given... In demu: Optimal Design Emulators via Point Processes

## Description

sim.dpp.modal.seq() is similar to sim.dpp.modal but sequentially selects n additional points to add to the design given that the points in curpts are alread in the design from previous sequential iterations. It implements the DPP-based design emulator of Pratola et al. (2018) to draw a sequential sample of n-run additional optimal design points for a Gaussian process regression model with correlation function r(x,x^\prime), where the entries of R are formed by evaluating r(x,x^\prime) over a grid of candidate locations. As is typical, R is formed based on all of the candidate grid points.

## Usage

 1 sim.dpp.modal.seq(curpts, R, n) 

## Arguments

 curpts A vector of indices to the candidate points that already appear in the design. R A correlation matrix evaluated over a grid of candidate design sites. n Size of the design to sample.

## Details

For more details on the method, see Pratola et al. (2018). Detailed examples demonstrating the method are available at http://www.matthewpratola.com/software.

## Value

A vector of indices to add to the existing design sites.

## References

Pratola, Matthew T., Lin, C. Devon, and Craigmile, Peter. (2018) Optimal Design Emulators: A Point Process Approach. arXiv:1804.02089.

demu-package sim.dpp.modal sim.dpp.modal.fast
  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 library(demu) n1=3 n2=3 n3=3 rho=rep(1e-10,2) ngrid=10 x=seq(0,1,length=ngrid) X=as.matrix(expand.grid(x,x)) l.d=makedistlist(X) # Initial design R=rhomat(l.d,rho)$R pts.1=sim.dpp.modal(R,n1) pts.1.proj=remove.projections(pts.1,X) # Next sequential step, removing projections pts.2=sim.dpp.modal.seq(pts.1.proj$allpts,R,n2) design=c(pts.1,pts.2$pts.new) pts.2.proj=remove.projections(design,X) # Next sequential step, removing projections pts.3=sim.dpp.modal.seq(pts.2.proj$allpts,R,n3) design=c(design,pts.3$pts.new) # Or, starting with the initial design, don't remove projections pts.2=sim.dpp.modal.seq(pts.1,R,n2) designB=c(pts.1,pts.2$pts.new) pts.3=sim.dpp.modal.seq(designB,R,n3) designB=c(designB,pts.3\$pts.new) # Plot the result: #par(mfrow=c(1,3)) #plot(X,xlim=c(0,1),ylim=c(0,1),main="Initial Design") #points(X[pts.1,],pch=20,cex=2) # #plot(X,xlim=c(0,1),ylim=c(0,1),main="+3x2 remove projections") #points(X[design,],pch=20,cex=2) # #plot(X,xlim=c(0,1),ylim=c(0,1),main="+3x2 not removing projections") #points(X[designB,],pch=20,cex=2)