当前位置: 北京软件外包公司 » 资讯中心 » 软件技术 » 北京软件外包时间序列

北京软件外包时间序列

发表于:2015-06-24 14:44 来源:北京软件开发公司宜天信达 点击:
北京软件外包本文介绍了京东成都研究院在实际项目中使用时间序列聚类算法时产生的疑惑和解决思路。京东选用了DTW作为时间序列的计算的方法,但在实际运行过程中,发现DTW的运算速度确实比较慢,目前正在实验提升它效率的方法。

时间序列和时间序列分析分别是什么?引用百度百科的解释:时间序列是指将某种现象某一个统计指标在不同时间上的各个数值,按时间先后顺序排列而形成的序列。而时间序列分析(Time series analysis)是一种动态数据处理的统计方法。该方法基于随机过程理论和数理统计学方法,研究随机数据序列所遵从的统计规律,以用于解决实际问题。

从百科的说明可以看出,时间序列不仅仅只是一个序列数据,而是一个受系统影响很大的序列数据,时间序列的数据本身存在于生活中的各个领域里,人们对时间序列的分析从很早以前就开始了,发展至今,在大数据环境下,采用数据挖掘的方法来表示数据内部规律也成为了分析时间序列的一种重要方向和趋势。

时间序列数据特征

然而时间序列有着两大主要特征,使得这种分析变得十分困难:

 

  1. 非平稳性(nonstationarity,也译作不平稳性,非稳定性):即时间序列变量无法呈现出一个长期趋势并最终趋于一个常数或是一个线性函数,也就是说,时间序列在每个时间周期里可能出现两种变化,一种是受整个系统变化的影响,另一种是随机的变化。
  2. 波动幅度随时间变化(Time—varying Volatility):即一个时间序列变量的方差随时间的变化而变化。

 

这种不确定性和各自间的相关性,使得有效分析时间序列变量十分困难,举例来说,每个人在不同的时间点产生的行为都是随机行为,但即将产生的行为或多或少又会受个人过去的行为习惯所影响,所以,假设当我们有这个人过去的全部行为数据时,首先希望通过某种方式刻画这个人过去的行为,并最终找到和这个人有类似行为习惯的人群。传统的划分方法很多,但都是通过某个行为来进行分类划分,而将所有相关行为放在时间序列上来进行整体观察,就用户生命周期而言,国内外都有很多人在研究这个方向,于是我们思考是否能找到一种方法在实际的项目过程得到应用,通过大量的数据来实践时间序列的聚类方法优劣性。

时间序列应用范围

时间序列在很多领域都有研究,但在电子商务领域的研究,近几年才逐渐兴起。我们项目中希望能够对有相似行为的人群做划分,但在实际中发现,由于人的很多行为是相互关联的,并且在时间的维度中还会发生变化,可能受过去的影响,也可能不受影响,所以,这一秒和下一秒都是不可确定的,导致从传统方法的聚类存在局限性。所以我们从长期趋势研究开始,发现消费的某些行为却可能是固定的,比如定期的购买,季节的变换,促销活动的影响等,这些都是和时间周期有关系的,但又不只是简单的消费数据表示,于是我们想到使用基于时间序列的聚类的方法来进行尝试,得到了一些新的效果。因为随着时间的变换,人是会不断改变的,每种行为可能和时间进行关联后会产生不同的结果,我们最后不仅能得到这个用户局部的行为规律,也可以看到TA在整体时间周期里的行为的规律,通过观察整体和局部,便能更好的刻画用户的生命周期。

时间序列聚类方法

关于时间序列聚类的方法,根据一些理论文献,简单总结如下:

1、传统静态数据的聚类方法有:基于划分的聚类、基于层次的聚类、基于密度的聚类、基于格网的聚类、基于模型的聚类;

2、时间序列聚类方法:大概有三种,一是基于形态特征,即形状变化,包括全局特征和局部特征;二是基于结构特征,即全局构造或内在变化机制,包括基本统计特征、时域特征和频域特征;三是基于模型特征,参数的的变化影响系统的变化,同时存在随机变化。

然而无论是分类、聚类还是关联规则挖掘,都需要解决时间序列的相似度问题,相似性搜索是时间序列数据挖掘的研究基础。由于时间序列存在各种复杂变形(如平移、伸缩、间断等) ,且变形时间和变形程度都无法预料,传统的欧氏距离已经无法胜任。经过一番调研后,目前,动态时间弯曲(DTW) 相似距离的稳定性已在国内外得到验证,于是我们打算采用DTW来尝试聚类分类