Bayesian Post-Election Audits Ronald L. Rivest and Emily Shen - - PowerPoint PPT Presentation

bayesian post election audits
SMART_READER_LITE
LIVE PREVIEW

Bayesian Post-Election Audits Ronald L. Rivest and Emily Shen - - PowerPoint PPT Presentation

Bayesian Post-Election Audits Ronald L. Rivest and Emily Shen Viterbi Professor of EECS MIT, Cambridge, MA {rivest,ehshen}@mit.edu EVT/WOTE 2012 2012-08-07 1 Outline Post-Election Audits Bayesian Ballot-Polling Bayesian Comparison Audits


slide-1
SLIDE 1

Bayesian Post-Election Audits

Ronald L. Rivest and Emily Shen

Viterbi Professor of EECS MIT, Cambridge, MA {rivest,ehshen}@mit.edu

EVT/WOTE 2012 2012-08-07

1

slide-2
SLIDE 2

Outline

Post-Election Audits Bayesian Ballot-Polling Bayesian Comparison Audits Experimental Results Lessons and Open Questions

2

slide-3
SLIDE 3

Post-Election Audit Objectives By examining by hand sufficiently many randomly selected paper ballots:

◮ Confirm to a high degree of confidence that

the reported (scanner-based) outcome is correct or else that the actual (full hand-count) outcome is different.

3

slide-4
SLIDE 4

Post-Election Audit Objectives By examining by hand sufficiently many randomly selected paper ballots:

◮ Confirm to a high degree of confidence that

the reported (scanner-based) outcome is correct or else that the actual (full hand-count) outcome is different.

◮ Convince the losers they really lost!

4

slide-5
SLIDE 5

Single-ballot Audits

◮ Sequential decision-making (Wald). ◮ Examine paper ballots one at a time, in

random order.

◮ Determine actual type of each ballot (as

  • pposed to its reported type).

◮ At each stage, decide whether to

◮ Stop: Reported outcome looks OK. ◮ Continue: more auditing needed.

(We assume that full hand count needed to

  • verturn reported outcome.)

5

slide-6
SLIDE 6

Ballot-polling audits vs. comparison audits

◮ Ballot-polling audit: look at only the actual

ballot types of the audited ballots:

6

slide-7
SLIDE 7

Ballot-polling audits vs. comparison audits

◮ Ballot-polling audit: look at only the actual

ballot types of the audited ballots: actual types (by hand):

7

slide-8
SLIDE 8

Ballot-polling audits vs. comparison audits

◮ Ballot-polling audit: look at only the actual

ballot types of the audited ballots: actual types (by hand): ? ? ? ? ?

8

slide-9
SLIDE 9

Ballot-polling audits vs. comparison audits

◮ Ballot-polling audit: look at only the actual

ballot types of the audited ballots: actual types (by hand): A ? ? ? ?

9

slide-10
SLIDE 10

Ballot-polling audits vs. comparison audits

◮ Ballot-polling audit: look at only the actual

ballot types of the audited ballots: actual types (by hand): A A ? ? ?

10

slide-11
SLIDE 11

Ballot-polling audits vs. comparison audits

◮ Ballot-polling audit: look at only the actual

ballot types of the audited ballots: actual types (by hand): A A ? ? ?

◮ Comparison audit: also look at their reported

types:

11

slide-12
SLIDE 12

Ballot-polling audits vs. comparison audits

◮ Ballot-polling audit: look at only the actual

ballot types of the audited ballots: actual types (by hand): A A ? ? ?

◮ Comparison audit: also look at their reported

types: reported types (scanner): A A A B A

12

slide-13
SLIDE 13

Ballot-polling audits vs. comparison audits

◮ Ballot-polling audit: look at only the actual

ballot types of the audited ballots: actual types (by hand): A A ? ? ?

◮ Comparison audit: also look at their reported

types: reported types (scanner): A A A B A actual types (by hand): ? ? ? ? ?

13

slide-14
SLIDE 14

