A template model for multidimensional inter-transactional association rules

Similar documents
Inter-transactional association rules for multi-dimensional contexts for prediction and their application to studying meteorological data

Data Mining: Concepts and Techniques. (3 rd ed.) Chapter 6

#A50 INTEGERS 14 (2014) ON RATS SEQUENCES IN GENERAL BASES

Branching Bisimilarity with Explicit Divergence

Determinants of generalized binary band matrices

Data Analytics Beyond OLAP. Prof. Yanlei Diao

Chaos and Dynamical Systems

Lecture 12: Grover s Algorithm

On the Independence of the Formal System L *

Minimizing a convex separable exponential function subject to linear equality constraint and bounded variables

SVETLANA KATOK AND ILIE UGARCOVICI (Communicated by Jens Marklof)

FinQuiz Notes

arxiv: v1 [cs.fl] 24 Nov 2017

Representation theory of SU(2), density operators, purification Michael Walter, University of Amsterdam

1Number ONLINE PAGE PROOFS. systems: real and complex. 1.1 Kick off with CAS

Depth versus Breadth in Convolutional Polar Codes

Association Rules Information Retrieval and Data Mining. Prof. Matteo Matteucci

COMP 5331: Knowledge Discovery and Data Mining

732A61/TDDD41 Data Mining - Clustering and Association Analysis

Luis Manuel Santana Gallego 100 Investigation and simulation of the clock skew in modern integrated circuits. Clock Skew Model

Handling a Concept Hierarchy

Associa'on Rule Mining

Upper Bounds for Stern s Diatomic Sequence and Related Sequences

Mining Fuzzy Sequential Patterns with Fuzzy Time-Intervals in Quantitative Sequence Databases

Exploring Lucas s Theorem. Abstract: Lucas s Theorem is used to express the remainder of the binomial coefficient of any two

Estimating a Finite Population Mean under Random Non-Response in Two Stage Cluster Sampling with Replacement

Mining Positive and Negative Fuzzy Association Rules

D B M G Data Base and Data Mining Group of Politecnico di Torino

Meelis Kull Autumn Meelis Kull - Autumn MTAT Data Mining - Lecture 05

Chapters 6 & 7, Frequent Pattern Mining

Comparison of Transmission Loss Allocation Methods in Deregulated Power System

Association Rules. Fundamentals

D B M G. Association Rules. Fundamentals. Fundamentals. Elena Baralis, Silvia Chiusano. Politecnico di Torino 1. Definitions.

Pseudo-automata for generalized regular expressions

D B M G. Association Rules. Fundamentals. Fundamentals. Association rules. Association rule mining. Definitions. Rule quality metrics: example

1 Hoeffding s Inequality

Merging and splitting endowments in object assignment problems

Reductionist View: A Priori Algorithm and Vector-Space Text Retrieval. Sargur Srihari University at Buffalo The State University of New York

Contents. Learning Outcomes 2012/2/26. Lecture 6: Area Pattern and Spatial Autocorrelation. Dr. Bo Wu

Application of Pareto Distribution in Wage Models

Association Rule. Lecturer: Dr. Bo Yuan. LOGO

Critical value of the total debt in view of the debts. durations

Scheduling Two Agents on a Single Machine: A Parameterized Analysis of NP-hard Problems

SOME GENERAL RESULTS AND OPEN QUESTIONS ON PALINTIPLE NUMBERS

Removing trivial associations in association rule discovery

MATH 225: Foundations of Higher Matheamatics. Dr. Morton. 3.4: Proof by Cases

Robot Position from Wheel Odometry

DATA MINING LECTURE 3. Frequent Itemsets Association Rules

Schema Mappings for Data Graphs

Pattern Structures 1

Bayesian inference with reliability methods without knowing the maximum of the likelihood function

IN this paper we study a discrete optimization problem. Constrained Shortest Link-Disjoint Paths Selection: A Network Programming Based Approach

Plan for Today and Beginning Next week (Lexical Analysis)

ASSOCIATION ANALYSIS FREQUENT ITEMSETS MINING. Alexandre Termier, LIG

Sample Solutions from the Student Solution Manual

Data Mining and Analysis: Fundamental Concepts and Algorithms

CS5112: Algorithms and Data Structures for Applications

1.17 Triangle Numbers

DATA MINING - 1DL105, 1DL111

School of Business. Blank Page

Modifying Shor s algorithm to compute short discrete logarithms

The Mean Version One way to write the One True Regression Line is: Equation 1 - The One True Line

Encyclopedia of Machine Learning Chapter Number Book CopyRight - Year 2010 Frequent Pattern. Given Name Hannu Family Name Toivonen

Concentration of magnetic transitions in dilute magnetic materials

A Reduced Rank Kalman Filter Ross Bannister, October/November 2009

.. Cal Poly CSC 466: Knowledge Discovery from Data Alexander Dekhtyar..

Section 8.5. z(t) = be ix(t). (8.5.1) Figure A pendulum. ż = ibẋe ix (8.5.2) (8.5.3) = ( bẋ 2 cos(x) bẍ sin(x)) + i( bẋ 2 sin(x) + bẍ cos(x)).

Structuring Unreliable Radio Networks

Vector Spaces. EXAMPLE: Let R n be the set of all n 1 matrices. x 1 x 2. x n

Data mining, 4 cu Lecture 7:

Piecewise Linear Dynamic Programming for Constrained POMDPs

Data Mining. Dr. Raed Ibraheem Hamed. University of Human Development, College of Science and Technology Department of Computer Science

Vertical Implementation

Data Mining Concepts & Techniques

Module 9: Further Numbers and Equations. Numbers and Indices. The aim of this lesson is to enable you to: work with rational and irrational numbers

SPOKEN dialog systems (SDSs) help people accomplish

Frequent Itemset Mining

Alternative Approach to Mining Association Rules

Travel Grouping of Evaporating Polydisperse Droplets in Oscillating Flow- Theoretical Analysis

Detecting Anomalous and Exceptional Behaviour on Credit Data by means of Association Rules. M. Delgado, M.D. Ruiz, M.J. Martin-Bautista, D.

A NEW HYBRID TESTING PROCEDURE FOR THE LOW CYCLE FATIGUE BEHAVIOR OF STRUCTURAL ELEMENTS AND CONNECTIONS

Weak Keys of the Full MISTY1 Block Cipher for Related-Key Cryptanalysis

The Role of the Graphing Calculator in the Qualitative Analysis of Function

Hash Table Analysis. e(k) = bp(k). kp(k) = n b.

TIGHT BOUNDS FOR THE FIRST ORDER MARCUM Q-FUNCTION

The intersection probability and its properties

3.5 Solving Quadratic Equations by the

ab is shifted horizontally by h units. ab is shifted vertically by k units.

Isolated Toughness and Existence of [a, b]-factors in Graphs

EVALUATIONS OF EXPECTED GENERALIZED ORDER STATISTICS IN VARIOUS SCALE UNITS

Mathematics Background

Mathematical Ideas Modelling data, power variation, straightening data with logarithms, residual plots

Frequent Itemset Mining

CS 484 Data Mining. Association Rule Mining 2

