SPSS 命令: SPSS HILOGLINEAR

多维列联表的分层对数线性分析

分层对数线性分析为两到六个分类变量的交叉表寻找能够再现该表的最简关联结构。

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

能告诉你什么

Crosstabs 在你的设备上运行与 SPSS HILOGLINEAR 对应的过程:整体检验各阶交互(K 阶效应),度量每个效应的偏关联,并通过向后剔除去掉不必要的项,直到剩余的生成类仍能拟合该表。

  • 某一阶的全部效应(全部双向关联、三阶交互)能否一起删除(K 阶及更高阶效应)。
  • 在控制其他效应后,每个单独关联的贡献有多大(偏关联)。
  • 仍能拟合数据的最简分层模型及其逐步过程(步骤摘要),以及该模型的似然比与 Pearson 拟合。
  • 最终模型对哪些单元格拟合不佳:观察与期望计数及残差。

适用场景

适合使用

  • 有三个及以上分类变量,希望知道在考虑其他变量后哪些变量两两相关。
  • 检验条件独立,例如在已知设备的情况下年龄与购买是否无关。
  • 调查或审计中的列联表,没有哪个变量被单独视为结果。

改用其他方法

  • 只有两个变量:交叉表中的卡方检验可直接回答同样的问题。
  • 某个变量明确是响应变量:一般对数线性分析中的 Logit 模型或 Logistic 回归更易解释。
  • 稀疏单元格很多(如六个因子而个案很少):期望计数过小,卡方检验不可靠。

在 Crosstabs 中如何操作

  1. 01

    选择分层对数线性分析

    在“统计”模式下打开个案级数据,在“一般线性模型”组中选择“分层对数线性分析”(HILOGLINEAR)。若数据为汇总表,请将计数列声明为频率权重。

  2. 02

    勾选因子

    在“因子(2 到 6 个)”中勾选构成列联表的分类变量。

  3. 03

    选择起始模型

    将“模型”设为“饱和”(偏关联与参数估计值需要此选项)、“所有双向交互”或“仅主效应”。

  4. 04

    向后剔除并运行

    保持勾选“使用向后剔除”,删除剔除检验 p 值大于 .05 的效应,然后点击“运行”。

计算示例

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

用示例数据试一试

数据

400 名模拟购物者按 age(Under 35、35+)、device(Mobile、Desktop)和 bought(Yes、No)交叉分类。年轻人更多使用手机,手机端购买率较低;年龄与购买之间没有直接关联(随机种子固定)。“模型”= 饱和,勾选“使用向后剔除”。

K 阶及更高阶效应
项目K自由度似然比卡方似然比显著性Pearson 卡方Pearson 显著性迭代次数
K 阶及更高阶效应17104.405<.001110.400<.0010
2460.504<.00159.901<.0012
310.002.9670.002.96712
K 阶效应1343.901<.00150.499<.0010
2360.502<.00159.899<.0010
310.002.9670.002.9670
偏关联
效应自由度偏卡方显著性迭代次数
age10.250.6172
device11.962.1612
bought141.689<.0012
age*device153.699<.0012
age*bought10.018.8922
device*bought15.600.0182
拟合优度检验
项目卡方自由度显著性
似然比0.0202.990
Pearson0.0202.990

模型(生成类):age*device、device*bought。

结果解读

三阶交互可以忽略(K = 3:似然比 χ²(1) = 0.002,p = .967)。偏关联显示 age×device(χ² = 53.70,p < .001)和 device×bought(χ² = 5.60,p = .018)关联显著,而 age×bought 不显著(p = .892)。向后剔除恰好保留这两项:最终模型的拟合为 χ²(2) = 0.020,p = .990——在已知设备的条件下,年龄与购买相互独立。

输出表格说明

数据信息
有效、缺失与加权个案数,以及每个因子的类别数。
K 阶及更高阶效应
检验 K 阶及更高阶效应全部为零,以及仅 K 阶效应为零的似然比与 Pearson 检验。
偏关联
每个效应从同阶模型中删除后的偏卡方;起始模型为饱和模型时输出。
参数估计值
饱和模型的效应编码(和为零)估计值,每个单元格加 0.5,附 Z 检验与置信区间。
步骤摘要
每一步剔除:生成类、删除的效应及卡方变化量。
拟合优度检验
最终模型的似然比与 Pearson 卡方;p 值较大表示模型能再现该表。随后输出单元格计数和残差。

前提假设与注意事项

  • 单元格计数为相互独立的泊松或多项计数——每个个案只出现在一个单元格中。
  • 层次性:模型包含某个交互项时,也包含其全部低阶项。
  • 期望计数不能过小;为保证卡方近似,多数期望计数应大于 5。

结果如何验证

HILOGLINEAR 在一个四因子列联表上,与 statsmodels 的泊松 GLM 拟合及 NumPy 实现的迭代比例拟合对照:K 阶似然比与 Pearson 统计量及偏关联误差在 1e-7 以内,饱和模型效应编码的估计值与标准误(delta 0.5)在 1e-8 以内;向后剔除须得到相同的最终模型,其拟合统计量误差在 1e-7 以内且自由度一致。 验证证据(英文)

常见问题

什么是生成类?

分层模型中的最高阶项。生成类 age*device, device*bought 意味着包含三个变量的主效应和这两个关联,但不含 age*bought 项。

为什么期望计数要迭代到完全收敛?

这里的迭代比例拟合一直运行到期望计数不再变化,而不是在 SPSS 默认的 20 次循环后停止,因此得到的是精确的最大似然值。若 SPSS 提前停止,结果在最后几位小数上可能略有差异。

只有汇总计数的表格怎么分析?

每个单元格录入一行并加一列计数,将其设为工作区权重并声明为频率权重。这样每行即代表相应数量的相同个案。

为什么没有偏关联?

只有当“模型”为“饱和”时才计算偏关联和参数估计值。请从饱和模型开始,再由向后剔除进行简化。

用你自己的数据运行分层对数线性分析

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

打开分析工作区

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