浅谈数据分析师所进行的数据分析和数据建模
以下是数据分析师浅谈数据分析和数据建模的相关内容,数据分析是一项实践性很强的工作,涉及到很多交叉学科,需要不同的岗位和角色,来实现不同的性质的工作。
一 、数据分析师中的角色和职责
数据分析团队师应该在科技部门内部还在业务部门内部一直存在争议。在业务部门内部,对数据场景比较了解,容易找到数据变现的场景,数据分析师对业务提升帮助较大,容易出成绩。但是弊端是仅仅对自己部门的业务数据了解,分析只是局限独立的业务单元之内,在数据获取的效率上,数据维度和数据视角方面缺乏全局观,数据的商业视野不大,对公司整体业务的推动发展有限。业务部门的数据分析团队缺少数据技术能力,无法利用最新的大数据计算和分析技术,来实现数据分析和建模。数据分析和计算依赖于科技部门,效率较低,无法打通各个环节和实现效率和收益最优。
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个,称他们为强相关变量(聪明变量)。可以利用变量过滤器的方法来选择变量。
一般IV值大于0.3代表变量的预测力较强,可以采用。
三 、数据分析过程
1. 向业务部门进行调研,了解业务需要解决的问题,将业务问题映射成数据分析工作和任务。
2.调研企业内外部数据,找到分析需要的数据,将数据汇聚到一个特定的区域,数据集市或数据仓库,探索性分析
3.数据清洗,包括检查数据的一致性,处理异常值和缺失值,删除重复数据等
4.数据转换,例如数据分箱(Binning),将字符型变量转化为数字型变量,按照数据所需维度进行汇总
5.建立模型,按照业务需求建立不同模型(例如客户流失预警、欺诈检测、购物篮分析、营销响应等)
6.模型结果解释和评估,业务专家进行业务解释和结果评价
四 、大数据分析场景和模型应用
数据分析建模需要先明确业务需求,然后选择是描述型分析还是预测型分析。如果分析的目的是描述客户行为模式,就采用描述型数据分析,描述型分析就考虑关联规则、序列规则、聚类等模型。
预测型数据分析就是量化未来一段时间内,某个事件的发生概率。有两大预测分析模型,分类预测和回归预测。常见的分类预测模型中,目标变量通常都是二元分类变量例如欺诈与否,流失与否,信用好坏等。回归预测模型中,目标变量通常都是连续型变量,常见的有股票价格预测、违约损失率预测(LGD)等。
生存分析聚焦于将事件的结果和出现这一结果所经历的时间进行分析,源于医疗领域,研究患者治疗后的存活时间。生存分析可也可以用于预测客户流失时间,客户下次购买时间,客户违约时间,客户提前偿还贷款时间,客户下次访问网站时间等。
常见的数据分析应用场景如下:
1 .市场营销
营销响应分析建模(逻辑回归,决策树)
净提升度分析建模(关联规则)
客户保有分析建模(卡普兰梅尔分析,神经网络)
购物蓝分析(关联分析Apriori)
自动推荐系统(协同过滤推荐,基于内容推荐,基于人口统计推荐,基于知识推荐,组合推荐,关联规则)
客户细分(聚类)
流失预测(逻辑回归)
2 .风险管理
客户信用风险评分(SVM,决策树,神经网络)
市场风险评分建模(逻辑回归和决策树)
运营风险评分建模(SVM)
欺诈检测(决策树,聚类,社交网络)