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, improvements, additions 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}
Metadata
Release files for skidmarks 0.0.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| skidmarks-0.0.6.tar.gz | 4.4 kB | Without provenance | Details |
Release files / skidmarks-0.0.6.tar.gz
| Download URL | skidmarks-0.0.6.tar.gz |
|---|---|
| Size | 4.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cd52dbf4ba0a0a49b8ab3b693f123d42b8bf1380a5927bf4ebe650a389c68efd
|
|
BLAKE2b-256 checksum How to use checksums |
8095dbe4ab1a6c729428f6e015d9cef25586644b7ea96a9886fc43bd6caf038c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for skidmarks 0.0.6
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.