跳至主要内容

Other Association Rules

本文探討了其他 Association Rules,包括 Multilevel Association Rules、Closed Association Rules、Quantitative Association Rules,以及從 Association Mining 到 Correlation Analysis 的關聯性。

文中提到了如何使用 uniform support、reduced support 來更準確的找到 association rules;以及可以使用 one-hot encoding 來做編碼,以及一些對 quantitative data 適用的 mining methods。此外,還有可以對 item 添加 weight 比重以及使用 inter-transaction association rules 來提升效率,或是使用 constraints 來改善 Association Rules 的效率。

Multilevel Association Rules

Items 之間有 hierarchy,lower level 為 lower support,且 transaction 可以透過 level 來加上 encoding。

Multilevel Association Rules
Multilevel Association Rules

Uniform Support

不會因為 ancestor 沒通過 minsup 就不檢查他的子樹,但如果 uniform support 設定太高,可能會遺失掉 low level association,如果設定太低則可能產生太多 high level association。

備註

The same minimum support for all levels

Reduced Support

以四種策略動態決定 low level 的 minimum support,跟現實生活較接近 (例如商品單價改變可能影響 support)

  • Level-by-level independent
  • Level-cross filtering by single item
  • Level-cross filtering by k-itemset
  • Controlled level-cross filtering by single item

Closed Association Rules

  • max pattern : 一個 frequent itemset 沒有比他更大的 frequent itemset
  • Closed Frequent itemset : itemset X 要符合兩件事才是 closed itemset
    • 找不到任何 proper superset Y
    • 找不到任何 superset Y 出現在所有 X 也出現的 transaction
Closed Frequent Itemsets
Closed Frequent Itemsets

例如 {e} 在每個 transaction 都找不到其他的 item 同時出現,因此可以獨立成為一個 closed frequent itemset,例如當 a 在 100 與 200 都有,但是卻沒有一起出現在 300 時。

Maximal Frequent Itemset

若 itemset 沒有任何的 superset 是 frequent,那它就是 maximal frequent itemset。

Maximal Frequent Itemset
Maximal Frequent Itemset

Maximal vs. Closed Itemsets

我們可以用 lattice 綜觀所有的 itemset 發現:

  • 當 superset 的 item 都沒有重複跟自己一起出現的,那就是 closed itemset
  • 當 superset 的 support 皆小於自己,那就是 maximal itemset

我們可以用 maximal & closed 來過濾當 minsup 設定太低時,所出現的 itemset,它們雖然通過 minsup 但沒有用處,總結一下 :

Maximal Frequent ItemsetsClosed Frequent ItemsetsFrequent Itemsets\text{Maximal Frequent Itemsets} \subset \text{Closed Frequent Itemsets} \subset \text{Frequent Itemsets}

Quantitative Association Rules

當 attributes 從 boolean 變為 continuous space 時,應該如何使用 Association rules ?

Multidimensional Association Rules

例如 attributes 變為 categorical (有限個選項) 或 numerical (不斷變化的數值)

age(3035)income(30K50K)buys(HDTV)\text{age}(30-35) \wedge \text{income}(30K-50K) \rightarrow \text{buys}(HDTV)

Example

Record IdAgeMarried# cars
10023No1
20025Yes1
30029No0
40034Yes2
50038Yes2

我們可以將 age 進行離散化可以得到

Map Boolean Rules
Map Boolean Rules

然後整理成為一般的 transactions

TIDItems
100A,D,F
200A,C,F
300A,D,E
400B,C,G
500B,C,G

但離散化的 minsup 和 minconf 可能較難設定

One Hot Encoding

另外在處理此類 Quantitative association 時,編碼的方式也非常重要。例如要處理此類 attributes:

{male, female}
{europe, us, asia}
{firefox, chrome, safari, ie}

假設我們要取得 {male, us, safari}。 傳統編碼把每個 itemset 都從 0 編碼,可以得到 {0, 1, 2},這種編碼方法可能造成 distance 之類的錯誤。 而 one hot encoding 會將每個 itemset 只取一個作為 true 值,得到 {10, 010, 0010}

Mining methods

以下有幾種方法適合用來對 quantitative data 進行 mining:

  • Static discretization of quantitative attributes
    • Discretized prior to mining using concept hierarchy.
    • Numeric values are replaced by ranges.
    • Data cube (n dimensional cuboid 對應 n predicate sets)
  • Quantitative association rule
    • Discretized based on distribution of data
    • Numeric attributes are dynamically discretized
    • 2D grid to predict
  • Distance-based association rule
    • Discretized based on semantic meaning of interval
    • Different binning methods
    • Consider density/number and closeness in an interval

From Association Mining to Correlation Analysis

Uncorrelation Rules
Uncorrelation Rules

考慮上圖關聯 Games    Videos\text{Games} \implies \text{Videos},雖然 confidence 很高:

support =4000/10000=0.4confidence =4000/6000=0.66\begin{aligned} \text{support } = 4000/10000 = 0.4\\ \text{confidence } = 4000/6000 = 0.66 \end{aligned}

因為 videos 本身的出現率就已經有 0.75 之高,所以用購買 Games 來推測出還會購買 Videos 的方法,反而還降低機率,算是 negatively associated。

Correlation Analysis

我們可以使用 Correlation 的方式來推測 rules 是不是夠 strong

Corr(A,B)=P(AB)/(P(A)×P(B))\text{Corr}(A, B) = P(A \cup B) / (P(A) \times P(B))
  • 若 Corr(A, B) = 1 代表兩者完全無關 (independent)
  • 若 Corr(A, B) > 1 代表 A 對 B 有 positive 的 correlation
  • 若 Corr(A, B) < 1 代表 A 對 B 只有 negative 的 correlation

用 Games, Videos 來算算看可以得到 :

Corr(Games, Videos)=0.4/0.60.75=0.89\text{Corr(Games, Videos)} = 0.4 / 0.6 * 0.75 = 0.89

Weighted item

另外我們還可以對 item 添加 weight 比重,讓比重較高的 item 需要多一點重視,所以會較容易出現在 rules 中。例如我有五種 itemsets 以及七筆 transactions:

Weighted Itemset
Weighted Itemset

那麼 {B, E} 的新 support 可以這樣算 : (0.3+0.9)5/7=0.86(0.3+0.9)*5/7 = 0.86

Inter-transaction association rules

  • Intra-transaction association rules
    • 當某些 item 出現變化時
    • 特定的 item 也會 同時 出現變化 constraints
    • IBM 跟 SUN 漲價,此時 Microsoft 就會一起漲價
  • Inter-transaction association rules
    • 當某些 item 出現變化時
    • 特定的 item 就是下一個出現變化的 item
    • IBM 跟 SUN 漲價,而 Microsoft 隔天就會漲價

Association Rules with Constraints

  • 一般的 association rules 可能缺乏 user exploration 跟 focus
  • 或是一遇到海量資料就會失效
  • 這時候就要依靠定義 constraints,例如 :
    • Data constraints: SQL-like queries
    • Dimension/level constraints
    • Rule constraints
    • Interestingness constraints
  • 有兩種 rule constraints
    • rule from constraints
      • P(x,y)Q(x,w)    Buy(x,"Education software")P(x, y) \wedge Q(x, w) \implies \text{Buy}(x, \text{"Education software"})
    • rule (content) constraints
      • Sum(S.price<5)\text{Sum}(S.\text{price} < 5)