[R] Latin Hypercube Sampling when parameters are defined according to specific probability distributions

Nelly Reduan nell.redu at hotmail.fr
Fri May 26 17:55:28 CEST 2017


Hello,

 I would like to perform a sensitivity analysis using a Latin Hypercube Sampling (LHS).

Among the input parameters in the model, I have a parameter “dispersal distance” which is defined according to an exponential probability distribution.

In the model, the user thus sets a default probability value for each distance class.

For example, for distances ([0 – 2]; ]2 – 4]; ]4 – 6]; ]6 – 8]; ]8 – 10];……; ]48 – 50],

respective probabilities are 0.055; 0.090; 0.065; 0.035; 0.045;………; 0.005.

 Here is the code to represent an exponential probability distribution for the parameter “dispersal distance”:

set.seed(0)
foo <- rexp(100, rate = 1/10)
hist(foo, prob=TRUE, breaks=20, ylim=c(0,0.1), xlab ="Distance (km)")
lines(dexp(seq(1, 100, by = 1), rate = 1/mean(foo)),col="red")
1/mean(foo)

When a parameter is defined according to a specific probability distribution, how can I perform a LHS ?
For example, should I sample N values from a uniform distribution for each distance class (i.e., [0 – 2]; ]2 – 4]; ]4 – 6]; ]6 – 8]; ]8 – 10];……; ]48 – 50])
or sample N values from exponential distributions with different rates ?

Here is the code used to perform a LHS when the parameter “dispersal distance” is defined by  one default value in the model:

 library(pse)

factors <- c("distance")

q <- c("qexp")

q.arg <- list( list(rate=1/30) )

uncoupledLHS <- LHS(model=NULL, factors, 50, q, q.arg)

head(uncoupledLHS)

Thanks a lot for your time.
Have a nice day
Nell



	[[alternative HTML version deleted]]



More information about the R-help mailing list