购物篮数据常常包含关于商品何时被顾客购买的时间信息,可以使用这种信息,将顾客在一段时间内的购物拼接成事务序列,这些事务通常基于时间或空间的先后次序。
问题描述
一般地,序列是元素(element)的有序列表。可以记做 s = ( e 1 , e 2 , ⋯ , e n ) s = (e_1, e_2, \cdots, e_n) s=(e1,e2,⋯,en),其中每个 e j e_j ej是多个事件的集簇,即 e j = i 1 , i 2 , ⋯ , i k e_j = {i_1, i_2, \cdots, i_k} ej=i1,i2,⋯,ik,如
- web站点访问者访问的web页面序列:
<{主页} {电子产品} {照相机和摄像机} {数码相机} {购物车} {订购确认} {返回购物}> - 计算机科学主修课程序列:
<{算法与数据结构, 操作系统引论} {数据库系统, 计算机体系结构} {计算机网络, 软件工程} {计算机图形学, 并行程序设计}>
序列可以用它的长度和出现时间个数刻画,序列的长度对应于出现序列中的元素个数,k-序列是包含k个事件的序列。上面例子中web序列包含7个元素和7个事件,课程序列包含4个元素和8个事件。
序列不但包括事件序列,也包括空间序列,如下面最后一行的DNA序列
子序列subsequence
对于序列t和s,如果t中每个有序元素都是s中的一个有序元素的子集,那么t是s的子序列。形式化为,序列 t = < t 1 , t 2 , ⋯ , t m > t = <t_1, t_2, \cdots, t_m> t=<t1,t2,⋯,tm>和 s = < s 1 , s 2 , ⋯ , s n > s = <s_1, s_2, \cdots, s_n> s=<s