Hello all, I am trying to do a Latin Hypercube Sampling (LHS) to a 5-parameter design matrix. I start as follows: library(lhs) p1<-randomLHS(1000, 5) If I check the distribution of each parameter (column), they are perfectly uniformly distributed (as expected).For example, hist(p1[,1]) Now the hard (maybe strange) question. I want the combination of the first three parameters to sum up to 1 (which obviously do not) s<-p1[,1]+p1[,2]+p1[,3] s==1 It occurred to me to divide each of these parameters with the sum (vector "s" above). However the uniform distribution is lost (example for parameter 1 - first column): par1.transf<-p1[,1]/s hist(par1.transf) So, is there a way to maintain the random LHS (with uniformly distributed parameters) so that the refered condition is fulfilled? Any suggestions would be much welcome. Thanks, Duarte
Duarte Viana <viana.sptd <at> gmail.com> writes:> > Hello all, > > I am trying to do a Latin Hypercube Sampling (LHS) to a 5-parameter > design matrix. I start as follows: > > library(lhs) > > p1<-randomLHS(1000, 5) > > If I check the distribution of each parameter (column), they are > perfectly uniformly distributed (as expected).For example, > > hist(p1[,1]) > > Now the hard (maybe strange) question. I want the combination of the > first three parameters to sum up to 1 (which obviously do not) > > s<-p1[,1]+p1[,2]+p1[,3] > > s==1 > > It occurred to me to divide each of these parameters with the sum > (vector "s" above). However the uniform distribution is lost (example > for parameter 1 - first column): > > par1.transf<-p1[,1]/s > > hist(par1.transf) > > So, is there a way to maintain the random LHS (with uniformly > distributed parameters) so that the refered condition is fulfilled? > > Any suggestions would be much welcome. > > Thanks, > > Duarte > >Duarte, In my experience with Latin hypercube samples, most people draw the sample on a uniform hypercube and then transform the uniform cube to have new distributions on the margins. The transformed distributions are not necessarily uniform. It is possible to draw a Latin hypercube with correlated margins and I hope to add that to my package in the future. I have also done transforms such that the transformed marginal distributions are correlated (as you have in your example). I have not seen a correlated set of uniform marginal distributions such that the margins sum to one, however. I'll make a quick example argument that explains the difficulty... In two dimensions, you could draw this which is uniform and correlated. x <- seq(0.05, 0.95, length=10) y <- 1-x all.equal(x+y, rep(1, length(x))) hist(x) hist(y) But in three dimensions, it is hard to maintain uniformity because large samples on the first uniform margin overweight the small samples on the other margins. x <- seq(0.05, 0.95, length=10) y <- runif(length(x), 0, 1-x) z <- 1-x-y hist(x) hist(y) hist(z) If you could explain why you want to maintain the uniformity on the margins, I might be able to suggest something different. Rob
Thanks Rob and Ravi for the replies. Let me try to explain my problem. I am trying to make a kind of sensitivity analysis where I have 5 parameters (the margins of the Latin hypercube), 3 of them are proportions that should sum to one. My idea is to obtain uniform combinations of the 3 proportion-parameters with the other two parameters. The uniformity should be maintained in order to guarantee that each parameter (out of 5) have its own range of values equally represented (for model output analyses). Theoretically the 3 proportion-parameters might be regarded as one in which the configuration of the proportions that sum to one vary. I think I can visualize it like a set of permutations, more or less like in the example below: 0.1 - 0.1 - 0.8 0.1 - 0.2 - 0.7 0.1 - 0.3 - 0.6 . . . 0.1 - 0.1 - 0.8 0.2 - 0.1 - 0.7 0.3 - 0.1 - 0.6 . . . 0.8 - 0.1 - 0.1 0.7 - 0.2 - 0.1 0.6 - 0.3 - 0.1 . . . and so on, until all possible combinations are represented (and doing it with more values) and then combined with the other two parameters as to form a Latin hypercube. The solutions given in the thread sent by Ravi work fine for random generation of the 3 proportion-parameters, but it is hard to make a Latin hypercube out of that with two more parameters. Cheers, Duarte
Possibly Parallel Threads
- Latin hypercube sampling from a non-uniform distribution
- Latin hypercube sampling from a non-uniform distribution
- Latin Hypercube with condition sum = 1
- Latin hypercube sampling from a non-uniform distribution
- Latin hypercube sampling from a non-uniform distribution