Function Secret Sharing: Improvements and Extensions

arxiv: v1 [cs.gt] 4 May 2015

Two-Stage Improved Group Plans for Burr Type XII Distributions

arxiv: v1 [hep-ph] 20 Dec 2012

FUZZY ASSOCIATION RULES: A TWO-SIDED APPROACH

Polynomial Degree and Finite Differences

Transcription:

The VLDB Journal (22) 11: 153 175 / Digital Oject Identifier (DOI) 1.17/s778-2-69-6 A template model for multidimensional inter-transactional association rules Ling Feng 1,, Jeffrey Xu Yu 2, Hongjun Lu 3, Jiawei Han 4 1 Infola, Department of Information Systems and Management, Tilurg University, PO Box 9153, 5 LE Tilurg, The Netherlands; e-mail: ling@ku.nl 2 Department of Systems Engineering and Engineering Management, Chinese University of Hong Kong, Shatin, N.T., China; e-mail: yu@se.cuhk.edu.hk 3 Department of Computer Science, Hong Kong University of Science and Technology, Clear Water Bay, Kowloon, China; e-mail: luhj@cs.ust.hk 4 Department of Computing Science, University of Illinois at Urana-Champaign, 134 West Springfield Ave, IL 6181 USA; e-mail: hanj@cs.uiuc.edu Edited y M.T. Özsu. Received: Feruary 16, 21 / Accepted: June 1, 22 Pulished online: Septemer 25, 22 c Springer-Verlag 22 Astract. Multidimensional inter-transactional association rules extend the traditional association rules to descrie more general associations among items with multiple properties across transactions. After McDonald and Burger King open ranches, KFC will open a ranch two months later and one mile away is an example of such rules. Since the numer of potential inter-transactional association rules tends to e extremely large, mining inter-transactional associations poses more challenges on efficient processing than mining traditional intra-transactional associations. In order to make such association rule mining truly practical and computationally tractale, in this study we present a template model to help users declare the interesting multidimensional intertransactional associations to e mined. With the guidance of templates, several optimization techniques, i.e., joining, converging, and speeding, are devised to speed up the discovery of inter-transactional association rules. We show, through a series of experiments on oth syntheticand real-life data sets, that these optimization techniques can yield significant performance enefits. Keywords: Intra-transactional/inter-transactional association rules Multidimensional context Template model 1 Introduction Since the prolem of mining association rules was introduced in [1], a large amount of work has een done in various directions, including efficient, Apriori-like mining methods [4, 26,45,4 42,51,59,19], mining generalized, multi-level, or quantitative association rules [48,49,23,21,2,37,28,25,44], Present address: Dataase Group, Department of Computer Science, University of Twente, P.O. Box 217, 75 AE Enschede, The Netherlands; e-mail: ling@cs.utwente.nl association rule mining query languages [36,52], constraintased rule mining [27,38,5,52,6,24,18], incremental maintenance of discovered association rules [11], parallel and distriuted mining [3,22,12], mining correlations and causal structures [9,46,47], cyclic, interesting, and surprising association rule mining [39,43,13,1], mining frequent itemsets with multiple supports [31,55], and so on. Recently, the prolem of mining multidimensional intertransactional association rules was introduced in [33,32]. It extends the scope of mining association rules from traditional single-dimensional intra-transactional associations, to multidimensional inter-transactional associations. Intratransactional associations are the associations among items within the same transaction, where the notion of the transaction could e the items ought y the same customer, the events happening on the same day, etc. However, an intertransactional association descries the association relationships among different transactions, suc h as if company A s stock goes up on day 1, B s stock will go down on day 2, ut go up on day 4. In this case, whether we treat company or day as the unit of transaction, the associated items elong to different transactions. Moreover, such an inter-transactional association can e extended to associate multiple contextual properties (e.g., time, space, temperature, etc.) in the same rule, so that multidimensional inter-transactional associations can e defined and discovered. For example, if a dataase contains records aout the time and location of uildings and facilities of cities under development, we may e ale to find 2- dimensional inter-transactional association rules such as After McDonald and Burger King open ranches, KFC will open a ranch two months later and one mile away, which involves two dimensions - time and space. Multidimensional inter-transactional association rules provide a more detailed view of associations among items ecause they intend to capture more rich contextual information for association relationships. In comparison, the context for traditional intra-transactional association rules is limited to single transaction. Thus, from oth a conceptual and algorithmicpoint of view, traditional intra-transactional asso-

154 L. Feng et al.: A template model for multidimensional inter-transactional association rules ciation rules can e viewed as a simple case of multidimensional inter-transactional association rules. By extension of Apriori [4], two kinds of algorithms, named E/EH-Apriori (Extended/Extended Hash-ased Apriori) [33,32] and FITI (First-Intra-Then-Inter) [53], were presented for mining intertransactional association rules from large data sets. Empirical results indicate that with multidimensional inter-transactional association rules, more comprehensive and interesting knowledge can e detected, ut this is at the expense of higher computational cost than traditional association rule mining. In order to make inter-transactional association rule mining truly practical and computationally tractale, in this study we propose a template model to help such rule discovery. Previous work on traditional association rules demonstrated the effectiveness of constraint/query-ased association mining [27,38,5,52,36,6,18]. It is applicale to inter-transactional association mining as well, since users may also have certain interesting inter-transactional contexts in mind, from which to do the mining. For example, users may want to know how stock a s rising ehavior today affects other stocks next week. A rule like If a goes down, will go down 243 days later most proaly cannot inspire much confidence in stock traders. Hence, one contriution of this paper is to provide users with a set of constructors to specify the interesting intertransactional associations, so that mining can e focused and the cost incurred is proportionate to what the users want and get. Another contriution of the paper is that we develop several optimization techniques, i.e., joining, converging and speeding, for mining inter-transactional association rules under rule templates. This allows us to significantly reduce the amount of wasted work performed during the mining process. We demonstrate the effectiveness of these techniques through a series of experiments on oth syntheticand real-life data sets. The remainder of the paper is organized as follows. In Sect. 2, we provide a rief review of the asic concepts of multidimensional inter-transactional association rules. A template model for such extended multidimensional inter-transactional association rules is then introduced in Sect. 3. Section 4 examines the template translation phase in detail. Several optimization techniques and algorithms which utilize templates to speed up the discovery of inter-transactional association rules are discussed in Sects. 5 and 6. The experimental evaluation on oth syntheticand real-life data sets is presented in Sect. 7. Section 8 reviews some closely related work. Finally, Sect. 9 concludes the paper with a rief discussion of future work. 2 Association among multidimensional transactions In this section, we provide some ackground information for multidimensional inter-transactional association rules. We start with a dataase of multidimensional transactions, and then define multidimensional inter-transactional association rules. 2.1 Dataase of multidimensional transactions In the traditional association mining, the dataase to e mined is organized as a set of records identified y their transaction IDs. Associations mined refer to the relationships among Tale 1. A sample dataase ID x y Items t 1 {a,, c} t 2 1 {} t 3 2 {, c} t 4 3 {d } t 5 4 {, c } t 6 1 {, c} t 7 1 1 {d} t 8 2 1 {a} t 9 3 1 {} t 1 4 1 {a} t 11 2 {a} t 12 1 2 {} t 13 2 2 {, c} t 14 3 2 {} t 15 4 2 {} t 16 3 {, c} t 17 1 3 {d} t 18 2 3 {a} t 19 3 3 {, c} t 2 4 3 {a} items within a transaction. That is, we only consider the items themselves and ignore other attriutes associated with such transactions, such as time, place, and customers. However, it is often the case that, such attriutes, or contextual information of transactions, are of main interests. In Tale 1, we show a sample dataase aout fast food outlets. Each record contains a list of items, a,, c, and d representing different types of outlets, such as MacDonald, KFC, Burger King, together with their locations in terms of x and y coordinates, which can e viewed as the numer of locks from a reference point. The graphical representation of the dataase is shown in Fig. 1. For such a dataase, we may not only e interested in which outlets are in the same lock, ut also the outlets in neighoring locks, which requires us to consider associations among items from different transactions. With such a motivation, we extended the traditional intra-transactional association mining to inter-transactional, multidimensional association mining [33,32]. In multidimensional association mining, a transaction (in a generic sense) contains two pieces of information, a list of items and the context under which the items are considered. Items in a transactional dataase could e of any type of ojects, or events that are of interest to a particular application, such as shopping items, shops, gas stations, restaurants, est sellers, etc. The context is usually defined y m attriutes, d 1,d 2,...,d m, each of which represents a dimension. Typical dimensional attriutes include time, distance, temperature, latitude, and so on. Note that the dimensional attriutes could e of any kind of attriutes related to an application. In our aove sample dataase, we have two numerical dimensional attriutes, x and y, representing the numer of locks in two directions with respect to a certain reference point. The context for a stock movement dataase could e constructed y