Ballot-polling audits vs. comparison audits

◮ Ballot-polling audit: look at only the actual

ballot types of the audited ballots: actual types (by hand): A A ? ? ?

◮ Comparison audit: also look at their reported

types: reported types (scanner): A A A B A actual types (by hand): A ? ? ? ?

14

slide-15
SLIDE 15

Ballot-polling audits vs. comparison audits

◮ Ballot-polling audit: look at only the actual

ballot types of the audited ballots: actual types (by hand): A A ? ? ?

◮ Comparison audit: also look at their reported

types: reported types (scanner): A A A B A actual types (by hand): A A ? ? ?

15

slide-16
SLIDE 16

Auditing with a magic box

◮ Assume you audit randomly chosen ballots,

  • ne by one, in a ballot-polling audit.

16

slide-17
SLIDE 17

Auditing with a magic box

◮ Assume you audit randomly chosen ballots,

  • ne by one, in a ballot-polling audit.

◮ Suppose I give you a “magic box” that at any

time can answer the question,

17

slide-18
SLIDE 18

Auditing with a magic box

◮ Assume you audit randomly chosen ballots,

  • ne by one, in a ballot-polling audit.

◮ Suppose I give you a “magic box” that at any

time can answer the question, Given what you’ve seen in the audit so far, what is the probability that each candidate would win if all ballots were examined?

18

slide-19
SLIDE 19

Auditing with a magic box

◮ Assume you audit randomly chosen ballots,

  • ne by one, in a ballot-polling audit.

◮ Suppose I give you a “magic box” that at any

time can answer the question, Given what you’ve seen in the audit so far, what is the probability that each candidate would win if all ballots were examined?

◮ Then you can stop audit if/when the reported

winner has at least (say) 95% probability of winning.

19

slide-20
SLIDE 20

An example

Actual ballot types (by hand): ? ? ? ? ? ? ? ? ? ? . . . ProbabilityAwins: 50.0% ProbabilityBwins: 50.0%

20

slide-21
SLIDE 21

An example

Actual ballot types (by hand): A ? ? ? ? ? ? ? ? ? . . . ProbabilityAwins: 75.0% ProbabilityBwins: 25.0%

21

slide-22
SLIDE 22

An example

Actual ballot types (by hand): A A ? ? ? ? ? ? ? ? . . . ProbabilityAwins: 87.5% ProbabilityBwins: 12.5%

22

slide-23
SLIDE 23

An example

Actual ballot types (by hand): A A B ? ? ? ? ? ? ? . . . ProbabilityAwins: 68.8% ProbabilityBwins: 31.2%

23

slide-24
SLIDE 24

An example

Actual ballot types (by hand): A A B B ? ? ? ? ? ? . . . ProbabilityAwins: 50.0% ProbabilityBwins: 50.0%

24

slide-25
SLIDE 25

An example

Actual ballot types (by hand): A A B B A ? ? ? ? ? . . . ProbabilityAwins: 65.6% ProbabilityBwins: 34.4%

25

slide-26
SLIDE 26

An example

Actual ballot types (by hand): A A B B A A ? ? ? ? . . . ProbabilityAwins: 77.4% ProbabilityBwins: 22.6%

26

slide-27
SLIDE 27

An example

Actual ballot types (by hand): A A B B A A A ? ? ? . . . ProbabilityAwins: 85.6% ProbabilityBwins: 14.4%

27

slide-28
SLIDE 28

An example

Actual ballot types (by hand): A A B B A A A A ? ? . . . ProbabilityAwins: 91.0% ProbabilityBwins: 9.0%

28

slide-29
SLIDE 29

An example

Actual ballot types (by hand): A A B B A A A A A ? . . . ProbabilityAwins: 94.5% ProbabilityBwins: 5.5%

29

slide-30
SLIDE 30

An example

Actual ballot types (by hand): A A B B A A A A A A. . . ProbabilityAwins: 96.7% ProbabilityBwins: 3.3%

30

slide-31
SLIDE 31

