Wolfram Function Repository
Instant-use add-on functions for the Wolfram Language
Function Repository Resource:
Generate a restricted randomization between two groups, with a bias towards maintaining approximately equal allocation
ResourceFunction["EfronBiasedCoin"][p,n] generates a sequence of n restricted randomizations between two groups, maintaining approximately equal allocation with bias p. |
Generate a sequence of 100 options with a bias of (p = 2/3) towards equal allocation:
In[1]:= | ![]() |
Out[1]= | ![]() |
Different weighting can be given to the restriction of equal allocation:
In[2]:= | ![]() |
Out[2]= | ![]() |
In[3]:= | ![]() |
Out[3]= | ![]() |
In[4]:= | ![]() |
Out[4]= | ![]() |
Different sequence lengths can be generated:
In[5]:= | ![]() |
Out[5]= | ![]() |
In[6]:= | ![]() |
Out[6]= | ![]() |
In[7]:= | ![]() |
Out[7]= | ![]() |
Users may replace the default symbols for the groups in any way they like:
In[8]:= | ![]() |
Out[8]= | ![]() |
Find the count of all values that follow an "A” when p is near 1/2:
In[9]:= | ![]() |
Out[10]= | ![]() |
Compare to when p is near 1. This shows a strong bias for alternating:
In[11]:= | ![]() |
Out[12]= | ![]() |
Complete randomization is achieved by a (p = 1/2) weighting towards selection of the underrepresented group:
In[13]:= | ![]() |
Out[13]= | ![]() |
Complete randomization (p = 1/2) is thus equivalent to simple utilization of RandomChoice, albeit with the sequentially biased algorithm being slower:
In[14]:= | ![]() |
Out[16]= | ![]() |
In[17]:= | ![]() |
Out[17]= | ![]() |
In[18]:= | ![]() |
Out[19]= | ![]() |
The variance in allocation percentage for a given group can be diminished by weighting the randomization scheme (p ≠ 1/2):
In[20]:= | ![]() |
Out[21]= | ![]() |
In[22]:= | ![]() |
Out[22]= | ![]() |
In[23]:= | ![]() |
Out[24]= | ![]() |
Explore the options in variance of allocation percentage as a function of the bias p:
In[25]:= | ![]() |
Out[26]= | ![]() |
In[27]:= | ![]() |
Out[27]= | ![]() |
This work is licensed under a Creative Commons Attribution 4.0 International License