SPSS分析技术:神经网络算法;源于人的思维结构的数据分析算法

基础准备

前面草堂君简要介绍了神经网络算法的基本原理,大家可以点击下方文章链接回顾:


现实生活中,很多事情人们往往只关注结果输出,而忽略输入因素,以及输入到输出的具体过程;即使很多有心人想要总结输入到输出的路径规律,也会发现涉及的输入影响因素(变量)太多,因素之间还可能存在交互作用,导致输入到输出的路径错综复杂,就像人的神经网络一样,很难发现从输入到输出这个过程的具体规律。例如,经常会听到这样的比较,一个家长对另一个家长说,同样都是在一个学校一个班级上课,师资力量相同,孩子智商差不多,课外辅导也是同样的机构,为什么自己的孩子学习成绩总是不如别人家的孩子。


神经网络算法能够通过大量的历史数据,逐步建立和完善输入变量到输出结果之间的发展路径,也就是神经网络,在这个神经网络中,每条神经的建立以及神经的粗细(权重)都是经过大量历史数据训练得到的,数据越多,神经网络就越接近真实。神经网络建立后,就能够通过不同的输入变量值,预测输出结果。例如,银行能够通过历史申请贷款的客户资料,建立一个神经网络模型,用于预测以后申请贷款客户的违约情况,做出是否贷款给该客户的决策。本篇文章将用一个具体银行案例数据,介绍如何使用SPSS建立神经网络模型,用于判断将来申请贷款者的还款能力。

随机数发生器

选取历史数据建立模型,一般会将历史数据分成两大部分:训练集和验证集,很多分析者会直接按照数据顺序将前70%的数据作为训练集,后30%的数据作为验证集。如果数据之间可以证明是相互独立的,这样的做法没有问题,但是在数据收集的过程中,收集的数据往往不会是完全独立的(变量之间的相关关系可能没有被分析者发现)。因此,通常的做法是用随机数发生器来将历史数据随机分成两部分,这样就能够尽量避免相同属性的数据被归类到一个数据集当中,使得建立的模型效果能够更加优秀。

 

在具体介绍如何使用SPSS软件建立神经网络模型的案例之前,先介绍SPSS的另外一个功能:随机数发生器。SPSS的随机数发生器常数的随机数据不是真正的随机数,而是伪随机数。伪随机数是由算法计算得出的,因此是可以预测的。当随机种子(算法参数)相同时,对于同一个随机函数,得出的随机数集合是完全相同的。与伪随机数对应的是真随机数,它是真正的随机数,无法预测也没有周期性。目前大部分芯片厂商都集成了硬件随机数发生器,例如有一种热噪声随机数发生器,它的原理是利用由导体中电子的热震动引起的热噪声信号,作为随机数种子。


在接下来的案例分析中,我们首先利用SPSS的随机数发生器将历史数据随机分成两部分,一部分用作训练集,另一部分用作验证集。

案例分析

现在有一份某银行的贷款者数据。其中700条是历史贷款者记录,这些数据记录包括9个变量:年龄、学历水平、收入水平等8个身份变量和1个贷款是否违约变量。数据另外还包括150条新的申请贷款者记录,这些记录只有前面8个身份变量信息。数据已经整理成SPSS格式,如下图所示。现在用前面700条历史贷款者记录建立神经网络模型,然后将建立的模型用于150名新的申请贷款者的违约判断。

《SPSS分析技术:神经网络算法;源于人的思维结构的数据分析算法》

(例题数据文件已经上传到QQ群中,需要的朋友可以前往下载)

分析思路

在700条历史数据中,需要分成两部分:训练集和验证集。为了避免训练集和验证集内数据的不随机性,先使用随机数发生器生成随机数种子,然后再用伯努利公式,随机抽取70%的数据作为训练集,另外30%的数据作为验证集。

分析步骤

1、选择菜单【转换】-【随机数生成器】,跳出下方对话框。将设置起点选中,然后选择固定值,点击【确定】,这时随机数种子就成功了。下次如果还需要生成同样的随机数据集合,选择同样的固定值即可。

