Verify Edits#

  • Execution: banff.verifyedits()

  • SDE function type: None

  • Input status flags: None

  • Output status flags: None

Description#

Checks the edits for consistency and redundancy.

The verifyedits procedure does not analyze statistical data or perform any SDE functions (review, selection, treatment). Instead, it is used to review a set of user-specified edits to verify consistency and identify any redundant edits, deterministic variables, or hidden qualities. Once these features are identified, the minimal set of edits is determined. Users are encouraged to review any set of proposed edits using verifyedits before calling the edit-based procedures errorloc, deterministic,donorimp, or prorate. Functions performed:

  • Consistency: the set of edits is checked for consistency, i.e., that the constraints define a non-empty feasible region.

  • Redundancy: produces a list of edits that are redundant, i.e., that can be removed without affecting the feasible region.

  • Bounds: produces implied upper and lower bounds for each variable. This also reveals any deterministic variables, i.e., variables that can only take on a single value.

  • Extremal points: generates the set of extremal points, or vertices, of the feasible region.

  • Hidden equalities: produces a list of hidden equalities not specified in the original list of edits.

  • Implied edits: generates a set of implied edits not specified in the original list of edits.

  • Minimal edits: generates a set of minimal edits required to define the feasible region generated by the original edits.

Together, the outputs of verifyedits may give the user a better sense of the feasible region defined by the original edits, before using them in other procedures. Even if the original edits are consistent, the outputs may reveal unexpected or unintended constraints that can be addressed by adding, removing, or altering the edits. Using the minimal set of edits can also increase performance in other procedures.

For a full mathematical description of the procedure methods, with examples, please see the Functional Description.

Input and output tables#

The verifyedits procedure does not require input table or produce output tables. Output information is printed directly to the Banff log.

Parameters#

Parameter

Python type

Description

edits

str

List of consistency edits. Mandatory.

Example: "Revenue - Expenses = Profit; Revenue >= 0; Expenses >= 0;"

extremal

int

Maximum cardinality of the shown extremal points. Default=0.

Cardinality refers to the number of non-zero coordinates of an extremal point. No extremal points will be generated when accept_negative=True.

imply

int

Number of implied edits to be generated. Default=0.

accept_negative

bool

Treat negative values as valid. Default=False.

By default, a positivity edit is added for every variable in the list of edits; this parameter permits users to remove this restriction. If desired, users may directly add positivity edits for individual variables.