目录
前言
运用人工智能技术,可以使人类社会变得更美好。人们总是期待产品更适合、服务更贴心、生活更便利。在实践中,技术给企业赋能,企业通过优质的产品和服务满足社会,提升人类福祉。很多金融企业已经开始尝试向潜在客户推送更加精准的产品信息,通过智能投顾及产品交叉销售挖掘来满足客户多样化的潜在需求,开发各种人工智能助手协助客户获得更便利的服务体验。高德纳(Gartner)公司提出了客户体验的金字塔模型,如图1所示,根据客户是否需要、客户是否知道、产品服务触达情况细分了六个层次。我相信,在满足客户体验方面,还存在广泛的技术应用空间。
本文作者在书中围绕业务分析的三个层次,即描述性分析、预测性分析及规范性分析,对数据科学家的成长路径、大数据探索和预测、预测模型信息技术、序列分析、决策分析以及三种人工智能技术等方面进行了深入阐述,相对全面地介绍了所涉及的典型算法、工具、业务问题的解决案例等。
增强型分析(AugmentedAnalytics)于Gartner在2017年7月发表的《增强型分析是数据及分析的未来》[1]报告中首次进入人们的视野。其核心的概念包括:
智慧数据洞察(SmartDataDiscovery)。应用相关的工具能够比较智能和自动化地实现数据收集、准备、集成、分析、建模,能够输出各种洞察,可以为人们在战略方向、对应具体范围的战术活动(如针对某市场机会发起营销)、执行(具体执行营销策略)等不同层面的活动提供指导,包括相关关系的发现、模式识别、趋势判断与预测、决策建议等。
增强型数据准备(AugmentedData Preparation)。提供智能化的工具使得业务人员能够快速、轻松地访问数据,并连接各种数据源通过统一的、标准化的、可交互的视图展现内容、数据间的关系等。同时提供丰富的工具进行自动数据归约、清洗、智能化分箱、降噪等功能。增强型数据要能够在原数据和经过数据治理后的数据间灵活处理,尽量避免因为数据治理而丢失信息,同时也避免在大量原数据间进行无序的探索。
从上述的定义中可以看出,增强型分析的特点是其可以智能和自动地完成数据准备和数据分析的工作。对于增强型分析的一个美好的预期就是“交给机器大量的原数据,机器直接针对特定场景给出决策建议”。要实现这个愿景需要人们至少完成如下的几个要点。
大数据存储与访问:基于大数据平台的存储、计算的相关技术发展很快,目前已经比较成熟,能够高效地处理大量数据。
数据分析流程的组件化、标准化改造:数据分析过程中关键步骤如数据收集、准备、集成、分析、建模等过程,需要细分为不同的子任务,并通过子任务间的灵活搭配构成数据分析的流程。流程的自动化运行以及对应的有价值的结果输出已经有了较好的组件,如H2O等。
提供大量的算法支持数据处理、模型构建:算法既可以用来构建业务模型,也可以用来分析数据间的关系、进行变量聚类等工作。
将“模型洞见到业务决策”纳入分析范围:模型输出洞见,如模型输出每一个客户的购买可能性,还需要配套如“当购买可能性大于90%时再根据时机因素进行推荐”的业务决策,才能在实际营销活动中实施。这是一个“洞见—决策—行动”的过程。
实现增强型分析所需的技术势必是庞杂的,本书的重点涵盖范围是数据处理、算法及模型、“模型洞见到业务决策”的分析等内容。这些内容既是我们日常建模时要用到的技术,也是增强型分析中必不可少的内容。虽然增强型分析的表现形式是追求智能化、自动化等功能,但是增强型分析的终极目标还是通过数据分析发挥数据价值。目前增强型分析还处于概念在逐步清晰但需要不断发展的阶段,所以本书的重点是聚焦在其本质内容,即数据处理、算法及模型、“模型洞见到业务决策”的分析等内容。
第1章 数据科学家的成长之路
数据科学、人工智能、机器学习等领域的技术重合度是比较高的,但它们都是围绕“问题解决”→“分析”→“策略”→“领域知识”→“沟通”→“表达”→“探索”等问题来展开的,而这些问题都是人们在认识世界、解决问题时所涉及的方面。所以,下图想表达的含义也是如此:计算机的技术在迅猛发展,现在很多的技术都可以融合使用来解决复杂问题了;对于数据科学相关的这些技术,很多方面都是通用的。
Gartner很早就将数据分析能力分成了4种(如图13所示):
描述性分析(DescriptiveAnalysis)是在回答“过去发生了什么”,是了解现状的有力手段;
诊断分析(DiagnosticAnalysis)是寻找“为什么会是这样”的方法;
预测分析(PredictiveAnalysis)是在回答“将来会是怎样”;
规范分析(PrescriptiveAnalysis)则是说“基于现状、预测等结果,我如何选择一个较优的决策得到期望的结果”。
BusinessIntelligence的核心能力是解决描述分析和诊断分析。人们常说的预测模型(包括传统的随机森林、GBT等,还包括深度学习的常见算法如CNN等)、聚类模型、关联分析等都属于预测分析范畴。利用凸优化、马尔可夫等方法从众多的决策选项中寻求最优决策,则属于PrescriptiveAnalysis的范畴,重点解决最优决策的问题。
所以“通过数据分析的手段发挥数据价值”的过程,没有业务输入是绝对行不通的。所以,笔者也认为数据科学家绝不是仅仅精通算法即可,还需要对业务一直保持热情,不断思考如何发挥数据分析的业务价值。我们需要从技能、效果、工作内容、工作方法等多个层面来扩展相关的能力,这才能发挥较大的价值。总之,如果数据科学家仅仅只是被动地考虑用何种算法满足业务部门所提出的要求的话,是远远不够的。
数据科学家应该具备的4种可信能力:
在深刻了解算法原理、算法体系的基础上,掌握参数调优的技能是一个数据科学家的基本能力。不论是对初学者还是有一定经验的从业者来说,这都是一个需要不断学习和积累的基本任务。
数据科学家除了要对模型性能指标熟稔于心外,还需要能够表达清楚模型真正的实际价值。所以,在第一步模型构建完成后,应用两套指标来衡量是比较可取的做法——模型性能指标是从数学角度说明模型优劣;业务指标是从模型应用的业务结果来评价其价值。
大多数情况下,数据科学家应当在具体的业务背景下展开工作。数学科学家的工作需要深度融入业务,甚至引领数据驱动的业务发展。此时,数据科学家的定位不应该仅仅是构建模型者,还应该是数据驱动业务这种新模式的搭建者。这种角色变化就要求数据科学家深刻理解具体的业务、新的数据驱动模式的运作方式,围绕数据驱动模式而展开各种活动的意义。在这种情况下,数据科学家在构建模型时需要明确:该模型在数据驱动业务的新模式中在哪个阶段发挥什么作用?如何构建一个模型组来协同工作?有了这些模型后数据驱动业务模式能够做到什么程度?
资深数据科学家或首席数据科学家所担负的职责不应该仅仅是完成目前安排的任务,或者去做一些博人眼球的所谓智能应用。其还应该深度参与企业数字化转型的战略制定、计划安排、引领加速器项目等工作,因为资深数据科学家最应该懂得数据的价值如何发挥、能够发挥到什么程度。
第2章 大数据探索及预处理
数据探索、数据预处理等工作是进行数据分析的首要工作。不论是采用大数据的工具还是采用相对较小的数据集上的数据挖掘的工具,模型的构建都需要经过对数据不断地探索、选择和加工合适的字段、采用合适的算法并训练模型等过程。
数据探索的目的是了解数据的状态,数据预处理则是为了将数据加工为更有价值的形态。数据分析者应当具有很好的意识,能够感知数据的价值,具备数据加工能力。
2.1 大数据探索
大多数情况下,数据分析的过程必须包括数据探索的过程。数据探索可以有两个层面的理解:
一是仅利用一些工具,对数据的特征进行查看;
二是根据数据特征,感知数据价值,以决定是否需要对别的字段进行探索,或者决定如何加工这些字段以发挥数据分析的价值。
字段的选取既需要技术手段的支撑,也需要数据分析者的经验和对解决问题的深入理解。
2.1.1 数值类型
在进行数据分析时,往往需要明确每个字段的数据类型。数据类型代表了数据的业务含义,分为3个类型:
(1)区间型数据(Interval)数值型数据的取值都是数值类型,其大小代表了对象的状态。比如,年收入的取值,其大小代表了其收入状态。
(2)分类型数据(Categorical)分类型数据的每一个取值都代表了一个类别,如性别,两个取值代表了两个群体。
(3)序数型数据(Ordinal)和分类型数据非常相似,每个取值代表了不同的类别。但是,序数型的数据还有另外一层含义就是每个取值是有大小之分的。比如,如果将年收入划分为3个档次:高、中、低,则不同的取值既有类别之分,也有大小之分。
很多的数据分析工具会根据数据中的字段的实际取值,做出类型的自动判断。不同的数据类型,在算法进行模型训练时,处理和对待的方式是不同的。区间型数据是直接进行计算的;分类型数据是先将其转换为稀疏矩阵:每一个类别是一个新的字段,然后根据其取值“1”“0”进行计算。
在很多场景下,人们习惯将分类型数据和序数型数据统称为分类型数据,即数据类型可以是两个:数值型数据(区间型数据)和分类型数据(分类型数据和序数型数据)。一些BI工具中会以连续/离散来对数据进行区分。
2.1.2 连续型数据的探索
连续型数据的探索,其关注点主要是通过统计指标来反映其分布和特点。典型的统计指标有以下几个:
缺失值:缺失值即空值,缺失值比例是确定该字段是否可用的重要指标。一般情况下,如果缺失值超过50%,则该字段就完全不可用。
均值:均值反映了整体水平。
最大值和最小值
方差:方差反映了各个取值距平均值的离散程度。
标准差:标准差是方差的开放。含义相似。
中位数
众数:即出现频率最高的数据,最常用的场景是分类型数据的统计,但是也反映了数值型数据明显集中趋势点的数值。
四分位数
四分位距:四分位距是进行离群值判别的一个重要统计指标,著名的箱型图就是借助四分位数和四分位距的概念来画的。
偏斜度:表现数据分布的对称性的指标。
峰态:峰态指标的主要作用是体现数值分布的尾巴厚度。
在连续型数据的探索中,需要重点关注的指标首先是缺失率,然后是均值、中位数等指标,这些指标能帮助数据分析者对数据的特征有很好的了解。偏斜度是另外一个非常重要的指标,但其绝对值接近1或大于1时,必须对其进行log转换才能使用,否则该指标的价值将大打折扣。
2.1.3 分类型数据的探索
分类型数据的探索主要是从分类的分布等方面进行考察。常见的统计指标有以下几个:
缺失值:缺失值永远是需要关心的指标,不论是连续型数据,还是分类型数据。过多的缺失值,会使得指标失去意义。
类别个数:类别个数可以用来从业务角度评价数据是否可用,比如采样数据的类别个数出现了缺失,则需要考虑样本质量。
类别中个体数量:在大多数情况下,如果某些类别中个体数量太少,如只有1%的比例,可以认为该类别是个离群值。
众数
2.2 数据预处理
数据的重要性在大多数情况下都超过了算法的重要性。数据预处理是数据分析过程中的一个重要步骤。多年以来,人们在数据质量上的持续投入大幅减少了越界、缺失、不一致等问题。但是,数据质量问题仍然存在。数据分析者应当对数据质量时刻保持警惕,因为质量很差的数据是很难得到有用的分析结果的。既然数据质量问题不可避免,那么处理它们是数据预处理的工作之一。数据预处理的完整工作应当包括数据清洗、数据集成、数据变换和数据归约处理。
2.2.1 数据清洗
数据清洗就是发现和改正(或移除)不准确或不精确的数据。数据仓库的数据治理模块重点关注数据质量问题,并拥有完善的数据清洗功能。在数据分析领域,常用的数据清洗包括以下几种:
缺失值处理:处理缺失值是最为常见的数据清洗工作。在数据分析中会遵从一些规则来填补缺失值。比如:
对于连续型变量,采用均值来代替缺失值;
对于序数型分类型变量,采用中位数来代替缺失值;
对于分类型变量,采用众数来代替缺失值。
越界值处理:少数的越界值会被当做离群值来处理,大量的越界值需要通过业务知识判断。在一些数据预处理工具中,针对一些情况,其会自动做一些处理,比如:
如果一个变量的缺失值比例大于设定阈值(默认是50%),那么该变量将被忽略;
对于连续型变量,如果该变量的最大值等于最小值(即为常量),那么该变量将被忽略;
对于分类型变量,如果该变量的众数在记录中所占比例大于设定阈值(默认是95%),那么该变量将被忽略。
2.2.2 数据变换
对于连续型变量,为了保证数据中不同的字段保持同样的尺度(这样既可以防止某些字段在建模过程中发生溢出,又可以保证每一个字段在模型中的权重相同),我们需要进行一些尺度变换的操作。分箱(binning,又称离散化)是将连续型数据转换为分类型变量(离散),转换的目的是提高变量的解释性。离散化的主要方式有以下几种:
尺度变化:为了使数据尺度一致,可以对原始数据进行中心化、标准化、归一化、Zscore变换、最小最大值变换等。
分箱变换:对于一些连续型变量,从业务和数据特点上考虑,需要将连续型数据变为分类型数据,可以进行binning操作,常用的分箱变换方法有以下几种。但分箱的重点往往需要参考业务意义,例如,银行客户的分箱中需要区分高价值客户和低价值客户,则可以采用经典的“80%-20%”的方法,即80%的客户可能会贡献较少的价值,而20%的人往往会贡献较多的价值。
等宽度间隔
基于已扫描个案的等百分位
基于已扫描个案的平均值和选定标准差处的分隔点
另外,SciKit-learn中的KBinsDiscretizer也提供了3种分箱策略:
uniform:每一个分箱都有相同的宽度
quantile:每一个分箱都有相同的数据个数
kmean:分箱中每个值都具有与kmeans聚类相同的最近中心
在很多的机器学习的算法实现中,在调用算法之前,会首先对分类型数据做一些变换。这些变换会提高模型的稳定性。比较常见的变换如表210所示:
对于某些分类型变量,其类型是名义nominal变量,为了提高模型的稳定性,需要对分类型变量的各个类型按照其数据量的多少重新排序。这样原来的类型标记被重新编码和排序。对于某些数据集,其含有一系列相关的多个分类型字段,各个字段存在业务逻辑上的关系,并且各个字段的取值也存在关联。这样,我们就可以将这些字段合并为一个字段。这样做既可以减少模型的维度和复杂度,也可以消除各个自变量之间的相关性,保持彼此的独立性,提高模型的质量。类似降维处理。
分类变量的变换方式有以下几种:
类别的数值编码:通过以类别值新建衍生度量,如 if x=a, 1, 0新建出Xa列,进行后续处理,在某些模型计算场景下会由于衍生列的稀疏性提升计算效率。
关联字段的合并:将多列分类变量合并为一个编码后的变量
分布变换:在大多数模型中,都要求因变量服从和接近正态分布,正态分布是统计建模的基石,是许多模型的理论基础。本节将描述如何识别数据是否是正态分布,如果针对不同的数据类型采用其适用的变换方法,将其变换为正态分布。这些变换包括反正弦和反余弦变换、平方根变换、对数变换、BoxCox变换等。
反正弦和反余弦变换:这种变换适用于百分比形式的数据,通过把分布曲线的尾部拉长、中部压缩,使得弱负偏和弱正偏的不对称分布接近于正态分布。
平方根变换:使正偏数据接近正态分布,常用于服从泊松分布的离散型数据
对数变换:用于服从对数正态分布的数据
Box-Cox变换:最大的优势在于将寻找变换的问题转化为一个估计参数的过程,通过极大似然估计来估计最优的参数。
2.2.3 数据归约
数据归约(DataReduction)是指在理解数据分析任务和数据本身内容的基础上,寻找依赖于发现目标的数据的有用特征,以缩减数据规模,从而在尽可能保持数据原貌的前提下,最大限度地精简数据量。数据归约主要从两个途径来实现:
属性选择:属性选择就是通过有意而为之的动作,从大量的属性中筛选出与目标值(针对有监督的模型)或业务目标(针对无监督的模型)相关的属性,并将大量的不相关的数据摈弃。
数据采样:从总体(Population/Universe)中确定抽样范围(SamplingFrame)并进行抽样,通过对样本的研究来估计或反映总体的特征,是经典的数据分析过程。
总的来说,抽样分为两种大的类型:典型抽样(RepresentativeSamples)又称概率抽样(ProbabilitySamples),抽样时没有人的主观因素加入,每个个体都具有一定的被抽中的概率;非典型抽样(NonrepresentativeSamples)又称非概率抽样(NonprobabilitySamples),抽样时按照抽样者的主观标准抽取样本,每个个体被抽中的机会不是来自本身的机会,而是完全来自抽样者的意愿。
概率抽样适用的场景是采用样本数据来体现整体的特征,包括以下几种:
简单随机抽样
系统随机抽样
分层随机抽样
整群抽样
非概率抽样都是按照抽样者的意愿来进行的,典型的方式有以下几种:
方便抽样
判断抽样
配额抽样
在大数据时代,我们可以不需要通过样本来估计整体的特征,因为新的计算平台已经可以支持对海量数据进行快速处理。对均值不需要估计,直接计算即可。但是,对于如预测、聚类分析等数据挖掘的场景,在大数据时代,采样仍然是必需的。在很多情况下,并不是样本越大(不论是列还是行)就意味着模型越好。笔者认为,经过深入的业务理解和数据理解后,针对具体的建模目标进行有效的衍生指标的加工才是最主要的。
2.3 衍生指标的加工
在探索了数据的基本统计信息后,我们掌握了数据的分布特征等信息;接着又对数据做了预处理,过滤了缺失值和离群值,转变和处理了数据类型,提高了数据的质量。本节进一步对数据从字段上进行加工,从尺度、分布上进行变换,满足不同的业务和建模需要,变换后的字段更能满足模型需要,由此引出了本节的衍生指标的加工。
2.3.1 衍生指标概述
所谓衍生指标(DerivedField)是指利用给定数据集中的字段,通过一些计算而加工产生一些新的指标。创建衍生指标是数据分析过程中最具创意的部分之一,是数据分析者必须具备的基本技能之一。衍生指标将人们的见解融入建模的过程中,使得模型的结论充分体现了业务、市场的重要特征。精心挑选的衍生指标能增强模型的可理解性和解释能力。
衍生指标的创建主要体现了数据挖掘者对业务和目标的理解程度,体现了其解决问题的能力、对数据的敏感度和经验等。所以,衍生指标的创建在更多的时候是针对分析目标将既有指标进行加工。比如,银行的数据仓库针对每月的数据都进行了汇总,但是如何知道客户近期的活跃程度呢?一个简单的衍生指标就是“最近6个月平均每月的交易次数”,这就是一个很好的指标。这个指标的加工方式就是读取最近6个月的每月交易次数(很可能每个月都会对应于一张表),然后求一个平均值即可。
2.3.2 将数值转化为百分位数
数值体现被描述对象的某个维度的指标大小,百分比则体现程度。在有关银行的项目中,数据仓库中的大多指标都是在如实反映客户某指标的大小,如存款余额、理财余额等。这些指标在忠实地描述客观事实,利用它们可以轻易加工出业务含义明确的衍生指标,如客户的理财偏好程度:该百分比越大,表明客户对理财的偏好程度越高。该衍生指标可以直接通过离散化对客户群体进行划分,也可以作为输入变量去构建各种模型(如预测、聚类等)。像这样的指标加工方式,在实际项目中可以灵活采用。
2.3.3 把类别变量替换为数值
从实际业务指导的角度来看,分类型变量的易用性远远大于数值型变量。从模型算法的角度来看,采用数值型的指标会显著提高模型的性能。针对“富裕客户”这样的指标值,在建模时为模型性能考虑,最好是将其代表的数值直接使用而摈弃分类型变量。
2.3.4 多变量组合
多变量组合去计算出一个新的指标,是非常常用的衍生指标的计算方式,如针对银行客户的信用评级指数:
在笔者最近进行的一个数据分析项目中,我们首先使用回归算法确定目标值与自变量之间的线性关系,这个关系体现了“什么样的投入会导致什么样的结果”:GDP=36.258+29.956*NX+14.810*NXPre+17.460*INV5.005*INVPre+7*IDN5.488PEOPLE
上述公式其实也是线性回归算法通过训练而得到的“模式(Pattern)”。根据这个公式,将其中一个自变量作为因变量,而原来的因变量变为自变量,来反推“当要达到预期的某个值时,需要多少投入”:这是一个典型的goalseek过程,只是“需要多少投入”这样的结果完全可以作为一个新的衍生字段被计算出来。
2.3.5 从时间序列中提取特征
时间序列数据是指在不同时间点上收集到的数据,这类数据反映了某一事物、现象等随时间的变化状态或程度。
在应用非专门处理时间序列的算法时,有时需要从时间序列数据中提取一些典型有用的数据作为一个变量输入。比如,在预测性维护的场景中,设备是否需要维护或是否会出现故障的模型训练,需要将设备监控的数据做一些转换,作为预测模型的预测变量。
第3章 预测模型的新技术
3.1 集成学习
集成学习(EnsembleLearning)技术的出现,旨在将多个预测模型结合起来,达到明显改善相对于单独采用一个模型的而得到预测效果。因为结合的技术不同,Ensemble技术可以分为Averaging和Boosting两种不同的方式。
3.2 Gradient Tree Boosting介绍
3.3 Gradient Tree Boosting的改进方向
3.4 模型的最佳参数设置
3.5 投票决定最终预测结果
3.6 让模型在训练结束后还能被更新
3.7 多输出预测
第4章 序列分析
第5章 应用数据分析做出最优决策
应用数据分析做出最优决策,必定是人工智能发展的下一个阶段的重点领域。目前市场上对最优决策的需求正在大量涌现。
用于应用数据分析做出最优决策的PrescriptiveAnalytics的能力包括运筹优化、启发式搜索(HeuristicSearch)、仿真(Simulation)等。
5.1 Prescriptive分析概述
PrescriptiveAnalytics旨在应用数据分析的结果,提供决策建议,回答“应该是什么”或“应该怎么做”的问题;注意区分它和合规分析的区别,合规分析主要是监管公司和员工的行为是否符合政府或其他实体的要求。
5.1.1 业务分析的3个层次
通过数据分析的实践,将数据分析得出的洞见应用于具体的业务中,并产生实际的效果,是数据分析的意义所在。这个过程不论称为数据分析、数据挖掘,还是业务分析(BusinessAnalytics,BA),其工作的主要内容没有发生变化。
业务分析就是指通过对业务数据继续迭代的研究和探查从而获得洞察、指导商业计划(决策)的一系列技术、方法和实践。相对来讲,业务分析所代表的内涵更贴近业务一些而已。一般认为BA包含了3个层次,各个层次的作用是不同的,如图5-1所示。
描述性分析:描述性分析旨在回答“过去发生了什么”或“现在正在发生什么”。最为简单的描述性分析就是采用查询的方式来展示过去状态的报表。市面上比较常见的BI&A解决方案如IBMCognos系列产品,支持对数据的多维建模、OLAP服务,最终通过仪表盘和报表来展现统计分析数据。
预测分析:预测分析这个名词在此处是个广义用法,其代表了“利用数据分析的方法寻找问题的原因或者预测未来”的一系列方法。而狭义的预测分析则仅仅是指预测,即利用数据分析的方法,从历史数据中学习模式,并据此来预测未来。狭义的预测分析按照其目标值的不同,可以分为分类型预测分析和估计型的预测分析等。
PrescriptiveAnalytics:如前所述,PrescriptiveAnalytics是个“事前的分析”,旨在回答“应当采用的最优决策是什么”或者“当采用某种决策时结果将会是怎样”。Prescriptive分析着眼于“应该是什么”或“应该怎么做”的问题,这些问题都是关乎未来的事情。可以说是“事前”(如英文的词根“pre”所表达的意思)的分析。
Prescriptive分析所涉及的技术,包括优化技术、模拟技术、搜索技术以及构建专家系统、构建知识管理系统等方面。实现Prescriptive分析,如同Prescriptive技术所处的分析的层次那样,需要数据、描述分析、预测分析等方面的输入,并且往往不是一个模型所能解决的。
5.1.2 为什么需要Prescriptive分析
从历史数据中应用数据分析的技术得到洞见,对后续的决策具有重大的参考或指导意义。但是,从洞见直接转换为行动(Action),需要做出决策才能继续。比如,针对响应预测模型给出的高响应率的营销名单,是否进行营销、何时营销、通过哪个渠道进行营销、营销时配套何种活动等问题,都需要做出决策。正如Gartner的一个图所显示的那样,Insight与Action之间需要Decision[1],如图52所示。
如前所述,Prescriptive分析重点解决“应该怎么做”的问题,即得到各种分析的结论后(描述性分析、预测分析等),做出“下一步如何做”的决策。这是Prescriptive分析的重点和意义所在。
5.1.3 什么时候需要Prescriptive分析
Prescriptive分析重点解决决策的问题,但是决策也可以分为3个级别,分别对应不同的重要性和服务对象,如图5-3所示。
战略层级的决策:战略层级的决策往往有巨大的价值,影响也最大。在企业中,往往是由公司的最高管理层来做出。在做出这样的决策时,往往要考虑很多因素,但是决策一旦做出,在短期内就不会改变。比如说,公司的最高管理层制定年度增长目标为5%。
战术层级的决策:战术层级的决策主要是指在管理层面的决策。比如说,市场部经理为了实现年度5%的增长目标而制定了一系列的业务推广方式。某个产品的打折方式,就是一个典型的战术层的决策。战术层的决策的变化频率也较低,产品的打折方式不会每天都变,而是一段时期之后才会因调整而发生变化,这些调整或因公司政策的变化,或者经过数据分析发现之前的决策并不明智。
实施层面的决策:实施层面的决策是最为底层、琐碎的决策,对单个客户或者单个交易具有影响。在实际情况中,给客户推荐哪种产品、针对给定的单笔交易是否有欺诈等都需要操作人员做出决策。
从决策的数量来讲,实施层面的决策每年可能会做出很多个,这些数量庞大的决策产生的累积效应最终决定了战略层决策的实现与否。所以说,虽然战略层的决策具有巨大的影响,但是实施层面的决策也非常重要。
操作层面的决策在无时无刻地被做出;战术层面的决策则是在一段时期内做出一些调整和改变,给操作层面的决策制定出新的标准和准则;战略层面的决策是操作决策和战术决策的总指导,其根据动态变化的市场环境和自身运行状况做出改变,以应对机遇和挑战。比如,根据竞争对手的一些策略,可以相应地做出一些战略决策。图54[1]则体现了3种决策之间相互影响的关系。
5.2 确定因素和非确定因素下的决策分析
日常生活中,人们总是无时无刻地做出决策。有些决策很简单,有些决策则需要认真考虑。所谓决策分析就是建立一个分析的流程和框架,使得人们可以基于此进行决策的排列、决策间的对比等,并最终能帮助人们选出一个最优的决策。
在做决策时,我们可以将决策时关心的标准和条件列出来,并且赋予其不同的分值来计算一下。根据因素对结果的影响正负相关性计算出各项选择的最终分值,并根据最终分值进行选择。这个过程其实并没有用到高大上的算法,而是简单地将决策时的因素考虑进来,建立一个决策的框架并最终经过计算得出最优决策。这个决策的框架的名称即是层次化分析的过程(AnalyticalHierarchyProcess,AHP)。
将决策时用到的各种因素纳入AHP过程中,并不是所有的因素都是事前确定的。很多情况下,人们只能用概率来表示影响决策结果的因素。比如,在购买股票时,每次购买决定所带来的收益只能事后才知道,事前是无法精确知道的。这种情况下,概率被引入帮助估算未来的收益。所有因素事前能确定的称为确定因素下的决策制定(DecisionMakingUnderCertainty);需要用概率来计算的决策影响因素称为非确定因素下的决策制定。(DecisionMakingUnderUncertainty)。
5.3 What-If分析和Goal Seeking分析
WhatIf分析是决策分析中非常重要的一个方法,所谓WhatIf的含义就是当改变影响决策的某些变量取值时,其结果会发生什么样的变化。比如,从公司收益的角度来看,如果将推荐A产品更换为推荐B产品,会发生什么样的变化?假设在这种情况下,产品A和产品B的响应率、成本、收益都是不同的。
人们经常使用回归算法确定目标值与自变量之间的线性关系,这个关系体现了“什么样的投入会导致什么样的结果”。这是一个典型的GoalSeeking的过程,“需要多少投入”这样的结果完全可以被反推计算出来