Title of Invention

A METHOD FOR DETERMINING PATTERNS IN A DATA SEQUENCE

Abstract A method for determining patterns in a data sequence, characterized by constructing a compatibility matrix which provides a probability between an actual occurrence of an item and an observed occurrence of that or another item between each item'in the data sequence; generating candidate patterns, the candidate patterns including items in the data sequence; checking the candidate patterns against the data sequence to determine a match value based on the compatibility matrix; and determining significant matches based on candidate patterns having the match value above a threshold. Figure 2
Full Text

SYSTEM AND METHOD FOR DISCOVERING PATTERNS WITH NOISE
TECHNICAL FIELD
The present invention relates to discovering significant patterns in long sequences of items, and more particularly for a system and method for identifying significant patterns in sequences which include noise.
BACKGROUND ART
With the large amounts of data being stored and used, discovering and understanding significant patterns in large data sets has become increasingly important. Significant pattern discovery has taken on greater importance in a plurality of new fields as well as new applications for existing technologies. Support (the number of occurrences) of a pattern has been proposed as the metric of significance in an article by R. Agrawal et al., "Mining association rules between sets of items in large databases." Proc. ACM SIGMOD Conf. on Management of Data, 207-216, 1993. As discussed in Agrawal et al., an input is a set of transactions, and each transaction includes a set of items. The significance of a set of items is determined by the number of transactions which contain this set of items.
Due to the presence of noise, a symbol may be misrepresented by some other symbols. This substitution may prevent an occurrence of a pattern from being recognized and, in turn, slashes the support of that pattern. As a result, a

frequent pattern may be "concealed" by the noise. This phenomenon commonly exists in many applications.
For example, in biomedical study, mutation of amino acids is a common phenomenon studied in the context of biology. Some mutations are proven to occur with a non-negligible probability under normal circumstances and incur little change to an organism's biological functions. For example, the amino,acid N in the human body is likely to mutate to D with little impact on behavior. In this sense, the amino acids should not be considered as totally independent.
In the area of performance analysis, many system-monitoring applications involve collecting and analyzing attributes that take continuous numerical values. A common approach to process the data is to quantize the domain into categories. If the true value of an attribute is close to -the boundary of the quantization, there is a fair chance that the observed value may fall into the adjacent bin and be represented by a different label. It would be desirable if such kind of distortion can be taken into account during a data mining process. In the area of consumer behavior, for example, in the supermarket, consumers frequently buy a slightly different product or brand from their original intent due to various reasons, such as, the desired product was out of stock or misplaced. Allowing obscurity in item matching may unveil the customer's real purchase intention.
This problem becomes critical when the pattern is substantially long because an occurrence of a long pattern is

In alternate systems and methods, the items may include symbols and a compatibility matrix may be constructed which includes constructing a matrix such that a match is determined between any two symbols in the data sequence. The compatibility matrix may include rows and columns and each entry in the compatibility matrix corresponds to a row and a column. The match value between two items may include a number between 0 and 1.
The candidate patterns may be checked against the data sequence to determine a match value based on the compatibility matrix. This may include, for a pattern p and a sequence s of symbols, determining an overall match value of p with respect to s by aggregating p with respect to each subsequence s1 with 1 symbols in s. The determining of an overall match value of p with respect to s may include determining a match value between p and s' by taking a product of the match value between symbols at each position in the data sequence.
The probability between an actual occurrence of an item may determined by experiment or expert opinion. The items may include symbols, and candidate patterns may be generated using a level-wise approach wherein at each level one additional symbol is .added to a total number of symbols considered in a candidate pattern. The candidate patterns may include a significant pattern if all sub patterns of the candidate pattern satisfy the threshold. Significant matches may be determined based on candidate patterns having the match value above a threshold such that for each candidate pattern, a match value of that candidate

pattern is verified against the input sequence to determine a set of patterns that satisfy the threshold.
These and other objects, features and advantages of the present invention will become apparent from the following detailed description of illustrative embodiments thereof, which is to be read in connection with the accompanying drawings,
BRIEF DESCRIPTION OF DRAWINGS
The invention will be described in detail in the following description of preferred embodiments with reference to the following figures wherein:
FIG. 1 depicts an example of a compatibility matrix in accordance with the present invention;
FIG. 2 is a block/flow diagram showing a system/method for discovering significant patterns according to a match model in accordance with the present invention;
FIG. 3 is a block/flow diagram showing a system/method for finding one-candidate patterns for block 201 of FIG. 2 in accordance with the present invention;
FIG. 4 is a block/flow diagram showing a system/method for collecting matches for each candidate pattern for block 203 in FIG,. 2 in accordance with the present invention; and
FIG. 5 is a block/flow diagram showing a system/method for generating next level candidate patterns for block 2 05 in FIG. 2 in accordance with the present invention.

