1、点序列

  模式发生时间的一个有序序列,se=<t1,t2,t3,t4,t5>

2、周期点序列

  <0,5,10,15,20,27,30,35,40>是一个周期为5、时间容忍度为2的周期点序列。

3、部分周期模式

  <0,5,10,15,27,30,35,40>可以分为<0,5,10,15>、<15,27>和<27,30,35,40>三个子序列,其中<0,5,10,15>和<27,30,35,40>都是周期为5,时间容忍度为2的周期点序列,因此<0,5,10,15,27,30,35,40>是部分周期点序列,其中[0,15]和[27,40]是开时间段,而[15,27]是关时间段。

4、时间间隔周期点序列(基于方差的模式)

  定义4.1 给定一个时间点序列 se=<t1,t2,t3,t4,t5>,其对应的时间间隔序列为<(t2-t1),(t3-t2),(t4-t3),(t5-t4)>,其中每个元素为点序列中相邻两个时间点的时间间隔,如果该时间间隔序列的方差小于给定阈值(例如1.2,这个阈值的选择下面说),则称该序列是 周期为p的一个周期点序列,其中p为时间间隔的平均值,即

      

  同时模式e称为周期为p的周期模式

  如果用泊松过程来模拟一个事件的时间点序列的产生过程,事件发生概率均值为的泊松过程的时间间隔是服从指数分布的,其方差为,其中是两个事件时间间隔的均值。

  对于有N个时间点的时间序列来说,如果起始时间和最后一个时间点的时间差为T,称[0,T]为该时间点序列的时间窗,平均时间间隔为T/N,即=,因此方差为,计作

  从上面的公式可以看出,方差的大小与时间窗和窗口内的时间点数目有关,在给定时间窗的前提下,序列内的时间点越多,方差越小;因此,衡量一个序列是否具有周期性(或者说周期性的强度),需要有一个参照,我们可以选择相同时间窗下随机事件时间序列的方差来做对比,以此定义上文中的方差阈值为

  重新定义上面的4.1:

  定义4.5 给定一个时间点序列 se=<t1,t2,t3,t4,t5>,其对应的时间间隔序列为<(t2-t1),(t3-t2),(t4-t3),(t5-t4)>,如果该时间间隔序列的方差与相同时间窗相同长度的随机事件时间间隔序列的方差之比小于给定方差比阈值,则称该序列是周期为p的一个周期点序列,其中p为时间间隔的平均值,即

      

  同时模式e称为周期为p的周期模式

5、基于方差的周期模式的类型

  上面定义4.5中是基本的周期模式,除此之外还有:

  (1)部分周期模式:点序列分割为不重叠的子序列,部分子序列是满足给定方差比阈值的周期点序列(简称为周期子序列),且周期均为p,其余子序列不满足方差比阈值,且至少存在这样的一个子序列,则称该序列是周期为p的部分周期点序列,同时模式e称为周期为p的部分周期模式

  根据应用背景的不同,部分周期模式可以加上另外的约束条件,例如属于周期点序列的子序列的个数占子序列总个数的比例大于给定阈值,或者关时间段占总时间窗的比例小于给定阈值等。

  (2)周期变化的周期模式:如果该点序列可以分割为不重叠的子序列,每个子序列都是满足给定方差比阈值的周期点序列,但周期不完全相同,即至少存在两个不同的周期,则称该序列为周期变化的部分周期点序列,同时模式e称为周期变化的部分周期模式

  (3)周期变化的部分周期模式:如果该点序列可以分割为多个不重叠的子序列,其中至少存在一个子序列不满足方差比阈值,其余每个子序列都满足给定方差比阈值,但周期不完全相同,即至少存在两个不同的周期,则称该序列为周期变化的部分周期点序列,同时模式e称为周期变化的部分周期模式

  周期变化的意义

  周期发生变化通常也隐含这事件发生的环境因素发生变化,因此这种模式的发现对于推荐系统识别上下文的改变也是有帮助的。另外,周期的增加或减少也隐含着其他的信息,例如,如果一个用户对某购物网站的访问周期变长,那预示着该用户可能转向其他网站购物,这对于防止用户的流失也具有潜在价值。

