Function Repository Resource:

# SerialRandomnessTest

Conduct an empirically derived test that assesses randomness using the frequencies of serial combinations of 0s and 1s

Contributed by: Emmy/Noah Blumenthal
noahb320@gmail.com
emmyb320@bu.edu
 ResourceFunction["SerialRandomnessTest"][sequence] conducts an empirically derived test using the frequencies of serial combinations of 0s and 1s in sequence and returns an associated p-value. ResourceFunction["SerialRandomnessTest"][sequence,"properties"] conducts an empirically derived test and returns the specified property.

## Details and Options

Properties include:
 "TestStatistic" returns the test statistic "PValue" returns the p-value associated with the test
The test statistic is generated by creating a chi-square-like statistic that compares the frequencies of subsequences of 0s and 1s of length two to the expected frequencies.
The test works only for sequences of 0s and 1s.
Results are generally invalid for sequence lengths short than 100.

## Examples

### Basic Examples

Generate a sequence of random integers and apply a runs-based test:

 In[1]:=

Visualize the sequence:

 In[2]:=
 Out[2]=
 In[3]:=
 Out[3]=
 In[4]:=
 Out[4]=

### Applications

Reject a non-random sequence:

 In[5]:=
 In[6]:=
 Out[6]=
 In[7]:=
 Out[7]=
 In[8]:=
 Out[8]=

Test the randomness of rule 30:

 In[9]:=
 In[10]:=
 Out[10]=
 In[11]:=
 Out[11]=

### Possible Issues

SerialRandomnessTest requires sequences of length 100 or more:

 In[12]:=

### Neat Examples

Visualize the sampling distribution of the test statistic:

 In[13]:=
 In[14]:=
 Out[14]=
 In[15]:=
 Out[15]=
 In[16]:=
 Out[16]=