I want to do a standard picking a random number by weighted probability problem.

Example Data Set:

Person A    70
Person B    30
Person C    40

So normally, these are the probabilities of being picked randomly:

Person A    50%
Person B    21%
Person C    29%

Now I want to make it so it's inverted, where the higher your probability, the less likely you are to be picked. How do I invert it?

The way I tried:

Invert the probabilities

Person A    50%
Person B    79%
Person C    71%

Add those up .5 + .79 + .71 = 2

Divide them by the new total:

Person A    .5/2  = 25%
Person B    .79/2 = 40%
Person C    .71/2 = 35%

I'm not confident in that answer though - is that the correct way of donig it? Or am I thinking about it wrong?

  • $\begingroup$ You might want to change your terminology: it's confusing to say "the higher your probability, the less likely you are to be picked". Instead, how about "the higher your weight" or "the higher your score"? $\endgroup$ – Théophile Aug 22 '18 at 16:43

There's no right way to do this - any method of inversion will have its pros and cons. However, a way to do this is to invert the weights before computing probability, i.e., $$\textrm{New Weight} = \frac{100}{\textrm{Old Weight}}$$

Using this, the weights will line themselves up in a way that you can use the aforementioned technique to compute weighted probability.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.