时间序列是指按时间顺序排列的一组数据,这些数据有两个特点:趋势和季节性
趋势:总体情况 季节性:周期性波动
时间序列挖掘的基本思路:根据之前已有的序列数据,发现隐含的规则,来预测后面的发展趋势
实现方法:首先对序列进行分割,根据某些特征进行聚类,得到少数几个模式,
将模式进行符号替换,将时间序列转换为符号序列,然后采用序列模式发现算法进行关联挖掘。
建模:只要序列数据中的某种模式达到设定的置信度、兴趣度、支持度阈值要求,就会输出规则。
因此,时间序列挖掘方法可能会建立多个模型,它们分别反映了序列某些方面的特征。
预测算法:
一次指数平滑算法:根据平滑参数a算出平滑值,把后面第i+h个数据都预测为前i个数据的平滑值,
预测结果是一条直线,不能反映趋势和季节性
二次指数平滑算法:添加新的变量t,把后面第i+h个数据预测为前i个数据的平滑值再加上hti,
预测结果是一条斜的直线,保留趋势信息
三次指数平滑算法:添加新的参数p,保留周期信息,预测结果是曲线,保留趋势与季节性信息
神经网络:
遗传算法:
时间序列挖掘系统:
时间序列数据的可视化、数据预处理、数据约简、模式挖掘算法和结果模式可视化。
(其中模式挖掘算法是时间序列数据挖掘引擎的核心。)
时间序列数据的可视化:可以看出数据是如何分布的,以便判断序列的趋势。
数据预处理:将原始数据转换成挖掘算法需要的数据格式,包括数据标准化、噪声过滤和数值离散化等。
优点:保留了原始序列的整体变化趋势;过滤噪声;减少了数据,增强了每个数据的信息量;
数据化简:去除一些冗余数据和无意义数据,
或由于时间复杂性或内存的能力,选择一小部分数据表示整个集合,对原始数据进行数据变换和特征提取。
模式挖掘:使用挖掘算法从大数据集中挖掘,可借助可视化技术,调整挖掘过程的阈值和参数。
模式可视化:将发现的模式在屏幕上输出,可以进行观察分析。
相似性度量:
在时间序列数据库中发现与给定序列的模式相似的序列,
首先定义一个相似性度量函数和一个阈值ε,如果函数值大于等于ε,则表明序列相似。
欧氏距离: (缺点:对噪音太敏感,计算量大,不能实现时间飘移和弯曲)
动态时间弯曲距离DTW:
这个算法是基于动态规划的思想,主要应用在语音识别领域,识别两段发音长度不同的语音是否表示同一个单词。
它通过构建一个邻接矩阵,寻找最短路径和。
(序列A:1 2 3 100 序列B是1 2 100 3,如果我们让A的3100 分别跟B的2 100对应,距离和就会大大减小,
但是不能够让3 100跟100 3交叉对应,这样算出来距离就是0,而且会导致时间的混乱)
缺点:运算量也很大,比较适合同一个人的声音
最长公共子序列: