RRrectangular: Random scaling used with balls

Description Usage Arguments Details Value See Also Examples

View source: R/RMmodels.R

Description

Approximates an isotropic decreasing density function by a density function that is isotropic with respect to the l_1 norm.

Usage

1
2
RRrectangular(phi, safety, minsteplen, maxsteps, parts, maxit,
             innermin, outermax, mcmc_n, normed, approx, onesided) 

Arguments

phi

a shape function; it is the user's responsibility that it is non-negative. See Details.

safety, minsteplen, maxsteps, parts, maxit, innermin, outermax, mcmc_n

Technical arguments to run an algorithm to simulate from this distribution. See RFoptions for the default values.

normed

logical. If FALSE then the norming constant c in the Details is set to 1. This affects the values of the density function, the probability distribution and the quantile function, but not the simulation of random variables.

approx

logical. Default is TRUE. If TRUE the isotropic distribution with respect to the l_1 norm is returned. If FALSE then the exact isotropic distribution with respect to the l_2 norm is simulated. Neither the density function, nor the probability distribution, nor the quantile function will be available if approx=TRUE.

onesided

logical. Only used for univariate distributions. If TRUE then the density is assumed to be non-negative only on the positive real axis. Otherwise the density is assumed to be symmetric.

Details

This model defines an isotropic density function $f$ with respect to the l_1 norm, i.e. f(x) = c φ(\|x\|_{l_1}) with some function φ. Here, c is a norming constant so that the integral of f equals one.

In case that φ is monotonically decreasing then rejection sampling is used, else MCMC.

The function φ might have a polynomial pole at the origin and asymptotical decreasing of the form x^β exp(-x^δ).

Value

RRrectangular returns an object of class RMmodel.

See Also

RMmodel, RRdistr, RRgauss.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
RFoptions(seed=0) ## *ANY* simulation will have the random seed 0; set
##                   RFoptions(seed=NA) to make them all random again
# simulation of Gaussian variables (in a not very straightforward way):
distr <- RRrectangular(RMgauss(), approx=FALSE)
z <- RFrdistr(distr, n=1000000)
hist(z, 200, freq=!TRUE)
x <- seq(-10, 10, 0.1)
lines(x, dnorm(x, sd=sqrt(0.5)))


#creation of random variables whose density is proportional
# to the spherical model:
distr <- RRrectangular(RMspheric(), approx=FALSE)
z <- RFrdistr(distr, n=1000000)
hist(z, 200, freq=!TRUE)

x <- seq(-10, 10, 0.01)
lines(x, 4/3 * RFcov(RMspheric(), x))

RandomFields documentation built on Jan. 19, 2022, 1:06 a.m.