基础准备

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

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

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

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

随机数发生器

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

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

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

案例分析

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

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

分析思路

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

分析步骤

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

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

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

结果解释

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

分析步骤

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

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

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

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

结果解释

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

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

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

总结一下

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

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

温馨提示:

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

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

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

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

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

  1. SPSS分析技术:多元方差分析

    SPSS分析技术:多元方差分析 下面要介绍多元方差分析的内容,多元方差分析是研究多个自变量与多个因变量相互关系的一种统计理论方法,又称多变量分析.多元方差分析实质上是单因变量方差分析(包括单因素和多因 ...

  2. SPSS分析技术(导航页)

    版本号:20171027 直接点击蓝色文章名称即可阅读! 持续更新,获取最新版本请前往[分析软件]-[SPSS]! 平台学习指南 1 如何通过"SPSS生活统计学"微信公众号学习数 ...

  3. 从决策树学习谈到贝叶斯分类算法、EM、HMM - 结构之法 算法之道

    转载自:http://scm.zoomquiet.io/data/20121220000040/index.html 第一篇:从决策树学习谈到贝叶斯分类算法.EM.HMM (Machine Learn ...

  4. 什么叫结构化的算法?为什么要提倡结构化的算法?

    什么叫结构化的算法?为什么要提倡结构化的算法? 点我看视频讲解+可运行代码 记得收藏视频,一键三连 结构化算法:由一些顺序.选择.循环等基本结构按照顺序组成,流程的转移只存在于一个基本的范围之内. 机 ...

  5. SPSS分析技术:时间序列分析的ARIMA模型;考虑各种促销因素的服装销售额预测

    基础准备 学习积累的过程,是量变到质变的过程.草堂君在前面介绍了时间序列分析的多篇文章,这些文章的安排都是按照循序渐进学习时间序列分析的过程来安排的,大家可以点击下方的链接回顾: 数据分析技术:时间序 ...

  6. SPSS分析技术:决策树分析;银行如何判断申请贷款者的还款能力?

    基础准备 上一篇文章介绍了决策树分析的基本理论,以及它与聚类分析.判别分析.逻辑回归分析等分类和判别方法的区别与联系,大家可以点击下方文章链接回顾: 数据分析技术:决策树分析:机器学习入门模型 决策树 ...

  7. AMOS分析技术:斜交验证性因子分析;介绍如何整理出能够放入论文的模型信效度结果

    基础准备 上一篇文章我们介绍了验证性因子分析的概念和分析逻辑,以及通过验证性因子分析可以直接或间接的得到哪些问卷数据的信度与效度指标,大家可以点击下方的文章名称回顾: AMOS分析技术:验证性因子分析 ...

  8. 散列算法和哈希表结构

    散列算法和哈希表结构 散列算法和哈希表结构 算法概述 Hash ,一般翻译做" 散列" ,也有直接音译为" 哈希" 的,就是把任意长度的输入(又叫做预映射, p ...

  9. 神经网络的图像识别技术,神经网络图像识别算法

    神经网络提取图像的概率分布特征 神经网络提取图像的概率分布特征:由于一个映射面上的神经元共享权值,因而减少了网络自由参数的个数,降低了网络参数选择的复杂度. 卷积神经网络中的每一个特征提取层(C-层) ...

  10. 动作分析 姿态估计_单人或多人的人体姿态骨架估计算法概述

    原标题:单人或多人的人体姿态骨架估计算法概述 如何在大片中实现人物的特效,最终应用人体姿态估计.本博客介绍了使用深度学习技术及其应用的多人姿势估计方法. 人体骨骼骨架以图形格式表达人体运动.基本上,它 ...

最新文章

  1. Jdbc连接数据库大全
  2. 深数据 - Deep Data
  3. 录播软件开始麦克风应该打开还是关闭
  4. python显示语言错误_Python错误和异常
  5. boost::type_erasure::callable相关的测试程序
  6. Android错误-error:Foundtextwhereitemtagisexpected
  7. windows下cmd常用的命令
  8. php二进制保存到本地,C# 将二进制字符串保存到本地
  9. 【PostgreSQL-9.6.3】约束
  10. 【转】阿里去IOE运动
  11. libsqlite3.dylib找不到
  12. SQL Sever 2012学习总结之使用SQL语言创建数据库与表
  13. 一个很好用的,免费的UML在线画图网站
  14. 全国电费余额查询API接口
  15. 【VBA研究】智力游戏-蓝色方块
  16. 「CodePlus 2017 11 月赛」大吉大利,晚上吃鸡!(dij+bitset)
  17. 高中电子技术——万用表的表笔接法(指针式和数字式)
  18. 阿里资深架构师推荐:浅谈异地多活及阿里云容灾经验分享
  19. 阿里2017实习一面二面
  20. Poland seeks to calm row with Germany over WWII war repa industrielle Kommunikation rations

热门文章

  1. 凸函数与优化,以及海森矩阵
  2. excel计算机课程表,Excel居然能做这么漂亮的课程表!(内赠Excel模板)
  3. 8位数码管静态显示c语言,数码管静态显示介绍_8位数码管静态显示程序解析
  4. 信息系统服务器维护,信息系统运行维护服务方案(IT运维服务方案)-20210729025444.pdf-原创力文档...
  5. 把小米盒子变成文件服务器,【教程】教你在小米电视、小米盒子上导出应用源文件分享!...
  6. PR曲线与ROC曲线绘制
  7. 移动网站建设应注意哪些问题?
  8. Excel快捷键总结
  9. cesium拾取pick系列(拾取坐标和对象)
  10. 英伟达显卡老版本驱动下载网址