An example

Actual ballot types (by hand): A A B B A A A A A A. . . ProbabilityAwins: 96.7% ProbabilityBwins: 3.3% → Stop auditing! ←

31

slide-32
SLIDE 32

Making the magic box (ballot-polling)

◮ Suppose you are auditing an election

between candidates A and B, with 5 ballots.

32

slide-33
SLIDE 33

Making the magic box (ballot-polling)

◮ Suppose you are auditing an election

between candidates A and B, with 5 ballots.

◮ You draw a random sample (without

replacement) of two ballots.

33

slide-34
SLIDE 34

Making the magic box (ballot-polling)

◮ Suppose you are auditing an election

between candidates A and B, with 5 ballots.

◮ You draw a random sample (without

replacement) of two ballots.

◮ Both ballots are for A:

A ? A ? ?

34

slide-35
SLIDE 35

Making the magic box (ballot-polling)

◮ Suppose you are auditing an election

between candidates A and B, with 5 ballots.

◮ You draw a random sample (without

replacement) of two ballots.

◮ Both ballots are for A:

A ? A ? ?

◮ Q: What is the probability that A won?

35

slide-36
SLIDE 36

Answer (Bayesian)

◮ To make Q well-posed, need a model (a

prior) for the likelihood of different outcomes.

36

slide-37
SLIDE 37

Answer (Bayesian)

◮ To make Q well-posed, need a model (a

prior) for the likelihood of different outcomes.

◮ A noninformative prior gives each outcome

(A:B tally) equal probability: tally 5:0 4:1 3:2 2:3 1:4 0:5 Prob 1/6 1/6 1/6 1/6 1/6 1/6

37

slide-38
SLIDE 38

Answer (Bayesian)

◮ To make Q well-posed, need a model (a

prior) for the likelihood of different outcomes.

◮ A noninformative prior gives each outcome

(A:B tally) equal probability: tally 5:0 4:1 3:2 2:3 1:4 0:5 Prob 1/6 1/6 1/6 1/6 1/6 1/6

◮ With this prior and sample, A wins with

(subjective) probability 95%

38

slide-39
SLIDE 39

Answer (Bayesian)

◮ To make Q well-posed, need a model (a

prior) for the likelihood of different outcomes.

◮ A noninformative prior gives each outcome

(A:B tally) equal probability: tally 5:0 4:1 3:2 2:3 1:4 0:5 Prob 1/6 1/6 1/6 1/6 1/6 1/6

◮ With this prior and sample, A wins with

(subjective) probability 95%

◮ If your error limit is 5%, stop auditing!

39

slide-40
SLIDE 40

95%? (Bayes Rule) posterior probability proportional to: prior times likelihood of sample given prior

40

slide-41
SLIDE 41

95%? (Bayes Rule) posterior probability proportional to: prior times likelihood of sample given prior tally 5:0 4:1 3:2 2:3 1:4 0:5 prior 1/6 1/6 1/6 1/6 1/6 1/6

41

slide-42
SLIDE 42

95%? (Bayes Rule) posterior probability proportional to: prior times likelihood of sample given prior tally 5:0 4:1 3:2 2:3 1:4 0:5 prior 1/6 1/6 1/6 1/6 1/6 1/6 likelihood(A A)

5 5 · 4 4 4 5 · 3 4 3 5 · 2 4 2 5 · 1 4

42

slide-43
SLIDE 43

95%? (Bayes Rule) posterior probability proportional to: prior times likelihood of sample given prior tally 5:0 4:1 3:2 2:3 1:4 0:5 prior 1/6 1/6 1/6 1/6 1/6 1/6 likelihood(A A)

5 5 · 4 4 4 5 · 3 4 3 5 · 2 4 2 5 · 1 4

product

10 60 6 60 3 60 1 60

43

slide-44
SLIDE 44

95%? (Bayes Rule) posterior probability proportional to: prior times likelihood of sample given prior tally 5:0 4:1 3:2 2:3 1:4 0:5 prior 1/6 1/6 1/6 1/6 1/6 1/6 likelihood(A A)

