[R] generate random numbers subject to constraints

(Ted Harding) Ted.Harding at manchester.ac.uk
Wed Mar 26 20:52:19 CET 2008


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) <Ted.Harding at manchester.ac.uk>
Fax-to-email: +44 (0)870 094 0861
Date: 26-Mar-08                                       Time: 19:52:16
------------------------------ XFMail ------------------------------



More information about the R-help mailing list