Marine Regis
2017-Aug-04 16:05 UTC
[R] Latin hypercube sampling from a non-uniform distribution
Hello, I am performing a sensitivity analysis using a Latin Hypercube sampling. However, I have difficulty to draw a Hypercube sample for one variable. I?ve generated this variable from a Poisson distribution as follows: set.seed(5) mortality_probability <- round(ppois(seq(0, 7, by = 1), lambda = 0.9), 2) barplot(mortality_probability, names.arg = seq(0, 7, by = 1), xlab = "Age class", ylab = "Probability") How can I draw a Hypercube sample for the variable ?mortality_probability? so that this variable exhibits the same pattern as the observed distribution? Here is a reproducible code to draw Hypercube samples (my sensitivity analysis includes several parameters and the variables ?var1? and ?var2? follow a uniform distribution): library(lhs) set.seed(1) parm <- c("var1", "var2", "mortality_probability") X <- randomLHS(100, length(parm)) Any suggestions would be much welcome. Thanks for your time Marine [[alternative HTML version deleted]]
S Ellison
2017-Aug-07 12:36 UTC
[R] Latin hypercube sampling from a non-uniform distribution
> How can I draw a Hypercube sample for the variable mortality_probability so > that this variable exhibits the same pattern as the observed distribution?One simple way is to use the uniform random output of randomLHS as input to the quantile function for your desired distribution(s). For example: q <- randomLHS(1000, 3) colnames(q) <- c("A", "B", "mort") q[, "mort"] <- qpois(q[,"mort"], 1.5) S Ellison ******************************************************************* This email and any attachments are confidential. Any use, copying or disclosure other than by the intended recipient is unauthorised. If you have received this message in error, please notify the sender immediately via +44(0)20 8943 7000 or notify postmaster at lgcgroup.com and delete this message and any copies from your computer and network. LGC Limited. Registered in England 2991879. Registered office: Queens Road, Teddington, Middlesex, TW11 0LY, UK
Marine Regis
2017-Aug-07 21:51 UTC
[R] Latin hypercube sampling from a non-uniform distribution
Thanks for your answer. However, my variable is simulated from the cumulative distribution function of the Poisson distribution. So, the pattern obtained from the function "qpois" is not the same as the observed pattern (i.e., obtained from the function "ppois") set.seed(5) mortality_probability <- round(ppois(seq(0, 7, by = 1), lambda = 0.9), 2) barplot(mortality_probability, names.arg = seq(0, 7, by = 1), xlab = "Age class", ylab = "Probability") library(lhs) set.seed(1) parm <- c("var1", "var2", "mortality_probability") X <- randomLHS(100, length(parm)) colnames(X) <- c("var1", "var2", "mortality_probability") X[, "mortality_probability"] <- qpois(X[, "mortality_probability"], 0.9) hist(X[, "mortality_probability"]) Thanks for your time Marine ________________________________ De : S Ellison <S.Ellison at LGCGroup.com> Envoy? : lundi 7 ao?t 2017 14:36 ? : Marine Regis; r-help at r-project.org Objet : RE: Latin hypercube sampling from a non-uniform distribution> How can I draw a Hypercube sample for the variable mortality_probability so > that this variable exhibits the same pattern as the observed distribution?One simple way is to use the uniform random output of randomLHS as input to the quantile function for your desired distribution(s). For example: q <- randomLHS(1000, 3) colnames(q) <- c("A", "B", "mort") q[, "mort"] <- qpois(q[,"mort"], 1.5) S Ellison ******************************************************************* This email and any attachments are confidential. Any use...{{dropped:11}}
Possibly Parallel Threads
- Latin hypercube sampling from a non-uniform distribution
- Latin hypercube sampling from a non-uniform distribution
- Latin hypercube sampling from a non-uniform distribution
- Latin hypercube sampling from a non-uniform distribution
- Latin Hypercube Sampling when parameters are defined according to specific probability distributions