发明名称 数据缺失下时间序列相似性度量方法
摘要 本发明公开了一种能够适应缺失数据的时间序列相似性度量方法。该方法从原始的两个时间序列两两提取数据对,并根据数据缺失情况分为5种,分别计算一阶相似度区间;对一阶相似度区间,两两提取区间计算二阶相似度,并得到二阶相似度向量;最后对二阶相似度向量做平均,得到最终的两个时间序列的相似度。本发明能适应多种场景,方法简单,对数据完整性没有任何要求。
申请公布号 CN103886195A 申请公布日期 2014.06.25
申请号 CN201410095671.0 申请日期 2014.03.14
申请人 浙江大学 发明人 祁宏生;王殿海;许骏;叶盈;韦薇;郑正非;蔡正义
分类号 G06F19/00(2011.01)I 主分类号 G06F19/00(2011.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 杜军
主权项 1.数据缺失下时间序列相似性度量方法,其特征在于:假设针对两个时间序列X<sub>i</sub>=(x<sub>i1</sub>,x<sub>i2</sub>...)和X<sub>j</sub>=(x<sub>j1</sub>,x<sub>j2</sub>...),时间序列长度都是N,时间序列每个值都有上限x,下限为0,相似度计算方法如下:1)两两提取两个时间序列的数据对,设分别对两个时间序列提取第m和第n个数据,得到x<sub>jm</sub>,x<sub>jn</sub>和x<sub>im</sub>,x<sub>in</sub>,共有<img file="FDA0000477299000000011.GIF" wi="312" he="129" />对;且每一个数据的约束为<img file="FDA0000477299000000012.GIF" wi="176" he="67" />2)针对这<img file="FDA0000477299000000013.GIF" wi="208" he="128" />对数据中的每一对{x<sub>im</sub>,x<sub>in</sub>}和{x<sub>jm</sub>,x<sub>jn</sub>},分为如下五种情况考虑计算相似度区间,该区间称之为一阶相似度:(1)如果数据都不缺失,则按照下面的公式:<maths num="0001"><![CDATA[<math><mrow><msubsup><mi>s</mi><mi>mn</mi><mo>&prime;</mo></msubsup><mrow><mo>(</mo><mo>{</mo><msub><mi>x</mi><mi>im</mi></msub><mo>,</mo><msub><mi>x</mi><mi>in</mi></msub><mo>}</mo><mo>,</mo><mo>{</mo><msub><mi>x</mi><mi>jm</mi></msub><mo>,</mo><msub><mi>x</mi><mi>jn</mi></msub><mo>}</mo><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msub><mi>x</mi><mi>im</mi></msub><msub><mi>x</mi><mi>jm</mi></msub><mo>+</mo><msub><mi>x</mi><mi>in</mi></msub><msub><mi>x</mi><mi>jn</mi></msub></mrow><mrow><msqrt><msup><mrow><mo>(</mo><msub><mi>x</mi><mi>jm</mi></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>x</mi><mi>jn</mi></msub><mo>)</mo></mrow><mn>2</mn></msup></msqrt><msqrt><msup><mrow><mo>(</mo><msub><mi>x</mi><mi>im</mi></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>x</mi><mi>in</mi></msub><mo>)</mo></mrow><mn>2</mn></msup></msqrt></mrow></mfrac></mrow></math>]]></maths>最终的数据对相似度区间为:s<sub>mn</sub>∈[s<sub>mn</sub>′({x<sub>im</sub>,x<sub>in</sub>},{x<sub>jm</sub>,x<sub>jn</sub>}),s<sub>mn</sub>′({x<sub>im</sub>,x<sub>in</sub>},{x<sub>jm</sub>,x<sub>jn</sub>})](2)如果数据都缺失,也即{x<sub>im</sub>,x<sub>in</sub>}={NaN,NaN}以及{x<sub>jm</sub>,x<sub>jn</sub>}={NaN,NaN},则:s<sub>mn</sub>∈[1,1](3)如果数据只有一个缺失,不失一般性,假设x<sub>jn</sub>=NaN,则按照余弦相似度计算思想,两个二元向量的相似度等于二维平面上两个向量的夹角余弦,当x<sub>jn</sub>空缺,由于x<sub>jn</sub>有上下限,从而,两个向量的夹角有一个最大值和最小值,从而相似度是一个也区间:s<sub>mn</sub>∈[min(1,cos(Θ<sub>1</sub>),cos(Θ<sub>2</sub>)),max(1,cos(Θ<sub>1</sub>),cos(Θ<sub>2</sub>))]求得<maths num="0002"><![CDATA[<math><mrow><mi>cos</mi><mrow><mo>(</mo><msub><mi>&Theta;</mi><mn>1</mn></msub><mo>)</mo></mrow><mo>=</mo><mfrac><msub><mi>x</mi><mi>im</mi></msub><msqrt><msup><mrow><mo>(</mo><msub><mi>x</mi><mi>im</mi></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>x</mi><mi>in</mi></msub><mo>)</mo></mrow><mn>2</mn></msup></msqrt></mfrac><mo>,</mo><mi>cos</mi><mrow><mo>(</mo><msub><mi>&Theta;</mi><mn>2</mn></msub><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msub><mi>x</mi><mi>im</mi></msub><msub><mi>x</mi><mi>jm</mi></msub><mo>+</mo><msub><mi>x</mi><mi>in</mi></msub><mover><mi>x</mi><mo>&OverBar;</mo></mover></mrow><mrow><msqrt><msup><mrow><mo>(</mo><msub><mi>x</mi><mi>jm</mi></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><mover><mi>x</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mn>2</mn></msup></msqrt><msqrt><msup><mrow><mo>(</mo><msub><mi>x</mi><mi>im</mi></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>x</mi><mi>in</mi></msub><mo>)</mo></mrow><mn>2</mn></msup></msqrt></mrow></mfrac><mo>;</mo></mrow></math>]]></maths>(4)如果两个数据对都有数据缺失,且形式为{x<sub>im</sub>,x<sub>in</sub>}={x<sub>im</sub>,NaN}以及{x<sub>jm</sub>,x<sub>jn</sub>}={x<sub>jm</sub>,NaN},则相似度是一个区间:<maths num="0003"><![CDATA[<math><mrow><msub><mi>s</mi><mi>mn</mi></msub><mo>&Element;</mo><mo>[</mo><mn>0</mn><mo>,</mo><mi>max</mi><mrow><mo>(</mo><mfrac><msub><mi>x</mi><mi>im</mi></msub><msqrt><msup><mrow><mo>(</mo><msub><mi>x</mi><mi>im</mi></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><mover><mi>x</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mn>2</mn></msup></msqrt></mfrac><mo>,</mo><mfrac><msub><mi>x</mi><mi>jm</mi></msub><msqrt><msup><mrow><mo>(</mo><msub><mi>x</mi><mi>jm</mi></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><mover><mi>x</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mn>2</mn></msup></msqrt></mfrac><mo>)</mo></mrow><mo>]</mo></mrow></math>]]></maths>(5)如果两个数据对都有一个缺失,且形式为{x<sub>im</sub>,x<sub>in</sub>}={x<sub>im</sub>,NaN}以及{x<sub>jm</sub>,x<sub>jn</sub>}={NaN,x<sub>jn</sub>};或者两个数据对共有三个缺失,形式为{x<sub>im</sub>,x<sub>in</sub>}={x<sub>im</sub>,NaN}以及{x<sub>jm</sub>,x<sub>jn</sub>}={NaN,NaN},有一个相似度区间:s<sub>mn</sub>∈[0,1]3)将每一个smn区间统一表达为<img file="FDA0000477299000000023.GIF" wi="306" he="78" />表示区间起始值,<img file="FDA0000477299000000024.GIF" wi="73" he="78" />表示区间结束值,对<img file="FDA0000477299000000025.GIF" wi="210" he="129" />个相似度区间,再依次两两计算相似度,称之为二阶相似度;假设某一对相似度区间分别为<img file="FDA0000477299000000026.GIF" wi="180" he="78" />和<img file="FDA0000477299000000027.GIF" wi="190" he="83" />则它们的相似度s<sub>mnkj</sub>为:<maths num="0004"><![CDATA[<math><mrow><msub><mi>s</mi><mi>mnkj</mi></msub><mo>=</mo><mfrac><mrow><msubsup><mi>s</mi><mi>mn</mi><mn>1</mn></msubsup><msubsup><mi>s</mi><mi>kj</mi><mn>1</mn></msubsup><mo>+</mo><msubsup><mi>s</mi><mi>mn</mi><mn>2</mn></msubsup><msubsup><mi>s</mi><mi>kj</mi><mn>2</mn></msubsup></mrow><mrow><msqrt><msup><mrow><mo>(</mo><msubsup><mi>s</mi><mi>mn</mi><mn>1</mn></msubsup><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msubsup><mi>s</mi><mi>kj</mi><mn>1</mn></msubsup><mo>)</mo></mrow><mn>2</mn></msup></msqrt><msqrt><msup><mrow><mo>(</mo><msubsup><mi>s</mi><mi>kj</mi><mn>1</mn></msubsup><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msubsup><mi>s</mi><mi>kj</mi><mn>2</mn></msubsup><mo>)</mo></mrow><mn>2</mn></msup></msqrt></mrow></mfrac><mo>,</mo><mo>&ForAll;</mo><mi>m</mi><mo>&NotEqual;</mo><mi>n</mi><mo>,</mo><mi>k</mi><mo>&NotEqual;</mo><mi>j</mi></mrow></math>]]></maths>可知,s<sub>mnkj</sub>的个数为<maths num="0005"><![CDATA[<math><mrow><mfrac><msubsup><mi>C</mi><mrow><mi>N</mi><mrow><mo>(</mo><mi>N</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow><mn>2</mn></msubsup><mn>2</mn></mfrac><mo>=</mo><mfrac><mrow><mfrac><mrow><mi>N</mi><mrow><mo>(</mo><mi>N</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow><mn>2</mn></mfrac><mrow><mo>(</mo><mfrac><mrow><mi>N</mi><mrow><mo>(</mo><mi>N</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow><mn>2</mn></mfrac><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow><mn>2</mn></mfrac><mo>=</mo><mfrac><mrow><msup><mi>N</mi><mn>4</mn></msup><mo>-</mo><msup><mrow><mn>2</mn><mi>N</mi></mrow><mn>3</mn></msup><mo>-</mo><msup><mi>N</mi><mn>2</mn></msup><mo>-</mo><mn>2</mn><mi>N</mi><mo>+</mo><mn>2</mn></mrow><mn>8</mn></mfrac></mrow></math>]]></maths>4)对二阶相似度向量求平均,最终两个时间序列相似度s(X<sub>i</sub>,X<sub>j</sub>)为:<maths num="0006"><![CDATA[<math><mrow><mi>s</mi><mrow><mo>(</mo><msub><mi>X</mi><mi>i</mi></msub><mo>,</mo><msub><mi>X</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><munder><mi>&Sigma;</mi><mrow><mi>m</mi><mo>&NotEqual;</mo><mi>nmk</mi><mo>&NotEqual;</mo><mi>j</mi></mrow></munder><msub><mi>s</mi><mi>mnkj</mi></msub></mrow><mfrac><mrow><msup><mi>N</mi><mn>4</mn></msup><mo>-</mo><msup><mrow><mn>2</mn><mi>N</mi></mrow><mn>3</mn></msup><mo>-</mo><msup><mi>N</mi><mn>2</mn></msup><mo>-</mo><mn>2</mn><mi>N</mi><mo>+</mo><mn>2</mn></mrow><mn>8</mn></mfrac></mfrac><mo>=</mo><mfrac><mrow><mn>8</mn><munder><mi>&Sigma;</mi><mrow><mi>m</mi><mo>&NotEqual;</mo><mi>n</mi><mo>,</mo><mi>k</mi><mo>&NotEqual;</mo><mi>j</mi></mrow></munder><msub><mi>s</mi><mi>mnkj</mi></msub></mrow><mrow><msup><mi>N</mi><mn>4</mn></msup><mo>-</mo><msup><mrow><mn>2</mn><mi>N</mi></mrow><mn>3</mn></msup><mo>-</mo><msup><mi>N</mi><mn>3</mn></msup><mo>-</mo><mn>2</mn><mi>N</mi><mo>+</mo><mn>2</mn></mrow></mfrac></mrow></math>]]></maths>至此,两个缺失数据的时间序列相似度求出来了。
地址 310027 浙江省杭州市西湖区浙大路38号