第2章
SPSS在电信行业中的应用
2.1 研究背景及意义
2017年6月19日,工信部的数据显示,1-5月,我国电信业务总量完成8862亿元,同比增长50.4%;电信业务收入完成5349亿元,同比增长5.8%。
在电信业务收入方面,2017年1-5月,三家基础电信企业实现移动通信业务收入3079亿元,同比增长4.9%,占电信业务收入的72.5%。实现固定通信业务收入1470亿元,同比增长8%,在电信业务收入中占27.5%,较去年同期提高0.6个百分点。话音业务收入在电信业务收入中占比19.6%,比上年同期回落7.4个百分点。
从细分业务来看,2017年1-5月份,三家基础电信企业固定数据及固定互联网业务收入实现817亿元,同比增长9.4%,占电信业务收入的15.3%。移动数据及移动互联网业务收入实现2268亿元,同比增长30.8%,占电信业务收入的42.4%,拉动电信业务收入增长10.6个百分点。
用户的需求永远是更合理的价格和更好的产品。运营商推出的组合产品也层出不穷,因此客户会需要更加满足其个性化需要的产品,并且价格合适。现实情况是,国内电信行业表面处于寡头垄断,但实际上竞争也很激烈,再加上受到互联网行业以及虚拟运营商的冲击,三家运营商都面临客户转网流失的压力。所有运营商公司都在思考如何通过积极的工作(比如充满创意的广告、创新的产品或服务、有效的营销计划、强有力的促销等)来获取新的客户。
在如今电信市场日益饱和、竞争日益激烈的大环境下,各个运营商越来越关注另一个问题:我们在得到一些新的用户的同时,又会损失多少老客户呢?只有在客户已经流失后,公司才会知道答案,而不是在将要流失的时候。在这种情况下,公司会试图去预测一个客户何时会流失,通常的做法是分析一些客户数据:客户使用行为、客户自身的相关信息、消费额度。当客户开始投诉甚至到营业厅要求解除合约的时候,任何挽留客户的方法都属于反应性方法,虽然这些方法非常重要,也发挥了较好的作用,但是属于亡羊补牢,企业有时不得不付出额外的人力、财力、物力等成本。
自从2008年国内通信市场洗牌后,形成三足鼎立的局面,国内通信市场竞争进一步加强。另外,随着市场的进一步开放,人们对转网的要求日益强烈,用户流失问题越来越被运营商所重视。每月的用户流失哪怕2%,公司也会遭受巨大的利润损失。
随着电信企业的发展,企业之间的竞争不断加剧,电信运营商也在不断地推出新的业务与套餐,以此占领市场竞争高地。与此同时,也大大增加了客户的不稳定性。数据挖掘技术的应用,有效地降低了客户流失。
客户流失预警模型的构建就是在基于数据挖掘技术的基础上,对电信运营状态以及客户状态的一种分析与判断系统,从本质上讲,就是对数据特征的一种挖掘,同时也是一种分类问题。客户信息主要分为两大类:一类是有离网倾向的客户;另一类是无离网倾向的客户。以数据挖掘技术为基础,对已经离网的客户信息进行特征分析,进行总结归纳,并作为参照。当企业产生新的客户信息时,以此来识别其是否存在离网倾向,确定其是否在企业对客户维护开销范围内,若是低于此开销值,则说明其不具有任何产生价值,相关信息就应该删除。
最好的应对措施就是,预测哪些客户将会流失,提前对这些客户做针对性挽留措施。因此这里便需要数据挖掘模型帮助我们实施。数据挖掘技术是通过大量的信息来预测或发现某些行为、数据模式、数据分类和数据关系。
2.2 数据建模思路
电信客户中的易流失客户一般对促销比较敏感,分析这部分客户的特征,从而对不同的电信客户采取不同的营销方式,通过反馈数据、完善客户服务、提高产品服务质量,最终达到挽留客户的目的。
根据以往促销活动的历史数据,字段包括用户ID、产品类别、成本、促销费用、促销前的消费额、促销后的消费额等,由于变量较多且其关系比较复杂,可能是非线性的关系,因此建立神经网络预测模型预测促销效果。
以促销前后的销售变化比率为输出变量(因变量)、影响其变化的因素(产品类别、成本、促销费、促销前销售额等)为输入变量(自变量),采用神经网络算法,建模过程的流程图如图2-1所示。
图2-1 建模过程流程图
2.3 神经网络模型
神经网络是对人脑或自然神经网络的若干基本特性的抽象和模拟。它以对大脑的生理研究成果为基础,其目的在于模拟大脑的某些机理与机制,实现某个方面的功能。国际著名的神经网络研究专家、世界上第一家神经计算机公司的创立者与领导人Hecht Nielsen给人工神经网络下的定义就是:人工神经网络是由人工建立的以有向图为拓扑结构的动态系统,它通过对连续或断续的输入作为状态响应而进行信息处理。
目前在神经网络研究方法上已形成多个流派,最富有成果的研究工作包括多层网络BP算法、Hopfield网络模型、自适应共振理论、自组织特征映射理论等。人工神经网络是在现代神经科学的基础上提出来的,它虽然反映了人脑功能的基本特征,但远不是自然神经网络的逼真描写,而只是它的某种简化抽象和模拟。
人工神经网络有以下几个突出优点:
- 可以充分逼近任意复杂的非线性关系。
- 所有定量或定性的信息都等势分布、存储于网络内的各神经元,有很强的鲁棒性和容错性。
- 采用并行分布处理方法,使得快速进行大量运算成为可能。
- 可学习和自适应不知道或不确定的系统。
- 能够同时处理定量、定性知识。
人工神经网络的优越性主要表现在三个方面:
- 具有自学习功能。例如,实现图像识别时,只要先把许多不同的图像样板和对应的应识别的结果输入人工神经网络,网络就会通过自学习功能慢慢学会识别类似的图像。自学习功能对于预测有特别重要的意义。预期未来的人工神经网络计算机将为人类提供经济预测、市场预测、效益预测,其应用前途是很远大的。
- 具有联想存储功能。利用人工神经网络的反馈网络就可以实现这种联想。
- 具有高速寻找优化解的能力。寻找一个复杂问题的优化解,往往需要很大的计算量,利用一个针对某问题而设计的反馈型人工神经网络,发挥计算机的高速运算能力,可能很快能够找到优化解。
人工神经网络是由大量处理单元互联组成的非线性、自适应信息处理系统。它是在现代神经科学研究成果的基础上提出的,试图通过模拟大脑神经网络处理、记忆信息的方式进行信息处理。人工神经网络具有4个基本特征:
- 非线性。非线性关系是自然界的普遍特性。大脑的智慧就是一种非线性现象。人工神经元处于激活或抑制两种不同的状态,这种行为在数学上表现为一种非线性关系。具有阈值的神经元构成的网络具有更好的性能,可以提高容错性和存储容量。
- 非局限性。一个神经网络通常由多个神经元广泛连接而成。一个系统的整体行为不仅取决于单个神经元的特征,而且可能主要由单元之间的相互作用、相互连接所决定。通过单元之间的大量连接模拟大脑的非局限性。联想记忆是非局限性的典型例子。
- 变化性。人工神经网络具有自适应、自组织、自学习能力。神经网络处理的信息不但可以有各种变化,而且在处理信息的同时,非线性动力系统本身也在不断变化,经常采用迭代过程描写动力系统的演化过程。
- 非凸性。一个系统的演化方向,在一定条件下将取决于某个特定的状态函数。非凸性是指这种函数有多个极值,故系统具有多个较稳定的平衡态,这将导致系统演化的多样性。
2.3.1 神经元
在人工神经网络中,神经元处理单元可以表示不同的对象,例如特征、字母、概念或者一些有意义的抽象模式。网络中处理单元的类型分为三类:输入单元、输出单元和隐单元。输入单元接收外部世界的信号与数据;输出单元实现系统处理结果的输出;隐单元是处在输入和输出单元之间,不能由系统外部观察的单元。神经元间的连接权值反映了单元间的连接强度,信息的表示和处理体现在网络处理单元的连接关系中。
神经网络是一种模仿生物神经网络的结构和功能的数学模型或计算模型,由大量的节点(神经元)和之间的相互连接构成。每个节点代表一种特定的输出函数,称为激励函数。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称为权重。神经元是神经网络的基本元素,如图2-2所示。
图2-2 神经元
其中,x1...xn是从其他神经元传来的输入信号,wij表示从神经元j到神经元i的连接权值,θ表示一个阈值,或称为偏置(bias)。神经元i的输出与输入的关系表示为:
yi表示神经元i的输出,函数f称为激活函数,net称为净激活(net activation)。若将阈值看成是神经元i的一个输入x0的权重wi0,则上面的式子可以简化为:
若用X表示输入向量,用W表示权重向量,即
则神经元的输出可以表示为向量相乘的形式:
neti=XW
yi=f(neti)=f(XW)
如果神经元的净激活net为正,就称该神经元处于激活状态或兴奋状态,如果净激活net为负,就称神经元处于抑制状态。
2.3.2 多层感知器
多层感知器(Multi-layer Perceptron, MLP)是一种前向结构的人工神经网络,映射一组输入向量到一组输出向量。MLP可以看作是一个有向图,由多个节点层组成,每一层全连接到下一层。除了输入节点,每个节点都是一个带有非线性激活函数的神经元(或称处理单元)。一种被称为反向传播算法的监督学习方法常被用来训练MLP。MLP是感知器的推广,克服了感知器不能对线性不可分数据进行识别的弱点。
如果每个神经元的激活函数都是线性函数,那么任意层数的MLP都可被约简化成一个等价的单层感知器。
实际上,MLP本身可以使用任何形式的激活函数,譬如阶梯函数或逻辑S形函数(logistic sigmoid function),但为了使用反向传播算法进行有效学习,激活函数必须限制为可微函数。由于具有良好可微性,很多S形函数,尤其是双曲正切函数(Hyperbolic tangent)及逻辑S形函数,被采用为激活函数。
常被MLP用来进行学习的反向传播算法,在模式识别的领域中算是标准监督学习算法,并在计算神经学及并行分布式处理领域中持续成为被研究的课题。MLP已被证明是一种通用的函数近似方法,可以被用来拟合复杂的函数或解决分类问题。
MLP在20世纪80年代的时候曾是相当流行的机器学习方法,拥有广泛的应用场景,譬如语音识别、图像识别、机器翻译等,但自20世纪90年代以来,MLP遇到来自更为简单的支持向量机的强劲竞争。近来,由于深层学习的成功,MLP又重新得到了关注。
隐藏层神经元的作用是从样本中提取样本数据中的内在规律模式并保存起来。隐藏层每个神经元与输入层都有边相连,隐藏层将输入数据加权求和并通过非线性映射作为输出层的输入,通过对输入层的组合加权及映射找出输入数据的相关模式,而且这个过程是通过误差反向传播自动完成的。
图2-3 多层感知器
当隐藏层节点太少的时候,能够提取以及保存的模式较少,获得的模式不足以概括样本的所有有效信息,得不到样本的特定规律,导致识别同样模式新样本能力较差,学习能力较差。
当隐藏层节点个数过多时,学习时间变长,神经网络的学习能力较强,能学习较多输入数据之间的隐含模式,但是一般来说输入数据之间与输出数据相关的模式个数未知,当学习能力过强时,有可能把训练输入样本与输出数据无关的非规律性模式学习进来,而这些非规律性模式往往大部分是些样本噪声,这种情况叫作过拟合(Over fitting)。过拟合是记住了过多和特定样本相关的信息,当新来样本含有相关模式但是很多细节并不相同时,预测性能并不是太好,降低了泛化能力。这种情况的表现往往是在训练数据集上误差极小、测试数据集上误差较大。
具体隐藏层神经元个数的多少取决于样本之中蕴含规律的个数以及复杂程度,而样本蕴含规律个数往往和样本数量有关系。确定网络隐藏层参数的一个办法是将隐藏层个数设置为超参,使用验证集验证,选择在验证集中误差最小的作为神经网络的隐藏层节点个数。还有就是通过简单的经验设置公式来确定隐藏层神经元个数:
其中,l为隐藏层节点个数,m是输入层节点个数,n是输出层节点个数,a一般是1~10之间的常数。
2.3.3 径向基函数
径向基函数(RBF)网络是一种三层前向网络(见图2-4),输入层由信号源结点组成;第二层为隐含层,隐单元数量视所描述问题的需要而定,隐单元的变换函数是RBF径向基函数,是对中心点径向对称且衰减的非负非线性函数;第三层为输出层,对输入模式的作用做出响应。从输入空间到隐含层空间的变换是非线性的,而从隐含层空间到输出层空间变换是线性的。
图2-4 径向基函数
隐含层的功能就是将低维空间的输入通过非线性函数映射到一个高维空间,然后在这个高维空间进行曲线的拟合。等价于在一个隐含的高维空间寻找一个能最佳拟合训练数据的曲面。
RBF网络的隐含层为径向基神经元结构。径向基神经元的净输入采用距离函数(如欧式距离)乘以偏置,并使用径向基函数作为激活函数。所谓径向基函数,其实就是某种沿径向对称的标量函数,径向基函数可以写成:
其中,x∈RN表示模式向量,是基函数中心,λj是权系数,φ是选定的非线性基函数,可以看作是一个神经网络,输出层有N个单元,输入模式向量x由此进入网络,隐含层有P个单元,第p个单元的输入为,输出为φ(hp)。输出层有1个单元,输出为。
假设给定了一组训练样本,当yj只取有限个值(例如,取0,1或±1)时,可以认为是分类问题;可取任意实数时,则视为逼近问题。网络学习(或训练)的任务就是利用训练样本来确定输入层到隐含层的权向量cp和隐含层到输出层的权系数λp,使得
2.4 模型数据处理
2.4.1 导入建模数据
打开SPSS 24.0软件,在下载资源“SPSS统计分析与行业应用实战\Ch02”文件夹下选择“建模数据.sav”,再单击“打开”按钮,数据视图如图2-5所示。
图2-5 数据视图
在变量视图的标签栏下是ID、Class、Cost、Promotion、Before和After等变量的中文名称,如图2-6所示。
图2-6 变量视图
2.4.2 添加目标变量
由于我们是将电信用户在促销前后消费额的变化率作为目标变量,因此需要向数据中增加一个新变量,命名为“Increase”。在数据视图窗口下,选择“转换>计算变量”,如图2-7所示。
图2-7 添加计算变量
在“计算变量”对话框中对Increase进行设置,如图2-8所示。
图2-8 Increase进行设置
在“目标变量”栏中输入变量的名称“Increase”,在“数字表达式”栏中输入计算公式“(After-Before)/Before*100”,用于计算电信公司促销前后消费额的变化率,单击“确定”按钮,如图2-9所示。
图2-9 数字表达式
为Increase变量添加变量标签说明,单击目标变量下的“类型与标签”按钮,在标签后输入“促销前后消费额变化率”,如图2-10所示。
图2-10 变量类型和标签
2.4.3 设置变量角色
由于在制定促销方案前我们并不知道电信公司促销后商品的具体销售额,因此将字段After的“角色”设置为“无”;神经网络模型需要一个输出,这里我们将Increase字段的“角色”设置为“目标”;除此之外的其他节点的“角色”全部设置为“输入”,如图2-11所示。
图2-11 设置变量角色
2.5 SPSS操作步骤——神经网络模型
我们将应用基于径向基函数的神经网络进行建模,下面介绍具体步骤。
在数据视图窗口下,选择“分析>神经网络>径向基函数”,如图2-12所示。
图2-12 径向基函数
进入径向基函数的模型设置界面,如图2-13所示。
图2-13 模型设置
2.5.1 “变量”选项
变量设置要求是至少选择一个因变量,至少选择一个因子或协变量。在“变量”页面,将变量Increase放入因变量框,将变量Class、Cost、Promotion、Before放入协变量框。
“协变量重新标度”有4种选项:
- 标准化。减去平均值并除以标准差,(x−mean)/s。
- 正态化。减去平均值并除以范围,(x−min)/(max−min),标准化值介于0和1之间。
- 调整后正态化。减去最小值并除以范围,[2*(x−min)/(max−min)]−1,值介于−1和1间。
- 无。没有协变量重新标度。
在变量选项卡上可以根据需要选择“协变量重新标度”的方法,这里我们选择标准化,如图2-14所示。
图2-14 “变量”选项
2.5.2 “分区”选项
(1)根据个案的相对数量随机分配个案
指定随机分配到每个样本(训练、检验和坚持)的个案的相对数量(比率)。“%”列根据已经指定的相对数量,报告将被分配到每个样本的个案的百分比。将数据划分为训练样本、检验样本和坚持样本,如图2-15所示。
- 训练样本包含用于训练神经网络的数据记录,数据集中的某些个案百分比必须分配给训练样本以获得一个模型。
- 检验样本是一个用于跟踪训练过程中的错误以防止超额训练的独立数据记录集。建议创建一个训练样本,并且如果测试样本小于训练样本,网络训练通常最高效。
- 坚持样本是另一个用于评估最终神经网络的独立数据记录集。坚持样本的误差给出一个模型预测能力的“真实”估计值,因为坚持个案不用于构建模型。
这里我们指定7、3、0作为训练、检验和坚持样本的相对数量,对应于70%、30%和0%。
(2)使用分区变量分配个案
将数据个案分配到训练、检验和坚持样本中,正值的个案被分配到训练样本中,值为0的个案被分配到检验样本中,而负值个案则被分配到坚持样本中,缺失值会被排除。
图2-15 “分区”选项
2.5.3 “体系结构”选项
“体系结构”选项卡用于指定网络结构,该过程创建一个有隐藏层的神经网络,如图2-16所示。
(1)隐藏层中的单位数
- 在某个自动计算范围内查找最佳单位数。
自动计算范围:该过程自动计算范围的最小值和最大值并在该范围内查找最佳隐藏单位数。如果已定义检验样本,该过程就使用检验数据标准:隐藏单位的最佳数量是指在检验数据中造成最少错误的数量。如果未定义检验样本,该过程就使用贝叶斯信息标准(BIC)。隐藏单位的最佳数量是指对培训数据造成最少BIC的数量。
使用指定范围:在某个指定范围内查找最佳单位数。可以提供自己的范围,并且会在范围内查找“最佳”隐藏单位数。最佳隐藏单位数也是通过使用检验数据标准或BIC准则来确定的。
- 使用指定的单位数。可以覆盖某个范围的使用并直接指定特定数量的单位。
(2)隐藏层激活函数
隐藏层激活函数是径向基函数,将某个层中的单位“关联”到下一层的单位值。
- 正态化径向基函数。使用softmax激活函数,以使所有隐藏单位的激活都标准化合计为1。
- 普通径向基函数。使用指数激活函数,因此隐藏单位激活是作为输入函数的高斯“增加”。
(3)隐藏单位中的重叠
重叠因子是应用到径向基函数宽度的乘数。重叠因子的自动计算值为1+0.1d,其中d是输入单位数(所有因子类别和协变量之和)。
图2-16 “体系结构”选项
2.5.4 “输出”选项
(1)网络结构
显示与神经网络有关的摘要信息。
- 描述:显示与神经网络有关的信息,包括因变量、输入和输出单位数目、隐藏层和单位数目及激活函数。
- 图:将神经网络图表作为不可编辑图表显示。注意,随着协变量数目和因子级别的增加,图表会变得更加难于解释。
- 突触权重:显示表明给定层中的单位与以下层中的单位之间关系的系数估计值。突触权重以培训样本为基础,即使活动数据集已划分为培训数据、检验数据和坚持数据。注意,突触权重数目会变得非常大,而且这些权重一般不用于解释网络结果。
(2)网络性能
显示用于确定模型是否“良好”的结果。(注:该组中的图表以培训样本和检验样本组合为基础。如果不存在检验样本,只以培训样本为基础。)
- 模型摘要:显示分区和整体神经网络结果摘要,包括错误、相对错误或不正确预测的百分比和培训时间。误差为平方和误差。除此之外,显示相对错误或不正确预测的百分比取决于因变量测量级别。如果任何因变量具有标度测量级别,则显示平均整体相对错误(相对于平均值模型)。如果所有因变量都为分类变量,就显示不正确预测的平均百分比,也针对单个因变量显示相对错误或不正确预测的百分比。
- 分类结果:显示每个分类因变量的分类表。每个表针对每个因变量类别给出正确或错误分类的个案数目,也报告正确分类的总体个案百分比。
- ROC曲线:显示每个分类因变量的ROC(ReceiverOperatingCharacteristic)曲线。对于给定因变量,ROC图表针对每个类别显示一条曲线。如果因变量有两个类别,那么每条曲线就会将该类别视为正态与其他类别。如果因变量有两个多类别,那么每条曲线就会将该类别视为正态与所有其他类别的汇总。
- 累积增益图:显示每个分类因变量的累积增益图。每个因变量类别的曲线的显示与ROC曲线相同。
- 效益图:显示每个分类因变量的效益图。每个因变量类别的曲线的显示与ROC曲线相同。
- 预测实测图:显示每个因变量的观察预测值图表。针对分类因变量,显示每个响应类别的预测拟概率的复式箱图,并且观察响应类别为聚类变量。针对标度因变量,显示散点图。
- 残差预测图:显示每个标度因变量的残差分析图。残差和预测值之间不存在可见模式。此图表仅针对标度因变量生成。
(3)个案处理摘要
显示个案处理摘要表,通过培训、检验和坚持样本整体总结分析中包含和排除的个案数。
(4)自变量重要性分析
执行敏感度分析,其计算确定神经网络的每个预测变量的重要性。分析以培训样本和检验样本组合为基础,或者不存在检验样本时只以培训样本为基础。此操作创建一个显示每个预测变量的重要性和标准化重要性的表和图表。注意,如果存在大量预测变量和个案,敏感度分析需要进行大量计算并且费时,如图2-17所示。
图2-17 “输出”选项
2.5.5 “保存”选项
“保存”选项卡用于将预测变量另存为数据集中的变量,如图2-18所示。
(1)保存每个因变量的预测值或类别
保存标度因变量的预测值和分类因变量的预测类别。
(2)保存因变量的预测拟概率
保存分类因变量的预测拟概率。针对预测值或类别保存单个变量。
(3)保存的变量的名称
自动生成名称,确保能保存所有工作。无须先删除数据编辑器中保存的变量,自定义名称允许放弃或替换上一次运行的结果。
图2-18 “保存”选项
2.5.6 “导出”选项
“导出”选项卡用于将每个因变量的突触权重估算保存到XML(PMML)文件中,可以使用该模型文件以应用模型信息到其他数据文件。
勾选“将突触权重估算值导出到XML文件”,然后单击“浏览”按钮,如图2-19所示。
在文件名框中,输入模型名称“神经网络模型”,然后单击“保存”按钮,如图2-20所示。
图2-19 “导出”选项
图2-20 选择保存路径
2.5.7 “选项”选项
如果要在分析中包含个案,那么因子必须具有有效值,以决定是否将用户缺失值在因子变量和分类因变量中视为有效值,如图2-21所示。
图2-21 “选项”选项
2.6 SPSS结果介绍
神经网络的个案处理摘要如图2-22所示。有效样本数为200个,其中训练样本142个,占比71%;检验样本58个,占比29%。
神经网络的网络信息如图2-23所示。输入层为产品类型、产品成本、促销费用和促销前消费额,激活函数为Softmax,输出层单元数为1个,误差函数为平方和。
图2-22 个案处理摘要
图2-23 网络信息
神经网络的网络图如图2-24所示。其中,隐含层有6个节点,分别为H(1)、H(2)、H(3)、H(4)、H5)和H(6),并且用线条的粗细和颜色表示权重大小及其方向。
神经网络的模型摘要如图2-25所示。训练集中的平方和误差为33.334,相对误差为0.473;检验集中的平方和误差为18.238,相对误差为0.598。
图2-24 网络图
图2-25 模型摘要
神经网络的参数估算值如图2-26所示。
图2-26 模型参数估算值
神经网络预测值的散点图如图2-27所示。从散点图可以看出Increase的预测值基本呈现线性趋势。
神经网络预测值的残差图如图2-28所示。模型的残差基本在0附近波动,说明模型的效果较好。
图2-27 散点图
图2-28 残差图
神经网络的自变量重要性:未正态化前的变量重要性依次是促销费用0.337、产品类别0.307、促销前消费额0.182、产品成本0.174;正态化后的变量重要性依次是促销费用100%、产品类别91.2%、促销前消费额54%、产品成本51.5%,如图2-29所示。
图2-29 自变量重要性
在神经网络自变量正态化后的变量重要性条形图中,最重要的变量是促销费用(Promotion, 100%),其次是产品类别(Class, 91.2%),如图2-30所示。
图2-30 正态化重要性
2.7 模型效果评估
添加字段比较预测值与实际值,选择“转换>计算变量”,命名为ratio,公式为(abs(Increase-RBF_PredictedValue)/Increase)*100。其中,RBF_PredictedValue是由神经网络生成的预测结果,标签为“预测值与实际值的误差”。通过该字段值的显示我们可以看出预测值与实际值之间的差异大小,如图2-31所示。
图2-31 预测值和实际值的误差
设置“直方图”,使其输出显示ratio的值,如图2-32所示:变量为ratio的值,纵坐标表示一共有多少个样本的ratio值落在相对应的横坐标上。
图2-32 直方图设置
从ratio的定义公式我们知道ratio越小,表明预测值与实际值的差别越小。更多的ratio值将会处在一个比较小的范围内,说明我们建立的人工神经网络模型已经达到了一定的精度,基本符合要求,如图2-33所示。
图2-33 误差直方图
2.8 模型变量预测
SPSS提供了用来构建预测模型(如回归、聚类、树和神经网络模型)的过程。模型构建后,将模型规范保存在文件中,再使用该模型文件在其他数据集中生成预测得分。
模型的建立就是为了预测新样本。SPSS是通过评分向导功能来实现模型预测的,将通过训练样本创建的模型应用到测试数据集,并生成得分。
下面将详细介绍如何通过SPSS的评分向导功能,应用已有的模型对新的数据进行模型预测。后续章节的模型变量预测与此类似,我们将不再做详细介绍。
2.8.1 导入预测数据
打开要评分的数据集,将“预测数据.sav”导入SPSS 24.0软件,如图2-34所示。
图2-34 导入预测数据
2.8.2 打开评分向导
(1)选择“评分向导”功能,打开评分向导:从菜单中选择“实用程序>评分向导”,如图2-35所示。
图2-35 打开评分向导
(2)选择评分模型。模型文件可以是包含模型PMML的XML文件或压缩文件归档,该列表只显示扩展名为.zip或.xml的文件,可以使用“浏览”按钮导航到其他位置,以选择模型文件。模型详细信息显示所选模型的基本信息,如模型方法、目标变量和用于构建模型的预测变量,如图2-36所示。
图2-36 选择评分模型
2.8.3 匹配模型字段
匹配数据集中的字段与模型中使用的字段。数据集中必须包含模型中的所有预测变量,如图2-37所示。
(1)将模型字段与数据集进行匹配
- 数据集字段:包含活动数据集中所有字段的名称。
- 模型字段:模型中使用的字段。
- 角色:显示的角色可以是预测变量、拆分字段或记录ID。
- 测量:对于测量级别会影响得分的模型,将使用模型中定义的测量级别。
- 类型:数据集中的数据类型必须匹配模型中的数据类型,可以是字符串、数值或日期等。
(2)缺失值
控制评分过程中遇到的模型中定义的预测变量缺失值的处理方法。
- 进行值替换。对具有缺失值的个案评分时尝试使用值替换。确定替换缺失值的方法取决于预测模型的类型,主要有线性回归、判别模型、决策树模型和Logistic回归模型。
- 使用系统缺失值。对具有缺失值的个案进行评分时返回系统缺失值。
图2-37 匹配模型字段
2.8.4 选择评分函数
选择要使用的评分函数。评分函数是所选模型可用的“得分”类型,例如目标的预测值、预测值的概率或所选目标值的概率,如图2-38所示。
图2-38 选择评分函数
在向导的最后步骤可以对活动数据集进行评分或粘贴所生成的命令语法到语法窗口,然后修改和/或保存所生成的命令语法,如图2-39所示。
图2-39 对活动数据集进行评分
单击“完成”按钮,模型的预测结果如图2-40所示,其中PredictedValue为预测值。
图2-40 显示预测结果