实际的数据挖掘应用范围包括时间强相关,时间弱相关和时间无关问题。现实中的时间相关问题需要特殊的数据准备和数据转换。
首先讨论最简单的情况——在一定的时间间隔测量的单个特征,这个特征的一系列值实在固定的时间间隔测量的。
例如 温度读数每小时测一次
X={t(1), t(2),t(3),..., t(n)}
其中 t(n) 是最近测定的值。
许多时间序列问题的目标是根据特征的以前值预测t(n+1)的值。以前的值和预测的值直接相关。在预处理原始的时间相关数据时,最
重要的一步是指定一个窗口或时延(时间间隔)。
最佳时延必须用通常的评估技术来测定,这种技术利用独立的检验数据进行可变复杂度的测量。
数据准备不是只进行一次,就交给数据挖掘程序进行预测,而是要反复进行多次。一般的目标是预测时间序列的下一个值。但在一些应用
中,可以把目标改为预测未来的几个时间单元的值。
时间单元可以相当小,在时间序列的表格中,这会增加相同周期内的人工特征数量。这给高纬带来的问题是在时间序列数据的标准表达中,
要为精度付出一定的代价。
实际上,特征的多数旧值都是一些历史残留数据,它们与分析不再相关,也不能用于分析。因此。对于许多商业应用和社会应用来讲,新
趋势可能会使旧数据更加不可靠,更不能使用。于是,就近数据成为重中之重,可以去除时间序列中的最老数据。现在不但时间序列的窗
口是固定的,而且数据集的大小也是固定的。只有最近的n个样本可用于分析,即使这样,它们的加权也可能不一样。做这些决策时必须
非常小心,它们有时依赖应用的知识和过去的经验。
除时间序列的标准表格表述外,有时在应用数据挖掘技术之前,必须对原始数据进行额外的预处理,总结他们特征。多数情况下,把t(n+1)-t(n)
作为预测结果比t(n+1)更好。同样t(n+1)/t(n)比率揭示了变化率。有时用这个比值也能得到更好的预测结果。这些预测结果值特别适用于基于逻
辑的数据挖掘方法,比如决策树和决策规则。
时间相关的案例通过目标和时延或者大小为m的窗口来指定。汇总数据集的特征时,
一种方法是取平均值,公式如下
i
MA(i,m) = 1/m ∑ t(j)
j=i+m+1
MA对所有时间点的加权都是相等的。
另一种方法是指数移动平均数(EMA),它对最近的时间周期进行更大的加权。可采用递归方式将其表述为:、
EMA(i,m) = p*t(i) + (1-p)*EMA(i-1,m-1)
EMA(i,1) = t(i)
其中p是介于0~1之间的值。按照惯例,p的值是根据应用知识或者经验实证来确定的。
MA对近期进行了概括,而找出数据走向的变化又提高了预测性能。
总之,时间序列的特征概括起来,主要成分如下:
1)当前值
2) 应用MA平整得到的值
3)导出走向 ,差值和比率
单变量的时间序列可以简单的延伸为多变量,多变量的时间序列不是在时刻i 测量的单个t(i)值,而是同时测量多个值t[a(i),b(j)].
多变量时间序列的数据准备没有额外的步骤。每个序列可转换成特征,特征在每个不同时刻的值 A(i)组合成一个样本i。合成变换生
成数据的标准表格形式。
一些数据集并未明确包含时间成分。但是整个分析在时间域内进行。这类数据集中有一种非常重要的数据,叫做幸存数据。幸存数据
描述了某个时间需要多长时间才会发生。在很多医学应用中,该事件指的是病人的死亡。
幸存数据有两个主要的特证: 第一个特征就做审查,第二个特征是输入值与时间相关。。数据挖掘对这类问题的分析集中再幸存率函数
和故障率函数上。幸存率函数是幸存时间比t大的概率,故障率函数揭示了在t时刻之前机器零件故障没有出现故障,在t时刻故障发生的可能性。