Skip to main content

find runs (non-randomness) in sequences

Project description

Skid Marks: Check for runs in sequences

Q: how do you check for runs?

A: look for skidmarks.

This module implements some functions to check a sequence for randomness. in some cases, it is assumed to be a binary sequence (not only 1’s and 0’s but containing only 2 distinct values). Any feedback or improvements are welcomed

>>> from skidmarks import gap_test, wald_wolfowitz, auto_correlation, serial_test

Wald-Wolfowitz

http://en.wikipedia.org/wiki/Wald-Wolfowitz_runs_test

http://support.sas.com/kb/33/092.html

>>> r = wald_wolfowitz('1000001')
>>> r['n_runs'] # should be 3, because 1, 0, 1
3
>>> r['p'] < 0.05 # not < 0.05 evidence to reject Ho of random sequence
False
# this should show significance for non-randomness
>>> li = [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]
>>> wald_wolfowitz(li)['p'] < 0.05
True

Autocorrelation

>>> result = auto_correlation('00000001111111111100000000')
>>> result['p'] < 0.05
True
>>> result['auto_correlation']
0.83766233766233755

Serial Test

http://books.google.com/books?id=EIbxfCGfzgcC&lpg=PA141&ots=o-8ymmqbs9&pg=PA142#v=onepage&q=&f=false

>>> serial_test('101010101111000')
{'chi': 1.4285714285714286, 'p': 0.69885130769248427}
>>> serial_test('110000000000000111111111111')
{'chi': 18.615384615384617, 'p': 0.00032831021826061683}

Gap Test

http://books.google.com/books?id=EIbxfCGfzgcC&lpg=PA141&ots=o-8ymmqbs9&pg=PA142#v=onepage&q=&f=false

>>> gap_test('100020001200000')
{'chi': 756406.99909855379, 'item': '1', 'p': 0.0}
>>> gap_test('101010111101000')
{'chi': 11.684911193438811, 'item': '1', 'p': 0.23166089118674466}

gap_test() will default to looking for gaps between the first value in the sequence (in this case ‘1’) and each later occurrence. use the item kwarg to specify another value.

>>> gap_test('101010111101000', item='0')
{'chi': 11.028667632612191, 'item': '0', 'p': 0.27374903509732523}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

skidmarks-0.0.1.tar.gz (4.0 kB view details)

Uploaded Source

File details

Details for the file skidmarks-0.0.1.tar.gz.

File metadata

  • Download URL: skidmarks-0.0.1.tar.gz
  • Upload date:
  • Size: 4.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for skidmarks-0.0.1.tar.gz
Algorithm Hash digest
SHA256 49268c4fa016857e1fbc9b9fcf2b36fbe2c9a87f780c4f72515773e5271ade91
MD5 b0d0064836d6a55d5715cb9ef0792bdd
BLAKE2b-256 a122b61ddc83a888dcd33bbe332ba2157a36dd95b947be35b689e4ae32a7d8d0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page