数据挖掘易犯的11大错误与数据分析技能

转载 2012年03月21日 18:31:35
 

0. 缺乏数据(Lack Data)
对于分类问题或预估问题来说,常常缺乏准确标注的案例。

例如:
-欺诈侦测(Fraud Detection):在上百万的交易中,可能只有屈指可数的欺诈交易,还有很多的欺诈交易没有被正确标注出来,这就需要在建模前花费大量人力来修正。
-信用评分(Credit Scoring):需要对潜在的高风险客户进行长期跟踪(比如两年),从而积累足够的评分样本。

1. 太关注训练(Focus on Training)
IDMer:就象体育训练中越来越注重实战训练,因为单纯的封闭式训练常常会训练时状态神勇,比赛时一塌糊涂。

实际上,只有样本外数据上的模型评分结果才真正有用!(否则的话,直接用参照表好了!)

例如:
-癌症检测(Cancer detection):MD Anderson的医生和研究人员(1993)使用神经网络来进行癌症检测,惊奇地发现,训练时间越长(从几天延长至数周),对训练集的性能改善非常轻微,但在测试集上的性能却明显下降。
-机器学习或计算机科学研究者常常试图让模型在已知数据上表现最优,这样做的结果通常会导致过度拟合(overfit)。

解决方法:
解决这个问题的典型方法是重抽样(Re-Sampling)。重抽样技术包括:bootstrap、cross-validation、jackknife、leave-one-out...等等。

2. 只依赖一项技术(Rely on One Technique)
IDMer:这个错误和第10种错误有相通之处,请同时参照其解决方法。没有对比也就没有所谓的好坏,辩证法的思想在此体现无遗。

“当小孩子手拿一把锤子时,整个世界看起来就是一枚钉子。”要想让工作尽善尽美,就需要一套完整的工具箱。
不要简单地信赖你用单个方法分析的结果,至少要和传统方法(比如线性回归或线性判别分析)做个比较。

研究结果:按照《神经网络》期刊的统计,在过去3年来,只有1/6的文章中做到了上述两点。也就是说,在独立于训练样本之外的测试集上进行了开集测试,并与其它广泛采用的方法进行了对比。

解决方法:
使用一系列好的工具和方法。(每种工具或方法可能最多带来5%~10%的改进)。

3. 提错了问题(Ask the Wrong Question)
IDMer:一般在分类算法中都会给出分类精度作为衡量模型好坏的标准,但在实际项目中我们却几乎不看这个指标。为什么?因为那不是我们关注的目标。

a)项目的目标:一定要锁定正确的目标

例如:
欺诈侦测(关注的是正例!)(Shannon实验室在国际长途电话上的分析):不要试图在一般的通话中把欺诈和非欺诈行为分类出来,重点应放在如何描述正常通话的特征,然后据此发现异常通话行为。

b)模型的目标:让计算机去做你希望它做的事

大多数研究人员会沉迷于模型的收敛性来尽量降低误差,这样让他们可以获得数学上的美感。但更应该让计算机做的事情应该是如何改善业务,而不是仅仅侧重模型计算上的精度。

4. 只靠数据来说话(Listen (only) to the Data)
IDMer:“让数据说话”没有错,关键是还要记得另一句话:兼听则明,偏听则暗!如果数据+工具就可以解决问题的话,还要人做什么呢?

4a.投机取巧的数据:数据本身只能帮助分析人员找到什么是显著的结果,但它并不能告诉你结果是对还是错。
4b.经过设计的实验:某些实验设计中掺杂了人为的成分,这样的实验结果也常常不可信。

5. 使用了未来的信息(Accept Leaks from the Future)
IDMer:看似不可能,却是实际中很容易犯的错误,特别是你面对成千上万个变量的时候。认真、仔细、有条理是数据挖掘人员的基本要求。

预报(Forecast)示例:预报芝加哥银行在某天的利率,使用神经网络建模,模型的准确率达到95%。但在模型中却使用了该天的利率作为输入变量。
金融业中的预报示例:使用3日的移动平均来预报,但却把移动平均的中点设在今天。

解决方法:
要仔细查看那些让结果表现得异常好的变量,这些变量有可能是不应该使用,或者不应该直接使用的。
给数据加上时间戳,避免被误用。

6. 抛弃了不该忽略的案例(Discount Pesky Cases)
IDMer:到底是“宁为鸡头,不为凤尾”,还是“大隐隐于市,小隐隐于野”?不同的人生态度可以有同样精彩的人生,不同的数据也可能蕴含同样重要的价值。

异常值可能会导致错误的结果(比如价格中的小数点标错了),但也可能是问题的答案(比如臭氧洞)。所以需要仔细检查这些异常。
研究中最让激动的话语不是“啊哈!”,而是“这就有点奇怪了……”
数据中的不一致性有可能会是解决问题的线索,深挖下去也许可以解决一个大的业务问题。

例如:
在直邮营销中,在对家庭地址的合并和清洗过程中发现的数据不一致,反而可能是新的营销机会。

解决方法:
可视化可以帮助你分析大量的假设是否成立。