5 5 · 4 4 4 5 · 3 4 3 5 · 2 4 2 5 · 1 4

product

10 60 6 60 3 60 1 60

posterior

10 20 6 20 3 20 1 20

44

slide-45
SLIDE 45

95%? (Bayes Rule) posterior probability proportional to: prior times likelihood of sample given prior tally 5:0 4:1 3:2 2:3 1:4 0:5 prior 1/6 1/6 1/6 1/6 1/6 1/6 likelihood(A A)

5 5 · 4 4 4 5 · 3 4 3 5 · 2 4 2 5 · 1 4

product

10 60 6 60 3 60 1 60

posterior

10 20 6 20 3 20 1 20

A wins 95% B wins 5%

45

slide-46
SLIDE 46

Efficient sampling of posterior using Polya’s Urn

  • 1. Given sample of size s from n-ballot profile.

46

slide-47
SLIDE 47

Efficient sampling of posterior using Polya’s Urn

  • 1. Given sample of size s from n-ballot profile.
  • 2. In an urn

47

slide-48
SLIDE 48

Efficient sampling of posterior using Polya’s Urn

  • 1. Given sample of size s from n-ballot profile.
  • 2. In an urn

Urn = { }

48

slide-49
SLIDE 49

Efficient sampling of posterior using Polya’s Urn

  • 1. Given sample of size s from n-ballot profile.
  • 2. In an urn put a = 1 “A” balls

Urn = { }

49

slide-50
SLIDE 50

Efficient sampling of posterior using Polya’s Urn

  • 1. Given sample of size s from n-ballot profile.
  • 2. In an urn put a = 1 “A” balls

Urn = { A }

50

slide-51
SLIDE 51

Efficient sampling of posterior using Polya’s Urn

  • 1. Given sample of size s from n-ballot profile.
  • 2. In an urn put a = 1 “A” balls and b = 1 “B”

balls. Urn = { A }

51

slide-52
SLIDE 52

Efficient sampling of posterior using Polya’s Urn

  • 1. Given sample of size s from n-ballot profile.
  • 2. In an urn put a = 1 “A” balls and b = 1 “B”

balls. Urn = { AB

  • prior

}

52

slide-53
SLIDE 53

Efficient sampling of posterior using Polya’s Urn

  • 1. Given sample of size s from n-ballot profile.
  • 2. In an urn put a = 1 “A” balls and b = 1 “B”
  • balls. (a, b are hyperparameters for prior)

Urn = { AB

  • prior

}

53

slide-54
SLIDE 54

Efficient sampling of posterior using Polya’s Urn

  • 1. Given sample of size s from n-ballot profile.
  • 2. In an urn put a = 1 “A” balls and b = 1 “B”
  • balls. (a, b are hyperparameters for prior)

Urn = { AB

  • prior

}

  • 3. Add s balls for sample (e.g. AA)

54

slide-55
SLIDE 55

Efficient sampling of posterior using Polya’s Urn

  • 1. Given sample of size s from n-ballot profile.
  • 2. In an urn put a = 1 “A” balls and b = 1 “B”
  • balls. (a, b are hyperparameters for prior)

Urn = { AB

  • prior

A }

  • 3. Add s balls for sample (e.g. AA)

55

slide-56
SLIDE 56

Efficient sampling of posterior using Polya’s Urn

  • 1. Given sample of size s from n-ballot profile.
  • 2. In an urn put a = 1 “A” balls and b = 1 “B”
  • balls. (a, b are hyperparameters for prior)

Urn = { AB

  • prior

AA

  • sample

}

  • 3. Add s balls for sample (e.g. AA)

56

slide-57
SLIDE 57

Efficient sampling of posterior using Polya’s Urn

  • 1. Given sample of size s from n-ballot profile.
  • 2. In an urn put a = 1 “A” balls and b = 1 “B”
  • balls. (a, b are hyperparameters for prior)

