OOPS! A mistake below. I should have written: This raises a general question: Does anyone know of an R function to sample uniformly in the interior of a general (k-r)-dimensional simplex embedded in k dimensions, with (k-r+1) given vertices?
On 26-Mar-08 22:06:54, Ted Harding wrote: > On 26-Mar-08 21:26:59, Ala' Jaouni wrote: >> X1,X2,X3,X4 should have independent distributions. They should be >> between 0 and 1 and all add up to 1. Is this still possible with >> Robert's method? >> >> Thanks > > I don't think so. A whileago you wrote > "The numbers should be uniformly distributed" (but in the > context of an example where you had 5 variable; now you > are back to 4 variables). Let's take the 4-case first. > > The two linear constraints confine the point (X1,X2,X3,X4) > to a triangular region within the 4-dimensional unit cube. > Say it has vertices A, B, C. > You could then start by generating points uniformly distributed > over a specific triangle in 2 dimentions, say the one with > vertices at A0=(0,0), B0=(0,1), C0=(1,0). This is easy. > > Then you need to find a linear transformation which will > map this triangle (A0,B0,C0) onto the triangle (A,B,C). > Then the points you have sampled in (A0,B0,C0) will map > into points which are uniformly distributed over the > triangle (A,B,C). > > More generally, you will be seeking to generate points > uniformly distributed over a simplex. > > For example, the case (your earlier post) of 5 points > with 2 linear constraints requires a tetrahedron with > vertices (A,B,C,D) in 5 dimensions whose coordinates you > will have to find. Then take an "easy" tetrahedron with > vertices (A0,B0,C0,D0) and sample uniformly within this. > Then find a linear mapping from (A0,B0,C0,D0) to (A,B,C,D) > and apply this to the sampled points. > > This raises a general question: Does anyone know of > an R function to sample uniformly in the interior > of a general (k-r)-dimensional simplex embedded in > k dimensions, with (k+1) given vertices? > > Best wishes to all, > Ted. > > >> On Wed, Mar 26, 2008 at 12:52 PM, Ted Harding >> <[EMAIL PROTECTED]> wrote: >>> On 26-Mar-08 20:13:50, Robert A LaBudde wrote: >>> > At 01:13 PM 3/26/2008, Ala' Jaouni wrote: >>> >>I am trying to generate a set of random numbers that fulfill >>> >>the following constraints: >>> >> >>> >>X1 + X2 + X3 + X4 = 1 >>> >> >>> >>aX1 + bX2 + cX3 + dX4 = n >>> >> >>> >>where a, b, c, d, and n are known. >>> >> >>> >>Any function to do this? >>> > >>> > 1. Generate random variates for X1, X2, based upon whatever >>> > unspecified distribution you wish. >>> > >>> > 2. Solve the two equations for X3 and X4. >>> >>> The trouble is that the original problem is not well >>> specified. Your suggestion, Robert, gives a solution >>> to one version of the problem -- enabling Ala' Jaouni >>> to say "I have generated 4 random numbers X1,X2,X3,X4 >>> such that X1 and X2 have specified distributions, >>> and X1,X2,X3,X4 satisfy the two equations ... ". >>> >>> However, suppose the real problem was: let X2,X2,X3,X4 >>> have independent distributions F1,F2,F3,F4. Now sample >>> X1,X2,X3,X4 conditional on the two equations (i.e. from >>> the coditional density). That is a different problem. >>> >>> As a slightly simpler example, suppose we have just X1,X2,X3 >>> and they are independently uniform on (0,1). Now sample >>> from the conditional distribution, conditional on >>> X1 + X2 + X3 = 1. >>> >>> The result is a random point uniformly distributed on the >>> planar triangle whose vertices are at (1,0,0),(0,1,0),(0,0,1). >>> >>> Then none of X1,X2,X3 is uniformly distributed (in fact >>> the marginal density of each is 2*(1-x)). >>> >>> However, your solution would work from either point of >>> view if the distributions were Normal. >>> >>> If X1,X2,X3,X4 were neither Normally nor uniformly >>> distributed, then finding or simulating the conditional >>> distribution would in general be difficult. >>> >>> Ala' Jaouni needs to tell us whether what he precisely >>> wants is as you stated the problem, Robert, or whether >>> he wants a conditional distribution for given distributions >>> if X1,X2,X3,X4, or whether he wants something else. >>> >>> Best wishes to all, >>> Ted. >>> >>> -------------------------------------------------------------------- >>> E-Mail: (Ted Harding) <[EMAIL PROTECTED]> >>> Fax-to-email: +44 (0)870 094 0861 >>> Date: 26-Mar-08 Time: 19:52:16 >>> ------------------------------ XFMail ------------------------------ >>> >> >> ______________________________________________ >> R-help@r-project.org mailing list >> https://stat.ethz.ch/mailman/listinfo/r-help >> PLEASE do read the posting guide >> http://www.R-project.org/posting-guide.html >> and provide commented, minimal, self-contained, reproducible code. > > -------------------------------------------------------------------- > E-Mail: (Ted Harding) <[EMAIL PROTECTED]> > Fax-to-email: +44 (0)870 094 0861 > Date: 26-Mar-08 Time: 22:06:38 > ------------------------------ XFMail ------------------------------ > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. -------------------------------------------------------------------- E-Mail: (Ted Harding) <[EMAIL PROTECTED]> Fax-to-email: +44 (0)870 094 0861 Date: 26-Mar-08 Time: 23:04:56 ------------------------------ XFMail ------------------------------ ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.