spPredict | R Documentation |
The function spPredict
collects posterior predictive samples
for a set of new locations given a spLM
, spMvLM
,
spGLM
, spMvGLM
,
spMisalignLM
, spMisalignGLM
,
bayesGeostatExact
, bayesLMConjugate
bayesLMRef
or spSVC
object.
spPredict(sp.obj, pred.coords, pred.covars, joint=FALSE, start=1, end, thin=1, verbose=TRUE, n.report=100, n.omp.threads=1, ...)
sp.obj |
an object returned by |
pred.coords |
for |
pred.covars |
for |
joint |
specifies whether posterior samples should be drawn
from the joint or point-wise predictive distribution. This argument is only
implemented for |
start |
specifies the first sample included in the composition sampling. |
end |
specifies the last sample included in the composition.
The default is to use all posterior samples in |
thin |
a sample thinning factor. The default of 1 considers all
samples between |
verbose |
if |
n.report |
the interval to report sampling progress. |
n.omp.threads |
a positive integer indicating
the number of threads to use for SMP parallel processing. The package must
be compiled for OpenMP support. For most Intel-based machines, we
recommend setting |
... |
currently no additional arguments. |
p.y.predictive.samples |
a matrix that holds the response variable(s) posterior
predictive samples. For multivariate models For For For |
p.w.predictive.samples |
a matrix organized the same as
|
p.w.predictive.samples.list |
only returned for
|
p.tilde.beta.predictive.samples.list |
only returned for
|
center.scale.pred.covars |
only returned for the
|
Andrew O. Finley finleya@msu.edu,
Sudipto Banerjee sudipto@ucla.edu
Banerjee, S., Carlin, B.P., and Gelfand, A.E. (2004). Hierarchical modeling and analysis for spatial data. Chapman and Hall/CRC Press, Boca Raton, FL.
Finley, A.O., S. Banerjee, and A.E. Gelfand. (2015) spBayes for large univariate and multivariate point-referenced spatio-temporal data models. Journal of Statistical Software, 63:1–28. https://www.jstatsoft.org/article/view/v063i13.
Finley, A.O. and S. Banerjee (2019) Bayesian spatially varying coefficient models in the spBayes R package. https://arxiv.org/abs/1903.03028.
## Not run: rmvn <- function(n, mu=0, V = matrix(1)){ p <- length(mu) if(any(is.na(match(dim(V),p)))) stop("Dimension problem!") D <- chol(V) t(matrix(rnorm(n*p), ncol=p)%*%D + rep(mu,rep(n,p))) } set.seed(1) n <- 200 coords <- cbind(runif(n,0,1), runif(n,0,1)) X <- as.matrix(cbind(1, rnorm(n))) B <- as.matrix(c(1,5)) p <- length(B) sigma.sq <- 10 tau.sq <- 0.01 phi <- 3/0.5 D <- as.matrix(dist(coords)) R <- exp(-phi*D) w <- rmvn(1, rep(0,n), sigma.sq*R) y <- rnorm(n, X%*%B + w, sqrt(tau.sq)) ##partition the data for out of sample prediction mod <- 1:100 y.mod <- y[mod] X.mod <- X[mod,] coords.mod <- coords[mod,] n.samples <- 1000 starting <- list("phi"=3/0.5, "sigma.sq"=50, "tau.sq"=1) tuning <- list("phi"=0.1, "sigma.sq"=0.1, "tau.sq"=0.1) priors <- list("beta.Flat", "phi.Unif"=c(3/1, 3/0.1), "sigma.sq.IG"=c(2, 5), "tau.sq.IG"=c(2, 0.01)) cov.model <- "exponential" m.1 <- spLM(y.mod~X.mod-1, coords=coords.mod, starting=starting, tuning=tuning, priors=priors, cov.model=cov.model, n.samples=n.samples) m.1.pred <- spPredict(m.1, pred.covars=X, pred.coords=coords, start=0.5*n.samples) y.hat <- apply(m.1.pred$p.y.predictive.samples, 1, mean) quant <- function(x){quantile(x, prob=c(0.025, 0.5, 0.975))} y.hat <- apply(m.1.pred$p.y.predictive.samples, 1, quant) plot(y, y.hat[2,], pch=19, cex=0.5, xlab="observed y", ylab="predicted y") arrows(y[-mod], y.hat[2,-mod], y[-mod], y.hat[1,-mod], angle=90, length=0.05) arrows(y[-mod], y.hat[2,-mod], y[-mod], y.hat[3,-mod], angle=90, length=0.05) ## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.