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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 3

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