Learn R Programming

RandomFields (version 3.0.35)

ExtremalGaussian: Extremal Gaussian process

Description

RPschlather defines an extremal Gaussian process.

Usage

RPschlather(phi, tcf, xi, mu, s)

Arguments

phi
an RMmodel, see Details.
tcf
an RMmodel specifying the extremal correlation function; either phi or tcf must be given.
xi,mu,s
the extreme value index, the location parameter and the scale parameter, respectively, of the generalized extreme value distribution. See Details.

Details

The argument xi is always a number, i.e. $\xi$ is constant in space. In contrast, $\mu$ and $s$ might be constant numerical value or given a RMmodel, in particular by a RMtrend model. The default values of $mu$ and $s$ are $1$ and $z\xi$, respectively.

The argument phi can be any random field for which the expectation of the positive part is known at the origin.

It simulates Extremal Gaussian process $Z$ (also called Schlather model), which is defined by $$Z(x) = \max_{i=1}^\infty X_i \max(0, Y_i(x)),$$ where the $X_i$ are the points of a Poisson point process on the positive real half-axis with intensity $c x^{-2} dx$, $Y_i \sim Y$ are iid stationary Gaussian processes with a covariance function given by model, and $c$ is chosen such that $Z$ has standard Frechet margins. model must represent a stationary covariance model.

See Also

RMmodel, RPgauss, maxstable, maxstableAdvanced

Examples

Run this code
RFoptions(seed=0, xi=0)
## seed=0: *ANY* simulation will have the random seed 0; set
##         RFoptions(seed=NA) to make them all random again
## xi=0: any simulated max-staable random field has extreme value index 0

x <- seq(0, 2, if (interactive()) 0.01 else 1)

## standard use of RPschlather (i.e. a standardized Gaussian field)
model <- RMgauss()
z1 <- RFsimulate(RPschlather(model), x)
plot(z1, type="l")


## the following refers to the generalized use of RPschlather, where
## any random field can be used. Note that 'z1' and 'z2' have the same
## margins and the same .Random.seed (and the same simulation method),
## hence the same values
model <- RPgauss(RMgauss(var=2))
z2 <- RFsimulate(RPschlather(model), x)
plot(z2, type="l")
all.equal(z1, z2) # true

## Note that the the following defintion is incorrect
try(RFsimulate(model=RPschlather(RMgauss(var=2)), x=x))


## check whether the marginal distribution (Gumbel) is indeed correct:
model <- RMgauss()
n <- if (interactive()) 100 else 1
z <- RFsimulate(RPschlather(model, xi=0), x, n=n)
plot(z)
hist(unlist(z@data), 50, freq=FALSE)
curve(exp(-x) * exp(-exp(-x)), from=-3, to=8, add=TRUE) 


FinalizeExample()

Run the code above in your browser using DataLab