L. Feng et al.: A template model for multidimensional inter-transactional association rules 155 y 3 2 1 t16 t17 t18 t19 t2 c c d a t11 a t12 t13 t14 t15 c d t6 t7 t8 a t9 t1 t1 a t2 t3 t4 t5 c d c 1 c 2 3 4 Fig. 1. A graphical representation of the sample dataase one dimensional attriutes, trading date. As another example, a dataase of est sellers of a chain store, the items are the est selling products, and the dimensional attriutes could e the date, or the ranch of the store. The diversity of dimensional attriutes raises two issues. First, for continuous attriutes, items may e associated with different attriute values. For example, the stock price may e different every time unit. In this case, a continuous attriute needs to e discretized into intervals ased on the requirement of applications. For example, we can choose a trading day as one interval, a transaction s item list contains all stocks whose prices are up during the day. We can also choose one week as an interval when we are concerned more over long term trend. In this case, the item list contains stocks whose prices are up with respect to the closing prices of last trading day of the week. Second, since we intend to mine inter-transactional associations, transactions have to e ordered. For example, we may have an association rule saying that Item A, a est seller at store X, will e a est seller at the next store within two-day s time. That is, A will appear in the next transaction in the order of attriute shop. While ordering of continuous attriutes is easy to determine, ordering nominal attriutes seems unnatural from mathematical view point. However, it can e done if we consider the semantics of the attriutes and applications. In our est seller example, transactions can either e ordered y the size of shops, or geographical distances etween shops. Similarly, the domain of attriute customer can e ordered ased on age or income of customers. Although rules mined with different ordering may have different forms, users can prepare the data in such a way that the results will e of most interest to them. Besides, we may not need to have a total order for each dimension. If the relative distance etween every two transactions can e identified (neighor), that is ok. Note that distance is weaker than a total order. With the aove understanding, we assume that the domain of each dimensional attriute is divided into intervals, and transactions are ordered efore mining association rules. A dataase of multidimensional transactions can e defined as follows. Let I = {i 1,i 2,...,i ω } denote a set of literals called items, and D = {D 1,D 2,..., D m } denote a set of dimensional attriutes. A multidimensional transactional dataase is a set of transactions T = {t 1,t 2,,t n }, where each transaction in T is in the form of (d 1,d 2,..., d m,i) a a c x where d i D i, 1 i m and I I. To emphasize that (d 1, d 2,..., d m ) is the context under which the transaction occurs, we call it the contextual point of the transaction, denoted as (d1, d 2,..., d m), and call such a multidimensional transaction an extended transaction, and denote it as (d1, d 2,..., d m)(t). Similarly, we can descrie the occurrence context of an item i Iy associating an m-dimensional contextual point (d1, d 2,..., d m) with i. We call such kind of item an extended item and denote it as (d1, d 2,..., d m)(i). Using the notation, the multidimensional transactional dataase shown in Tale 1 can e transformed into the dataase shown in Tale 2. Note that the contextual point of an extended transaction or an item, is just a point position in the m- dimensional space. Let n i = (n i.d 1, n i.d 2,,n i.d m ) and n j = (n j.d 1, n j.d 2,, n j.d m ) e two such points, whose values on the m dimensions are represented as n i.d 1,n i.d 2,..., n i.d m and n j.d 1,n j.d 2,..., n j.d m, respectively. Two points n i and n j are equal, if and only if k(1 k m) (n i.d k = n j.d k ). A relative distance etween n i and n j is defined as n i,n j = (n j.d 1 n i.d 1, n j.d 2 n i.d 2,,n j.d m n i.d m ). Thus, esides the asolute representation (n i.d 1, n i.d 2,, n i.d m ) for point n i, we can also represent it y indicating its relative distance n,n i from a certain reference point n. Let N = {n 1, n 2,..., n u } e a set of points in an m-dimensional space. The largest reference point of N is the point n, where k (1 k m) (n.d k = min(n 1.d k,n 2.d k,..., n u.d k )). Example 1 Given two points, n 1 = (, 2),n 2 = (1, 1), in a two-dimensional space, the largest reference point of {n 1,n 2 } is n =(, 1), since n.d 1 = min(n 1.d 1,n 2.d 1 )= min(, 1)=and n.d 2 = min(n 1.d 2,n 2.d 2 )=min(2, 1) =1. In the following, we also refer to an m-dimensional point n i through (ni.a 1 n.a 1,n i.a 2 n.a 2,..., n i.a m n.a m) when the reference point n is clear in the context of discourse. Given an extended item set, I e = { (d1,1,...,d 1,m)(i 1 ), (d2,1,...,d 2,m)(i 2 ),..., (dk,1,...,d k,m )(i k )}, we call it a normalized extended item set, if the reference point of the extended items in I e is the largest reference point of the set, that is, j(1 j k) i(1 i m) (min(d j,i )=). Similarly, we call an extended transaction set a normalized extended transaction set, if all extended item sets of those transactions are normalized extended item sets. Any non-normalized extended item (transaction) set can e transformed into a normalized one through a normalization function called Norm, whose intention is to reposition all the involved extended items (transactions) ased on the largest reference point of this set. We use I NE and T NE to denote the set of all possile normalized extended item sets and normalized extended transaction sets, respectively. The motivation of having normalized extended item sets can e clearly seen using two such item sets circled in Fig. 1: I e = { (,) (a), (,1) (c), (1,1) (d)} and I e = { (,2) (a), (,3) (c), (1,3) (d)}. I e is normalized, and I e is not: the minimum value for oth x and y for all items in I e is zero and the minimum y for I e is 2. The normalized item set for I e is I e = { (,) (a), (,1) (c), (1,1) (d)}, which