BEST MODE FOR CARRYING OUT THE INVENTION
The present invention provides a system and method for discovering significant patterns in data while accounting for noise effects. The present invention provides a new measure that accounts for mutation or naturally occurring changes in the data in discovering significant patterns. The present invention permits some flexibility in pattern matching. Prior art models for patterns, typically, take into account only exact matches of the pattern in data. The present invention provides a more flexible model that permits obscurity in pattern matching. A compatibility matrix is included to enable a clear representation of the likelihood of symbol substitution. Each entry in the matrix corresponds to a pair of symbols (x, y) and specifies the conditional probability that x is the true value given y is observed. The present invention also provides an efficient method to discover the patterns that satisfy a minimum match threshold.
It should be understood that the elements shown in FIGS. 1-4 may be implemented in various forms of hardware, software or combinations thereof. Preferably, these elements are implemented in software on one or more appropriately programmed general purpose digital computers having a processor and memory and input/output interfaces. The software is preferably implemented in programming code which may be incorporated in a software application.
Referring now to the drawings in which like numerals represent the same or similar elements and initially to FIG. 1,

an illustrative example of a compatibility matrix 100 is shown in accordance with the present invention. The compatibility matrix 100 creates a natural bridge or link between an observation and underlying substance of the observation. Each observed symbol is then interpreted as an occurrence of a set of symbols with various probabilities. For example, an observed dx corresponds to a true occurrence of dlt d2, and d3 with probability 0.9, 0.05, and 0.05, respectively. Similarly, an observed symbol combination is treated as an occurrence of a set of patterns with various degrees. A new metric, called "match" hereinafter, is then proposed to quantify the significance of a pattern and is defined as an "accumulated amount of occurrences" of a pattern in the observed sequence.
For a sequential pattern p=(pi, p2, .-•/ Pi) $ the match of p with respect to a sequence s of 1 symbols or items (dl7 d2, .-./ dx) is the probability that the s comes from p. Therefore, the match of p with respect to s is C(pi, dx) x C(p2/d2) x ... x C(plf d2) , where C(p,d) is the compatibility of d in pattern p. A "don't care" position in a pattern is marked by "*". It is clear that C(*, d) =1. For a sequence s with more than 1 symbols, for each 1 consecutive symbols s' in s, the match between p and s' fs computed and the overall match between p and s is the sum of the match between p and all possible s'. For a pattern p and a sequence s of symbols, the overall match of p with respect to s is the aggregation of p with respect to each subsequence s1 with 1 symbols in s. The match between p and s' is defined as the product of the match between symbols at each position.

The match of a pattern represents a "real support" that was expected if no noise is present. The compatibility matrix can be obtained through empiric tests. For example, for the mutation of amino acids, an expert may use clinical tests to determine the probability of mutation between two amino acids. In other examples, marketing tests may be employed to determine a preferred selection by brand name or product type, or expert opinion may be employed to estimate probabilities, etc.
As shown in FIG. 1, compatibility matrix 100 includes entries 101. Each entry in the matrix represents a conditional probability P(true value | observed value). For example, if a symbol di is observed, then with 0,9 probability, the true value is di. On the other hand, with 0.05 probability, the true value may be d2. Matrix 100 illustratively shows probabilities for four items or symbols di, d2, d3 and d4; however, matrix 100 many include any number of items.
Referring to FIG. 2, a system/method for mining sequential patterns is shown in accordance with one embodiment of the present invention. The mining is performed for sequential patterns with I positions, which satisfy a minimum match threshold. In block 201, the set of candidate patterns (C) including one (1) symbol (denoted as Ci) are generated, the remaining 2-1 positions are filled by "*" which indicates a "don't care" position. This is explained in greater detail with reference to FIG. 3. A counter j is initialized to 1. In block 202, a check is made to determine if Cj is empty. If Cj is not empty, a match value of the patterns in the candidate set Cj is

