Generalised Interaction Mining
CHAPTER 3. GENERALISED INTERACTION MINING
3.1.2 Contributions
This chapter makes the following contributions:
• It introduces the Generalised Interaction Mining (GIM) problem and presents
an abstract framework that allows interaction mining problems to be specied in terms of functions on interaction vectors. This framework separates the semantics of interaction mining problems from the algorithms used to mine them, provides a generic computational model for solving GIM problems and a useful geometric way of considering these problems in terms of vectors and subspaces.
• It presents the GIM algorithm, which is able to solve any problems expressed
in the GIM framework eciently. It is proved to have linear run time in the interesting interactions found and uses space linear in the size of the database (usually less). Extensions are also developed for solving a range of complex problems.
• It shows that GIM can be applied to solve a wide variety of existing and novel
problems.
• Section3.12.1proves that themaxP I measure, used in spatial data mining, is anti-monotonic under an ordering of variables. Previously this was thought to be weakly anti-monotonic. This leads to an more ecient solution using GIM.
3.1.3 Organisation
The remainder of this chapter is organised as follows. Section3.2presents the Gener- alised Interaction Mining (GIM) framework. Section3.3presents the GIM algorithm. Subsequent sections show how diverse problems can be mapped to the framework and solved by GIM; and how, through various extensions, GIM is able to solve more complicated problems.
3.2 Generalised Interaction Mining Framework
This section presents the vectorised GIM framework. LetV ={v1, v2, ..., vm}be the set of variables about which interaction information is desired. The data is said to consist of a set of samples {s1, s2, ..., sn} capturing the variable's values. The goal is to nd interesting subsets of V, where these subsets V0 ⊆V corresponding to
28 3.2. GENERALISED INTERACTION MINING FRAMEWORK
Figure 3.1: An interactionV0 visualised as a vectorxV0 in the spaceXof (3) samples.
interactions can have any given semantics and structure. Each possible interaction V0 ⊆ V is expressed as a vector, denoted by xV0 and called an interaction vector.
These vectors exist in a spaceX, the dimensions of which are typically1 the samples recorded in the data set. This is illustrated in gure3.1. Depending on the applica- tion, samples may be instances, transactions, rows, points, objects located in some space, successive values in time-series, entries in a correlation matrix, etc. In gen- eral, each sample captures the value that each of the variables had when that sample was recorded. Conceptually then, the database D consists of the set of interaction vectors corresponding to individual variables, D = {xv : v ∈ V}, where the entry xv[i] : i ∈ {1, n} records the value of v in the ith sample (dimension). Note that interaction vectors need not be implemented as vectors or arrays as suggested here; they only need to capture the information describing the interaction in the samples; and all interactions including single variables must be able to be represented by vectors in the same space X. The space X is dependent on the type of variables considered. For example, in itemset mining the space is the hypercube{0,1}nsince each item is either contained or not contained in any of thentransactions, while in clustering, clique or graph mining the space may be Rn. Variables may be mixed
type, or may even be vector or graph valued if required. The semantics of the inter- actionsV0 are also variable; they may be conjunctive as in frequent pattern mining, they may represent cliques of other types of sub-graphs in graph mining applications, or may simply be a set of variables that have some type of dependency or correlation with each other. Recall that examples of a wide range of interactions supported by the framework will be presented later in this chapter.
1Sometimes it is useful to store additional information in order to make the algorithm more
CHAPTER 3. GENERALISED INTERACTION MINING 29
The rst component of the framework is an order on the variables.
Denition 3.1. The variables v ∈V have a strict total order < dened on them. Writevi < vj ⇐⇒ i < j.
This is trivially satised in most applications as variables occur in some arbitrary order in the data set, and the order does not impact on the resulting patterns. In some applications a particular order is important. For example, section 3.12 shows that themaxP I measure is anti-monotonic provided that variables have a particular order.
Since each interactionV0 is represented by a vectorxV0 inX, the evaluation of that
interaction is performed with a vector valued functionmI(·).
Denition 3.2. mI :X→Rk is a measure on a vectorxV0. mI(xV0) evaluates the
quality of the interactionV0. k is xed.
That is,mI evaluates an interaction based only on the information available in that interaction's vector. k≥1 allows the function to evaluateV0 according to multiple criteria.
.
In order to evaluate an interaction with mI(·), its interaction vector must rst be built. Recall that the data set contains all xv where v ∈ V are the single vari- ables. The interaction vectors xV0 with |V0|> 1 are built incrementally using the
aggregation function aR(·), which maps two vectors inX ontoX:
Denition 3.3. aI : X2 → X operates on interaction vectors so that xV0∪v = aI(xV0, xv) where V0 ⊂ V, v ∈ (V −V0), and v occurs prior to all elements inV0.
That is, v < v0∀v0 ∈V0.
In other words,aI(·)combines the vectorxV0 for an existing interactionV0 ⊂V with
the vector xv for a new variable v∈ V −V0. The resulting vectorxV0∪v represents
the larger interaction V0∪v. In this way, vectors representing interactions can be built incrementally. Note that the resulting vector is the same as if it were calculated
30 3.2. GENERALISED INTERACTION MINING FRAMEWORK from the original data set, but rather than examining the original data set for all v0 ∈ V0 ∪v, it requires only one of the vectors (xv) as the information from the rest is already represented inxV0. This is exploited by the GIM algorithm, allowing
it to eciently evaluate interactions without recomputing vectors or scanning the data set. Note thataI(·)need not be commutative, even though the subscriptxV0∪v
uses set notation for simplicity. Furthermore, note that the order can be used in applications for semantic purposes, as it is guaranteed that interaction vectors are built in a particular and xed order.
Note that implicitly, aI(·) denes the semantics of the interaction. By dening
how xV0∪v is built, it must implicitly dene the semantics between variables in the
interaction. That is, what it means to add a variable to the existing interactionV0. Example 3.4. The simplest interaction mining approaches counts the number of samples that exhibit an interactionV0. In these cases, the interaction vector seman- tically consists of the set of samples that contain the interaction andmI(·)is simply
the size of this set. aI(·) is the intersection operation, so that all variables must be present in a sample for it to be counted. This leads to conjunctive semantics. WhilemI(·)andaI(·)are sucient in a number of applications, it sometimes occurs that an interactionV0 needs to be compared with its sub-interactions V” :V”⊂V0 in order to compute an interestingness measure. There are a number of problems in this thesis where this is required, including mining spatial co-location patterns. Furthermore, it allows the explicit measurement of how much an interaction V0 improves over its more general sub-interactionsV” : V” ⊂V0, a topic that will be considered in depth in section3.21. The following function supports such behaviour. Denition 3.5. MI:Rk×|P(V
0)|
→Rl is a measure that evaluates an interactionV0
based on the values computed bymI(·) for V0 or any sub-interaction V00:V00 ⊂V0. lis xed.
Like mI(·), MI(·) may compute multiple values. MI(·) does not take vectors as arguments it evaluates a rule based on values that have already been calculated bymI(·). This is for algorithmic eciency purposes and does not limit the scope of the framework. IfMI(·) does not need access to any sub-interactions to perform its evaluation, it is called trivial sincemI(·) can perform the function instead. A trivial MI(·) simply returns mI(·) and leads to reduced run time and space usage by the algorithm, as will be described in section3.3.
CHAPTER 3. GENERALISED INTERACTION MINING 31