156 L. Feng et al.: A template model for multidimensional inter-transactional association rules Tale 2. A transformed extended transactional dataase Transaction (x, y, I) Extended transaction Extended Items t 1 (,, {a,, c}) (,) (t 1) (,) (a), (,) (), (,) (c) t 2 (1,, {}) (1,) (t 2) (1,) () t 3 (2,, {, c}) (2,) (t 3) (2,) (), (2,) (c) t 4 (3,, {d }) (3,) (t 4) (3,) (d) t 5 (4,, {, c }) (4,) (t 5) (4,) (), (4,) (c) t 6 (, 1, {, c}) (,1) (t 6) (,1) (), (,1) (c) t 7 (1, 1, {d}) (1,1) (t 7) (1,1) (d) t 8 (2, 1, {a}) (2,1) (t 8) (2,1) (a) t 9 (3, 1, {}) (3,1) (t 9) (3,1) () t 1 (4, 1, {a}) (4,1) (t 1) (4,1) (a) t 11 (, 2, {a}) (,2) (t 11) (,2) (a) t 12 (1, 2, {}) (1,2) (t 12) (1,2) () t 13 (2, 2, {, c}) (2,2) (t 13) (2,2) (), (2,2) (c) t 14 (3, 2, {}) (3,2) (t 14) (3,2) () t 15 (4, 2, {}) (4,2) (t 15) (4,2) () t 16 (, 3, {, c}) (,3) (t 16) (,3) (), (,3) (c) t 17 (1, 3, {d}) (1,3) (t 17) (1,3) (d) t 18 (2, 3, {a}) (2,3) (t 18) (2,3) (a) t 19 (3, 3, {, c}) (3,3) (t 19) (3,3) (), (3,3) (c) t 2 (4, 3, {a}) (4,3) (t 2) (4,3) (a) is actually the same as I e. That is, normalized itemset makes it possile to find the same pattern in a multidimensional space. Property 1 Any superset of a normalized extended item (transaction) set is also a normalized extended item (transaction) set. This property can e proven easily from the definition of normalized extended item (transaction) set. 2.2 Multidimensional inter-transactional association rules From the multidimensional transaction dataase defined aove, we can now define multidimensional intertransactional association rules. Definition 1 A multidimensional inter-transactional association rule is an implication of the form X Y, where X, Y I E,X Y I NE, and X Y =. Different from classical intra-transactional association rules, an inter-transactional association rule provides the occurrence context for associated items y means of a normalized extended item set X Y. That is, all items in an association rule use the same reference point. For example, a rule that predicts the stock price movement if stock a increases one day, and stock c increases the following day, then most proaly stock e will increase on the fourth day, can e expressed y an one-dimensional inter-transactional association rule () (a), (1) (c) (3) (e), where, 1, and 3 are days from any trading date. Similar to intra-transactional association rules, we use support and confidence as two major measurements for multidimensional inter-transactional association rules. Traditionally, the support of a rule X Y is the fraction of transactions that contains X Y over the whole transactions, and the confidence of the rule is the fraction of transactions containing X that also contain Y. However, to measure multidimensional inter-transactional association rules, which may span different transactions, the traditional support concept must e extended accordingly from the original single-transaction-ased to transaction-set-ased. We first extend the concept of a transaction containing a set of items. Minimal containment relationship etween an extended transaction set and a normalized extended item set. We define that T e contains I ne, if and only if (a) For (dx,1, d x,2,..., d x,m)(i x ) I ne, there exists an extended transaction (dx,1, d x,2,..., d x,m)(t) Norm(T e ), where (i x t), and () there exists no other extended transaction set T e, such that T e T e and (a) holds. Example 2 Refer to our sample transaction dataase in Fig. 1 and Tale 2. Given I ne = { (,) (a), (,1) (c), (1,1) (d)}, two extended transaction sets contain I ne. They are T 1 = { (,) (t 1 ), (,1) (t 6 ), (1,1) (t 7 )} and T 2 = { (,2) (t 11 ), (,3) (t 16 ), (1,3) (t 17 )}. After normalization, oth of them have transactions at (,), (,1) and (1,1) with items a, c, and d, respectively. For the same reason, we have three extended transaction sets in the dataase, i.e., { (,) (t 1 ), (,1) (t 6 )}, { (,2) (t 11 ), (,3) (t 16 )} and { (2,1) (t 8 ), (2,2) (t 13 )} that contain I ne = { (,) (a), (,1) (c)}. Now we define support and confidence of a multidimensional inter-transactional association rule.

L. Feng et al.: A template model for multidimensional inter-transactional association rules 157 Definition 2 Given a multidimensional transaction dataase with N extended transactions, the support and confidence of a multidimensional inter-transactional association rule X Y is defined as: support(x Y )= T xy /N and confidence(x Y )= T xy / T x, where T xy and T x are the numer of extended transaction sets that contain X Y and X, respectively, in the dataase. Example 3 Suppose we have an inter-transactional association rule (,) (a), (,1) (c) (1,2) (d) from the dataase in Fig. 1, with X = { (,) (a), (,1) (c)} and Y = { (1,1) (d)}. According to Example 2, the total numer of extended transaction sets that contain X Y is 2. Thus, support = T xy /N =2/2 = 1%. Among the 3 extended transaction sets that contain X, only 2 of them contain X Y. Thus, confidence = T xy / T x =2/3 67%. Although we extended the traditional association rules to a multidimensional context, the property of Apriori ased association rule mining algorithm still holds: Property 2 Given two normalized extended itemsets X and X where X X, support(x) support(x ). Proof. Let T X and T X denote a set of extended transaction sets that contain X and X, respectively. It is ovious that T X T X, since for any extended transaction set t x containing X, we can find a corresponding minimal extended transaction set t x t x containing X. Therefore, we have support(x) = T X N T X N = support(x ). As the dataases to e mined usually contain a huge amount of data with the fast growing data collection technologies, Property 2 not only enales simplifying the computation of the support level of extended itemsets, ut also maintains the important monotonicproperty that the support of an itemset will not e larger than the support of any of its susets. We like to have this downward closure property since it is the ase of a large set of efficient association rule mining algorithms. All existing algorithms that mine multidimensional inter-transactional association rules use this property [33,32, 53]. 3 A template model for inter-transactional association rules A frequently encountered prolem in association rule mining is that mining systems may return quite a large numer of rules. With inter-transactional associations which capture more knowledge than intra-transactional ones, the numer of rules returned tends to e even more. Thus, from the standpoints of oth users and computational costs, it is necessary to restrict the search space and perform human-centered data mining. In this section, we present a template model to enale users to specify what kinds of interesting multidimensional inter-transactional association rules are to e mined. 3.1 A two-level template model Templates are effective ways for users to specify the kind of associations they want to mine from a multidimensional transactional dataase. Let s use a stock movement dataase as an example. The dataase has one dimensional attriute, trading day and lists of stocks whose prices are up on the trading day. An investor may e interested to know When two stocks rise together on the same day, which stock will go up one week later?. This is equivalent to association rules in the form of () ( ), () ( ) (7) ( ), where * represents any stock. Using this rule as the template, the mining algorithm can reduce the search space dramatically. For example, it only needs to examine transactions that are 7 days apart. More importantly, the user will e only given those rules that s/he is interested in. While using rules in some particular form as a template can serve the purpose, there are some related issues. For example, if a user would like to know When two stocks rise together on the same day, which stock will go up within a week?, s/he may need to give a set of such template rules like () ( ), () ( ) (1) ( ), () ( ), () ( ) (2) ( ), and etc. Oviously, it is rather ineffective to do so. With the aove oservation, we propose a two-level template model for association mining in multidimensional transactional dataases. Users specify high-level template expressions, and the system transforms them into template instances. Let P oint e the set of all possile contextual points in the transactional dataase in consideration. We call an extended item with uncertain contextual point and/or item an extended item variale, denoted as (x), where P oint and x I.Amultidimensional inter-transactional association rule template expression consists of a set of extended item variales that satisfy indicated constraints in the form of 1 (x 1 ), 2 (x 2 ),..., p (x p ) p+1 (x p+1 ),..., p+q (x p+q ) (C item, C context ), where 1 (x 1 ), 2 (x 2 ),..., p+q (x p+q ) are extended item variales, C item is a constraint Boolean expression on items x 1,x 2,...,x p+q, and C context is a constraint Boolean expression on item contexts 1, 2,..., p+q. All contextual points i (s) in a rule template should e positioned with respect to a common reference point. The aove rule template implies that only association rules satisfying oth C item and C context are to e detected. Example 4 1 (x 1 ), 2 (x 2 ) 3 (x 3 ) (C item, C context ), where C item : true and C context : ( 1 = 2 = () ) ( < DistP oint(1, 2, 3 ) < 7) is a template expression, with three variales. DistP oint is a function which returns the distance etween two contextual points along a certain specified dimension (dimension 1 in this example). This template expression specifies all the association rules with two items in the antecedent and one item in the consequent. The contextual point of the two antecedent items are the same and the consequent item s is seven unit apart. In the context of our stock movement example, those association rules answer the query When two stocks rise together on the same day, which stock will go up within a week?. Rule template instances are instantiation of corresponding rule template expressions, where extended item variales are instantiated to actual contextual points. Example 5 () ( ), () ( ) (1) ( ), () ( ), () ( ) (2) ( ),, () ( ), () ( ) (7) ( ) are seven template instances corresponding to the template expression in the aove example. Because no constraints on

158 L. Feng et al.: A template model for multidimensional inter-transactional association rules x 1,x 2 and x 3, the three item variales are instantiated to any (*). As item constraints have een extensively studied in the traditional association rule mining [27,38,5,52,36,6,24,18], we focus on context constraints in this paper. The Boolean expression C context is in a conjunctive normal form c 1 c 2... c r, where each c i (1 i r) is of the form c i,1 c i,2... c i,t. Each allowed c i,j (1 i r, 1 j t) is a constraint defined in the following sections. With the two-level template model, mining multidimensional inter-transactional association rules consists of four phases: template translation, mining planning, frequent normalized extended itemset discovery, and inter-transactional association rule generation. Phase-1 (template translation) The input of this phase is user-specified high-level template expressions that specify a set of Boolean constraints that extended item variales of the rules should satisfy (as shown in Example 4). Such template expressions are transformed during this phase to produce a set of template instances (as shown in Example 5), with all the contexts of extended item variales eing instantiated. A template may imply one or several template instances to which the rules discovered later must conform. The template translation phase interprets and translates template expressions given as input y users into a set of template instances. In a template instance, all the contexts of extended item variales are instantiated so as to provide concrete guidance for the following mining processes. Section 4 examines this template translation procedure in detail. Phase-2 (mining planning) Like traditional association rule mining, we first discover all normalized extended itemsets with support not less than a user-specified minsup threshold. We call these itemsets frequent normalized extended itemsets. From the frequent itemsets discovered, we then derive inter-transactional association rules with confidence not less than a user-specified minconf threshold. Different from traditional itemsets where all items are within the same transaction, an extended k-itemset under the circumstance of inter-transactional associations may span several transactions. For example, to get one-dimensional intertransactional rules () ( ), () ( ) (7) ( ) and () ( ), () ( ) (14) ( ), we need to identify frequent 3-itemsets y counting all those candidate 3-itemsets C3 = {{ () ( ), () ( ), (7) ( )}, { () ( ), () ( ), (14) ( )}} across every 8 and 15 consecutive transactions. 1 The purpose of this phase is to identify candidate itemsets Ck to count at each pass k( RuleLen), and decide the generation plan for candidate RuleLen-itemsets. Details for mining plan generation are descried in Sect. 5. 1 In the paper, we use C k to represent the set of candidate itemsets with detailed contextual information, and C k to represent the set of candidate itemsets with oth detailed contexts and item IDs. The same for L k and L k. Phase-3 (frequent normalized extended itemset discovery) In this phase, we find the set of all frequent normalized extended itemsets identified in Phase-2. Two algorithms for generating frequent normalized extended itemsets ased on different mining plans are descried in Sect. 6. Phase-4 (inter-transactional association rule generation) Using the frequent normalized extended itemsets, we can find the desired inter-transactional association rules. The generation of inter-transactional association rules is similar to the generation of classical association rules [4] with minor modifications. In the following sections, we descrie how contextual constraints are defined. 3.2 Contextual constraints in templates In a dimensional space, in addition to contextual points, we introduce the concept of scope. A contextual scope is the suspace delimited y two contextual points P s = (ds1,d s2,...,d sm ) and P e = (de1,d e2,...,d em ) where k (1 k m) (d sk d ek ), denoted as s =[P s,p e ]. A contextual constraint is no more a predicate on contextual points and contextual scopes. It is defined ased on a set of context-oriented operators and context-oriented functions. 3.2.1 Context-oriented operations We first define a set of operators whose operands are either contextual points or contextual spaces. Let p and p e two contextual points, where p = (d1,d 2,...,d m) and p = (d 1,d 2,...,d m ). Let s and s e two contextual scopes, where s =[s s,s e ]=[ (ds1,d s2,...,d sm ), (de1,d e2,...,d em )] and s =[s s,s e] = [ (d s1,d s,...,d 2 sm ), (d e1,d e,...,d 2 em ) ]. We have the following context-oriented operators: Operators on contextual points The operators =,, on two contextual points p and p are defined as follows: p = p, iff k (1 k m) (d k = d k ). p p, iff k (1 k m) (d k d k ). p p, iff k (1 k m) (d k d k ) k (1 k m) (d k <d k ). Operators on a contextual point and a scope The operators inner, priori, rear on a contextual point p and a contextual scope s =[s s,s e ] are defined as follows: inner(p, s) =true, iff s s p s e prior(p, s) =true, iff p s s rear(p, s) =true, iff s e p Operators on contextual scopes The operators precedent, inclusive, overlap on two contextual scopes s =[s s,s e ] and s =[s s,s e] are defined as follows: precedent(s, s )=true, iffs e s s. inclusive(s, s )=true, iffs s s s s e s e. overlap(s, s ) = true, iff there exists a point p i = (di1,d i2,...,d im ), such that inner(p i,s) inner(p i,s ).

L. Feng et al.: A template model for multidimensional inter-transactional association rules 159 3.2.2 Context-oriented functions Besides the aove context-oriented operators, we define the following five functions in an m-dimensional space. Size(k, s) returns the size of the contextual scope s (i.e., numer of dimensional values) on the kth dimension, which is d ek d sk +1. DistP oint(k, p, p ) returns the relative distance etween the two points p and p on the kth dimension, which is d k d k. DistScope(k, s, s ) returns the relative distance etween the two scopes s and s on the kth dimension, which is d s k d ek. Note that DistScope is only meaningful when the two scopes have precedent relationship. DistP ointscope(k, p, s) returns the relative distance etween contextual point p and contextual scope s on the kth dimension. It equals to (d sk d k ) when prior(p, s) = true; and (d k d ek ) when rear(p, s) =true. Note that DistP ointscope is only meaningful when the point is not inside the scope. Intersect(s, s ) returns the overlapped scope etween s and s. It equals to s when inclusive(s, s )=true; and [ (d s1,d s,...,d 2 sm ), (de1,d e2,...,d em )] when overlap(s, s )=true. Note that Intersect is only meaningful when the two scopes have either inclusive or overlap relationship. 3.2.3 Contextual constraints With the aove defined context-oriented operators and functions, we can define six classes of contextual constraints as follows: 1. Constant constraints. Point constraint = (d1,d 2,...,d m), indicating that is at the point (d1,d 2,...,d m). Scope constraint inner(, [ (ds1,...,d sm ), (de1,...,d em )]), indicating that lies inside the scope [ (ds1,...,d sm ), (de1,...,d em )]. 2. Constraints etween two points 1, 2 P oint. 1 θ 2, where θ is one of the operators in {=,, }. DistP oint(k, 1, 2 ) θv, where 1 k m, v is a nonnegative integer, and θ is one of the operators in {=,,<,,>, }. 3. Constraints on one scope s S cope. Size(k, s) θv, where 1 k m, s S cope, v is a positive integer, and θ is one of the operators in {=,,<,,>, }. 4. Constraints etween two scopes s 1,s 2 S cope. θ (s 1, s 2 ), where θ is one of the operators in {precedent, inclusive, overlap}. DistScope(k, s 1,s 2 ) θv, where 1 k m, v is a positive integer, and θ is one of the operators in {=,,<,,>, }. 5. Constraints etween a point P oint and a scope s S cope. θ (, s), where θ is one of the operators in {inner, prior, rear}. DistP ointscope(k,,s) θv, where 1 k m, v is a positive integer, and θ is one of the operators in {=,,<,,>, }. 6. Aggregate constraints. agg(x) θv, where agg is one of the aggregate functions in {min, max}, X is one of the following context-oriented functions: DistP oint(k, 1, 2 ), DistScope(k, s 1,s 2 ), DistP ointscope(k,,s), Size(k, s), and v is a nonnegative integer. Any contextual scope in the aove constraints can e otained and sustituted y two other scopes through the Intersect function. 3.3 Examples We conclude our discussion aout the template model with a few example contextual expressions in the context of stock movement dataases. This will illustrate the expressive power of our template expressions to a certain extent. Example 6 When two stocks rise together on the same day, which stock will go up one or two weeks later? One template for this association can e 1 (x 1 ), 2 (x 2 ) 3 (x 3 ) (C item, C context ), where C item : true and C context : ( 1 = 2 = () ) (DistP oint(1, 2, 3 )=7 DistP oint(1, 2, 3 )= 14). Example 7 If stock a rises 1 day, and within the following 2 days another different stock rises, will stock a continuously go up within the next 3 days following the rise of the second stock? One template for this association can e 1 (a), 2 (x 2 ) 3 (a) (C item, C context ), where C item : (x 2 a) and C context : ( 1 = () ) inner( 2, [ (1), (2) ]) (1 DistP oint(1, 2, 3 ) 3). Example 8 If stock a rises 1 day, and directly after that there is a stock rising within a period whose maximal span is 2 days, then which stock will rise during the next period of the same length? One template for this association can e 1 (a), 2 (x 2 ) 3 (x 3 ) (C item, C context ) where C item : true and C context :( 1 = () ) inner( 2,s) DistP ointscope(1, 1,s) = 1 max(size(1, s)) = 2 inner( 3, s ) Size(1, s) = Size(1, s ) DistScope(1,s,s )=1. 4 Template translation phase We provide some heuristics for the translation of a template into template instances. It proceeds riefly in the following five steps: Step 1: unify comparison constraints with equal comparison operator (=)