《SPSS分析技术:神经网络算法;源于人的思维结构的数据分析算法》

2、点击【转换】-【计算变量】,生成一个新变量,该变量用于将700条数据记录分成两份,训练集和验证集。新变量名称命名为数据集,数学表达式为RV.BERNOULLI(0.7),表示采用伯努利随机试验,随机将700条记录分成两份,一份为70%,另一份为30%。

《SPSS分析技术:神经网络算法;源于人的思维结构的数据分析算法》

3、点击【确定】输出结果。

结果解释

生成一列新变量,其中1代表训练集数据,0代表验证集数据。其中验证集数据总共有211条记录,占700条数据的30.1%。接下来用SPSS进行神经网络模型的建立。

《SPSS分析技术:神经网络算法;源于人的思维结构的数据分析算法》

分析步骤

1、选择菜单【分析】-【神经网络】-【多层感知器】,在跳出的对话框中进行如下选择。将需要预测的变量选为因变量;分类型变量选为因子;连续型变量选为协变量。

《SPSS分析技术:神经网络算法;源于人的思维结构的数据分析算法》

2、点击左上角的【分区】,然后选择使用分区变量来分配个案,然后将新生成变量数据集选为分区变量。

《SPSS分析技术:神经网络算法;源于人的思维结构的数据分析算法》

3、点击左上角【保存】按钮,将预测值和预测概率选中。最后会在数据视图中新生成预测类别和预测概率两个变量。

《SPSS分析技术:神经网络算法;源于人的思维结构的数据分析算法》

4、点击【确定】,输出结果。


结果解释

1、神经网络模型结构。可以发现,建立的神经网络模型分成三层:输入层,隐藏层和输出层,每层的结构如下表所示。

《SPSS分析技术:神经网络算法;源于人的思维结构的数据分析算法》


2、神经网络图。下图是建立的神经网络模型的结构图,线的颜色和粗细代表了每个神经元连接的权重,这些权重是根据700条数据训练出来的。

《SPSS分析技术:神经网络算法;源于人的思维结构的数据分析算法》


3、神经网络模型质量。从模型摘要可以知道,在训练集中,有16.2%的数据被错误估计,而在检验集中,该比例上升到22.3%,差异还是比较大的。右表示训练集和检验集具体的预测情况,可以发现,无论是训练集还是检验集,实际违约客户被错误预测成无违约情况的比例还是很高的,分别达到1-54.3%=45.7%和1-38.9%=61.2%。综上所述,建立的神经网络模型质量不太好,可以通过更多的数据训练模型,作进一步优化。

《SPSS分析技术:神经网络算法;源于人的思维结构的数据分析算法》

总结一下

最近几篇推送是关于决策树和神经网络的内容,这些内容与前面介绍过的聚类分析,因子分析等分析方法都是数据挖掘的常用分析方法,SPSS在这方面的设计和使用都不是非常的全面。因此,有关数据挖掘分析方法的理论与软件操作会在接下来介绍SPSS Modeler的时候更加详细的介绍。大家可以加入qq群下载数据文件,跟随草堂君的文章一起练习。


所有例题的数据文件都会上传到QQ群中,需要对照练习的朋友可以前往下载,QQ群号见下方温馨提示。生活统计学不仅有各种数据分析方法,更有容易被大家忽视的生活常识。

温馨提示:

  • 数据分析课程私人定制,一对一辅导,添加微信(possitive2)咨询!

  • 生活统计学QQ群:134373751,用于分享文章提到的各种案例资料、软件、数据文件等。支持各种资料的直接下载和百度云盘下载。

  • 生活统计学微信交流群,用于各自行业的数据研究项目及其成果交流分享;由于人数大于100人,请添加微信possitive2,拉您入群。

  • 数据分析咨询,请点击首页下方“互动咨询”板块,获取咨询流程!

《SPSS分析技术:神经网络算法;源于人的思维结构的数据分析算法》

    原文作者:神经网络算法
    原文地址: https://blog.csdn.net/D07Qs2KxkH0KkSxEx/article/details/78477257
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