found in block 203. In block 204, a pattern Xj whose match satisfies a minimum match threshold, is added into the set Lj. Based on Lj, a new set (Cj+i) of candidate patterns are generated in block 205. Cj+1 includes patterns with j+1 non- "*" symbols. The process continues until Cj+i (or Cj in the first iteration) i& empty as determined in block 202.
FIG. 2 may be explained by a simple example. A data set or
input sequence has a long sequence of symbols (say a hundred, for example). It is desirable to determine significant patterns in the input sequence. In this example, patterns may include one, two, three or four symbols (e.g., 1=4). Also in this example, the set of possible symbols includes a, b, c and d. In block 201, Ci generates candidate patterns with one symbol, e.g., all 1- patterns of Cx include (a, *, *, *) , (b, *, *, *), (c, *, *, *) and (d, *, *, *) . Since Cj (C0 is this case) is non-empty (there is at least one 1-pattern), processing continues in block 203. In block 203, a match value is collected for each candidate pattern. The match value quantifies the significance of a pattern and is defined as an "accumulated amount of occurrences" of a pattern in the observed sequence. A pattern is a candidate if all its subpatterns satisfy a minimum match threshold. For each candidate pattern, an exact match of that pattern is verified against the input sequence and the set of patterns that satisfy the minimum match threshold are determined.
For a sequential pattern p=(pi, p2, .../ Pi) of I symbols in the input sequence of the data set (e.g., 1 consecutive symbols

taken 2 at a time), the match of p with respect to a sequence s (one symbol in the first iteration in this example) of 1 symbols (1 = 4) is the probability that the s comes from p. Therefore, the match of p with respect to s is C(plf d2) x C(p2/d2) x ... x C(pi, dx) , where Ctpi/dJ is the compatibility of di in pattern pi, for i = 1,2, . .., 1. In the example, di = a, d2 = b, d3 = c and d4 = d. A "don't care" position in a pattern is marked by "*", For a sequence s with more than I symbols, for each 1 consecutive symbols s' in s, the match between p and s1 is computed and the overall match between p and s is the sum of the match between p and all possible s' (See FIG. 3). Probabilities from the compatibility table (see. e.g., FIG. 1) are combined into the match value to provide flexibility, as described above.
Once match values are determined, candidate patterns Cj with a match value above a threshold are determined to be significant patterns, as denoted by X, and are added to Lj which stores significant patterns in block 204. In the example, (a, *, *, *), (b, *, *, *) are significant since the match value is above a match threshold. A set of significant patterns X = (a, *, *, *), (b, *, *, *) are added to Lj.
Then, a new set of candidate patterns are generated in block 205. This is performed by first checking if the "lower" patterns are all in L. This is demonstrated for the example above when j = 3. If lower patterns (a, b, *, *), (a, *, c, *) , and (a, b, *, *) are significant, i.e., in L, then (a, b, c, *) (the higher pattern) is a candidate pattern and is inserted into C3. Thus, C3 is not empty. When the method loops back to block

202, C3 is not empty and the method therefore continues. If however, one of the three patterns(a, b, *, *), (a, *, c, *), and (a, b, *, *) is not significant, i.e., missing from L, then (a, b, c, *) is not a candidate and is not inserted into C3.
Furthermore, if C3 is empty, the method terminates.
In this way, a more flexible analysis of patterns in an input sequences is provided in accordance with the present invention. The results of FIG. 2 provide as an output, set L, which includes all the significant patterns in the data set (input sequence). L advantageously provides not only exact match sequences but sequences with high probability of being matched but for some reason, such as noise, or circumstances or mutations which are not exact match sequences.
Referring to FIG. 3, generating one-symbol candidate patterns in block 201 of FIG. 2 is described in greater detail. In block 301, for each distinct symbol s in an input sequence (from the data set), a pattern is generated with I positions in block 302. For this iteration all positions are "*" except the first position which is s. In the next and future iterations, the candidate patterns C are generated based on significant match values. Block 201 represents initialization for beginning the search for significant patterns.
Referring to FIG. 4, collecting a match value for each candidate pattern C is performed in accordance with block 203 of FIG. 2. In block 401, variable m is set to be 0.. In block 402, for each 1 consecutive symbols in the input sequence called a window Y, the variable m is incremented by the match between the

1 symbols and p in the input sequence in block 403. In one l/^ example, if the candidate pattern includes two symbols and two "*", the window Y moves along an input sequence 2 symbols at a time and performs a match comparison between the symbols in the window and the symbols in the pattern p.
Referring to FIG. 5, generating a new candidate pattern set Cj+i in block 205 of FIG. 2 is described in greater detail. In block 501, Cj+i is initialized to a null set. Cj+i will potentially be the newly generated candidate patterns for j+1 non-"*" symbols. For each possible pattern p with j+1 non-"*" symbols (block 502), if all subpatterns of p satisfy the minimum match threshold (block 503), i.e., are in L, then p is inserted into Cj+i in block 504. p, = (p'i, p*2/ .-•/ P'i) is a subpattern of P= INDUSTRIAL APPLICABILITY
Pattern discovery in a large data set, in accordance with the present invention, is useful in many applications including, for example, computational biology study, consumer behavior analysis, system performance analysis, etc. In a noisy environment, the observed sequence may not accurately reflect the underlying behavior. For example, the amino acid N in the human body is likely to mutate to D with little impact to the biological function of the protein. The occurrence of D in the observation can be related to a possible mutation from N in an appropriate manner. The compatibility matrix of the present

