
This function generates realisations from a max-linear model.
rmaxlin(n, coord, cov.mod = "gauss", dsgn.mat, grid = FALSE, p = 500,
...)
Integer. The number of observations.
A vector or matrix that gives the coordinates of each
location. Each row corresponds to one location - if any. May be
missing if dsgn.mat
is specified.
A character string that specifies the max-linear
model. Currently only the discretized Smith model is implemented,
i.e., cov.mod = "gauss"
.
The design matrix of the max-linear model --- see
Section Details. May be missing if coord
and cov.mod
are given.
Logical. Does coord
defines a grid?
An integer corresponding to the number of unit Frechet random variable used in the max-linear model --- see Section Details.
The parameters of the max-stable model --- see Section Details.
A matrix containing observations from the max-linear model. Each
column represents one stations. If grid = TRUE
, the function
returns an array of dimension nrow(coord) x nrow(coord) x n.
A max-linear process
Currently only the discretized Smith model is implemented for which
var
for one dimensional processes, and
cov11
, cov12
, cov22
for two dimensional
processes.
Wang, Y. and Stoev, S. A. (2011) Conditional Sampling for Max-Stable Random Fields. Advances in Applied Probability.
# NOT RUN {
## A one dimensional simulation from a design matrix. This design matrix
## corresponds to a max-moving average process MMA(alpha)
n.site <- 250
x <- seq(-10, 10, length = n.site)
## Build the design matrix
alpha <- 0.8
dsgn.mat <- matrix(0, n.site, n.site)
dsgn.mat[1,1] <- 1
for (i in 2:n.site){
dsgn.mat[i,1:(i-1)] <- alpha * dsgn.mat[i-1,1:(i-1)]
dsgn.mat[i,i] <- 1 - alpha
}
data <- rmaxlin(3, dsgn.mat = dsgn.mat)
matplot(x, t(log(data)), pch = 1, type = "l", lty = 1, ylab =
expression(log(Y(x))))
## One realisation from the discretized Smith model (2d sim)
x <- y <- seq(-10, 10, length = 100)
data <- rmaxlin(1, cbind(x, y), cov11 = 3, cov12 = 1, cov22 = 4, grid =
TRUE, p = 2000)
image(x, y, log(data), col = heat.colors(64))
# }
Run the code above in your browser using DataLab