7. 轻信预测(Extrapolate)
IDMer:依然是辩证法中的观点,事物都是不断发展变化的。

人们常常在经验不多的时候轻易得出一些结论。
即便发现了一些反例,人们也不太愿意放弃原先的想法。
维度咒语:在低维度上的直觉,放在高维度空间中,常常是毫无意义的。

解决方法:
进化论。没有正确的结论,只有越来越准确的结论。

8. 试图回答所有问题(Answer Every Inquiry)
IDMer:有点像我爬山时鼓励自己的一句话“我不知道什么时候能登上山峰,但我知道爬一步就离终点近一步。”

“不知道”是一种有意义的模型结果。
模型也许无法100%准确回答问题,但至少可以帮我们估计出现某种结果的可能性。

9. 随便地进行抽样(Sample Casually)

9a 降低抽样水平。例如,MD直邮公司进行响应预测分析,但发现数据集中的不响应客户占比太高(总共一百万直邮客户,其中超过99%的人未对营销做出响应)。于是建模人员做了如下抽样:把所有响应者放入样本集,然后在所有不响应者中进行系统抽样,即每隔10人抽一个放入样本集,直到样本集达到10万人。但模型居然得出如下规则:凡是居住在Ketchikan、Wrangell和Ward Cove Alaska的人都会响应营销。这显然是有问题的结论。(问题就出在这种抽样方法上,因为原始数据集已经按照邮政编码排序,上面这三个地区中不响应者未能被抽取到样本集中,故此得出了这种结论)。

解决方法:“喝前摇一摇!”先打乱原始数据集中的顺序,从而保证抽样的随机性。

9b 提高抽样水平。例如,在信用评分中,因为违约客户的占比一般都非常低,所以在建模时常常会人为调高违约客户的占比(比如把这些违约客户的权重提高5倍)。建模中发现,随着模型越来越复杂,判别违约客户的准确率也越来越高,但对正常客户的误判率也随之升高。(问题出在数据集的划分上。在把原始数据集划分为训练集和测试集时,原始数据集中违约客户的权重已经被提高过了)

解决方法:先进行数据集划分,然后再提高训练集中违约客户的权重。

10. 太相信最佳模型(Believe the Best Model)
IDMer:还是那句老话-“没有最好,只有更好!”

可解释性并不一定总是必要的。看起来并不完全正确或者可以解释的模型,有时也会有用。
“最佳”模型中使用的一些变量,会分散人们太多的注意力。(不可解释性有时也是一个优点)
一般来说,很多变量看起来彼此都很相似,而最佳模型的结构看上去也千差万别,无迹可循。但需注意的是,结构上相似并不意味着功能上也相似。

解决方法:把多个模型集装起来可能会带来更好更稳定的结果。

 

 

 

 

 

 

数据挖掘最重要的要素是分析人员的相关业务知识和思维模式。丰富的业务知识是设计有效的相关变量的必要条件,而分析人员的思维模式从另外一个方面也保障了设计变量的结构化和完整性。所以我们在掌握丰富的业务知识同时,如果能够按照正确的思维模式去思考问题,将会发现解决问题并不是很困难的。

数据挖掘主要解决的四类问题



 

   一般来说,数据挖掘主要侧重解决四类问题:分类、聚类、关联、预测。数据挖掘非常清晰的界定了它所能解决的几类问题。这是一个高度的归纳,数据挖掘的应用就是把这几类问题演绎的一个过程。下面让我们来看看它所解决的四类问题是如何界定的:

 

1、分类问题

   分类问题属于预测性的问题,但是它跟普通预测问题的区别在于其预测的结果是类别(如A、B、C三类)而不是一个具体的数值(如55、65、75……)。


数据挖掘主要解决的四类问题


   举个例子,你和朋友在路上走着,迎面走来一个人,你对朋友说:我猜这个人是个上海人,那么这个问题就属于分类问题;如果你对朋友说:我猜这个人的年龄在30岁左右,那么这个问题就属于后面要说到的预测问题。

   商业案例中,分类问题可谓是最多的:

  • 给你一个客户的相关信息,预测一下他未来一段时间是否会离网?
  • 信用度是好/一般/差?是否会使用你的某个产品?
  • 将来会成为你的高/中/低价值的客户?
  • 是否会响应你的某个促销活动?
  • ……

   有一种很特殊的分类问题,那就是“二分”问题,显而易见,“二分”问题意味着预测的分类结果只有两个类:如是/否;好/坏;高/低……;这类问题也称为0/1问题。之所以说它很特殊,主要是因为解决这类问题时,我们只需关注预测属于其中一类的概率即可,因为两个类的概率可以互相推导。如预测X=1的概率为P(X=1),那么X=0的概率P(X=0)=1-P(X=1),这一点是非常重要的。

   可能很多人已经在关心数据挖掘方法是怎么预测P(X=1)这个问题的了,其实并不难。解决这类问题的一个大前提就是通过历史数据的收集,已经明确知道了某些用户的分类结果。

   例如已经收集到了10000个用户的分类结果,其中7000个是属于“1”这类;3000个属于“0”这类。伴随着收集到分类结果的同时,还收集了这10000个用户的若干特征(指标、变量)。这样的数据集一般在数据挖掘中被称为训练集,顾名思义,分类预测的规则就是通过这个数据集训练出来的。

   训练的思路大概是这样的:对所有已经收集到的特征/变量分别进行分析,寻找与目标0/1变量相关的特征/变量,然后归纳出P(X=1)与筛选出来的相关特征/变量之间的关系(不同方法归纳出来的关系的表达方式是各不相同的,如回归的方法是通过函数关系式,决策树方法是通过规则集)。

   如需了解细节,请查阅:决策树、Logistic回归、判别分析、神经网络、Chi-square、Gini、……等相关知识。

 

