1.数据流
数据流的产生:实时监控系统、气象卫星遥感、网络通信量监测和电力供应网等
数据流的特点:海量的(massive)、时序的(temporally ordered)、快速变化的和潜在无限、高维的(potentially infinite)。
数据流挖掘的特点---挑战:
(a)数据是海量的,不可能在内存及硬盘上存储整个流数据集。
(b)单次线性扫描(单遍扫描)(single pass)的过程;数据元素只能按其流入顺序依次读取一次,随机访问是不现实的。
(c)数据流是持续变化的,所以不可能看到数据流的中的每一个数据元素(data point),我们只能通过分析部分数据元素来做出决策。
(d)大多数应用要求及时响应,对时间复杂度、空间复杂度要求很高,并且挖掘应该是一个连续、在线的过程。
(e)数据流往往是高维的(High-Dimensional),不同的领域的数据流挖掘面临的挑战也不一样。
(f)时间局部性(temporal locality),过去的历史数据或许与将来的关系越来越小,只与当前时间点很相关
(g)可扩展性(scalability)
所以:数据流算法经常采用精度换时间的方法,尽量在对数据的一次访问中获得较优的解.一般来说,数据流算法是不可回溯的;其次,数据流算法有很多特点,一些数据库应用中常用的操作在数据流中都是不可行的.如,Sort,Max,Count 等操作。
1.2数据流模型
数据流中的数据项 x 1 , …, xi , …, xn 依次按下标顺序到达 ,它们描述了一个信号 A。
1.2.1按 xi描述信号 A的方式 ,数据流模型可分为以下几类:
(1)时序( Time Series)模型:A [ i ] = xi ,用来描述时间序列数据。此时 ,数据流中的每个数据项都代表一个独立的信号。
(2)现金登记 (Cash Register)模型:令 xi = ( j,Ii ) ,且 Ii≥0,则 Ai [ j ] =Ai-1 [ j ] + I i。此时 ,数据流中的多个数据项增量式地表达一个 A [ j ]。
(3)十字转门( Turnstile)模型:令 xi = ( j,Ui) ,则Ai[ j ] =Ai -1 [ j ] +Ui。其中 , Ui可为正数 ,也可为负数。此时 ,数据流中的多个数据项表达一个 A [ j ]。A[ j ]随着数据的流入 ,可能会增加 ,也可能会减小。
1.2.2按照算法处理数据流时所采用的时序范围 ,数据流模型可分为以下几类:
(1)快照模型 ( Snapshot Model) :处理数据的范围限制在两个预定义的时间戳之间。
(2)界标模型 (Landmark Model) :处理数据的范围从某一个已知的初始时间点到当前时间点为止。