Skip to main content

Risk limiting audits via confidence sequences

Project description

RiLACS

This package implements the martingales and confidence sequences from "RiLACS: Risk-limiting audits via confidence sequences" and contains code for reproducing all of the plots therein.

Installation

We currently support Python 3.7--3.10 on macOS (Intel/x86_64 and Apple Silicon) and Linux (x86_64).

pip install rilacs

Installation on other platforms may still be possible, but in that case, the dependency confseq would need to be installed manually. If you would like to see an additional platform supported, please open an issue at confseq, not RiLACS.

Compute a confidence sequence

import numpy as np
from rilacs.confseqs import sqKelly

# Create some data
x = np.random.binomial(1, 0.5, 1000)

# Compute the confidence sequence
l, u = sqKelly(x, N = 1000)

Run unit tests

# Clone the repository 
git clone https://github.com/WannabeSmith/RiLACS.git

# Run unit tests via pytest
pytest RiLACS

Reproduce the paper's plots

To generate all plots, we've created a shell script at RiLACS/paper_plots/generate_plots.sh:

# Enter the plots directory
cd RiLACS/paper_plots

# Execute the script with your shell, e.g.:
zsh generate_plots.sh

Alternatively, you can produce each plot one-by-one:

python RiLACS/paper_plots/distKelly_distributions/distributions.py
python RiLACS/paper_plots/relationship_to_testing/cs_testing_plots.py
# and so on.

App to audit Canada's 2019 federal election

The canada_audit folder contains code to produce a web application which allows for interactive auditing of Canadian ridings in the 2019 federal election.

For more details, view the README in canada_audit

audit

Contributing

If you find a bug, please open an issue and we'll try to fix it as soon as possible.

Citing

The algorithms in this codebase are based on "RiLACS: Risk-limiting audits via confidence sequences" by Ian Waudby-Smith, Philip B. Stark, and Aaditya Ramdas. The BibTeX entry is provided here.

@inproceedings{waudby2021rilacs, title={RiLACS: Risk Limiting Audits via Confidence Sequences}, author={Waudby-Smith, Ian and Stark, Philip B and Ramdas, Aaditya}, booktitle={International Joint Conference on Electronic Voting}, pages={124--139}, year={2021}, organization={Springer} }

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

rilacs-1.0.3.tar.gz (12.5 kB view details)

Uploaded Source

Built Distribution

rilacs-1.0.3-py3-none-any.whl (10.7 kB view details)

Uploaded Python 3

File details

Details for the file rilacs-1.0.3.tar.gz.

File metadata

  • Download URL: rilacs-1.0.3.tar.gz
  • Upload date:
  • Size: 12.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for rilacs-1.0.3.tar.gz
Algorithm Hash digest
SHA256 af69c4cbf917e4b204310a27c3cb7522c5869fe9dcb21bf210d58f460a4aedb8
MD5 3d526cb6cee3a5d5053174ffc0c9ac62
BLAKE2b-256 5e69ebb201709f336e7ef5d7d4b179399c5b0d000be6f4a16ecd648e2c9864cf

See more details on using hashes here.

File details

Details for the file rilacs-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: rilacs-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 10.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for rilacs-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a7a44c813766925d12793d4869865ec661d5166ec0823a59f102077a93cb40bd
MD5 ce93a4cbe7c2cb4b5ae6d8d84719e095
BLAKE2b-256 777952d26b475a94ca76570fbee1e7d2b62fbab0e0dcfb7cd573b16690514213

See more details on using hashes here.

Supported by

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