Nelly Reduan
2017-May-26 15:55 UTC
[R] Latin Hypercube Sampling when parameters are defined according to specific probability distributions
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]]