16 L. Feng et al.: A template model for multidimensional inter-transactional association rules The comparison constraints (X θ v) involving one of the comparison operators in {>, <,, } and an integer v are first identified from the template Boolean expression C context. This kind of constraints includes Size(k, s) θv, DistP oint(k, 1, 2 ) θ v, DistScope(k, s 1,s 2 ) θv,and DistP ointscope(k,,s) θ v, where 1, 2 P oint and s 1,s 2,s S cope. We then transform each of them (X θ v) into a set of disjunctive constraints (X = w 1 )... (X = w s ), using only the equal comparison operator (=) plus integers w 1,w 2,...,w s that satisfy the constrained scope requirement (θ v). For example, the comparison constraints in the template in Example 7 (1 DistP oint(1, 2, 2 ) 3) can e translated into 3 disjunctive constraints DistP oint(1, 2, 3 )=1 DistP oint(1, 2, 3 )=2 DistP oint(1, 2, 3 )=3. In case that users only indicate a lower ound or a upper ound of a comparison constraint like DistP oint(1, 2, 3 ) > 1, we can invoke default constraints for X ased on the oservation that in real-world applications, users are usually interested in associations happening within a certain range, such as gas stations and fast-food outlets within 5 miles, stock indexes rising within a week, etc.. Here, we assume that for an extended itemset to e of interest, there always exists a maximal contextual span along each dimension, i.e., maxspan 1, maxspan 2,...,maxspan m. By default, the following constraints are always valid. 1) DistP oint(k, 1, 2 ) maxspan k 1 2) 1 DistScope(k, s 1,s 2 ) maxspan k 1 3) 1 DistP ointscope(k,,s) maxspan k 1 4) 1 Size(k, s) maxspan k After Step 1, one comparison constraint (Xθv) is converted into several constraints with equal comparison operator. At the first glance, Step 1 may result in a significant increase in the size of templates. Nevertheless, considering in quite a few applications, users are interested in association relationships within a certain narrow scope, i.e., the numer of valid values regarding X in (X θv) may not e huge, such an increase in the size of templates may not e as significant as expected. Step 2: unify aggregate constraints with equal comparison operator (=) Similar to comparison constraints, aggregate constraints (agg(x) θv) involving aggregate operators (max, min) in the template Boolean expression can e transformed into a set of disjunctive constraints using equal comparison operator (=) plus a set of integers. The aove default constraints on X (i.e., Size(k, s), DistP oint(k, 1, 2 ), DistScope(k, s 1,s 2 ), and DistP ointscope(k,,s)) can e applied when users ound X with only max or min. For instance, y taking the default constraint 4) into account, the aggregate constraint in Example 8 max(size(1, s 1 )) = 2 can e translated into 2 constraints Size(1, s 1 )=1 Size(1, s 1 )=2. Step 3: augment the template Boolean constraints for completeness There exists the situation that users do not indicate any constraint for some i (s) (1 i p + q) in the template Boolean expression C context. The aim of step 3 is to check and augment a default constant contextual scope constraint inner( i, [ (,,...,), (maxspan1,maxspan 2,...,maxspan m)]) for these i (s), ased on the fact that each extended itemset is supposed to occur under a maximal contextual scope of interest to applications. Step 4: transform the template Boolean constraint expression into a disjunctive normal form For convenience, users declare their context constraint expressions C context (s) in a conjunctive normal form. After Step 3, these template Boolean expressions are like (c 1,1 c 1,2... c 1,t1 ) (c 2,1 c 2,2... c 2,t2 )... (c r,1 c r,2... c r,tr ). To facilitate the translation of one template expression into several detailed template instances in the next step, we transform it into an equivalent disjunctive normal form like (c 1,1 c 2,1... c r,1 ) (c 1,2 c 2,1... c r,1 )... (c 1,t1 c 2,t2... c r,tr ), so that each conjunctive component in the formula can e instantiated independently into a set of template instances in Step 5. For example, the expression ( 1 = 2 = () ) (DistP oint(1, 2, 3 ) = 7 DistP oint(1, 2, 3 ) = 14) in Example 6 can e converted into ( 1 = 2 = () DistP oint(1, 2, 3 )= 7) ( 1 = 2 = () DistP oint(1, 2, 3 ) = 14). Step 5: instantiate extended item variales with constant points The last step is to instantiate each i (1 i p + q) in the template rule with a certain constant point ased on the given constraints. Such an instantiation process is conducted for each conjunctive constraint component c 1 c 2... c r otained from Step 4. For example, according to the conjunctive constraints in Example 6 ( 1 = 2 = () ) DistP oint(1, 2, 3 )=7), we can infer that 1 = 2 = () and 3 = (7). Hence, the original template rule 1 (x 1 ), 2 (x 2 ) 3 (x 3 ) can e translated into one template instance () (x 1 ), () (x 2 ) (7) (x 3 ). In addition, from the second conjunctive component ( 1 = 2 = () DistP oint(1, 2, 3 ) = 14), we can derive another template instance () (x 1 ), () (x 2 ) (14) (x 3 ) for the template in Example 6. Example 9 Referring to Example 6, after Step 5, the template 1 (x 1 ), 2 (x 2 ) 3 (x 3 ) where C context : ( 1 = 2 = () ) (DistP oint(1, 2, 3 ) = 7 DistP oint(1, 2, 3 ) = 14) can e translated into two template instances: 1) () (x 1 ), () (x 2 ) (7) (x 3 ); 2) () (x 1 ), () (x 2 ) (14) (x 3 ). For a i ounded with a contextual scope, we first instantiate the scope with a constant contextual scope, and

L. Feng et al.: A template model for multidimensional inter-transactional association rules 161 then assign each point that lies within this scope to i. Note that the default constraint inner( i, [ (,,...,), (maxspan1,maxspan 2,...,maxspan m)]) always sits ehind during this translation step. Example 1 The constraint inner( 2, [ (1), (2) ]) inexample 7 is translated into 2 = (1) or 2 = (2), from which we can derive six template instances for the template 1 (a), 2 (x 2 ) 3 (a), where C context :( 1 = () ) inner( 2, [ (1), (2) ]) (1 DistP oint(1, 2, 3 ) 3) : 1) () (a), (1) (x 2 ) (2) (a); 2) () (a), (1) (x 2 ) (3) (a); 3) () (a), (1) (x 2 ) (4) (a); 4) () (a), (2) (x 2 ) (3) (a); 5) () (a), (2) (x 2 ) (4) (a); 6) () (a), (2) (x 2 ) (5) (a). Example 11 Two contextual scopes s and s are involved in Example 8. According to the restrictions DistP ointscope(1, (),s)=1 max(size(1, s)) = 2 Size(1, s)=size(1, s ) DistScope(1,s,s )= 1, we can derive two possile pairs (s, s ) where (s = [ (1), (1) ],s =[ (2), (2) ]) and (s =[ (1), (2) ],s = [ (3), (4) ]). The constraint inner( 2, s) inner( 3, s ) implies that inner( 2, [ (1), (1) ]) inner( 3, [ (2), (2) ]), or inner( 2, [ (1), (2) ]) inner( 3, [ (3), (4) ]). From each of them, we can further instantiate 2 and 3 y enumerating all possile constant points within the corresponding scope, and otain the following five template instances for the template in Example 8 1 (a), 2 (x 2 ) 3 (x 3 ) : 1) () (a), (1) (x 2 ) (2) (x 3 ); 2) () (a), (1) (x 2 ) (3) (x 3 ); 3) () (a), (1) (x 2 ) (4) (x 3 ); 4) () (a), (2) (x 2 ) (3) (x 3 ); 5) () (a), (2) (x 2 ) (4) (x 3 ). Property 3 All template instances implied y a template can e completely generated y the Template Translation Phase. Proof. Steps 1 3 perform semantically equivalent template translation. The simple syntax conversion of the template Boolean constraint expression into an equivalent disjunctive normal form, performed in Step 4, also does not alter the semantics of the template constraint otained after Step 3, making the final template instantiation in Step 5 complete. 5 Mining planning phase Mining multidimensional inter-transactional association rules is a computationally intensive prolem, requiring considerale search efforts compared to the classical association rule mining. Template instances specify the patterns of intertransactional association rules. We need to find all rules that satisfy the template (not a part of template). It is goal-driven mining. Planning is needed. There are two asicplanning strategies: separate mining plan and joint mining plan. The separate mining plan is to deal with a single template instance at a time. The asicidea of separate mining is to include all necessary extended j-itemsets in the plan for finding an extended k-itemset template instance (j < k). It is ased on the oservation: the more extended j-itemsets are included in the plan, the more opportunities the uninteresting rules can e pruned in an early stage. The joint mining plan is to deal with multiple template instances together. Different from separate mining plan, it attempts to approach the goals as quickly as possile. In other words, it is ased on the oservation that spending time for intermediate extended itemsets is unnecessarily large. In order to approach the goal, three techniques are proposed: joining, converging and speeding. Joining technique is to join two aritrary k 1 -itemset and k 2 -itemset and form a possile up to (k 1 +k 2-1)-itemset. The idea of converging is to find possile shortest paths for all template instances y further utilizing the joining technique. The speeding technique is to identify the starting time of adopting joining and converging. We illustrate our techniques using 1-dimensional intertransactional association mining in this paper. Our techniques are applicale to n-dimensional inter-transactional association mining. To simplify expressions, we remove racket ( ) which surrounds coordinates of contextual points so as to use i for (i). In addition, itemset and extended itemset can e used interchangealy in the following discussion. 5.1 Separate mining plan One simple mining plan is to treat each template instance elonging to one rule template separately, and identify candidates Ck (1 k RuleLen) for each individual template instance in a similar way as Apriori-Gen does [4]. That is, each candidate k-itemset X = { d1 (x 1 ), d2 (x 2 ),, dk 1 (x k 1 ), dk (x k )} in C k is generated y joining two frequent (k-1)-itemsets X, X L k 1, where X = { d1 (x 1 ), d2 (x 2 ),, dk 2 (x k 2 ), dk 1 (x k 1 )} and X = { d1 (x 1 ), d2 (x 2 ),, dk 2 (x k 2 ), dk (x k )}, whose first (k-2) extended items are the same, and (x k 1 < x k ) precedent( dk 1, dk ). Note that all candidate and frequent itemsets under study are normalized y default. Due to the monotonicity property that any suset of a frequent itemset must e frequent, L k 1 also includes all the normalized susets of X, i.e., Norm({ d2 (x 2 ), d3 (x 3 ),, dk 1 (x k 1 ), dk (x k )}), Norm({ d1 (x 1 ), d3 (x 3 ),, dk 1 (x k 1 ), dk (x k )}),, Norm({ d1 (x 1 ),, dk 3 (x k 3 ), dk 1 (x k 1 ), dk (x k )}) for pruning purpose. For each template instance, candidate itemsets Ck are designated from k = RuleLen to 1 as aove, at which the mining process will target later on. Since such a plan deals with a template instance separately, we refer to it as the separate mining plan. Example 12 Suppose we have two template instances after template translation: ( ), 2 ( ) 4 ( ), 6 ( ) and ( ), 1 ( ) 3 ( ), 5 ( ). Tale 3 illustrates candidate itemsets identified y the separate method. To detect rules conforming to the first template instance, we need to calculate the supports of all candidate 4- itemsets { ( ), 2 ( ), 4 ( ), 6 ( )} in C 4 to get L 4. Before that, two such kinds of candidate 3-itemsets as { ( ), 2 ( ), 4 ( )} and { ( ), 2 ( ), 6 ( )} should

