序列数据挖掘[ZZ]
一、时间序列数据挖掘
时间序列是数据存在的特殊形式,序列的过去值会影响到将来值,这种影响的大小以及影响的方式可由时间序列中的趋势周期及非平稳等行为来刻画。一般来讲,时间序列数据都具有躁声、不稳定、随机性等特点,对于这类数据的预测方法目前主要有自动回归滑动平均(ARMA)和神经网络等,但这些方法有一些缺点是很难克服的,ARMA包含的是线性行为,对于非线性的因素没有包含;而神经网络的结构需要事先指定或应用启发式算法在训练过程中修正;同时神经网络得到的解是局部最优而非全局最优。比较而言支持向量机( SVM)能较好地解决了上述的一些问题,并在实际应用中取得了很好的性能。
二、序列模式挖掘概念及定义
举例说明,比如有顾客租借录像带,典型的顺序是先租“星球大战”,然后是“帝国反战”,再是“杰达武士归来”(这三部影片是以故事发生的时间先后而情节连续的)。值得注意的是租借这三部电影的行为并不一定需要是连续的。在任意两部之间随便插租了什么电影,仍然还是满足了这个序列模式,并且扩展一下,序列模式的元素也可以不只是一个元素(如一部电影),它也可以是一个项集(item set)。所谓项集,指的是多个物品组成的集合,内部元素不分排列顺序,比如“枕头和枕头套”就可以看作是由两个项(item)组成的项集,它也可以作为某一个序列模式的元素。
比如数据源是一个给定的由客户交易(customer transaction)组成的大型数据库,每个交易(transaction)由客户号(customer-id),交易时间(transaction-time)以及在交易中购买的项(item)组成。
(1)项集(itemset)是由项(item)组成的一个非空集合。
(2)序列(sequence)是一列排好序的项集
不失一般性我们假定项集中的项由一些连续整数代替,这样一个项集i可以表示为(i1,i2…im),而这里的ij代表了一个项。一个序列s可以表示为<s1,s2…sn>,这里的sj代表的是一个项集。
两个序列a <a1,a2…an>和b <b1,b2…bm>,如果存在整数i1<i2<…<in且a1包含于bi1,a2包含于bi2,…,an包含于bin,则称序列a包含于序列b。比如序列< (3) (4,5) (8) >包含于序列< (7) (3,8) (9) (4,5,6) (8) >,因为(3)包含于(3,8),(4,5)包含于(4,5,6)以及(8)包含于(8)。但是序列< (3) (5) >不包含于< (3,5) >,反之亦然。前者表示项3和项5是先后购买的,而后者则表示项3和项5是同时购买的,这就是区别所在。在一个序列集(a set of sequences)中如果序列s不包含于任何其他序列中,则称序列s为最大的(maximal)。
一个客户所有的事务(transactions)可以综合的看成是一个序列,每一个事务都由相应的一个项集来表示。事务按交易时间序排列就成了一个序列。我们称这样的序列为客户序列(customer-sequence)。通常,将一个客户的交易按交易时间排序成T1 ,T2 ,……,Tn。Ti中的项集定义成itemset(Ti)。这样,这个客户的客户序列就成了这样的一个序列:〈itemset(T1) itemset(T2) … itemset(Tn)〉。见图_2。
如果一个序列s包含于一个客户序列中,则我们称该客户支持(support)序列s。一个具体序列的支持(support)定义为那一部分支持该序列的客户总数。
给定一个由客户交易组成的数据库D,挖掘序列模式的问题就是在那些具有客户指定最小支持度(minimum support)的序列中找出最大序列(maximal sequence)。而每个这样的最大序列就代表了一个序列模式(sequential pattern)。
时间序列挖掘其本质是根据数据随时间变化的趋势预测将来的值。重点要考虑的是时间的特殊性质,像一些周期性的时间定义如星期、月、季节、年等,不同的日子如节假日可能造成的影响,日期本身的计算方法,还有一些需要特殊考虑的地方如时间前后的相关性(过去的事情对将来有多大的影响力)等。只有充分考虑时间因素,利用现有数据随时间变化的一系列的值,才能更好地预测将来的值。
三、时间序列挖掘在金融领域的应用
用于金融时间序列的预测方法很多,由于神经网络作为一种通用函数逼近器可以以任意精度近似任意非线性函数和动态系统,是高度非线性对象建模的有力工具,因此目前在该领域研究中仍以神经网络方法为主。但ANN仍有一些不易解决的难题,如难以确定神经网络的隐层节点数,存在过学习现象,训练过程中存在局部极小问题等。为了解决这些问题,Vapnik等人根据统计学习理论提出了支持向量机学习方法,它的最大特点是改变了传统的神经网络中经验风险最小化原则,而是针对结构风险最小化原则提出的,因此具有很好的泛化能力。目前已经广泛用于解决分类和回归问题。
序列数据挖掘[ZZ]的更多相关文章
- 通用数据挖掘[ZZ]
一.什么是数据挖掘?许多人认为数据挖掘更像是一门哲学,或数学的组成部分,而不是业务需求的实际解决方案.您可以从采用的各种定义中看出这一点,例如:“数据挖掘是对非常大型的数据进行的研究和分析,采用自动或 ...
- 深入浅出谈数据挖掘zz
编者的话:本文对数据挖掘概念的产生,数据挖掘与常规数据分析的主要区别,所能解决的几大类问题和所应用的领域都有着非常清晰的论述.作者在此篇文章中认为数据挖掘最重要的要素是分析人员的相关业务知识和思维模式 ...
- 《BI那点儿事》数据挖掘初探
什么是数据挖掘? 数据挖掘(Data Mining),又称信息发掘(Knowledge Discovery),是用自动或半自动化的方法在数据中找到潜在的,有价值的信息和规则. 数据挖掘技术来源于数据库 ...
- 几种不同存储形式下的数据挖掘问题[ZZ]
从原理上说,数据挖掘应该可以应用到任何信息存储方式的知识挖掘中,但是挖掘的挑战性和技术会因为源数据的存储类型的不同而不同.特别是,近年来的研究表明数据挖掘所涉及的数据存储类型越来越丰富,除了一些有通用 ...
- 数据挖掘相关的10个问题[ZZ]
NO.1 Data Mining 和统计分析有什么不同? 硬要去区分Data Mining和Statistics的差异其实是没有太大意义的.一般将之定义为Data Mining技术的CART.CHAI ...
- 数据挖掘分类算法之决策树(zz)
决策树(Decision tree) 决策树是以实例为基础的归纳学习算法. 它从一组无次序.无规则的元组中推理出决策树表示形式的分类规则.它采用自顶向下的递归方式,在决策树的内部结点进行属性值 ...
- [zz]求一维序列的信息熵(香浓熵)的matlab程序实例
对于一个二维信号,比如灰度图像,灰度值的范围是0-255,因此只要根据像素灰度值(0-255)出现的概率,就可以计算出信息熵. 但是,对于一个一维信号,比如说心电信号,数据值的范围并不是确定的, ...
- 数据挖掘-关联规则分析[ZZ]
1.什么是关联规则 "尿布与啤酒"的故事大家都有听过,这里就不罗嗦了. 按常规思维,尿布与啤酒风马牛不相及,若不是借助数据挖掘技术对大量交易数据进行挖掘分析,沃尔玛是不可能发现数据 ...
- 数据挖掘经典书籍[ZZ]
数据挖掘就是在数据库中查找所需数据的过程,它是随着数据库产生的一门学科.近几年,数据库的发展还是非常迅速的,数据挖掘也成为热门技术,学习的人络绎不绝.下面给大家介绍的就是数据挖掘经典书籍及数据挖掘书籍 ...
随机推荐
- [LeetCode#84]Largest Rectangle in Histogram
Problem: Given n non-negative integers representing the histogram's bar height where the width of ea ...
- oracle查询语句【转载】
建立的表: 表名:REGIONS 序号 列名 数据类型 长度 小数位 标识 主键 允许空 默认值 说明 1 REGION_ID NUMBER 是 否 2 REGION_NAME VARCHAR2 25 ...
- unity3d AI's sight
just finished -----by wolf96
- Mac下搭建Eclipse Android开发环境
之前一直是用windows搞android开发,但windows这个性能也真是让人醉了,终于一狠心,砸锅卖铁买了Mac.然后就开始在Mac上搭建android开发环境, 其实也不麻烦,关键是找准下载地 ...
- JavaScript高级程序设计16.pdf
第8章 BOM BOM的核心对象就是window,它表示浏览器的一个实例,在浏览器中window对象有双重角色,它既是JavaScript访问浏览器的一个接口,又是规定的Global对象,因此所有在全 ...
- Ural 1258 镜面对称
#include<cstdio> #include<cstring> #include<cmath> #include<iostream> #inclu ...
- hdu 4620 搜索
好苦逼,为啥数组开小了,不会runtime error,还得我WA了几个小时,我泪流满面. 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4620 #i ...
- CentOS让root用户可以SSH登录
一.说明 Solaris 10 出于安全原因,默认参数很严格,禁止root用户直接使用ssh登陆 二.处理 1.可以先用非root的帐户,登陆到ssh后,su成root 2.如 ...
- 417. Pacific Atlantic Water Flow
正常做的,用了645MS..感觉DFS的时候剪枝有问题.. 为了剪枝可能需要标记一个点的4种情况: 1:滨临大西洋,所有太平洋来的点可以通过: 2:濒临太平洋,所有大西洋来的点可以通过: 3:都不濒临 ...
- 关于python写GUI桌面应用的一些研究结果
研究了一下python开发GUI桌面应用的解决方案,研究结果记录如下: EasyGui:控件极为简单,连个基本的grid.list组件都没有,不适合商用,甚至是普通的应用都不行,放弃! Tkinter ...