2 Background
Sander Scholtus
Previous | Next
2.1 Edits
The problem to be discussed in this article entails, in
its most general form, the detection of erroneous and missing values in a record
containing both categorical variables and numerical variables These variables are supposed to satisfy a set
of restrictions (edits), each of which can be written in one of the following
forms:
(2.1)
or
(2.2)
In these expressions, is a subset of the domain of observed values for the
categorical variable and and are known numerical constants. The index is used to number the edits. Note that is assumed to contain all values of that may be encountered in practice; this
includes erroneous values. To simplify matters, we restrict the problem to
edits having linear numerical conditions. This class of edits turns out to be
sufficiently powerful for most practical applications (cf. De Waal 2005).
A record is said to fail
an edit if the categorical IF-condition is true (i.e., for all but the numerical THEN-condition is false (i.e., either or depending on the form of the edit). Otherwise,
we say that the edit is satisfied by
that record. It should be noted that an edit is always satisfied by any record
for which the categorical IF-condition is false, regardless of the status of
the numerical THEN-condition. A record is called consistent if it satisfies every edit.
A categorical variable is said to be involved in an edit if and only if since any edit with is failed or satisfied regardless of the value
of Similarly, a numerical variable is said to be involved in an edit if and only
if We may assume that where denotes the empty set. Clearly, a degenerate
edit with can be discarded with no loss of information,
since it is never failed. The same holds for any edit with a numerical
THEN-condition that is always true.
Two important special cases of (2.1) and (2.2) are edits
that involve only categorical or only numerical variables. A purely categorical
edit has the following form:
(2.3)
Edit (2.3) is failed by each record for which the
categorical condition is true. A purely numerical edit can be written as:
(2.4)
or
(2.5)
Edits (2.4) and (2.5) are failed by each record for
which the numerical conditions are false.
Edits (1.1) and (1.2) above are examples of purely
numerical edits. A simple example of a purely categorical edit is:
IF
(Age, Marital Status) {"<16�} {"Married�}
THEN
This edit states that persons aged less than 16
years cannot be married. Finally, an example of a mixed edit is:
IF Age
{"<12�} THEN Income = 0.
According to this edit, persons aged less than 12
years do not have a positive income.
2.2 The error localisation problem
For a given record and a collection of edits, it is
straightforward to verify which values in the record are missing and whether
any of the edits are failed. However, given that some of the edits are failed,
solving the error localisation problem is much less straightforward. On the one
hand, most edits involve more than one variable, and on the other hand, most
variables are involved in more than one edit.
In order to solve the error localisation problem automatically,
one has to adopt a formal strategy for finding erroneous values. The most
commonly-used strategy is based on the paradigm of Fellegi and Holt (1976):
make the record consistent by changing the smallest possible number of original
values. Other strategies have also been proposed; for instance, Little and
Smith (1987) suggested a criterion based on outlier detection (without edits)
and Casado Valero, Del Castillo Cuervo-Arango, Mateo Ayerra and De Santos
Ballesteros (1996) formulated error localisation as a quadratic minimisation
problem. We shall restrict attention to the Fellegi-Holt paradigm here, because
of its frequent use in official statistics.
The original Fellegi-Holt paradigm is easily generalised
to allow a distinction between a priori suspicious and less suspicious
variables. To this end, one associates a confidence
weight to each variable. According to the generalised Fellegi-Holt
paradigm, one should search for a subset of the variables which (i) can be imputed in such a way that the
imputed record satisfies all edits, and (ii)
minimises the following target function:
(2.6)
Here, and denote the confidence weights of the
categorical and numerical variables, respectively. The binary target variables and describe the structure of the solution: if is to be imputed and otherwise, and similarly if is to be imputed and otherwise. Since variables with missing values
have to be imputed with certainty, we set or when or is missing.
Fellegi and Holt (1976) also presented a method for
solving the error localisation problem under this paradigm. This method first
derives a well-defined set of logically implied edits from the original set of
edits, to obtain a so-called complete set
of edits. Next, the error localisation problem may be formulated as a
straightforward set-covering problem for any record (Fellegi and Holt 1976;
Boskovitz, Goré and Wong 2005). Unfortunately, especially for numerical data
the complete set of edits can be extremely large in practice, so the method of
Fellegi and Holt is not always computationally feasible.
Many alternative algorithms have been developed for
error localisation according to the Fellegi-Holt paradigm. Besides improvements
on Fellegi and Holt's original method (Garfinkel, Kunnathur and Liepins 1986;
Winkler 1995), the list includes formulations based on vertex generation (Sande
1978; Kovar and Whitridge 1990; Todaro 1999; De Waal 2003a), cutting
planes (Garfinkel et al. 1986;
Garfinkel, Kunnathur and Liepins 1988; Ragsdale and McKeown 1996), and mixed
integer (Schaffer 1987; Riera-Ledesma and Salazar-González 2003) and integer
programming (Bruni 2004 and 2005); see also De Waal et al. (2011) for an overview. Here, we shall focus on a
branch-and-bound algorithm due to De Waal and Quere (2003) which, in contrast
to some of the above approaches, can handle a mix of categorical and numerical
data. This algorithm has been implemented in the software package SLICE at
Statistics Netherlands and has been found to be computationally feasible in
practice.
2.3 The branch-and-bound algorithm of SLICE
A detailed description of the error localisation
algorithm implemented in SLICE can be found in De Waal and Quere (2003), De
Waal (2003b), and De Waal et al. (2011).
Here, we only mention those aspects of the algorithm that we shall need later.
For a general introduction to branch-and-bound algorithms, see e.g., Nemhauser and Wolsey (1988).
For each record, the SLICE algorithm sets up a binary
tree, as illustrated in Figure 2.1. In the root node of the tree, we start with
the original set of edits and we select one of the variables. From the root
node, two branches are added to the tree. In the first branch, the original
value of the selected variable in the record is assumed to be correct, and in
the second branch this value is assumed to be erroneous. Both assumptions
correspond with a transformation of the set of edits, to be outlined below,
after which the selected variable is no longer involved in the edits: the
selected variable has been treated.
Next, one of the remaining variables is selected and the operation is repeated.

Figure 2.1 Illustration of the branch-and-bound algorithm as a binary tree
Once all variables have been treated, the algorithm
reaches an end node of the tree. It is seen that, together, the end nodes of
the binary tree enumerate all possible choices of erroneous subsets of
variables. The transformed set of edits corresponding to an end node does not
involve any variables, so it must either be empty or consist of elementary
relations such as "1 ≥ 0� (a tautology) and "1 ≥ 0�
(a self-contradicting statement). As will be discussed below, it is possible to
satisfy the original edits by only imputing the variables that have been
considered erroneous in the branch leading to an end node, if and only if the
transformed set of edits for that end node contains no self-contradicting
statements. Using this property, all feasible solutions to the error
localisation problem may be identified. Moreover, since we are only interested
in feasible solutions that minimise target function (2.6), a branch of the tree
may be pruned as soon as we find that it only leads to end nodes corresponding
with infeasible or suboptimal solutions.
We will now outline the transformations of the set of
edits that occur, depending on whether a variable is assumed to be correct or
erroneous. A variable that is assumed to be correct is removed from the edits
by simply substituting the original value from the record in the edits. This is
called fixing a variable to its
original value. A variable that is assumed to be erroneous is removed from the
edits by a more complex operation, called eliminating
a variable from the edits. Numerical variables and categorical variables are
eliminated by two different but equivalent methods.
To eliminate a numerical variable, say from a set of edits having the general forms (2.1)
and (2.2), we generate logically implied edits by considering all pairs of
edits and that involve We first check whether for all if any of these intersections yields the empty
set, then the pair and does not generate an implied edit. If the
numerical THEN-condition of one of the edits, say is an equality, then this equality may be
solved for By substituting the resulting expression for in the THEN-condition of we obtain the numerical THEN-condition of the
implied edit. The categorical IF-condition of the implied edit is found by
taking the non-empty intersections for
If the numerical THEN-conditions of and are both inequalities, the algorithm uses a
technique called Fourier-Motzkin
elimination (see e.g., Williams
1986) to generate an implied edit. A pair of edits is relevant for this
elimination method only if the coefficients of have opposite signs, so we may assume without
loss of generality that and The implied edit generated from and may then be written as (cf. De Waal and Quere 2003):
(2.7)
with and as above. This edit does not involve since In this manner, implied edits are generated by
considering all pairs of edits that involve These edits are added to the set of original
edits that do not involve to find the transformed set of edits obtained
by eliminating
For the elimination of categorical variables, De Waal
and Quere (2003) make the simplifying assumption that these variables are only
selected when all numerical variables have been treated. This assumption implies
that categorical variables are always eliminated from purely categorical edits
of the form (2.3). To eliminate a categorical variable, say from a set of edits of the form (2.3), a
technique is used that was first described by Fellegi and Holt (1976).
Consider all minimal sets of edits with the following properties:
(2.8)
and
for (2.9)
Here, by "minimal� we mean that property (2.8) does
not hold for any set Each of these minimal sets generates an implied edit:
THEN (2.10)
which does not involve because of property (2.8). These implied edits
are added to the set of original edits that do not involve to find the transformed set of edits obtained
by eliminating
It should be clear that the computational work of the
algorithm lies mainly in the elimination steps. In particular, it is known that
the number of implied edits under Fourier-Motzkin elimination may be
exponential in the number of eliminated variables (Schrijver 1986).
A fundamental property of both elimination techniques,
for numerical and categorical variables, is exhibited by the following result.
Consider a system of implied edits obtained by eliminating or from a system of edits Then the original values of the untreated
variables satisfy all edits in if and only if there exists a value for or that, together with these original values,
satisfies all edits in For a proof, see Theorem 8.1 in De Waal
(2003b) or Theorem 4.3 in De Waal et al.
(2011). The above-mentioned correspondence between end nodes without
self-contradicting elementary relations and feasible solutions to the error
localisation problem follows from a repeated application of this fundamental
property.
Previous | Next