162 L. Feng et al.: A template model for multidimensional inter-transactional association rules Tale 3. The separate mining plan: candidate itemsets to e counted. Note W -Len gives the length of the minimal window that covers Ci in the 1-dimensional space ( ), 2( ) 4( ), 6( ) { ( )} { ( ), 2( )} { ( ), 2( ), 4( )} { ( ), 2( ), 4( ), 6( )} { 2( )} { ( ), 4( )} { ( ), 2( ), 6( )} { 4( )} { ( ), 6( )} { ( ), 4( ), 6( )} { 6( )} ( ), 1( ) 3( ), 5( ) { ( )} { ( ), 1( )} { ( ), 1( ), 3( )} { ( ), 1( ), 3( ), 5( )} { 1( )} { ( ), 2( )} { ( ), 1( ), 5( )} { 3( )} { ( ), 3( )} { ( ), 2( ), 4( )} { 5( )} { ( ), 4( )} { ( ), 3( ), 5( )} { ( ), 5( )} C1 C2 C3 C4 C1 =7 C2 =6 C3 =6 C4 =2 W -Len(C 1 )=7 W -Len(C 2 )=7 W -Len(C 3 )=7 W -Len(C 4 )=7 e counted in order to generate candidate 4-itemsets. For pruning purpose, another two susets of { ( ), 2 ( ), 4 ( ), 6 ( )} after normalization, i.e., Norm({ ( ), 4 ( ), 6 ( )}) = { ( ), 4 ( ), 6 ( )} and Norm({ 2 ( ), 4 ( ), 6 ( )}) = { ( ), 2 ( ), 4 ( )}, will also go to C3. Candidate itemsets under the second template instance are decided in a similar way. 5.2 Joint mining plan Counting each candidate itemset in Tale 3 requires searching several transactions each time. One question we pose is that can we just count those necessary candidate itemsets which span as few transactions as possile? In this section, we discuss several techniques, namely, joining, converging and speeding, ased on the oservation that reducing the length of the minimal window that covers candidate extended itemsets can sustantially reduce the running time of frequent itemsets detection. In inter-transactional associations, oth items and their occurrence contexts are captured within an itemset. For example, from two itemsets U = { ( ), 2 ( ), 3 ( )} and V = { ( ), 1 ( ), 7 ( ), 11 ( )}, we know that the last two items of U appear in two consecutive transactions, similar to the first two items in V. Thus, esides the traditional way of joining two (k-1)-itemsets ased on the first k-2 common extended items, such common relative positions also offer another possiility for joining two itemsets which could e of different size. In the following, we define the joinale condition for two extended itemsets and give a join operator. Definition 3 Given two itemsets U = { du1 (u 1 ), du2 (u 2 ),, dus (u s )} and V = { dv1 (v 1 ), dv2 (v 2 ),, dvt (v t )}, V and U are joinale if and only if there exist U U and V V that satisfy the following two conditions: 1) U and V has equal numer of extended items, denoted as U = V. Tale 4. A join example etween U and V U (a) 2() 4(c) V () 2(c) 4(d) U V (a) 2() 4(c) 6(d) 2) There exists a nonnegative integer d, such that for any dui (u i ) U, there exists a dvi (v i ) V, where (u i = v i ) and (d ui = d vi + d). We call d the joinale distance. Example 13 For two itemsets V 1 = { (a), 2 (), 3 (c), 6 (d)} and U 1 = { (), 4 (d), 9 (e)}, there exist a V 1 = { 2 (), 6 (d)} and a U 1 = { (), 4 (d)} satisfying the aove two defined conditions. Therefore, we say V 1 and U 1 are joinale, and the joinale distance is 2. Comparatively, V 2 = { (a), 2 (), 4 (c)} and U 2 = { (d), 3 (d)} are not joinale, as there exist no V 2 V 2 and U 2 U 2 that satisfy the aove two conditions. Definition 4 Assume that U = { du1 (u 1 ), du2 (u 2 ),, dus (u s )} and V = { dv1 (v 1 ), dv2 (v 2 ),, dvt (v t )} are joinale on U U and V V, with d as the joinale distance. U join V is given as (U U V V )=U W, where W = { dvi +d(v i ) ( dvi (v i ) V ) ( dvi (v i ) / V )}. Example 14 Let U = { (a), 2 (), 4 (c)} and V = { (), 2 (c), 4 (d)}.the result of U join V on U and V where U = { 2 (), 4 (c)} and V = { (), 2 (c)} is { (a), 2 (), 4 (c), 6 (d)}, as shown in Tale 4. The joinale distance is 2. Let U 1 = { (a), 1 ()} and V 1 = V = { (), 2 (c), 4 (d)}. The result of U 1 join V 1 on U 1 = { 1 ()} and V 1 = { ()} is { (a), 1 (), 3 (c), 5 (d)}. The joinale distance is 1. Along with the joining operation, the next question arises: which itemsets are suitale to e joined in order to gen-