6、周期模式的发现方法

  解决的问题是,给定一个模式及其点序列的时间间隔序列,如何判断该模式是否是周期模式、属于何种周期模式以及周期是多少的方法。

  周期模式发现两种方法:

  (1)贪婪分割法:高效,但有可能漏掉某些周期模式;

  (2)准遍历法(之所以叫“准”,是因为并不是完全遍历,对于一个满足条件的子序列的所有子序列将不再需要进一步检查):更全面地找出所有周期模式,但效率相对较低。

  实现方式:频繁模式或者频繁事件组(frequent episude)的发现方法来实现。

(Aggarwal,et al.,2000;Agrawal and Srikant,1994;Bayardo,1998;Han,et al.,2004;Mannila,et al.,1997) 

  算法的输入输出如下:

  INPUT:

    (1)模式e的时间间隔序列;

    (2)方差比阈值

   (3)最小序列长度阈值;

     (4) 最小开时间段比例

   (5)最大周期差异比例

  OUTPUT:

    判断模式e属于哪种周期模式

  算法都分为2步实现:

    第一步是找出子序列:

      分割法用分割的方式找不重叠的子序列;准遍历法用近似遍历给定时间间隔序列的的方法寻找所有可能的子序列;

      这一步需要用到的参数是:

        “方差比阈值”:用来决定是否具有周期性;

        “最小序列长度阈值 ”:用来决定是否需要继续分割或者决定遍历的步长;

    第二步是判断所属的周期类型

      这一步两种方法都基本一样,主要通过几个参数来判断。

      “最大周期差异比例” :用来决定是周期变化还是等周期的模式;

      “ 最小开时间段比例” :用来决定是否是部分周期模式;

7、预测事件的发生

  通过判断下一个发生的时间间隔的取值范围来预测该事件是否仍保持周期性。

  设 

,

  计算下一个时间间隔:

    

  

  预测的准确度:

  可以将序列的前五分之四作为已知序列,剩下的作为测试部分,如果已知序列满足周期模式的条件,则根据定理预测其下一个时间间隔的取值范围;如果测试部分的时间间隔落入这个取值范围,则视为预测准确;否则为错误。(要注意排除准确度跟序列长度本身的关系)

  其他的预测方法:隐马尔可夫模型,进行下一个时间间隔以及状态的预测,进一步提高预测的准确度。

  应用:

    用于预测事件的下一个发生时间,也便于在事件没有如期发生时让商家观察到客户行为的变化,从而采取适当的措施,例如挽留客户的行为。

8、时间序列分析/预测的算法

  感觉更偏向于研究数据的统计分布、季节性时间周期什么的,这样的数据结构是会分 时序列、数值列 来输入,注重的是分布的规律,根据分布的规律来预测;

  holt winters

  arima

  garch

  decompose

  markov chain predict

    

9、注意的问题

  个人用户的数据的周期或者发展趋势很有可能会受到总体数据趋势发展变化的影响,因此我们在分析个人的周期性行为或者预测发展趋势的时候,其实不妨先分析一下大盘的整体趋势是怎么样的。因为如果用户根本不是很个性化,那么整体的趋势可能更有说服力。

参考书籍:《社会计算:用户在线行为分析与挖掘》刘红岩著

python pandas

http://www.cnblogs.com/foley/p/5582358.html

转载于:https://www.cnblogs.com/zichun-zeng/p/7732395.html

