SPSS统计分析案例:多层感知器神经网络
神经网络模型起源于对人类大脑思维模式的研究,它是一个非线性的数据建模工具, 由输入层和输出层、 一个或者多个隐藏层构成神经元,神经元之间的连接赋予相关的权重, 训练学习算法在迭代过程中不断调整这些权重,从而使得预测误差最小化并给出预测精度。
在SPSS神经网络中,包括多层感知器(MLP)和径向基函数(RBF)两种方法。
本期主要学习多层感知器神经网络,要把它讲清楚是比较困难的,为了能直观感受它的功能,首先以一个案例开始,最后再总结知识。
案例数据
该数据文件涉及某银行在降低贷款拖欠率方面的举措。该文件包含 700 位过去曾获得贷款的客户财务和人口统计信息。请使用这 700 名客户的随机样本创建多层感知器神经网络模型。银行需要此模型对新的客户数据按高或低信用风险对他们进行分类。
第一次分析:菜单参数
要运行“多层感知器”分析,请从菜单中选择:
分析 > 神经网络 > 多层感知器
如上图所示,MLP主面板共有8个选项卡,至少需要设置其中"变量"、"分区"、"输出"、"保存"、"导出"等5个选项卡,其他接受软件默认设置。
▌ "变量"选项卡
将"是否拖欠"移入因变量框;
将分类变量"学历"移入因子框,其他数值变量移入"协变量"框;
因各协变量量纲不同,选择"标准化"处理;
▌ "分区"选项卡
在此之前,首先在 "转换 > 随机数生成器"菜单中设置随机数固定种子为9191972(此处同SPSS官方文档,用户可以自由设定),因为"分区"选项卡中,要求对原始数据文件进行随机化抽样,将数据划分为"训练样本"、"支持样本"、"检验样本"3个区块,为了随机过程可重复,所以此处指定固定种子一枚;
初次建模,先抽样70%作为训练样本,用于完成自学习构建神经网络模型,30%作为支持样本,用于评估所建立模型的性能,暂不分配检验样本;
▌ "输出"选项卡
勾选"描述"、"图";
勾选"模型摘要"、"分类结果"、"预测实测图";
勾选"个案处理摘要";
构成"自变量重要性分析";
这是第一次尝试性的分析,主要参数设置如上,其他选项卡接受软件默认设置,最后返回主面板,点击"确定"按钮,软件开始执行MLP过程。
第一次分析产生的结果:
主要看重点的结果,依次如下:
个案处理摘要表,700个贷款客户的记录,其中480个客户被分配到训练样本,占比68.6%,另外220个客户分配为支持样本。
模型摘要表,首次构建的MLP神经网络模型其不正确预测百分比为12.7%,独立的支持样本检验模型的不正确百分比为20.9%,提示"超出最大时程数",模型非正常规则中止,显示有过度学习的嫌疑。
判断:首次建立的模型需要预防过度训练。
第二次分析:菜单参数
首次分析怀疑训练过度,所以第二次分析主要是新增检验样本以及输出最终的模型结果。
运行“多层感知器”分析,请从菜单中选择:
分析 > 神经网络 > 多层感知器
▌ "分区"选项卡
对样本进行重新分配,总700样本,支持样本继续30%,训练样本由原来的70%缩减至50%,另外的20%分配给独立的检验样本空间;
▌ "保存"选项卡
保存每个因变量的预测值或类别;
保存每个因变量的预测拟概率;
▌ "导出"选项卡
将突触权重估算值导出到XML文件;
给XML模型文件起名并制定存放路径;
其他选项卡的操作和第一次分析保持一致。返回主面板,点击"确定"开始执行第二次分析。
第一次分析产生的结果:
总样本在3个分区的分配比例。
MLP神经网络图,模型包括1个输入层、1个隐藏层和1个输出层,输入层神经元个数12个,隐藏层9个,输出层2个。
模型摘要表,模型误差在1个连续步骤中未出现优化减少现象,模型按预定中止。模型在3个分区中的不正确预测百分比较接近。
模型分类表,软件默认采用0.5作为正确和错误的概率分界,将3大分区样本的正确率进行交叉对比,显示出预测为NO,即预测为不拖欠的概率高于拖欠,模型对有拖欠的贷款客户风险识别能力较低。
预测-实测图,按照贷款客户是否拖欠与预测结果进行分组,纵坐标为预测概率。以0.5为分界时,对优质客户的识别效果较好,但是有较大的概率在识别有拖欠客户上出错。
显然以0.5作为分界并不是最优解,可以尝试将分界下移至0.3左右,此操作会使第四个箱图中大量欠贷客户正确地重新分类为欠贷者,提高风险识别能力。
自变量重要性图,重要性图为重要性表格中值的条形图,以重要性值降序排序。其显示与客户稳定性(employ、address)和负债(creddebt、debtinc)相关的变量对于网络如何对客户进行分类有重大影响;
最后来看导出的XML模型文件:
以XML文件存储了第二次构建的MLP神经网络模型,可以用于新客户的分类和风险识别。
新客户分类
假设现在有150名新客户,现在需要采用此前建立的模型,对这些客户进行快速的风险分类和识别。
打开新客户数据,菜单中选择:
实用程序 > 评分向导
型"XML文件,点击"下一步":检查新数据文件变量的定义是否准确。下一步。
选择输出"预测类别的概率"、"预测值"。完成。
新客户数据文件新增3列,分别给出每一个新客户的预测概率和风险分类(是否欠贷)。
多层感知器神经网络 总结
一种前馈式有监督的学习技术;
多层感知器可以发现极为复杂的关系;
如果因变量是分类型,神经网络会根据输入数据,将记录划分为最适合的类别;
如果因变量是连续型,神将网络预测的连续值是输入数据的某个连续函数;
建议创建训练-检验-支持三个分区,网络训练学习将更有效;
可将模型导出成 XML 格式对新的数据进行打分;