SPSS 命令: SPSS DISCRIMINANT

在浏览器中做判别分析

判别分析寻找最能区分已知组别的数值预测变量线性组合,并据此对个案分类。

免费 · 无需注册 · 文件留在本机 · 更新于 2026年10月18日

能告诉你什么

Crosstabs 运行与 SPSS DISCRIMINANT 对应的过程:可一起输入或按 Wilks' lambda 步进选择自变量,并输出 Box's M、典型判别函数系数、Fisher 分类函数,以及原始和留一法交叉验证的分类结果。

  • 各组在预测变量上是否存在差异:逐变量检验,以及通过 Wilks' lambda 的联合检验。
  • 有几个判别函数有意义,每个函数解释多少组间方差,以及对应的典型相关。
  • 哪些预测变量主导各个函数:见标准化系数和结构矩阵。
  • 判别函数的分类准确度:包括在拟合数据上和留一法交叉验证下的结果。

适用场景

适合使用

  • 结果为已知组别的分类变量(如按时还款、逾期、违约),且每个个案都测量了若干连续预测变量。
  • 在低维空间中描述组间差异,例如把聚类分析得到的细分群放到两个判别函数上进行比较。
  • 预测变量在组内近似正态时,线性判别分析效率高,后验概率也较为准确。

改用其他方法

  • 预测变量为分类变量或明显非正态:使用多项或二元 Logistic 回归。
  • 各组协方差矩阵差异很大(大样本下 Box's M 显著):线性规则不再最优,而本面板不提供二次判别分类。
  • 只需要预测分类器、不关心判别函数:K 最近邻或决策树可能更合适。

在 Crosstabs 中如何操作

  1. 01

    打开判别分析

    在“统计”模式下,在“分类”组中选择“判别分析”(DISCRIMINANT)。

  2. 02

    设置分组变量

    选择“分组变量”;可选的是有 2 到 30 个不同取值的变量,组名使用值标签。

  3. 03

    勾选自变量

    在“自变量”中勾选数值型预测变量。

  4. 04

    选择方法和先验概率

    在“方法”中选择“一起输入自变量”或“使用步进法(Wilks' lambda)”(进入 F = 3.84,删除 F = 2.71,容差 0.001)。将“先验概率”设为“所有组相等”或“根据组大小计算”。

  5. 05

    运行并查看分类结果

    运行分析。若工作区设有权重,需先声明为频数权重;抽样权重不会被使用。

计算示例

以下结果由 Crosstabs 引擎在构建本页时根据模拟数据实际计算得出,并非手工填写。

用示例数据试一试

数据

90 名模拟贷款申请人,三种结果组(按时还款、逾期、违约)各 30 人,收入(千元)、负债收入比(%)和工作年限由各组均值不同的正态分布按固定随机种子生成。三个自变量一起输入,先验概率为所有组相等(面板默认值)。

特征值
函数特征值方差百分比累积 %典型相关性
12.27399.699.60.833
20.0100.4100.00.098
Wilks' Lambda
函数检验Wilks' Lambda卡方df显著性
1 到 20.303102.8056<.001
20.9900.8282.661
标准化典型判别函数系数
项目函数 1函数 2
income−0.4940.872
debt_ratio0.7380.641
years_employed−0.381−0.046

函数符号是任意的;每个函数都以其最大标准化系数为正的方向表示。

分类结果
项目按时还款逾期违约正确 %
原始:按时还款282093.3
原始:逾期7131043.3
原始:违约062480.0
交叉验证:按时还款273090.0
交叉验证:逾期9111036.7
交叉验证:违约062480.0

原始分组个案的正确分类率为 72.2%,交叉验证(留一法)分组个案为 68.9%。

结果解读

函数 1 解释了 99.6% 的组间方差(典型相关 0.833),函数 1 到 2 的检验得 Wilks' λ = 0.303,p < .001。第二个函数不显著(p = .661),说明三种结果基本沿一个维度排列。判别函数正确分类了 72.2% 的申请人,留一法下为 68.9%,而在先验概率相等时随机猜测仅为 33.3%。Box's M = 15.99(p = .231)用于检查线性判别规则所依赖的协方差矩阵相等假设。

输出表格说明

组平均值的同等检验
每个预测变量单独的 Wilks' lambda 和 F 检验;其前的“组统计”表给出各组平均值和标准差。
Box 协方差矩阵相等性检验
Box's M 及其近似 F(或卡方)检验,以及各组和合并组内矩阵的对数行列式。该检验在大样本和非正态数据下较为敏感。
特征值
每个函数的特征值、方差百分比、累积百分比和典型相关;函数个数最多比组数少一。
Wilks' Lambda
依次检验函数 1 到 m、2 到 m 等,给出卡方和显著性,用于判断保留几个函数。
标准化典型判别函数系数
标准化预测变量的权重,可在变量之间比较;其后依次为结构矩阵、未标准化系数、组质心处的函数、组的先验概率和分类函数系数。
分类结果
实际组别与预测组别的计数和百分比,以及正确分类百分比;“分类结果(交叉验证)”表中每个个案都由不含该个案拟合的函数进行分类。

前提假设与注意事项

  • 各组内预测变量近似服从多元正态分布。
  • 各组具有相同的协方差矩阵(用 Box's M 检验);分类规则使用合并组内矩阵。
  • 预测变量之间不存在完全线性组合:组内矩阵奇异时分析将停止。
  • 每组个案数应多于预测变量数;分组变量或任一预测变量缺失的个案被成列排除。

结果如何验证

DISCRIMINANT 与按 SPSS 算法独立编写的 NumPy/SciPy 实现(NumPy 2.5.4、SciPy 1.18.1、statsmodels 0.15.0)对照,数据包括采用相等先验和按组大小先验的 Fisher 鸢尾花数据、葡萄酒数据中的两类子集以及频数加权数据:特征值与单变量 Wilks' lambda 和 F 的误差在 1e-9 以内,系数、结构矩阵、组质心、Fisher 分类函数、后验概率和 Box's M 误差在 1e-8 以内,原始与留一法预测完全一致。与 R 的 MASS 7.3.66 lda 及 biotools 4.3 boxM 的误差在 1e-7 以内;步进选择与穷举行列式搜索和 statsmodels MANOVA 一致,频数权重与复制个案的结果相同。 验证证据(英文)

常见问题

标准化系数与结构矩阵有何区别?

标准化系数是偏权重,表示在控制其他变量后某个预测变量的独特贡献。结构相关是变量与函数的简单相关,在预测变量相关时更稳定,因此许多分析者依据结构矩阵为函数命名。

为什么要报告交叉验证分类结果?

原始分类表使用了建立函数的同一批个案,因而偏乐观。留一法用不含该个案拟合的函数对其分类,能更公正地估计在新数据上的准确度。

先验概率应设为相等还是按组大小计算?

当样本比例能代表总体时按组大小计算,较常见的组会被更多地预测。当各组按固定数量抽样,或各组误分的代价相同时,使用相等先验。

Box's M 显著,分析就无效了吗?

不一定。Box's M 在大样本和非正态数据下非常敏感。若各组样本量相近,线性判别分析相当稳健;可先比较其交叉验证准确率与 Logistic 回归,再作判断。

能把判别得分或预测组别保存到数据集中吗?

面板只输出表格,不会向数据集新增变量。可以利用“典型判别函数系数”或“分类函数系数”手动为新个案打分。

用你自己的数据运行判别分析

打开 .sav、CSV 或 Excel 文件。所有计算都在浏览器中完成,文件不会离开你的设备。

打开分析工作区

SPSS 是 IBM Corp. 的商标。Crosstabs 与 IBM 无关联,也未获得 IBM 认可。