时间序列分析学习笔记相关推荐

  1. 时间序列分析学习笔记:时间序列的预处理(平稳性检验、纯随机性检验)

    1 时间序列预处理 2 平稳性检验 2.1 特征统计量(概率分布的意义) 2.2 时间序列的概率分布 2.3 概率分布族应用的局限性 2.4 特征统计量(均值.方差) 2.5 平稳时间序列的定义(严平 ...

  2. 计量经济学之时间序列分析学习笔记(单位根检验、协整检验、单整阶数判断、ECM建模)——基于R(二)

    一.生成时间序列 data1=matrix(0,1000,1) for(i in 1:1000) {data1[i+1]=data1[i]+rnorm(1)} plot(data1,type=&quo ...

  3. 数据分析学习笔记——数据可视化

    数据分析学习笔记系列--数据可视化 总第45篇 ▼ 写在前面: 本篇来源于书籍<数据之美-一本书学会可视化设计>的学习后整理所得.全篇主要围绕数据可视化的5个步骤展开,其中重点内容是第三步 ...

  4. 数据分析学习笔记(四)Excel

    数据分析学习笔记(四)Excel 为什么要学习Excel Excel的学习路径1 Excel的必知必会 Excel的常见函数 什么是函数 常见函数 文本清洗函数 关联匹配函数 逻辑运算函数 计算统计函 ...

  5. Python数据分析学习笔记:使用SciKit-Learn进行数据规范化

    Python数据分析学习笔记:使用SciKit-Learn进行数据规范化 数据规范化是数据挖掘的一项基础工作.不同评价指标往往具有不同的量纲,数值见的差别可能很大,不进行处理可能会影响到数据分析的结果 ...

  6. Python数据分析学习笔记:计算向量夹角

    Python数据分析学习笔记:计算向量夹角 通过计算两个向量夹角了解两个向量之间的相关性. # 计算向量夹角import numpy as npdef included_angle(a, b):a_n ...

  7. Python数据分析学习笔记:计算相关系数

    Python数据分析学习笔记:计算相关系数 1.相关系数概念 相关系数,或称线性相关系数.皮氏积矩相关系数(Pearson product-moment correlation coefficient ...

  8. Python数据分析学习笔记05:用户画像

    Python数据分析学习笔记05:用户画像 一.用户画像 用户画像是指根据用户的属性.用户偏好.生活习惯.用户行为等信息而抽象出来的标签化用户模型.通俗说就是给用户打标签,而标签是通过对用户信息分析而 ...

  9. python客户画像_Python数据分析学习笔记05:用户画像

    Python数据分析学习笔记05:用户画像 一.用户画像 用户画像是指根据用户的属性.用户偏好.生活习惯.用户行为等信息而抽象出来的标签化用户模型.通俗说就是给用户打标签,而标签是通过对用户信息分析而 ...

最新文章

  1. java 泛型 .net_Java基础11:Java泛型详解
  2. 互联网1分钟 |1026
  3. php 字符串的比较大小,PHP如何比较字符串的大小?
  4. lisp 批量文字求差值_Python 超简单 提取音乐高潮(附批量提取)
  5. 这份网约车安全乘车指南,请务必收下!
  6. [Spring5]IOC容器_Bean管理XML方式_p名称空间注入
  7. Arcgis自下而上从左到右进行编号
  8. mac os 10.10 safari java插件_OS X 10.10 Yosemite强大而漂亮的Safari 8浏览器
  9. 常用的计算机组装工具有,计算机组装维护与常用工具软件考试含答案
  10. 2021计算机专业考研科目,2021北京航空航天大学计算机考研科目
  11. 【原创】QT5-卸载精灵v1.0-卸载windows软件-简易版
  12. ROS pgm转jpg
  13. html九宫格拼图怎么做,朋友圈九宫格拼图照片制作方法
  14. 当医疗邂逅ICT——长沙湘雅医疗现场会,我们,不见不散
  15. bzoj 1026 //1026: [SCOI2009]windy数
  16. StringUtils中isNotEmpty和isNotBlank及isBlank()和isEmpty()区别
  17. spring系列——BeanNameGenerator接口(bean名字生成器)
  18. 【Unity3D插件】AVPro Video2.x rtmp流媒体播放设置问题
  19. java书签_Java 操作Word书签(一):添加、删除、读取书签
  20. 利用火绒安全软件修改host文件,加速访问GitHub网站

热门文章

  1. 升级jenkins 导致jenkins启动失败_害你加班的Bug是我写的,记一次升级Jenkins插件引发的加班
  2. 微生物 革兰氏阳性菌和革兰氏阴性菌 需氧 厌氧菌 判断 目录表
  3. PDF.JS教程 - A general-purpose, web standards-based platform for parsing and rendering PDFs.
  4. 我的世界基岩版开服教程
  5. linux的内核设计,Linux内核设计的艺术 清晰完整版PDF+配套源码
  6. 导航系统的工作方式及其发展历程概述
  7. PL/SQL中快捷键、内容提示、字体大小的设置
  8. Windows上面maven私服nexus的安装
  9. 可靠性设计:容错设计
  10. tcga数据下载_使用R下载TCGA数据