2、聚类问题

   聚类问题不属于预测性的问题,它主要解决的是把一群对象划分成若干个组的问题。划分的依据是聚类问题的核心。所谓“物以类聚,人以群分”,故得名聚类。

数据挖掘主要解决的四类问题



   聚类问题容易与分类问题混淆,主要是语言表达的原因,因为我们常说这样的话:“根据客户的消费行为,我们把客户分成三个类,第一个类的主要特征是……”,实际上这是一个聚类问题,但是在表达上容易让我们误解为这是个分类问题。

   分类问题与聚类问题是有本质区别的:分类问题是预测一个未知类别的用户属于哪个类别(相当于做单选题),而聚类问题是根据选定的指标,对一群用户进行划分(相当于做开放式的论述题),它不属于预测问题。

   聚类问题在商业案例中也是一个非常常见的,例如需要选择若干个指标(如价值、成本、使用的产品等)对已有的用户群进行划分:特征相似的用户聚为一类,特征不同的用户分属于不同的类。

   聚类的方法层出不穷,基于用户间彼此距离的长短来对用户进行聚类划分的方法依然是当前最流行的方法。大致的思路是这样的:

  • 首先确定选择哪些指标对用户进行聚类;
  • 然后在选择的指标上计算用户彼此间的距离,距离的计算公式很多,最常用的就是直线距离(把选择的指标当作维度、用户在每个指标下都有相应的取值,可以看作多维空间中的一个点,用户彼此间的距离就可理解为两者之间的直线距离);
  • 最后聚类方法把彼此距离比较短的用户聚为一类,类与类之间的距离相对比较长。

   如需了解细节,请查阅:聚类分析、系统聚类、K-means聚类、欧氏距离、马氏距离等知识。

 

3、关联问题

   说起关联问题,可能要从“啤酒和尿布”说起了。有人说啤酒和尿布是沃尔玛超市的一个经典案例,也有人说,是为了宣传数据挖掘/数据仓库而编造出来的虚构的“托”。不管如何,“啤酒和尿布”给了我们一个启示:世界上的万事万物都有着千丝万缕的联系,我们要善于发现这种关联。

数据挖掘主要解决的四类问题



   关联分析要解决的主要问题是:

  • 一群用户购买了很多产品之后,哪些产品同时购买的几率比较高?
  • 买了A产品的同时买哪个产品的几率比较高?

   可能是由于最初关联分析主要是在超市应用比较广泛,所以又叫“购物篮分析”,英文简称为MBA,当然此MBA非彼MBA,意为Market Basket Analysis。

   如果在研究的问题中,一个用户购买的所有产品假定是同时一次性购买的,分析的重点就是所有用户购买的产品之间关联性;如果假定一个用户购买的产品的时间是不同的,而且分析时需要突出时间先后上的关联,如先买了什么,然后后买什么?那么这类问题称之为序列问题,它是关联问题的一种特殊情况。从某种意义上来说,序列问题也可以按照关联问题来操作。

   关联分析有三个非常重要的概念,那就是“三度”:支持度、可信度、提升度。假设有10000个人购买了产品,其中购买A产品的人是1000个,购买B产品的人是2000个,AB同时购买的人是800个。

  • 支持度:指的是关联的产品(假定A产品和B产品关联)同时购买的人数占总人数的比例,即800/10000=8%,有8%的用户同时购买了A和B两个产品;
  • 可信度:指的是在购买了一个产品之后购买另外一个产品的可能性,例如购买了A产品之后购买B产品的可信度=800/1000=80%,即80%的用户在购买了A产品之后会购买B产品;
  • 提升度:就是在购买A产品这个条件下购买B产品的可能性与没有这个条件下购买B产品的可能性之比,没有任何条件下购买B产品可能性=2000/10000=20%,那么提升度=80%/20%=4。

   如需了解细节,请查阅:关联规则、apriror算法中等相关知识。

 

4、预测问题

   此处说的预测问题指的是狭义的预测,并不包含前面阐述的分类问题,因为分类问题也属于预测。一般来说我们谈预测问题主要指预测变量的取值为连续数值型的情况。

数据挖掘主要解决的四类问题

   例如天气预报预测明天的气温、国家预测下一年度的GDP增长率、电信运营商预测下一年的收入、用户数等?

   预测问题的解决更多的是采用统计学的技术,例如回归分析和时间序列分析。回归分析是一种非常古典而且影响深远的统计方法,最早是由达尔文的表弟高尔顿在研究生物统计中提出来的方法,它的主要目的是研究目标变量与影响它的若干相关变量之间的关系,通过拟和类似Y=aX1+bX2+……的关系式来揭示变量之间的关系。通过这个关系式,在给定一组X1、X2……的取值之后就可以预测未知的Y值。

   相对来说,用于预测问题的回归分析在商业中的应用要远远少于在医学、心理学、自然科学中的应用。最主要的原因是后者是更偏向于自然科学的理论研究,需要有理论支持的实证分析,而在商业统计分析中,更多的使用描述性统计和报表去揭示过去发生了什么,或者是应用性更强的分类、聚类问题。

   如需了解细节,请查阅:一元线性回归分析、多元线性回归分析、最小二乘法等相关知识。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

数据分析也好,统计分析也好,数据挖掘也好、商业智能也好都需要在学习的时候掌握各种分析手段和技能,特别是要掌握分析软件工具!我曾经说过,沈老师的学习方法,一般是先学软件开始,再去应用,再学会理论和原理,因为是老师,再去教给别人!没有软件的方法就不去学了,因为学了也不能做,除非你自己会编程序

    那么在数据分析领域,都有哪些软件分析工具呢?如何选择呢?其实很多领域或者说分析方法都有相应的软件工具,只要你想找就应该能够找到!

工欲善其事,必先利其器鈥斒莘治鋈砑(转沈浩老师)



    这里我把软件分成纵横四个层次的的象限图来表达!

第一维度:数据存储层——>数据报表层——>数据分析层——>数据展现层

第二维度:用户级——>部门级——>企业级——>BI级

 

首先,存储层:

    我们必须能够存储数据,对个人来讲至少应该掌握一种数据库技术,当然也不一定要熟练操作,但至少要能够理解数据的存储和数据的基本结构和数据类型,比如数据的安全性、唯一性、冗余性,表的关系,粒度,容量等,最好能够理解SQL查询语言的基本结构和读取等等!

  • Access2003、Access07等:这是最基本的个人数据库,经常用于个人或部分基本的数据存储;
  • MySQL数据库,这个对于部门级或者互联网的数据库应用是必要的,这个时候关键掌握数据库的库结构和SQL语言的数据查询能力;
  • SQL Server 2005或更高版本,对中小企业,一些大型企业也可以采用SQL Server数据库,其实这个时候本身除了数据存储,也包括了数据报表和数据分析了,甚至数据挖掘工具都在其中了;
  • DB2,Oracle数据库都是大型数据库了,主要是企业级,特别是大型企业或者对数据海量存储需求的就是必须的了,一般大型数据库公司都提供非常好的数据整合应用平台;
  • BI级,实际上这个不是数据库,而是建立在前面数据库基础上的,这个主要是数据库的企业应用级了,一般这个时候的数据库都叫数据仓库了,Data Warehouse,建立在DW级上的数据存储基本上都是商业智能平台,或许整合了各种数据分析,报表、分析和展现!

第二:报表层
    当企业存储了数据后,首先要解决的报表,还不是分析问题,是要能够看到,看到报表,各种各样的报表!国内外有专门提供报表分析服务的企业和软件。

  • Crystal Report水晶报表,Bill报表,这都是全球最流行的报表工具,非常规范的报表设计思想,早期商业智能其实大部分人的理解就是报表系统,不借助IT技术人员就可以获取企业各种信息——报表。而且很多数据库内置的报表也是采用CR报表的开发版嵌入的!
  • Tableau软件,这个软件是近年来非常棒的一个软件,当然它已经不是单纯的数据报表软件了,而是更为可视化的数据分析软件,因为我经常用它来从数据库中进行报表和可视化分析,先暂列在报表层;

工欲善其事,必先利其器鈥斒莘治鋈砑(转沈浩老师)




    这个软件从3.0开始,现在已经有了5.1版本,两年的时间已经到了服务器和Web方式了!
    当然,如果企业有上万张报表,需要好好管理起来,还有安全性,并发请求等,就需要有Server版;
    博易智讯公司专门提供Crystal Report和Crystal Report Server版销售和软件服务;

第三:数据分析层
    这个层其实有很多分析工具,当然我们最常用的就是Excel,我经常用的就是统计分析和数据挖掘工具;

  • Excel软件,首先版本越高越好用这是肯定的;当然对Excel来讲很多人只是掌握了5%Excel功能,Excel功能非常强大,甚至可以完成所有的统计分析工作!但是我也常说,有能力把Excel玩成统计工具不如专门学会统计软件
  • SPSS软件:当前版本是18,名字也改成了PASW Statistics;我从3.0开始Dos环境下编程分析,到现在版本的变迁也可以看出SPSS社会科学统计软件包的变化,从重视医学、化学等开始越来越重视商业分析,现在已经成为了预测分析软件。
  • Clementine软件:当前版本13.0,数据挖掘工具,我从6.0开始用,到了13版,已经越来越多的提高了更多有好的建模工具,现在改名叫PASW Modeler 13建模器了。而且与SPSS统计功能有了更多的整合,数据处理也更加灵活和好用。
  • SAS软件:SAS相对SPSS其实功能更强大,SAS是平台化的,EM挖掘模块平台整合,相对来讲,SAS比较难学些,但如果掌握了SAS会更有价值,比如离散选择模型,抽样问题,正交实验设计等还是SAS比较好用,另外,SAS的学习材料比较多,也公开,会有收获的!

工欲善其事,必先利其器鈥斒莘治鋈砑(转沈浩老师)



当然,我主要是采用SPSS和Clementine,有时候就是习惯,当然会了一种软件在学其他的也不是很困难!

  • JMP分析:SAS的一个分析分支
  • XLstat:Excel的插件,可以完成大部分SPSS统计分析功能
  • Ucinet社会网分析软件:SNA社会网络分析是非常流行和有价值的分析工具和方法,特别是从关系角度进行分析社会网络,关系分析非常重要,过去我们都是属性数据分析

第四:表现层
    最近我一直在研究数据可视化技术,一方面是因为Excel大家有需求,另一方面就是我第一个购买了Xcelsius,也写了《Excel高级应用与数据分析》和《数据展现的艺术——Xcelsius》。这个领域的软件,特别是一些小工具非常有价值!

  • PowerPoint软件:这个没得说了,大部分人都是用PPT写报告;
  • Visio、SmartDraw软件:这些都是非常好用的流程图、营销图表、地图等,而且从这里可以得到很多零件;
  • Swiff Chart软件:制作图表的软件,生成的是Flash;
  • Color Wheel软件:配色软件
  • Yed软件:网络关系图、流程图和图形分析软件,类似SNA分析,我经常用来设计流程图,还有就是分析优化关系图;
  • Netdraw软件:这是社会网络分析展现软件,主要是可视化网络关系图的,读取Ucinet软件;
  • Mindmanager软件:思维导图,非常好的软件,可以把非线性思维很快构建起来,并且项目组织管理、报告设计构想都可以应用,直接生成PPT等,当然这个软件功能非常强大,我的学生都用它来做笔记和会议记录;
  • Xcelsius软件:Dashboard制作和数据可视化报表工具,可以直接读取数据库,在Excel里建模,互联网展现,最大特色还是可以在PPT中实现动态报表;这个是我最希望应用的一个软件工具,非常有价值!

工欲善其事,必先利其器鈥斒莘治鋈砑(转沈浩老师)



    最后,需要说明的是,我这样的分层分类并不是区分软件,只是想说明软件的应用,其实每个层次的软件都是相互融合的,追求:平台化,整合化,智能化,可视化,专业化,都是各有特色;价格也不同,有免费的,有上百万的;有单机版的,有服务器版的;有正版的,有盗版的!
    有时候我们把数据库就用来进行报表分析,有时候报表就是分析,有时候分析就是展现;当然有时候展现就是分析,分析也是报表,报表就是数据存储了!
    没有最好,只有更好,适合你的就是最好的!


其实还有很多数据分析软件:
  • AMOS软件:结构方程式模型SEM,实证研究和理论模型的重要分析工具,从事学术研究的人,特别是社会科学工作者应该掌握;
  • Lisrel软件:结构方程式模型SEM,同上!
  • HLM软件:分层线性模型

 

 

 

很多朋友问沈老师,我是学统计分析的,为什么我还是不知道如何应用呢?

问题:沈浩老师,我有些问题想跟您请教一下,我现在从事的工作是互联网行业数据分析工作,我以前学的专业是统计学,但是工作中有很多多元统计方法并没有应用,虽然学了很多方法,但是在实际中还是有点不知道如何运用?我应该从哪些方面着手?请指教!谢谢!

    相信,这个朋友的问题带有普遍性,其实我在前面的文章中或多或少的解释了数据分析的学习方法,但是可能还是有些建议可以给朋友们,当然,我一直强调每个人都有自己的学习路径,适合自己的才是最好的。

    我经常这么说:学数学的不一定会统计分析,学统计的不一定就会数据分析!   

    为什么这么说呢?因为社会科学!特别是企业经营分析、市场研究等领域都属于社会科学。我们在大学学的数学或统计都是基础,也更多的都是理想数据分析,处理的变量大部分都是数量型的,高测量等级的变量,但是经营分析和市场研究大部分处理的都是非数量型变量,例如都是品牌、行业、地区、偏好、态度、价值观等!

    对于社会科学研究,研究者必须在看到数据的时候,要看到数据后面的人,后面的消费者,后面的领导!

    上面这张分析人员知识结构图较好的诠释我对从事经营分析、市场研究和统计分析人员的知识框架的理解,企业需要的复合型人才,虽然一个人不可能全部掌握,那就需要你有好的协助能力和团队精神,要有沟通技巧!

    当然,对大部分人来讲,这些不是短期就可以积累的,需要不断的学习积累,要具有快速学习的能力。对已经工作的人来讲,实践是最好的老师,互联网是最好的学习资源;

    最后,成为一名自信的高级数据分析人员,至少要2-3年的磨练!

 

 

 

 

沈浩老师:

您好!不知道您还记得我不,我是电信的一名新入职员工,在过年前给您写过一封E-mail.我期望自己能够在企业内从事跟数据挖掘的工作,期望通过数据挖掘这个工具来挖掘用户深层次的需求和研究用户的使用习惯及消费特点。
    我在网上查阅过一些从事数据挖掘的专家的博客,有人提到如果在企业内从事数据挖掘方面的应用工作,需要掌握相关的数理统计知识,懂得使用相关软件就可以了,请问是这样的吗?还需要掌握数据仓库和程序算法方面的知识吗?因为我从本科到研究生都是学习管理方向的,数学方面的基础相对薄弱,因此想请您指教一下。
    另外,如果我要入门,从哪个方面入手比较好呢?有什么合适的参考书吗?请你不吝赐教。
    想必您平时的工作很忙,因此对这么唐突的给您写邮件请教而占用您的时间和精力表示歉意。期待您的回复!祝您工作顺利,身体健康!

沈浩的回答:
    抱歉,事情太多,如果不追着就忘了!我认为你作为企业员工对数据挖掘感兴趣,最主要的就是从应用和解决问题开始,所以我想把数据挖掘这个狭义定义的内容改成你应该对数据分析感兴趣,数据挖掘只是数据分析的一个重要工具和解决方法之一!
  • 数量统计知识方面:我认为统计思想是数学在实践中最重要的体现,但对于实际工作者最重要的是掌握统计思想,其实统计理论非常复杂,但实际应用往往是比较简单的!比如,很多人都在大学学了假设检验,但实际应用中假设就是看P值是否小于0.05,但是H0是什么?拒绝还是接受的是什么现实问题;要理解!
  • 掌握软件问题:从软件角度学,是非常好的思路,我基本上就是这样学的。我常说编软件的人最懂理论,否则编不出来,编软件的人最知道应用,否则软件买不出去;现在软件越来越友好,把软件自带案例做一遍,你会自觉不自觉的掌握软件解决问题的思路和能解决的问题类型;
  • 数据仓库问题:OLAP和数据挖掘是数据仓库建立基础上的两个增值应用,从企业整体角度,数据挖掘应该建立在企业数据仓库完备的基础上。所以说数据仓库是针对企业级数据挖掘应用提出的,但我们应该记住,企业从来不是为了数据挖掘建立数据仓库,而是因为有了数据仓库后必然会提出数据挖掘的需求!现在随着数据挖掘软件的工具智能化,以及数据仓库和ETL工具的接口友好,对数据库层面的要求越来越少;
  • 数学不好可能反应了一个人思考问题的方式或深入理解问题的能力,但数学不是工具是脑具,不断解决问题的过程可以让我们思考问题更数学化!
沈浩老师建议:
  1. 不急,一步一步来!先把本职工作中的数据分析问题理解了,干好了!
  2. 熟练玩好Excel软件工具,这个可以看《Excel高级应用与数据分析》我写的书,当然有很多Excel论坛和网站,从我的博客就可以连接到。
  3. 学习好统计分析方法,我不是单指统计原理,而是统计分析方法,比如回归分析,因子分析等,不断进入统计分析解决问题的思考方式;这个可以看看SPSS软件方面的书和数据案例,通过软件学习解决数据分析的统计问题,这方面的书很多,当然你也可以关注我的博客,不断增加统计分析方法解决数据分析问题的思路,自己对照着完成!
  4. 在上述问题有了比较好的理解后,也就是你应该算是一个数据分析能手的时候,开始进入数据挖掘领域,你会发现用数据挖掘思想解决问题具有智能化、自动化的优势,接下来,你需要考虑数据建模的过程,通过学习Clementine软件或SAS的挖掘工具,不断理解数据挖掘与原来的数据分析工具有什么不同或优势!
  5. 当前面都是了解并且能够得心应手后,你就要有针对性的掌握你工作所在行业的问题,例如:电信行业的解决方案问题:客户流失、客户价值、客户离网、客户保持、客户响应、客户交叉销售等商业模型,同时与数据分析和数据挖掘统一在一起的解决方案!
  6. 接下来,你应该掌握数据库的一些原理和操作,特别是SQL语言的方式
  7. 你到了这个阶段,就应该有全面解决问题的能力,比如挖掘出来的知识或商业规则如何推送到营销平台上等等
  8. 梳理自己的知识结构,不仅会操作,现在你应该成为专家了,要能够宣扬你的知识能力和领导力,当然也要表明你在数据挖掘领域的专业特长
  9. 要经常帮助同事和行业朋友,比如帮助解决数据分析问题,帮助咨询,甚至给大家讲课,这对你的知识梳理和能力的提高非常重要,你的自信心会更强!
  10. 有兴趣,可以建立一个博客或什么,不断写点东西,经常思考和总结
  11. 结交广泛的朋友!
关于入门的教材:
  • 互联网,其实不用买什么书网络基本都有;要有好的搜索能力,当然包括搜各种软件!
  • SPSS和Clementine软件的说明和案例,都做一遍;
  • 《数据挖掘——客户关系管理的艺术》不错,当当网上查一下
  • 《调查研究中的统计分析法》——我和柯老师写的,当当网也有
  • 《Excel高级应用与数据分析》——我写的
  • 《数据展现的艺术》——我和博易智讯合作

 

 

 

 

 

 

 

 

 

数据挖掘最重要的要素是分析人员的相关业务知识和思维模式。丰富的业务知识是设计有效的相关变量的必要条件,而分析人员的思维模式从另外一个方面也保障了设计变量的结构化和完整性。所以我们在掌握丰富的业务知识同时,如果能够按照正确的思维模式去思考问题,将会发现解决问题并不是很困难的。

[转载]数据挖掘主要解决的四类问题



 

   一般来说,数据挖掘主要侧重解决四类问题:分类、聚类、关联、预测。数据挖掘非常清晰的界定了它所能解决的几类问题。这是一个高度的归纳,数据挖掘的应用就是把这几类问题演绎的一个过程。下面让我们来看看它所解决的四类问题是如何界定的:

 

1、分类问题

   分类问题属于预测性的问题,但是它跟普通预测问题的区别在于其预测的结果是类别(如A、B、C三类)而不是一个具体的数值(如55、65、75……)。


[转载]数据挖掘主要解决的四类问题


   举个例子,你和朋友在路上走着,迎面走来一个人,你对朋友说:我猜这个人是个上海人,那么这个问题就属于分类问题;如果你对朋友说:我猜这个人的年龄在30岁左右,那么这个问题就属于后面要说到的预测问题。

   商业案例中,分类问题可谓是最多的:

  • 给你一个客户的相关信息,预测一下他未来一段时间是否会离网?
  • 信用度是好/一般/差?是否会使用你的某个产品?
  • 将来会成为你的高/中/低价值的客户?
  • 是否会响应你的某个促销活动?
  • ……

   有一种很特殊的分类问题,那就是“二分”问题,显而易见,“二分”问题意味着预测的分类结果只有两个类:如是/否;好/坏;高/低……;这类问题也称为0/1问题。之所以说它很特殊,主要是因为解决这类问题时,我们只需关注预测属于其中一类的概率即可,因为两个类的概率可以互相推导。如预测X=1的概率为P(X=1),那么X=0的概率P(X=0)=1-P(X=1),这一点是非常重要的。

   可能很多人已经在关心数据挖掘方法是怎么预测P(X=1)这个问题的了,其实并不难。解决这类问题的一个大前提就是通过历史数据的收集,已经明确知道了某些用户的分类结果。

   例如已经收集到了10000个用户的分类结果,其中7000个是属于“1”这类;3000个属于“0”这类。伴随着收集到分类结果的同时,还收集了这10000个用户的若干特征(指标、变量)。这样的数据集一般在数据挖掘中被称为训练集,顾名思义,分类预测的规则就是通过这个数据集训练出来的。

   训练的思路大概是这样的:对所有已经收集到的特征/变量分别进行分析,寻找与目标0/1变量相关的特征/变量,然后归纳出P(X=1)与筛选出来的相关特征/变量之间的关系(不同方法归纳出来的关系的表达方式是各不相同的,如回归的方法是通过函数关系式,决策树方法是通过规则集)。

   如需了解细节,请查阅:决策树、Logistic回归、判别分析、神经网络、Chi-square、Gini、……等相关知识。

 

2、聚类问题

   聚类问题不属于预测性的问题,它主要解决的是把一群对象划分成若干个组的问题。划分的依据是聚类问题的核心。所谓“物以类聚,人以群分”,故得名聚类。

[转载]数据挖掘主要解决的四类问题



   聚类问题容易与分类问题混淆,主要是语言表达的原因,因为我们常说这样的话:“根据客户的消费行为,我们把客户分成三个类,第一个类的主要特征是……”,实际上这是一个聚类问题,但是在表达上容易让我们误解为这是个分类问题。

   分类问题与聚类问题是有本质区别的:分类问题是预测一个未知类别的用户属于哪个类别(相当于做单选题),而聚类问题是根据选定的指标,对一群用户进行划分(相当于做开放式的论述题),它不属于预测问题。

   聚类问题在商业案例中也是一个非常常见的,例如需要选择若干个指标(如价值、成本、使用的产品等)对已有的用户群进行划分:特征相似的用户聚为一类,特征不同的用户分属于不同的类。

   聚类的方法层出不穷,基于用户间彼此距离的长短来对用户进行聚类划分的方法依然是当前最流行的方法。大致的思路是这样的:

  • 首先确定选择哪些指标对用户进行聚类;
  • 然后在选择的指标上计算用户彼此间的距离,距离的计算公式很多,最常用的就是直线距离(把选择的指标当作维度、用户在每个指标下都有相应的取值,可以看作多维空间中的一个点,用户彼此间的距离就可理解为两者之间的直线距离);
  • 最后聚类方法把彼此距离比较短的用户聚为一类,类与类之间的距离相对比较长。

   如需了解细节,请查阅:聚类分析、系统聚类、K-means聚类、欧氏距离、马氏距离等知识。

 

3、关联问题

   说起关联问题,可能要从“啤酒和尿布”说起了。有人说啤酒和尿布是沃尔玛超市的一个经典案例,也有人说,是为了宣传数据挖掘/数据仓库而编造出来的虚构的“托”。不管如何,“啤酒和尿布”给了我们一个启示:世界上的万事万物都有着千丝万缕的联系,我们要善于发现这种关联。

[转载]数据挖掘主要解决的四类问题



   关联分析要解决的主要问题是:

  • 一群用户购买了很多产品之后,哪些产品同时购买的几率比较高?
  • 买了A产品的同时买哪个产品的几率比较高?

   可能是由于最初关联分析主要是在超市应用比较广泛,所以又叫“购物篮分析”,英文简称为MBA,当然此MBA非彼MBA,意为Market Basket Analysis。

   如果在研究的问题中,一个用户购买的所有产品假定是同时一次性购买的,分析的重点就是所有用户购买的产品之间关联性;如果假定一个用户购买的产品的时间是不同的,而且分析时需要突出时间先后上的关联,如先买了什么,然后后买什么?那么这类问题称之为序列问题,它是关联问题的一种特殊情况。从某种意义上来说,序列问题也可以按照关联问题来操作。

   关联分析有三个非常重要的概念,那就是“三度”:支持度、可信度、提升度。假设有10000个人购买了产品,其中购买A产品的人是1000个,购买B产品的人是2000个,AB同时购买的人是800个。

  • 支持度:指的是关联的产品(假定A产品和B产品关联)同时购买的人数占总人数的比例,即800/10000=8%,有8%的用户同时购买了A和B两个产品;
  • 可信度:指的是在购买了一个产品之后购买另外一个产品的可能性,例如购买了A产品之后购买B产品的可信度=800/1000=80%,即80%的用户在购买了A产品之后会购买B产品;
  • 提升度:就是在购买A产品这个条件下购买B产品的可能性与没有这个条件下购买B产品的可能性之比,没有任何条件下购买B产品可能性=2000/10000=20%,那么提升度=80%/20%=4。

   如需了解细节,请查阅:关联规则、apriror算法中等相关知识。

 

4、预测问题

   此处说的预测问题指的是狭义的预测,并不包含前面阐述的分类问题,因为分类问题也属于预测。一般来说我们谈预测问题主要指预测变量的取值为连续数值型的情况。

[转载]数据挖掘主要解决的四类问题

   例如天气预报预测明天的气温、国家预测下一年度的GDP增长率、电信运营商预测下一年的收入、用户数等?

   预测问题的解决更多的是采用统计学的技术,例如回归分析和时间序列分析。回归分析是一种非常古典而且影响深远的统计方法,最早是由达尔文的表弟高尔顿在研究生物统计中提出来的方法,它的主要目的是研究目标变量与影响它的若干相关变量之间的关系,通过拟和类似Y=aX1+bX2+……的关系式来揭示变量之间的关系。通过这个关系式,在给定一组X1、X2……的取值之后就可以预测未知的Y值。

   相对来说,用于预测问题的回归分析在商业中的应用要远远少于在医学、心理学、自然科学中的应用。最主要的原因是后者是更偏向于自然科学的理论研究,需要有理论支持的实证分析,而在商业统计分析中,更多的使用描述性统计和报表去揭示过去发生了什么,或者是应用性更强的分类、聚类问题。

   如需了解细节,请查阅:一元线性回归分析、多元线性回归分析、最小二乘法等相关知识。

相关文章推荐

数据挖掘中易犯的几大错误

数据挖掘中易犯的几大错误(转) 文章转自 丕子 原文来自:http://database.ctocio.com.cn/200/12153200.shtml ===...

\t\t数据挖掘中易犯的10大错误

原文标题为“Top 10 Data Mining Mistakes”,作者是John F. Elder IV, Ph.D.编译:IDMer(数据挖掘者)http://www.salford-syste...

数据挖掘十大易犯错误

  • 2012年03月30日 10:31
  • 27KB
  • 下载

数据分析与数据挖掘类的职位必备技能

 大数据催生数据分析师 薪酬比同等级职位高20% 随着大数据在国内的发展,大数据相关人才却出现了供不应求的状况,大数据分析师更是被媒体称为“未来最具发展潜力的职业之一”。大数据分析师是...

数据分析技能提升十大建议

  • 2016年01月01日 17:09
  • 1022KB
  • 下载

大数据分析- 基于Hadoop/Mahout的大数据挖掘

随着互联网、移动互联网和物联网的发展,我们已经切实地迎来了一个大数据的时代。大数据是指无法在一定时间内用常规软件工具对其内容进行抓取、管理和处理的数据集合,对大数据的分析已经成为一个非常重要且紧迫的需...

数据挖掘10大错误-纯英文教程

  • 2010年01月13日 09:54
  • 4.19MB
  • 下载

kaggle数据挖掘竞赛初步--Titanic<原始数据分析&缺失值处理>

Titanic是kaggle上的一道just for fun的题,没有奖金,但是数据整洁,拿来练手最好不过啦。 这道题给的数据是泰坦尼克号上的乘客的信息,预测乘客是否幸存。这是个二元分类的机器学习问...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数据挖掘易犯的11大错误与数据分析技能
举报原因:
原因补充:

(最多只允许输入30个字)