- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
动态时间弯曲算法在 K 线相似度计算中的应用
序言
在证券交易数据中,股票 K 线图无疑是一种非常重要的数据.它反映了股票在过去历史中
于开盘价与收盘价的交易价格的变动.古有言,以史为鉴,历史往往存在相似性,对一支股过去历
史波动的研究,往往可以对其自身,以及其他股票的未来价格变动作出一些合理预测.而股票价格
究其根本是一种时间序列.对于时间序列,是一种以时间为轴,在一些格外规定的时间点上通过采
样得到的一系列按照时间顺序排列的,从被观测对象猎取到的观测值.通过对时间序列的研究,找
到两条时间序列相似程度的的度量方法就被称为时间序列相似性度量,这是时间序列聚类分析中
一个不可缺少的步骤,同时也是分类、聚类、规律发觉、模式识别等工作的子 程.对于研究股票 k
线图相似性,是为了对未来 行合理预测,因此度量方法应该考虑其性能对于后期时间序列数据挖
掘的效果的的直接影响程度.时间序列的相似程度是由度量距离的大小所决定的.而相似性度量方
式的特性又决定了 相似性度量的效果.在时间序列相似性度量中,我们最常用的方法就是动态时
间弯曲(Dynamic Time Warping,DTW).这是由 Berndt 于 1994 年提出将其应用在时间序列数据挖
掘领域中,以此来发觉时间序列中的模式.而这刚好适用于股票 k 线图的相似程度的研究.这是由
于动态时间弯曲不仅可以消除欧式距离“点对点”的匹配缺陷,通过弯曲时间来达到时间序列数据
点“一对多”的匹配,从而实现不等长时间序列的度量,还对时间序列的偏移,振幅改变等情况具有
较强的鲁棒性(鲁棒是 Robust 的音译,也就是健壮和强壮的意思.鲁棒性指的是遭遇外来干扰,性
质保持不变的能力.).这对于不同股票的 k 线图在不同的时间跨度而可能形成相同价格形态有着重
要意义.
一、 DTW 算法原理
动态时间弯曲是一种在语音识别领域得到首次应用的,准确性高并且鲁棒性强的时间序列相
似性度量方法.它区别于传统的欧几里的距离,其不同在于动态时间弯曲可以通过弯曲时间序列的
时间区域从而对时间序列的数据点 行匹配,这样我们不单单能够得到更好的形态度量的效果,更
重要的是我们能够度量两条不等长的时间序列.
对于股票 K 线图的相似性,我们寻求的是价格形态的相似性.例如威廉·欧奈尔提到的一种最
普遍的价格形态“带柄茶杯形态”, 当我们找到与此形态相似的股票时就要做出准备,这可能是一支
带动市场 展的“超级牛股”一如当年的微软与苹果.
要想实现股票 K 线图的这种相似度匹配,依靠欧式距离在度量中讲时间序列 行“一对一“的
数据匹配是不够的,尽管它具有高效性,但是它并未能准确的使波峰、波谷匹配起来.而动态时间
弯曲则能够通过弯曲时间轴来实现“一对多”的数据匹配.通过这样,动态时间弯曲就能成功将两条
不同的股票 K 线图的波峰和波谷匹配起来,从而有助于我们度量价格形态的相似程度,体现了动
态时间弯曲在形态度量上的优势.
1.1 动态时间弯曲距离【1】
在介绍动态时间弯曲算法之前,先简洁的介绍一下动态时间弯曲距离的定义.
定义 1 给定两条时间序列 x={x ,x ,…,x }和 y={y ,y ,…,y },计算它们之间的累积距离
1 2 n 1 2 n
D(i ‒ 1,j)
D(i,j)=d(x .y )+min D(i,j ‒ 1)
i j {D(i ‒ 1,j ‒ 1)
其中
d(x ,y )= || x -y || (1)
i j i j ω
为点 x 到 y 之间的距离,其中 i= (1,2,…,n),j=(1,2,…,m),当 =2 时为欧式距离.
i j
得到的累积最小距离就是动态弯曲距离,我们记为 Dwarp ()
在这里我们需要格外注意一点,动态弯曲距离是不符合三角不等式的
命题 1 Dwarp()不满足三角不等式
证明
我们可以通过一个反例来证明这个论题,设 =⟨0⟩ =⟨1
文档评论(0)