Skip to content

Setting apriori error rates #519

@JohnLCaron

Description

@JohnLCaron

GeneralAdaptiveBetting has startingCounts: ClcaErrorCounts parameter, which could be a natural place to put user-defined apriori error rates.

Example apriori: what if your card reader only produced errors where it missed ballot marks, ie only produced undervotes ? And you had a reliable rate for that? Assume cvr has contest but no vote, and mvr has a vote. then cvr = other, mvr = (other, winner or loser), so overstatement = "noerror", "oth-win" (1 + 1/2u), or "oth-lose" (1 - 1/2u). You could spread it out based on the winer/loser/other reported counts, but that is assorter dependent. So that would need some programmer support.

You could imagine errors that are population dependent, eg only happened in certain precincts.

Currently we just use it for estimation when round > 1, as the measuredErrorRates of previous rounds. This allows to continue the estimation from where the prvious round left off, like the startingTestStatistic.

The actual audit cant "look ahead" with the measured error rates, so currently always start empty. OTOH, I think you could use apriori rates if they are set independently from the mvrs

perhaps seperate into "previousErrorCounts" (average with tracked errors) and "apriori" (use as apriori in shrinkTrunk)

aprioris would have to be set as TausRates? but different assorters have different upperLimit. You could just have the 7 tau rates?

    val names = listOf("win-los", "win-oth", "oth-los", "noerror", "los-oth", "oth-win", "los-win")

these are independent of the upperBound and the margin.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions