tri.audit.sim {elec}R Documentation

tri.audit.sim

Description

This is a SIMULATION FUNCTION, and is not used for actual auditing of elections.

Given a matrix of votes, calculate the weights for all precincts and then draw a sample (using tri.sample). Then, assuming that p_d percent of the precincts (at random) have error, and the errors are due to vote miscounts of size 'swing', conduct a simulated ``audit'', returning the found descrepancies.

Usage

tri.audit.sim(Z, n, p_d = 0.1, swing = 5,
              return.type = c("statistics", "taints", "precinct"),
              seed = NULL, PID = "PID", ...)

Arguments

Z elec.data object.
n Sample size to draw.
p_d The probability of a precinct having an error.
swing The size of the error, in votes.
return.type What kind of results to return: "statistics","taints", or "precinct"
seed Random seed to use.
PID Column name of column holding unique precinct IDs
... Extra arguments passed to tri.sample

Value

List of taints found in such a circumstance OR precincts selected with relevant attributes (including simulated errors, if asked) OR the number of non-zero taints and the size of largest taint.

Author(s)

Luke W. Miratrix

See Also

elec.data for the object that holds vote data. See tri.calc.sample for computing sample sizes for trinomial bound audits.

Examples


  data(santa.cruz)
  Z = elec.data(santa.cruz, C.names=c("leopold","danner"))
  Z$V$e.max = maximumMarginBound( Z )
  ## Sample from fake truth, see how many errors we get.
  tri.audit.sim( Z, 10,  p_d=0.25, swing=10, return.type="precinct" )

  ## what does distribution look like?
  res = replicate( 200, tri.audit.sim( Z, 10,  p_d=0.25, swing=10 ) )
  apply(res,1, summary) 
  hist( res[2,], main="Distribution of maximum size taint" )

[Package elec version 0.1 Index]