SPSS 命令: SPSS LINEAR
在浏览器中做自动线性建模(LINEAR)
自动线性建模先清理预测变量并决定保留哪些,再拟合线性回归。
免费 · 无需注册 · 文件留在本机 · 更新于 2026年10月18日
能告诉你什么
Crosstabs 在你的设备上运行 SPSS LINEAR:可选的自动数据准备(测量级别转换、离群值截断、缺失值替换、类别合并),按 AICC、F、调整后 R² 或过度拟合预防误差进行向前逐步或最佳子集选择,并输出含预测变量重要性的效应表、系数和离群值。
- 哪些预测变量值得进入模型——按逐步顺序或最佳子集——以及选择准则在过程中的变化。
- 所选模型解释了目标多少方差(调整后 R²,显示为准确度)及其 AICC。
- 每个效应有多重要——其 III 类平方和占总和的比例——以及带置信区间的系数。
- 数据准备改动了什么:哪些预测变量被转换测量级别、截断、填补缺失或合并类别,以及哪些记录是有影响力的离群值。
适用场景
适合使用
- 标度结果变量,候选预测变量很多且数据不够整洁——有离群值、零散缺失值、类别多而稀疏的分类预测变量。
- 在手工建立回归模型之前,快速得到一个站得住脚的初始模型,看看哪些驱动因素重要。
- 希望按信息准则或保留样本误差选择变量,而不只是依据 p 值。
改用其他方法
- 模型已由理论事先确定:请使用线性回归或 GLM 单变量,并报告所有预定的项。
- 目标为二分类、计数或有序变量:LINEAR 需要标度目标;请使用 Logistic、广义线性或有序回归。
- 需要提升(boosting)或装袋(bagging)集成模型:请使用单独的“线性模型集成”过程。
- 调查权重:抽样权重不予运行;基于设计的推断请使用复杂抽样过程。
在 Crosstabs 中如何操作
- 01
打开数据
在工作区打开文件并切换到“统计”模式。
- 02
选择自动线性建模
在“回归”组中选择“自动线性建模”。
- 03
设置目标和预测变量
选择“目标”,勾选“连续预测变量”和“分类预测变量”(测量级别声明为有序的分类变量按有序处理),并保持勾选“自动准备数据”。
- 04
选择建模方式
在“模型选择”中选择“模型选择方法”(向前逐步、最佳子集或包含所有预测变量)和“进入/删除准则”:信息准则(AICC)、F 统计量(仅向前逐步,并设置进入和删除的 p 值)、调整后 R 方,或过度拟合预防准则 (ASE)(并设置“过度拟合预防集(%)”和“随机种子”)。
- 05
声明权重并运行
设置系数的“置信水平(%)”。若数据集有权重,需声明为频数权重(四舍五入为整数个案)或抽样权重(不予运行),然后点击“运行”。
计算示例
以下结果由 Crosstabs 引擎在构建本页时根据模拟数据实际计算得出,并非手工填写。
数据
150 次模拟服务记录。满意度(0–100)随等待时间增加而下降,随 1–4 分的员工评分上升,并因渠道而不同,其中 app 与 web 的效应被设定为相同;年龄为纯噪声。有两条等待时间被误录为 150 和 180 分钟,另有六个年龄缺失。设置:开启“自动准备数据”,“向前逐步”,准则为“信息准则(AICC)”。固定随机种子。
| 预测变量 | 测量 | 所采取的操作 |
|---|---|---|
| wait_time | 连续 | 将 2 个离群值截断至 3 个稳健标准差 |
| staff_rating | 有序 | 由连续改为有序(少于 5 个值);合并类别以最大化与目标的关联:{1, 2} {3, 4} |
| age | 连续 | 已用均值替换 6 个缺失值 |
| channel | 名义 | 合并类别以最大化与目标的关联:{phone} {store} {app, web} |
| 步骤 | 操作 | 效应 | 信息准则(AICC) |
|---|---|---|---|
| 1 | 已进入 | wait_time | 705.8761 |
| 2 | 已进入 | channel | 662.0138 |
| 3 | 已进入 | staff_rating | 623.0419 |
准则值对应每一步之后的模型。
| 模型项 | 系数 | 标准误 | t | 显著性 |
|---|---|---|---|---|
| 截距 | 88.0881 | 2.0820 | 42.308 | <.001 |
| wait_time | −1.1696 | 0.1244 | −9.405 | <.001 |
| staff_rating=1, 2 | −8.7957 | 1.3008 | −6.762 | <.001 |
| staff_rating=3, 4 | 0.0000 | — | — | — |
| channel=phone | −12.8620 | 1.5927 | −8.076 | <.001 |
| channel=store | −6.2033 | 1.5433 | −4.020 | <.001 |
| channel=app, web | 0.0000 | — | — | — |
系数为 0 且无标准误表示冗余参数(参考类别)。
结果解读
按 AICC 的向前逐步依次纳入 wait_time, channel, staff_rating,并在 AICC = 623.04 处停止;最终模型在 150 条记录上解释了满意度的调整后 R² = 0.523。作为噪声变量的年龄未被纳入。重要性最高的是 wait_time(0.441)。数据准备截断了 2 个等待时间离群值(数据中有两条误录值),填补了 6 个缺失年龄,使这些记录得以保留在模型中,并将渠道合并为 3 组:{phone} {store} {app, web}。
输出表格说明
- 模型摘要
- 目标、是否开启数据准备、选择方法和准则、AICC、准确度(调整后 R²)、R²、使用时的过度拟合预防误差,以及使用和排除的记录数。
- 自动数据准备
- 每个预测变量准备后的测量级别及所采取的操作——转换测量级别、离群值截断至 3 个稳健标准差、以均值/中位数/众数替换缺失值、合并类别,或因常量而排除。
- 模型构建摘要
- 向前逐步:每一步进入或删除的效应及准则值(或 F 及其显著性)。
- 最佳子集
- 最佳子集:按选择准则排列的十个最佳模型,并列时取效应较少者。
- 效应
- 修正模型与各效应的方差分析(III 类平方和、F、显著性)及重要性,并附预测变量重要性图。
- 系数
- 每个模型项的系数、标准误、t、显著性和置信区间;系数为零且无标准误者为参考类别。
- 离群值
- Cook 距离大于 4/(N − p) 的记录(最多 25 条),并附预测值-观测值图;残差可下载为 CSV。
前提假设与注意事项
- 最终模型适用线性回归的常规假设:效应为线性、记录相互独立、残差方差大致恒定。
- 准备所用的统计量来自训练记录:取值少于 5 个的连续预测变量改为有序,类别多于 10 个的有序预测变量改为连续;当 F 检验(alpha 0.05)无法区分类别的目标均值时合并类别。
- 目标缺失的记录被排除;未开启数据准备时,任一预测变量缺失的记录也被排除。
- 效应不超过 20 个时最佳子集搜索全部组合,超过后改用文档所述的与向前逐步结合的混合方法。
结果如何验证
LINEAR 与一个按 SPSS LINEAR 和自动数据准备章节手工执行的 NumPy 实现对照,该实现在显式设计矩阵上用 numpy.linalg.lstsq 拟合每个候选模型(分布函数用 SciPy)。11 个案例涵盖按 AICC、F、调整后 R² 和 ASE 的向前逐步、最佳子集、带频数权重的全部纳入、删除步骤以及超过 20 个效应时的混合搜索。数据准备操作、所选效应、步骤顺序和子集排名完全一致;准则相对误差在 1e-9 以内,R²、调整后 R²、AICC 和 ASE 在 1e-10 以内,系数、标准误、t 和置信限在 1e-8 以内,p 值在 1e-10 以内,效应平方和与 F 在 1e-8 以内,杠杆值和 Cook 距离在 1e-10 以内。 验证证据(英文)
常见问题
应该使用哪种进入准则?
默认的 AICC 在拟合与模型规模之间取得平衡,适合大多数数据。F 统计量模拟传统逐步回归的进入与删除 p 值。ASE 随机留出一部分记录,选择对其预测最好的模型,最直接地防止过拟合。
向前逐步还是最佳子集?
最佳子集比较所有组合(最多 20 个效应),能找到逐步法遗漏的更优模型,但计算量更大;它列出十个最佳模型。向前逐步更快,并显示效应进入的顺序。
自动数据准备会改动什么?
它可以转换测量级别、截断超出 3 个稳健标准差的离群值、用均值/中位数/众数替换预测变量缺失值,以及合并目标均值相近的类别。每项操作都会按预测变量列出;取消勾选“自动准备数据”即可用原始值拟合。
预测变量重要性是如何定义的?
对最终模型中的每个效应,计算删除它时残差平方和的增加量(即其 III 类平方和),再除以所有效应的总和,使重要性之和为 1。
变量选择后的 p 值可信吗?
它们是在假定模型事先已确定的前提下计算的,因此偏乐观。请把所选模型当作假设,在新数据上或用过度拟合预防准则加以验证。
我的数据会被上传吗?
不会。数据准备、变量选择和模型拟合都在浏览器的 Web Worker 中运行。
相关过程
用你自己的数据运行自动线性建模
打开 .sav、CSV 或 Excel 文件。所有计算都在浏览器中完成,文件不会离开你的设备。
SPSS 是 IBM Corp. 的商标。Crosstabs 与 IBM 无关联,也未获得 IBM 认可。