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}}
S Ellison
2017-Aug-08 12:48 UTC
[R] Latin hypercube sampling from a non-uniform distribution
> However, my variable is simulated from the cumulative distribution function > of the Poisson distribution.Then I am afraid I don't know what you're trying to achieve. Or why. However, the principle holds; write a function that maps [0,1] to the 'pattern' you want, do that and apply it to the result from randomLHS. It happens that for generating data that follow a given probability distribution F, that function is the quantile function for F so you often do not need to write it. ******************************************************************* This email and any attachments are confidential. Any use...{{dropped:8}}
Marine Regis
2017-Aug-08 22:41 UTC
[R] Latin hypercube sampling from a non-uniform distribution
Thanks for your answer. I have attached the plot for representing the variable. I think that I need to draw a Hypercube sample for each age class (i.e., for 0, 1, 2, 3, 4, 5, 6, 7) in a given simulation (i.e., N = 1) and the LHS values for all age classes should be like the observed cumulative distribution (see attached figure). Thus, the output of randomLHS should be a matrix with 100 rows (N = 100 simulations) and 7 columns (7 age classes) containing LHS values and each row should exhibit the same pattern as the observed cumulative distribution. With the command ?qpois(X[, "mortality_probability"], 0.9)?, I don?t obtain a LHS value for each age class and the distribution is not a cumulative distribution as in the attached figure. So, I am afraid I don?t know how to do that. Thanks so much for your time Marine ________________________________ De : S Ellison <S.Ellison at LGCGroup.com> Envoy? : mardi 8 ao?t 2017 14:48 ? : Marine Regis; r-help at r-project.org Objet : RE: Latin hypercube sampling from a non-uniform distribution> However, my variable is simulated from the cumulative distribution function > of the Poisson distribution.Then I am afraid I don't know what you're trying to achieve. Or why. However, the principle holds; write a function that maps [0,1] to the 'pattern' you want, do that and apply it to the result from randomLHS. It happens that for generating data that follow a given probability distribution F, that function is the quantile function for F so you often do not need to write it. ******************************************************************* 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 -------------- next part -------------- A non-text attachment was scrubbed... Name: Rplot.png Type: image/png Size: 5579 bytes Desc: Rplot.png URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20170808/6252fb45/attachment.png>
Maybe Matching 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 with a condition