data( ozone2)
set.seed( 399)
# fit to day 16 from Midwest ozone data set.
out<- Krig( ozone2$lon.lat, ozone2$y[16,], Covariance="Matern",
theta=1.0,smoothness=1.0, na.rm=TRUE)
# NOTE theta =1.0 is not the best choice but
# allows the sim.rf circulant embedding algorithm to
# work without increasing the domain.
#six missing data locations
xp<- ozone2$lon.lat[ is.na(ozone2$y[16,]),]
# 5 draws from process at xp given the data
# this is an exact calculation
sim.Krig( out,xp, M=5)-> sim.out
# Compare: stats(sim.out)[3,] to Exact: predictSE( out, xp)
# simulations on a grid
# NOTE this is approximate due to the bilinear interpolation
# for simulating the unconditional random field.
# also more grids points ( nx and ny) should be used
sim.Krig.approx(out,M=5, nx=20,ny=20)-> sim.out
# take a look at the ensemble members.
predictSurface( out, grid= list( x=sim.out$x, y=sim.out$y))-> look
zr<- c( 40, 200)
set.panel( 3,2)
image.plot( look, zlim=zr)
title("mean surface")
for ( k in 1:5){
image( sim.out$x, sim.out$y, sim.out$z[,,k], col=tim.colors(), zlim =zr)
}
## Not run:
# # conditional simulation with covariates
# # colorado climate example
# data(COmonthlyMet)
# fit1E<- spatialProcess(CO.loc,CO.tmin.MAM.climate, Z=CO.elev )
# # conditional simulation at missing data
# good<- !is.na(CO.tmin.MAM.climate )
# infill<- sim.Krig( fit1E, xp=CO.loc[!good,], Z= CO.elev[!good], M= 100)
# # get an elevation grid ... NGRID<- 50 gives a nicer image but takes longer
# NGRID <- 25
# # get elevations on a grid
# COGrid<- list( x=seq( -109.5, -101, ,NGRID), y= seq(39, 41.5,,NGRID) )
# COGridPoints<- make.surface.grid( COGrid)
# # elevations are a bilinear interpolation from the 4km
# # Rocky Mountain elevation fields data set.
# data( RMelevation)
# COElevGrid<- interp.surface( RMelevation, COGridPoints )
# # NOTE call to sim.Krig treats the grid points as just a matrix
# # of locations the plot has to "reshape" these into a grid
# # to use with image.plot
# SEout<- sim.Krig( fit1E, xp=COGridPoints, Z= COElevGrid, M= 30)
# # for just the smooth surface in lon/lat
# # SEout<- sim.Krig( fit1E, xp=COGridPoints, drop.Z=TRUE, M= 30)
# # in practice M should be larger to reduce Monte Carlo error.
# surSE<- apply( SEout, 2, sd )
# image.plot( as.surface( COGridPoints, surSE))
# points( fit1E$x, col="magenta", pch=16)
# ## End(Not run)
## Not run:
# data( ozone2)
# y<- ozone2$y[16,]
# good<- !is.na( y)
# y<-y[good]
# x<- ozone2$lon.lat[good,]
# O3.fit<- mKrig( x,y, Covariance="Matern", theta=.5,smoothness=1.0, lambda= .01 )
# set.seed(122)
# O3.sim<- sim.mKrig.approx( O3.fit, nx=100, ny=100, gridRefinement=3, M=5 )
# set.panel(3,2)
# surface( O3.fit)
# for ( k in 1:5){
# image.plot( as.surface( O3.sim$predictionPoints, O3.sim$Ensemble[,k]) )
# }
# # conditional simulation at missing data
# xMissing<- ozone2$lon.lat[!good,]
# O3.sim2<- sim.mKrig.approx( O3.fit, xMissing, nx=80, ny=80, gridRefinement=3, M=4, verbose=TRUE )
# #check of Wendland
# O3.fit.Wendland<- mKrig( x,y, cov.function="wendland.cov", theta=.5, lambda= .01 )
# O3.sim3<- sim.mKrig.approx( O3.fit.Wendland, xMissing, nx=80, ny=80, gridRefinement=3, M=400,
# verbose=TRUE )
# O3.sim4<- sim.mKrig.approx( O3.fit.Wendland, xMissing, nx=80, ny=80, gridRefinement=3, M=400,
# verbose=TRUE, delta=O3.fit.Wendland$args$theta )
# ## End(Not run)
## Not run:
# #An example for fastTps:
# data(ozone2)
# y<- ozone2$y[16,]
# good<- !is.na( y)
# y<-y[good]
# x<- ozone2$lon.lat[good,]
# O3FitMLE<- fastTps.MLE( x,y, theta=1.5 )
# O3Obj<- fastTps( x,y, theta=1.5, lambda=O3FitMLE$lambda.MLE)
# # creating a quick grid list based on ranges of locations
# grid.list<- fields.x.to.grid( O3Obj$x, nx=100, ny=100)
# O3Sim<- sim.fastTps.approx( O3Obj,predictionPointsList=grid.list,M=5)
# # controlling the grids
# xR<- range( x[,1], na.rm=TRUE)
# yR<- range( x[,2], na.rm=TRUE)
# simulationGridList<- list( x= seq(xR[1],xR[2],,400), y= seq( yR[1],yR[2], ,400))
# # very fine localized prediction grid
# O3GridList<- list( x= seq( -90.5,-88.5,,200), y= seq( 38,40,,200))
# O3Sim<- sim.fastTps.approx( O3Obj, M=5, predictionPointsList=O3GridList,
# simulationGridList = simulationGridList, verbose=TRUE)
# # check
# plot( O3Obj$x)
# US( add=TRUE)
# image.plot( as.surface( O3GridList,O3Sim$Ensemble[,1] ), add=TRUE)
# points( O3Obj$x, pch=16, col="magenta")
# ## End(Not run)
Run the code above in your browser using DataLab