SPSS分析技术:二阶聚类分析;为什么出现大学生“裸贷”业务,因为放贷者知道贷款者还不起

今天将介绍一种智能聚类法,二阶聚类法,在开始介绍之前,先解答很多人在后台提出的一个疑问:那就是很多分析者发现,对同一套数据应用不同的聚类分析方法,其结果经常是不一致的,甚至完全不一样,到底哪个结果是“正确”的呢?

草堂君来解释一下:聚类分析在众多数据分析方法中,其应用范围和作用都是非常亮眼的表现,但是聚类分析与其它数据分析方法之间还有一个重要的区别,就是聚类分析是一种探索性的分析方法,分析结果没有绝对的对错之分,只有相对的好坏区别。聚类分析的结果是否“漂亮”是由结果的“有用性”来决定的。如何判断结果的有用性,有以下几个主观判断的方向:

每个类别中个案的数量尽量接近。如果分析者聚类分析的目的不是为了发现异常值,那么总是希望每个类别中个案(记录)的数量尽量接近。例如,聚类分析的结果是大量的记录集中在一个类别里,这样的聚类结果是完全没有实用性的,相当于没有聚类。

不同类别间,各个因素(变量)间的差别应该尽量的大。例如,对客户群体进行分类,不同类别的客户在年龄、性别、收入等因素间的距离应该尽量大。可以用类别作为区分水平,对各个因素(变量)做单因素方差分析,通过比较F值的大小来得到各个变量在本次聚类分析中的相对重要性,F值越大的变量,对聚类结果的影响也越大。如果很多变量的单因素方差分析结果是没有显著性差异,那么聚类分析的结果很可能是不太好的。

二阶聚类法

二阶聚类法又称为两步聚类法,是一种智能聚类方法,能够用于海量和复杂类别结构数据的聚类分析。与前面介绍的层次聚类法和K-均值聚类法相比,二阶聚类法有着它们无法比拟的算法优势:

能够用于二阶聚类的变量既可以是连续型变量,也可以是离散型变量。这与层次聚类和K-均值聚类有很大不同,层次聚类需要区分变量的数据类型选择距离公式,或对离散型变量进行连续化处理,而K-均值聚类要求更严格,只能使用连续型数据,这也需要对离散型数据做连续化处理。

相比传统层次聚类和K-均值聚类算法,两步聚类法占用的计算机内存资源更少,能够用于海量数据的处理且运算速度较快。

二阶聚类能够根据AIC和BIC这两个统计量在不同类别间的变化,自动确定最佳的聚类数目,使聚类结果更为量化。

二阶聚类的聚类过程分两步完成。第一步是预聚类,在这一步中,软件会对记录(个案)进行初步聚类,结果会给出分析者设置的最大分类数;第二步是正式聚类,这步将对第一步完成的初步聚类进行再聚类并确定最终的聚类方案,确定最终类别数的标准是AIC或BIC这两个统计量。

预聚类过程;预聚类过程是通过构建和修改聚类特征树来完成的。聚类特征树可以想象成生活中的树枝,叶子是末端,连接叶子的是叶枝,连接叶枝的是分支,链接分支的是树干和根部。聚类特征树的叶子、叶枝和分支都带有自己的特征条目。每一片叶子代表一个子类,有多少片叶子就有多少个子类,叶枝和分支的特征条目是用来指引记录(个案)进入叶片(子类)的,这些特征条目包括连续变量的均值和方差以及离散型变量的频数。每个记录都从树根部进入聚类特征树,然后依照分支和叶枝的特征信息指引找到最接近的叶片(子类),如果某个记录进入到叶片子类中,那么该叶片的聚类特征将从新计算;如果记录最终没有找到合适的叶片,那么该记录就会自己成为一片叶子。当所有记录都通过以上方式进入聚类特征树,预聚类过程结束,叶片数量就是预聚类的聚类数量。

正式聚类过程;在正式聚类过程,将以预聚类的结果作为输入,对其进行再聚类,直到达成使用者指定的类别。因为这个阶段所需处理的类别数已经远小于记录的数量,所以SPSS采用的是传统的层次聚类法。在层次聚类的每个阶段,SPSS都会计算每个类别的统计量,AIC或BIC,这两个统计量的值越小,说明聚类的效果越好。二阶聚类法最终会根据AIC和BIC的大小,以及类间距离来确定最优的类别数量。

案例分析

上一篇中,我们介绍了聚类分析在客户分级管理上的应用,举的例子是电信运营商对客户群体依据各种情况下的通话时长来对他们进行分类,发现不同类别客户的通话特点,然后向不同的客户类型推出不同的套餐服务,提高运营效率,获取更高的利润。银行同样是客户非常多的企业,聚类分析在这个领域的应用很多,下面的例子将会介绍。

