数据挖掘之 时间序列分析

时间:2021-05-04 17:15:51

时间序列是指按时间顺序排列的一组数据,这些数据有两个特点:趋势和季节性

趋势:总体情况        季节性:周期性波动

时间序列挖掘的基本思路:根据之前已有的序列数据,发现隐含的规则,来预测后面的发展趋势

实现方法:首先对序列进行分割,根据某些特征进行聚类,得到少数几个模式,

                将模式进行符号替换,将时间序列转换为符号序列,然后采用序列模式发现算法进行关联挖掘。

建模:只要序列数据中的某种模式达到设定的置信度、兴趣度、支持度阈值要求,就会输出规则。

         因此,时间序列挖掘方法可能会建立多个模型,它们分别反映了序列某些方面的特征。

 

预测算法:

一次指数平滑算法:根据平滑参数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,而且会导致时间的混乱)

   缺点:运算量也很大,比较适合同一个人的声音


最长公共子序列: