浅谈数据分析和数据建模
大数据应用有几个方面,一个是效率提升,帮助企业提升数据处理效率,降低数据存储成本。另外一个是对业务作出指导,例如精准营销,反欺诈,风险管理以及业务提升。过去企业都是通过线下渠道接触客户,客户数据不全,只能利用财务数据进行业务运营分析,缺少围绕客户的个人数据,数据分析应用的领域集中在企业内部经营和财务分析。
数字时代到来之后,企业经营的各个阶段都可以被记录下来,产品销售的各个环节也被记录下来,客户的消费行为和网上行为都被采集下来。企业拥有了多维度的数据,包括产品销售数据、客户消费数据、客户行为数据、企业运营数据等。拥有数据之后,数据分析成为可能,企业成立了数据分析团队整理数据和建立模型,找到商品和客户之间的关联关系,商品之间关联关系,另外也找到了收入和客户之间的关联关系。典型的数据分析案例如沃尔玛啤酒和尿布、蛋挞和手电筒,Target的判断16岁少女怀孕都是这种关联关系的体现。
关联分析是统计学应用最早的领域,早在1846年伦敦第二次霍乱期间,约翰医生利用霍乱地图找到了霍乱的传播途径,平息了伦敦霍乱,打败了霍乱源于空气污染说的精英,拯救了几万人的生命。伦敦霍乱平息过程中,约翰医生利用了频数分布分析,建立了霍乱地图,从死亡案例分布的密集程度上归纳出病人分布同水井的关系,从而推断出污染的水源是霍乱的主要传播途径,建议移除水井手柄,降低了霍乱发生的概率。
另外一个典型案例是第二次世界大战期间,统计分析学家改造轰炸机。英美联盟从1943年开始对德国的工业城市进行轰炸,但在1943年年底,轰炸机的损失率达到了英美联盟不能承受的程度。轰炸军司令部请来了统计学家,希望利用数据分析来改造轰炸机的结构,降低阵亡率,提高士兵生还率。统计学家利用大尺寸的飞机模型,详细记录了返航轰炸机的损伤情况。统计学家在飞机模型上将轰炸机受到攻击的部位用黑笔标注出来,两个月后,这些标注布满了机身,有的地方标注明显多于其他地方,例如机身和侧翼。有的地方的标注明显少于其他地方,例如驾驶室和发动机。统计学家让军火商来看这个模型,军火商认为应该加固受到更多攻击的地方,但是统计学家建议对标注少的地方进行加固,标注少的原因不是这些地方不容易被击中,而是被击中的这些地方的飞机,很多都没有返航。这些标注少的地方被击中是飞机坠毁的一个主要原因。军火商按照统计学家的建议进行了飞机加固,大大提高了轰炸机返航的比率。以二战著名的B-17轰炸机为例,其阵亡率由26%降到了7%,帮助美军节约了几亿美金,大大提高了士兵的生还率。
一数据分析中的角色和职责
数据分析团队应该在科技部门内部还在业务部门内部一直存在争议。在业务部门内部,对数据场景比较了解,容易找到数据变现的场景,数据分析对业务提升帮助较大,容易出成绩。但是弊端是仅仅对自己部门的业务数据了解,分析只是局限独立的业务单元之内,在数据获取的效率上,数据维度和数据视角方面缺乏全局观,数据的商业视野不大,对公司整体业务的推动发展有限。业务部门的数据分析团队缺少数据技术能力,无法利用最新的大数据计算和分析技术,来实现数据分析和建模。数据分析和计算依赖于科技部门,效率较低,无法打通各个环节和实现效率和收益最优。
数据分析和挖掘部门位于科技部门,优点是直接可以了解所有数据,利用最新的大数据计算分析技术来进行数据分析和建模,数据视野好。面对全局数据建立数据采集和分析系统,系统复用程度高,降低重复投资,效率高。但是团队人员商业敏感度低,过度关注技术和架构,重视技术的领先和处理效率,数据商业敏感度低,不重视数据商业化场景,对业务理解程度不够,支持力度不如前者。科技部门愿意搭建一个大数据平台,让业务部门自己去寻数据场景,业务部门在数据商业化过程中也会遇到环节不畅通,效率低下的问题。
数据分析团队应该属于独立的部门,为所有的业务部门提供服务,具有独立的技术团队,可以搭建独立的大数据计算和分析平台,利用最新的数据处理技术来建立模型进行分析。另外数据分析团队的人应来源于业务部门,具有高度的数据商业敏感度,可以将业务部门的需求分解为数据需求,将业务场景同数据场景以及数据分析相结合起来。
数据分析是一项实践性很强的工作,涉及到很多交叉学科,需要不同的岗位和角色,来实现不同的性质的工作。基本的岗位和角色如下
1 数据库(仓库)管理员DBA
DBA最了解企业内部的数据和可用的数据资源,包括数据的存储细节和数据字典,另外其对数据的采集、清洗和转化起到关键作用。
DBA为数据科学家和数据分析师提供加工好的原始数据,这些数据是数据分析和建模的基础,DBA做了数据分析工作中最重要的基础工作,完成了大量的脏活和累活。
2 业务专家
业务专家的优势是数据的商业敏感度,了解业务需求,可以将业务需求转化为数据需求,进一步找到数据应用场景。另外业务专家也可以通过对数据的分析,找到新的商业机会,同业务部门一起制定商业计划,利用数据分析推动业务增长。
业务专家的经验对于数据分析和建模是非常关键的,他们可能是风险管理人员、欺诈监测专家、投资专家等。数据建模来源于业务经验和业务知识,正是业务专家的专业分析找到了业务规律,从而找到了建模方向,并对建模工作给出建议和解释。
3 数据科学家
过去统计分析依赖于统计分析工具,大数据时代之后,数据量级的提升和数据类型的复杂程度,让很多传统的统计分析工具无法完成分析计算。这个时候,数据科学家出现了,他们可以利用自己的专业技能帮助业务专家和数据分析人员进行建模和计算。
过去数据统计分析建模常用SPSS,SAS,MATLAB等工具,现在基于大数据平台的分析建模可以使用Spark+Scala/Python/R/Java。数据科学家了解模型和算法,可以直接承担建模和调优工作,懂得选择合适的算法来进行计算,提高效率。
4数据分析师
数据分析师站在数据和商业的角度来解读数据,利用图标和曲线等方式向管理层和业务人员展现分析结果,揭示数据分析产生的商业机会和挑战。
数据分析师将杂乱的数据进行整理后,将数据以不同的形式展现给产品经理、运营人员、营销人员、财务人员、业务人员等。提出基于数据的结果和分析建议,完成数据从原始到商业化应用到关键一步,数据分析师的数据敏感度、商业敏感度、分析角度、表达方式对于商业决策很重要。
5 运营专家
数据分析结果和商业决策出来之后,运营专家负责实现商业决策。通过有计划的运营活动,将数据分析的结果应用到实际的商业活动之中,运营专家是实现数据变现最后一公里的关键人物。
运营专家属于业务人员,实际上参与业务运营活动,利用数据分析结果,实现业务场景和数据场景的结合,实现数据商业化应用。
二数据分析之前的各项准备工作
数据分析团队各成员确定之后,将进行下一项工作,就是找到有价值的数据进行分析了。数据是分析的基础,因此数据的质量、数据的相关度、数据的维度等会影响数据分析的结果影,其中GIGO(垃圾进垃圾出)对于数据分析结果影响最大。
1 数据源选择
数据分析团队面对大量的数据源,各个数据源之间交叉联系,各个数据域之间具有逻辑关系,各个产品统计口径不同,不同的时间段数值不同等。这一系列问题多会影响数据分析结果,因此确定数据源选择和数据整理至关重要。
DBA可以基于数据分析需要,找到相关数据,建立一张数据宽表,将数据仓库的数据引入到这张宽表当中,基于一定的逻辑关系进行汇总计算。这张宽表作为数据分析的基础,然后再依据数据分析需要衍生出一些不同的表单,为数据分析提供干净全面的数据源。宽表一方面是用于集中相关分析数据,一方面是提高效率,不需要每次分析时都查询其他的数据表,影响数据仓库效率。
2 数据抽样选择
简单的数据分析可以调用全体数据进行分析,数据抽样主要用于建模分析,抽样需考虑样本具有代表性,覆盖各种客户类型,抽样的时间也很重要,越近的时间窗口越有利于分析和预测。在进行分层抽样时,需要保证分成出来的样本比例同原始数据基本一致。
3 数据类型选择
数据类型分为连续型和离散型,建模分析时需要确定数据类型。进行业务收入趋势分析、销售额预测分析、RFM分析时,一般采用连续型变量。信用评级、分类预测时一般采用离散变量。
4 缺失值处理
数据分析过程中会面对很多缺失值,其产生原因不同,有的是由于隐私的原因,故意隐去。有的是变量本身就没有数值,有的是数据合并时不当操作产生的数据缺失。
缺失值处理可以采用替代法(估值法),利用已知经验值代替缺失值,维持缺失值不变和删除缺失值等方法。具体方法将参考变量和自变量的关系以及样本量的多少来决定。
5 异常值检测和处理
异常值对于某些数据分析结果影响很大,例如聚类分析、线性回归(逻辑回归)。但是对决策树、神经网络、SVM支持向量机影响较小。
一般异常值是指明显偏离观测值的平均值,例如年龄为200岁,平均收入为10万元时,有个异常值为300万元。第一个异常值为无效异常值,需要删掉,但是第二个异常值可能属于有效异常值,可以根据经验来决定是否保留或删掉。
6 数据标准化
数据标准化的目的是将不同性质、不同量级的数据进行指数化处理,调整到可以类比的范围。例如在建立逻辑回归模型时,性别的取值是0或以,但是收入取值可能就是0-100万,跨度较大,需要进行标准化。
一般可以采用最佳/最大标准化(Min-Max 标准化法)将数值定在0和1之间,便于计算。Z分数法和小数定标标准化法也可以采用。
7 数据粗分类(Categorization)处理
归类和分类的目的是减少样本的变量,常有的方法由等间距分类,等频数分类。可以依据经验将自变量分成几类,分类的方法可以不同,建议采用卡方检验来决定采用哪种分类方法。连续型变量可以用WOE变化方法来简化模型,但降低了模型的可解释性。
8 变量选择
数据分析过程中会面对成百上千的变量,一般情况下只有少数变量同目标变量有关,有助于提高预测精度。通常建模分析时,有意义的变量不会超过10-15个,称他们为强相关变量(聪明变量)。可以利用变量过滤器的方法来选择变量。常见的变量过滤器应用场景如下。
| 连续型目标变量(CLV,LGD)
| 离散型目标变量/分类变量 (欺诈否/响应否/信用评分/流失否) |
连续型变量 | 皮尔森系数 | 费西尔数 |
离散型变量 | 费希尔分数/方差分析ANOVA | 信息差/IV 克雷姆值 提升值/熵值 |
一般IV值大于0.3代表变量的预测力较强,可以采用。
三数据分析过程
1 向业务部门进行调研,了解业务需要解决的问题,将业务问题映射成数据分析工作和任务
2 调研企业内外部数据,找到分析需要的数据,将数据汇聚到一个特定的区域,数据集市或数据仓库,探索性分析
3 数据清洗,包括检查数据的一致性,处理异常值和缺失值,删除重复数据等
4 数据转换,例如数据分箱(Binning),将字符型变量转化为数字型变量,按照数据所需维度进行汇总
5 建立模型,按照业务需求建立不同模型(例如客户流失预警、欺诈检测、购物篮分析、营销响应等)
6 模型结果解释和评估,业务专家进行业务解释和结果评价
四大数据分析场景和模型应用
数据分析建模需要先明确业务需求,然后选择是描述型分析还是预测型分析。如果分析的目的是描述客户行为模式,就采用描述型数据分析,描述型分析就考虑关联规则、序列规则、聚类等模型。
预测型数据分析就是量化未来一段时间内,某个事件的发生概率。有两大预测分析模型,分类预测和回归预测。常见的分类预测模型中,目标变量通常都是二元分类变量例如欺诈与否,流失与否,信用好坏等。回归预测模型中,目标变量通常都是连续型变量,常见的有股票价格预测、违约损失率预测(LGD)等。
生存分析聚焦于将事件的结果和出现这一结果所经历的时间进行分析,源于医疗领域,研究患者治疗后的存活时间。生存分析可也可以用于预测客户流失时间,客户下次购买时间,客户违约时间,客户提前偿还贷款时间,客户下次访问网站时间等。
常见的数据分析应用场景如下
1市场营销
-
营销响应分析建模(逻辑回归,决策树)
-
净提升度分析建模(关联规则)
-
客户保有分析建模(卡普兰梅尔分析,神经网络)
-
购物蓝分析(关联分析Apriori)
-
自动推荐系统(协同过滤推荐,基于内容推荐,基于人口统计推荐,基于知识推荐,组合推荐,关联规则)
-
客户细分(聚类)
-
流失预测(逻辑回归)
2风险管理
-
客户信用风险评分(SVM,决策树,神经网络)
-
市场风险评分建模(逻辑回归和决策树)
-
运营风险评分建模(SVM)
-
欺诈检测(决策树,聚类,社交网络)
五 数据模型评价的方法
1 AUC值判别法
应用模型 | 特征值属性个数 | AUC值范围 |
信用风险评分 | 10-15 | 70%-85% |
行为风险评分 | 10-15 | 80%-90% |
流失预警(电信) | 6-10 | 70%-90% |
欺诈侦测(保险) | 10-15 | 70%-90% |
AUC小于0.7识别能力很弱
AUC在0.7-0.8之间识别能力可接受
AUC在0.8-0.9 之间识别能力卓越
AUC大于0.9 模型出现意外
2 KS 判别法
KS值大于0.2就表示具有较好的可预测性
本文大部分内容来源于 Bart Baesens 所著《Analysis in a Big Data World:The Essential Guide to DataScience and its Applications》。中文书名为《大数据分析数据科学应用场景与实践精髓》柯晓燕张纪元翻译
作者大侠看客,TalkingData首席布道师,十多年金融行业工作经验,熟悉金融行业务系统和技术解决方案。对互联网金融、数字银行、大数据技术产品、互联网商业模式、数据应用场景、数据商业思维、大数据风控、数据分析和挖掘,数据在金融、地产、零售、航空、酒店等领域的应用拥有专业观点和洞察力。