开始案例分析之前先说个社会热点事件。前段时间,很多大学女生赤裸身体拿着身份证的照片在网络上大范围传播,由此揭开了大学校园里的裸贷黑幕。很多大学女生向互联网金融机构借款,无需抵押和担保,只需赤裸身体,拿着身份证照几张照片就能贷款成功,这些贷款的利息非常高,很多女生逾期无法偿还本金和利息,被追债人员拿着裸照威胁父母替她们还钱,甚至有的追债人威胁女生“肉偿”。从下面案例的聚类分析结果可以知道,大学生本来就是违约的高风险群体,这些互联网金融机构大肆向大学生提供不需信用审核的高利息贷款的行为,与高利贷无异。

银行有一套风险评估的模型,可以对每个客户进行分类,为每一类客户打上标签。比如你去办贷款,会先叫你提供一大堆的材料,采集到你的各种信息以后,将信息放入模型里计算,从而确定处在哪个级别,然后根据这个级别决定是否给你贷款以及贷款的额度是多少。信用卡的申办过程也是如此。当然,之前中国的信贷业务曾经走过一段多快好省的岁月,拉着你办信用卡。现在有一份某银行的1500个客户的数据资料,记录了客户的包括年龄、教育程度、工龄、收入等9个变量信息。如下图所示,其中有定距变量,也有定类变量。用二阶聚类的方法对这些客户进行分类。

分析步骤

1、选择菜单【分析】-【分类】-【两步聚类】,在跳出的对话框中进行如下操作,将“教育水平”和“是否曾经违约”选入分类变量,将其它定距型变量选入连续变量;在聚类准侧中选择BIC,也可以选择AIC。

如果只有连续变量,距离测量可以使用欧氏距离,也可以使用对数似然值,使用欧式距离和传统聚类方法的距离测量没有太大区别。如果既有离散变量又有连续变量,那么就只能使用对数似然值来表述个案间的距离了。二阶聚类会自动对连续型变量进行标准化。聚类数目可以由软件自动确定,也可以由分析者事先指定聚类数目。

2、点击右上角的【选项】和【输出】按钮。在跳出的对话框中进行如下操作。选中透视表,能够在结果中输出结果表格,否则只能在模型查看器中查看聚类结果。选中创建聚类成员变量,聚类结束后,将会新生成一列类别变量,标明每个个案被归属的类别。

3、点解确定,输出结果。

结果解释

1、聚类过程表格。从后面的表格可以知道,软件选择的最佳聚类数是6,选择的依据可以用聚类过程表格进行说明。

确定最佳类别数的指标是BIC值,这个数值越小代表聚类效果越好,但这不是唯一的标准。从结果可知,虽然聚类数达到设定的最大值15时,BIC值最小,但是BIC值在14类到15类的变化非常小,说明从14类再分成15类意义不大,因此还需要参考BIC变化量、BIC变化比率这两个指标。BIC
变化列的数据反映相邻两个结果的BIC值之差,发现BIC值在聚为4类和6类以后,BIC值的下降幅度有大幅减少,所以聚为4到6类是比较合理的聚类数据。距离测量比率表示不同聚类数目的聚类分析,两种结果的最小类间距离比值,比值越大,说明继续分类的意义不大。可以发现,距离测量比率的最大值出现在4类,表示聚成4类的最小类间距离是聚成5类的最小类间距离的1.669倍,说明5类的最小类间距离太小,没有拆分的意义。综上所述,软件选择4类为最佳聚类数。

2、聚类情况;表明每个类别的聚类数和比例。

3、类别的描述统计结果;连续型变量的结果显示每个类别的平均值和标准差,分类型数据显示不同类别的频数分布。这些都能够帮助分析者了解分类结果的有用性。限于篇幅,这里就聚类结果做过多解释,如果每个类别的变量特征有显著性差异,能够帮助分析者做制定行动措施,那么聚类结果就是有用的。

4、聚类综合结果查看器;鼠标双击这两个图形区域,会跳出结果查看页面,里面综合了各种可视化的聚类结果。

5、可视化聚类结果;左图是每个类别包含个案数和比例的饼图;右图是所有聚类变量在本次聚类分析过程的重要性,从结果可知,是否违约这个变量最重要;

下图显示的是每个类别包含个案的描述性统计结果。以第四个类别为例,这个类别的客户基本上都违约了,他们在当前公司的工作时间很短,家庭收入很低,年龄较小,在当前居住地的居住年限短,负债数额不高,但负债收入比却很高,以上客户的特点和裸贷的大学生群体特征很相似。此外,这个类别的学历水平分布很均匀,什么学历的都有,说明违约与学历之间没有直接联系。

总结一下

从以上结果可以看出,银行信贷数据能够很容易得出大学生的还贷违约概率极高,很多互联网金融机构作“裸贷”业务,与沾血的“高利贷”如出一辙。

