[R-sig-Geo] Unconditional simulation

Tomislav Hengl hengl at spatial-analyst.net
Tue Nov 17 11:46:15 CET 2009

Hi Nick,

Very interesting problem. At first thought, I imagined that you just want to simulate noise  ;)

In the geoR package (http://leg.ufpr.br/geoR/) there is a function to simulate Gaussian Random
Fields (uses actually RandomFields package) using various models e.g.:

> library(geoR)
Analysis of geostatistical data
For an Introduction to geoR go to http://www.leg.ufpr.br/geoR
geoR version 1.6-27 (built on 2009-10-15) is now loaded
> s <- grf(100, grid="reg", cov.pars=c(2, 0.2), cov.model="mat", kappa=1.5)
grf: generating grid  10  *  10  with  100  points
grf: process with  1  covariance structure(s)
grf: nugget effect is: tausq= 0 
grf: covariance model 1 is: matern(sigmasq=2, phi=0.2, kappa = 1.5)
grf: decomposition algorithm used is:  cholesky 
grf: End of simulation procedure. Number of realizations: 1 
> image(s, col=gray(seq(1, 0.2, l=21)))
> hist(s$data)  # normal distribution

You can also simulate a regular point sample with the same spatial structure on top of that using
either Poisson, Bernoulli or binomial models. For example, to simulate a Poisson model, you could

# define your own model, e.g. poisson:
> lambda <- exp(0.5 +s$data)
> y <- rpois(length(s$data), lambda=lambda)
> points(y)
> text(s$coords, label=y, pos=3, offset=0.3)
> hist(y)

For a uniform model, I would then use the Empirical Cumulative Distribution Function (ECDF):

# uniform distribution:
> y.cdf <- ecdf(s$data)
> y <- y.cdf(s$data)
> image(s, col=gray(seq(1, 0.2, l=21)))
> points(y)
> text(s$coords, label=y, pos=3, offset=0.3)
> hist(y)

This would then have the same spatial auto-correlation structure and 'perfectly' uniform
distribution (I might also be wrong - I do not like that a simulated variable has a perfect

I am sure that other mathematicians have maybe better ideas.


T. Hengl

> -----Original Message-----
> From: r-sig-geo-bounces at stat.math.ethz.ch [mailto:r-sig-geo-bounces at stat.math.ethz.ch] On Behalf
> Of Nick Hamm
> Sent: Tuesday, November 17, 2009 10:06 AM
> To: r-sig-geo at stat.math.ethz.ch; ai-geostats at jrc.it
> Subject: [R-sig-Geo] Unconditional simulation
> Dear all
> I want to simulate a spatially-correlated random field which follows a
> uniform rather than than Gaussian distribution.  Does anybody know a
> straight-forward way to do this?
> Nick
> _______________________________________________
> R-sig-Geo mailing list
> R-sig-Geo at stat.math.ethz.ch
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo

More information about the R-sig-Geo mailing list