購物籃數據經常包含關於商品什麼時候被顧客購買的時間信息,可使用這種信息,將顧客在一段時間內的購物拼接成事務序列,這些事務一般基於時間或空間的前後次序。
html
通常地,序列是元素(element)的有序列表。能夠記作\(s = (e_1, e_2, \cdots, e_n)\),其中每一個\(e_j\)是多個事件的集簇,即\(e_j = {i_1, i_2, \cdots, i_k}\),如web
序列能夠用它的長度和出現時間個數刻畫,序列的長度對應於出現序列中的元素個數,k-序列是包含k個事件的序列。上面例子中web序列包含7個元素和7個事件,課程序列包含4個元素和8個事件。算法
序列不但包括事件序列,也包括空間序列,以下面最後一行的DNA序列
數據庫
子序列subsequence
對於序列t和s,若是t中每一個有序元素都是s中的一個有序元素的子集,那麼t是s的子序列。形式化爲,序列 $ t = < t_1, t_2, \cdots, t_m > $ 和 $ s = < s_1, s_2, \cdots, s_n > $,若是 $ 1 \leq j_1 \leq j_2 \leq \cdots \leq j_m \leq n $,使得 $ t_1 \subseteq s_{j_1}, t_2 \subseteq s_{j_2}, \cdots, t_m \subseteq s_{j_m} $,則t是s的子序列,而且t包含在s中。網絡
數據序列是指與單個對象相關聯的時間的有序列表。設D爲包含一個或多個序列的數據集。
序列s的支持度是包含s的全部數據序列所佔的比例。若是序列s的支持度大於或等於用戶指定的閾值minsup,則稱s是一個序列模式(或頻繁序列)數據結構
序列模式發現, 給定數據集D和用戶指定的最小支持度閾值minsup,序列模式發現的任務是找出支持度大於或等於minsup的全部序列。spa
產生序列模式的一種蠻力方法是枚舉全部可能的序列,並統計他們各自的支持度。
候選序列的個數比候選項集的個數大的多:操作系統
先驗原理Apriori對於序列數據成立
計算機網絡
該算法迭代地產生新的候選k序列,減掉那些(k-1)序列非頻繁的候選,而後對保留的候選計數,識別序列模式。設計
候選產生,一對頻繁(k-1)序列合併,產生候選k-序列,爲了不重複產生候選,傳統的Apriori算法僅當前k-1項相同時才合併一對頻繁k-項集,序列也能夠這樣
序列合併過程:
序列\(s^{(1)}\)與另外一個序列\(s^{(2)}\)合併,僅當從\(s^{(1)}\)中去掉第一個事件獲得的子序列和從\(s^{(2)}\)中去掉最後一個事件獲得的子序列相同,結果獲得的候選是\(s^{(1)}\)與\(s^{(2)}\)的最後一個事件連接。\(s_{(2)}\)的最後一個事件能夠做爲最後一個事件合併到\(s_{(1)}\)的最後一個元素中,也能夠起做爲一個不一樣的元素,取決於下面條件
候選剪枝,若是候選k-序列至少有一個是你非頻繁的,那麼它將被減掉。
支持度計數,在支持度計數期間,算法將枚舉屬於特定數據序列的全部候選k-序列,這些候選的支持度將增值。計數以後,算法識別出頻繁k-序列,並捨棄支持度小於閾值的候選。
上面討論的模式並無再兩個事件之間體現時限約束,即兩個事件之間的間隔,所以須要定義新的序列模式。
序列模式的每一個元素都與一個時間窗口\({l,u}\)相關聯,其中\(l\)是該時間窗口事件的最先發生事件,而\(u\)是該時間窗口事件的最晚發生事件。
1.最大跨度約束
最大跨度約束指定整個序列中所容許的事件的最晚和最先發生時間的最大時間差。
通常地,最大時間跨度maxspan越長,在數據序列中檢測到模式的可能性就比較大。然而較長的maxspan也可能捕獲不真實的模式,由於增長這兩個不相關的事件成爲時間相關事件的可能性,此外,模式也可能涉及陳舊事件。
2.最小間隔和最大間隔約束
時限約束也能夠經過限制序列中兩個相繼元素之間的時間差來指定,使用最大間隔約束的一個旁效就是可能違反先驗原理。可能會出現序列中事件數增長時,支持度也增長,這就違背了先驗原理。
鄰接子序列, 序列s是序列 \(w = < e_1 e_2 \cdots e_k >\) 的鄰接子序列必須知足下面條件之一,
用鄰接子序列概念,能夠用以下方法修改先驗原理,來處理最大間隔約束。
修訂的先驗原理, 若是一個k-序列是頻繁的,則它的全部鄰接k-1序列也必定是頻繁的。
3.窗口大小約束
元素\(s_j\)中的事件沒必要同時出現,定義一個窗口大小閾值(ws)來指定序列模式的任意元素中最晚和最先出現之間的最大時間差,窗口爲0表示統一元素中的全部事件必須同時出現。
下面例子中(ws=2,mingap=0, maxgap=3, maxspan=\(\infty\))
數據挖掘之關聯分析一(基本概念)
數據挖掘之關聯分析二(頻繁項集的產生)
數據挖掘之關聯分析三(規則的產生)
數據挖掘之關聯分析四(連續屬性處理)
數據挖掘之關聯分析五(序列模式)
數據挖掘之關聯分析六(子圖模式)
數據挖掘之關聯分析七(非頻繁模式)