Urn = { AB

  • prior

AA

  • sample

}

  • 3. Add s balls for sample (e.g. AA)
  • 4. n − s times: duplicate a random ball in urn.

57

slide-58
SLIDE 58

Efficient sampling of posterior using Polya’s Urn

  • 1. Given sample of size s from n-ballot profile.
  • 2. In an urn put a = 1 “A” balls and b = 1 “B”
  • balls. (a, b are hyperparameters for prior)

Urn = { AB

  • prior

AA

  • sample

A }

  • 3. Add s balls for sample (e.g. AA)
  • 4. n − s times: duplicate a random ball in urn.

58

slide-59
SLIDE 59

Efficient sampling of posterior using Polya’s Urn

  • 1. Given sample of size s from n-ballot profile.
  • 2. In an urn put a = 1 “A” balls and b = 1 “B”
  • balls. (a, b are hyperparameters for prior)

Urn = { AB

  • prior

AA

  • sample

A B }

  • 3. Add s balls for sample (e.g. AA)
  • 4. n − s times: duplicate a random ball in urn.

59

slide-60
SLIDE 60

Efficient sampling of posterior using Polya’s Urn

  • 1. Given sample of size s from n-ballot profile.
  • 2. In an urn put a = 1 “A” balls and b = 1 “B”
  • balls. (a, b are hyperparameters for prior)

Urn = { AB

  • prior

AA

  • sample

A B A }

  • 3. Add s balls for sample (e.g. AA)
  • 4. n − s times: duplicate a random ball in urn.

60

slide-61
SLIDE 61

Efficient sampling of posterior using Polya’s Urn

  • 1. Given sample of size s from n-ballot profile.
  • 2. In an urn put a = 1 “A” balls and b = 1 “B”
  • balls. (a, b are hyperparameters for prior)

Urn = { AB

  • prior

AA

  • sample

A B A }

  • 3. Add s balls for sample (e.g. AA)
  • 4. n − s times: duplicate a random ball in urn.
  • 5. Remove balls added in step 2.

61

slide-62
SLIDE 62

Efficient sampling of posterior using Polya’s Urn

  • 1. Given sample of size s from n-ballot profile.
  • 2. In an urn put a = 1 “A” balls and b = 1 “B”
  • balls. (a, b are hyperparameters for prior)

Urn = { AA

  • sample

A B A }

  • 3. Add s balls for sample (e.g. AA)
  • 4. n − s times: duplicate a random ball in urn.
  • 5. Remove balls added in step 2.

62

slide-63
SLIDE 63

Efficient sampling of posterior using Polya’s Urn

  • 1. Given sample of size s from n-ballot profile.
  • 2. In an urn put a = 1 “A” balls and b = 1 “B”
  • balls. (a, b are hyperparameters for prior)

Urn = { AA

  • sample

A B A }

  • 3. Add s balls for sample (e.g. AA)
  • 4. n − s times: duplicate a random ball in urn.
  • 5. Remove balls added in step 2.
  • 6. Tally the n balls in the urn.

63

slide-64
SLIDE 64

Efficient sampling of posterior using Polya’s Urn

  • 1. Given sample of size s from n-ballot profile.
  • 2. In an urn put a = 1 “A” balls and b = 1 “B”
  • balls. (a, b are hyperparameters for prior)

Urn = { AA

  • sample

A B A } = ⇒ tally 4:1

  • 3. Add s balls for sample (e.g. AA)
  • 4. n − s times: duplicate a random ball in urn.
  • 5. Remove balls added in step 2.
  • 6. Tally the n balls in the urn.

64

slide-65
SLIDE 65

Efficient sampling of posterior using Polya’s Urn

  • 1. Given sample of size s from n-ballot profile.
  • 2. In an urn put a = 1 “A” balls and b = 1 “B”
  • balls. (a, b are hyperparameters for prior)