SPSS分析技术:二阶聚类分析;为什么出现大学生“裸贷”业务,因为放贷者知道贷款者还不起的更多相关文章

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

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

  2. SPSS分析技术:CMH检验(分层卡方检验);辛普森悖论,数据分析的谬误

    SPSS分析技术:CMH检验(分层卡方检验):辛普森悖论,数据分析的谬误 只涉及两个分类变量的卡方检验有些时候是很局限的,因为混杂因素总是存在,如果不考虑混杂因素,得出的分析结论很可能是谬误的,这就是 ...

  3. SPSS分析技术:无序多元Logistic回归模型;美国总统大选的预测历史及预测模型

    SPSS分析技术:无序多元Logistic回归模型:美国总统大选的预测历史及预测模型 在介绍有序多元Logistic回归分析的理论基础时,介绍过该模型公式有一个非常重要的假设,就是自变量对因变量多个类 ...

  4. SPSS分析:Bootstrap

    SPSS分析:Bootstrap 一.原理: 非参数统计中一种重要的估计统计量方差进而进行区间估计的统计方法,也称为自助法.其核心思想和基本步骤如下: 1.采用重抽样技术从原始样本中抽取一定数量(自己 ...

  5. SPSS分析过程可自动化,你知道吗

    SPSS分析过程可自动化,你知道吗 在使用SPSS的过程中,有时候会遇到重复进行相同分析操作的情况,或者分析过程很复杂的情况. 这时候我们多么希望SPSS能够记住上一次的分析步骤,不要让我们重复的去点 ...

  6. C++反汇编与逆向分析技术揭秘

    C++反汇编-继承和多重继承   学无止尽,积土成山,积水成渊-<C++反汇编与逆向分析技术揭秘> 读书笔记 一.单类继承 在父类中声明为私有的成员,子类对象无法直接访问,但是在子类对象的 ...

  7. 用于 C&sharp; 图像识别的轮廓分析技术

    用于 C♯ 图像识别的轮廓分析技术 供稿:Conmajia 标题:Contour Analysis for Image Recognition in C# 作者:Pavel Torgashov 此中文 ...

  8. 分析技术和方法论营销理论知识框架,营销方面4P、用户使用行为、STP,管理方面5W2H、逻辑树、金字塔、生命周期

    原文:五种分析框架:PEST.5W2H.逻辑树.4P.用户使用行为 最近在一点点的啃<谁说菜鸟不懂得数据分析>,相当慢,相当的费脑力,总之,真正的学习伴随着痛苦:) 最初拿到这本书的时候, ...

  9. 分析技术在PMP中的应用

    Analytical Techniques, 根据可能的项目或者环境变量变化以及它们与其他变量之间的关系,对潜在后果进行评估,分析和预测的各种技术. 4.4.2.2 监控项目工作: 分析技术 包括: ...

随机推荐

  1. 子类A继承父类B, A a = new A(); 则父类B构造函数、父类B静态代码块、父类B非静态代码块、子类A构造函数、子类A静态代码块、子类A非静态代码块 执行的先后顺序是

    按照先后顺序: 1,静态先于非静态代码库执行(静态代码块随着类的加载而加载,初始化只执行一次) 2,父类先于子类 3,非静态代码块优于构造函数执行 所以执行顺序如下: 父类B静态代码块->子类A ...

  2. JavaSE_03_Thread类02

    1.1 线程状态概述 当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态.在线程的生命周期中, 有几种状态呢?在API中 java.lang.Thread.State 这个 ...

  3. Laravel 错误处理

    错误提示:cURL error 60: SSL certificate problem: unable to get local issuer certificate 解决方案:修改文件,重启队列即可 ...

  4. webpack 4.0尝鲜

    发布不久得webpack 4.0据说速度快了68% - 98%,然后还支持没配置文件,所以看起来很牛逼得样子 所以尝试一发 webpack和webpack-cli分离 现在执行webpack命令 必须 ...

  5. Delphi 设计模式:《HeadFirst设计模式》Delphi7代码---迭代器模式之DinerMenu[转]

    容器的主要职责有两个:存放元素和浏览元素.根据单一职责原则(SRP)要将二者分开,于是将浏览功能打包封装就有了迭代器. 用迭代器封装对动态数组的遍历:  1  2{<HeadFirst设计模式& ...

  6. html如何设置表格单元格内容垂直居中?

    父元素设置为表格的单元格元素td,而在表格单元格中的元素设置vertical-align: middle; 对父容器(td)使用:display: table-cell 其内子元素使用:vertica ...

  7. Python-新手爬取安居客新房房源

    新手,整个程序还有很多瑕疵. 1.房源访问的网址为城市的拼音+后面统一的地址.需要用到xpinyin库 2.用了2种解析网页数据的库bs4和xpath(先学习的bs4,学了xpath后部分代码改成xp ...

  8. Simple implementation and results of genetic algorithm.

    This experiment was done for the final assignment of my Professional English class. This part has be ...

  9. Leetcode434.Number of Segments in a String字符串中的单词数

    统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符. 请注意,你可以假定字符串里不包括任何不可打印的字符. 示例: 输入: "Hello, my name is John" ...

  10. Django定义全局变量

    定义全局变量,在项目的任何位置都可以获取到变量的值 在include App=>include文件夹下=>context_processors.py 里定义需要获取的变量 #!/usr/b ...