invention provides a probabilistic connection from the observation to the underlying true value. A new metric match is also provided to capture the "real support" of a pattern which would be expected if a noise-free environment is assumed.
Having described preferred embodiments of a system and method for discovering patterns with noise (which are intended to be illustrative and not limiting), it is noted that modifications and variations can be made by persons skilled in the art in light of the above teachings. It is therefore to be understood that changes may be made in the particular embodiments of the invention disclosed which are within the scope and spirit of the invention as outlined by the appended claims. Having thus described the invention with the details and particularity required by the patent laws, what is claimed and desired protected by Letters Patent is set forth in the appended claims.



CLAIMS
We claim:
1. A method for determining patterns in a data sequence,
characterized by:
constructing a compatibility matrix (100) which provides a
probability between an actual occurrence of an item and an
observed occurrence of that or another item between each item in
the data sequence;
generating candidate patterns (201), the candidate patterns
including items in the data sequencer-checking the candidate patterns against the data sequence
to determine a match value (203) based on the compatibility
matrix; and
determining significant matches based on candidate patterns
having the match value above a threshold (204) .
2. The method as recited in claim 1, wherein the items include symbols and constructing a compatibility matrix includes constructing a matrix such that a match is determined between any two symbols in the data sequence.
3. The method as recited in claim 1, wherein the compatibility matrix includes rows and columns and each entry in the compatibility matrix corresponds to a row and a column.
4. The method as recited in claim 1, wherein the match value between two items includes a number between 0 and 1,

5. The method as recited in claim 1, wherein checking the candidate patterns against the data sequence to determine a match value based on the compatibility matrix includes for a pattern p and a sequence s of symbols, determining an overall match value of p with respect to s by aggregating p with respect to each subsequence s' with 1 symbols in s.
6. The method as recited in claim 5, wherein determining an overall match value of p with respect to s includes determining a match value between p and s* by taking a product of the match value between symbols at each position in the data sequence.
7. The method as recited in claim 1, wherein the probability between an actual occurrence of an item is determined by one of experiment and expert opinion.
8. The method as recited in claim 1, wherein the items include symbols and generating candidate patterns includes generating candidate patterns using a level-wise approach wherein at each level one additional symbol is added to a total number of symbols considered in a candidate pattern.
9. The method as recited in claim 8, wherein the candidate patterns include a significant pattern if all subpatterns of the candidate pattern satisfy the threshold.

10. The method as recited in claim 8, wherein determining
significant matches based on candidate patterns having the match
value above a threshold includes: for each candidate pattern,
verifying a match value of that candidate pattern against the
input sequence to determine a set of patterns that satisfy the
threshold.
11. A computer system for performing any of the methods of
claims 1-10.

A method for determining pattems in a data sequence substantially as herein described with reference to the accompanying drawings. A computer system substantially as herein described with reference to the accompanying drawings.


Documents:

1616-chenp-2003 abstract-duplicate.jpg

1616-chenp-2003 abstract-duplicate.pdf

1616-chenp-2003 claims-duplicate.pdf

1616-chenp-2003 description (complete)-duplicate.pdf

1616-chenp-2003 drawings-duplicate.pdf

1616-chenp-2003-abstract.pdf

1616-chenp-2003-claims.pdf

1616-chenp-2003-correspondnece-others.pdf

1616-chenp-2003-correspondnece-po.pdf

1616-chenp-2003-description(complete).pdf

1616-chenp-2003-drawings.pdf

1616-chenp-2003-form 1.pdf

1616-chenp-2003-form 18.pdf

1616-chenp-2003-form 3.pdf

1616-chenp-2003-form 5.pdf

1616-chenp-2003-pct.pdf


Patent Number 229664
Indian Patent Application Number 1616/CHENP/2003
PG Journal Number 13/2009
Publication Date 27-Mar-2009
Grant Date 19-Feb-2009
Date of Filing 10-Oct-2003
Name of Patentee INTERNATIONAL BUSINESS MACHINES CORPORATION
Applicant Address NEW ORCHARD ROAD, ARMONK, NEW YORK 10504,
Inventors:
# Inventor's Name Inventor's Address
1 WANG, WEI 30 LAKE STREET, APT 4A, WHITE PLAINS, NY 10603,
2 YANG, JIONG 235 SOUTH LEXINGTON AVENUE, APT., 10K, WHITE PLAINS, NY 10606,
3 YU, PHILIP, SHILUNG 19 STORNOWAYE, CHAPPAQUA, NY 10514,
PCT International Classification Number G06K 9/00
PCT International Application Number PCT/US02/08808
PCT International Filing date 2002-03-22
PCT Conventions:
# PCT Application Number Date of Convention Priority Country
1 09/814,512 2001-03-22 U.S.A.