Urn = { AA

  • sample

A B A } = ⇒ tally 4:1

  • 3. Add s balls for sample (e.g. AA)
  • 4. n − s times: duplicate a random ball in urn.
  • 5. Remove balls added in step 2.
  • 6. Tally the n balls in the urn.

Tally has desired distribution! (e.g.

10 20, 6 20, 3 20, 1 20)

65

slide-66
SLIDE 66

Efficient sampling of posterior using Polya’s Urn

  • 1. Given sample of size s from n-ballot profile.
  • 2. In an urn put a = 1 “A” balls and b = 1 “B”
  • balls. (a, b are hyperparameters for prior)

Urn = { AA

  • sample

A B A } = ⇒ tally 4:1

  • 3. Add s balls for sample (e.g. AA)
  • 4. n − s times: duplicate a random ball in urn.
  • 5. Remove balls added in step 2.
  • 6. Tally the n balls in the urn.

Tally has desired distribution! (e.g.

10 20, 6 20, 3 20, 1 20)

Can sample faster using gamma variates (see paper).

66

slide-67
SLIDE 67

Winning probabilities vs. sample size in a Bayes audit

0.2 0.4 0.6 0.8 1 10 20 30 40 50 60 70 80 90 100 Sample size Winning probability Candidate 1 Candidate 2 Candidate 3

67

slide-68
SLIDE 68

Arbitrary voting system We note that a Bayes audit works for an arbitrary voting system as long as the number of ballot types is not too large; all you need is a way to compute the winner of a profile of ballots, and a way of sampling ballots. We have tested it

  • n

◮ plurality ◮ IRV ◮ Borda ◮ Schulze

with good results.

68

slide-69
SLIDE 69

Bayesian comparison audits

◮ Same idea, but have one urn for each

reported type.

◮ Much more efficient!! (But needs way of

matching paper ballots with their reported types.)

69

slide-70
SLIDE 70

2011 Monterey Peninsula Water Mgt District Director

◮ Ballot-polling. ◮ Two candidates (plus write-ins). ◮ 2011 votes cast: 1353 for Lewis, 742 for

Mancini (reported).

◮ Stark’s ballot-polling audit with 10% risk limit

examined: 89 ballots.

◮ A Bayes ballot-polling audit with ǫ = 0.10

examines: 23 ballots on average 11 ballots (median)

70

slide-71
SLIDE 71

2011 Stanislaus Oakdale Measure O

◮ Comparison audit. ◮ Yes/No proposition. ◮ 3152 votes cast: 1728 Yes, 1392 No, 32

undervotes (reported).

◮ Stark’s comparison audit with 10% risk limit

examined: 49 ballots.

◮ A Bayes ballot-polling audit with ǫ = 0.10

examines: 92 ballots (average) 39 ballots (median).

71

slide-72
SLIDE 72

Discussion

◮ We conjecture that a Bayes audit is in fact

“risk-limiting” (perhaps given some suitable assumptions or constant factors in parameterization). But this is just a conjecture.

◮ The Bayes audit admits the use of other

priors, such as those a very partisan

  • bserver might have.

◮ The Bayes audit admits the use of multiple

priors; only stopping when all auditors (with different priors) agree to do so.

72

slide-73
SLIDE 73

Summary – Bayes Audit Advantages

◮ High efficiency (few ballots get audited). ◮ Small/controllable miscertification rates

  • bserved.

◮ Simple in structure / easy to implement. ◮ Handles ballot-polling audits, comparison

audits, and many different voting systems.

◮ No MOV computation required to start. ◮ Admits flexible (multiple) choice(s) of prior. ◮ Can be stopped early with meaningful

results.

73

slide-74
SLIDE 74

Summary – Bayes Audit Disadvantages

◮ Only works (so far) for single-ballot audits. ◮ Unclear relationship to risk-limiting audits. ◮ Results depend on choice(s) for prior. ◮ Need program to compute winning

probabilities.

74

slide-75
SLIDE 75

The End

For more info and code, contact authors or see:

http://people.csail.mit.edu/rivest/bayes/

75