Description Usage Arguments Value Author(s) References Examples
Calculates continuous domain excursion and credible contour sets
1 2 3 4 5 6 7 8 9 | continuous(
ex,
geometry,
alpha,
method = c("log", "linear", "step"),
output = c("sp", "inla"),
subdivisions = 1,
calc.credible = TRUE
)
|
ex |
An |
geometry |
Specification of the lattice or triangulation geometry of the input.
One of |
alpha |
The target error probability. A warning is given if it is detected
that the information |
method |
The spatial probability interpolation transformation method to use.
One of |
output |
Specifies what type of object should be generated. |
subdivisions |
The number of mesh triangle subdivisions to perform for the
interpolation of the excursions or contour function. 0 is no subdivision.
The setting has a small effect on the evaluation of |
calc.credible |
Logical, if TRUE (default), calculate credible contour region objects in addition to avoidance sets. |
A list:
M |
|
F |
Interpolated F function. |
G |
Contour and inter-level set indices for the interpolation. |
F.geometry |
Mesh geometry for the interpolation. |
P0 |
P0 measure based on interpolated F function (only for |
Finn Lindgren finn.lindgren@gmail.com
Bolin, D. and Lindgren, F. (2017) Quantifying the uncertainty of contour maps, Journal of Computational and Graphical Statistics, vol 26, no 3, pp 513-524.
Bolin, D. and Lindgren, F. (2018), Calculating Probabilistic Excursion Sets and Related Quantities Using excursions, Journal of Statistical Software, vol 86, no 1, pp 1-20.
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 46 47 | ## Not run:
if (require.nowarnings("INLA")) {
#Generate mesh and SPDE model
n.lattice = 10 #Increase for more interesting, but slower, examples
x=seq(from=0,to=10,length.out=n.lattice)
lattice=inla.mesh.lattice(x=x,y=x)
mesh=inla.mesh.create(lattice=lattice, extend=FALSE, refine=FALSE)
spde <- inla.spde2.matern(mesh, alpha=2)
#Generate an artificial sample
sigma2.e = 0.01
n.obs=100
obs.loc = cbind(runif(n.obs)*diff(range(x))+min(x),
runif(n.obs)*diff(range(x))+min(x))
Q = inla.spde2.precision(spde, theta=c(log(sqrt(0.5)), log(sqrt(1))))
x = inla.qsample(Q=Q)
A = inla.spde.make.A(mesh=mesh,loc=obs.loc)
Y = as.vector(A %*% x + rnorm(n.obs)*sqrt(sigma2.e))
## Calculate posterior
Q.post = (Q + (t(A) %*% A)/sigma2.e)
mu.post = as.vector(solve(Q.post,(t(A) %*% Y)/sigma2.e))
vars.post = excursions.variances(chol(Q.post))
## Calculate contour map with two levels
map = contourmap(n.levels = 2, mu = mu.post, Q = Q.post,
alpha=0.1, F.limit = 0.1,max.threads=1)
## Calculate the continuous representation
sets <- continuous(map, mesh, alpha=0.1)
## Plot the results
reo = mesh$idx$lattice
cols = contourmap.colors(map, col=heat.colors(100, 1),
credible.col = grey(0.5, 1))
names(cols) = as.character(-1:2)
par(mfrow = c(2,2))
image(matrix(mu.post[reo],n.lattice,n.lattice),
main="mean",axes=FALSE)
image(matrix(sqrt(vars.post[reo]),n.lattice,n.lattice),
main="sd", axes = FALSE)
image(matrix(map$M[reo],n.lattice,n.lattice),col=cols,axes=FALSE)
idx.M = setdiff(names(sets$M), "-1")
plot(sets$M[idx.M], col=cols[idx.M])
}
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.