能告诉你什么
Crosstabs 在你的设备上运行与 SPSS HILOGLINEAR 对应的过程:整体检验各阶交互(K 阶效应),度量每个效应的偏关联,并通过向后剔除去掉不必要的项,直到剩余的生成类仍能拟合该表。
- 某一阶的全部效应(全部双向关联、三阶交互)能否一起删除(K 阶及更高阶效应)。
- 在控制其他效应后,每个单独关联的贡献有多大(偏关联)。
- 仍能拟合数据的最简分层模型及其逐步过程(步骤摘要),以及该模型的似然比与 Pearson 拟合。
- 最终模型对哪些单元格拟合不佳:观察与期望计数及残差。
适用场景
适合使用
- 有三个及以上分类变量,希望知道在考虑其他变量后哪些变量两两相关。
- 检验条件独立,例如在已知设备的情况下年龄与购买是否无关。
- 调查或审计中的列联表,没有哪个变量被单独视为结果。
改用其他方法
- 只有两个变量:交叉表中的卡方检验可直接回答同样的问题。
- 某个变量明确是响应变量:一般对数线性分析中的 Logit 模型或 Logistic 回归更易解释。
- 稀疏单元格很多(如六个因子而个案很少):期望计数过小,卡方检验不可靠。
在 Crosstabs 中如何操作
- 01
选择分层对数线性分析
在“统计”模式下打开个案级数据,在“一般线性模型”组中选择“分层对数线性分析”(HILOGLINEAR)。若数据为汇总表,请将计数列声明为频率权重。
- 02
勾选因子
在“因子(2 到 6 个)”中勾选构成列联表的分类变量。
- 03
选择起始模型
将“模型”设为“饱和”(偏关联与参数估计值需要此选项)、“所有双向交互”或“仅主效应”。
- 04
向后剔除并运行
保持勾选“使用向后剔除”,删除剔除检验 p 值大于 .05 的效应,然后点击“运行”。
计算示例
以下结果由 Crosstabs 引擎在构建本页时根据模拟数据实际计算得出,并非手工填写。
数据
400 名模拟购物者按 age(Under 35、35+)、device(Mobile、Desktop)和 bought(Yes、No)交叉分类。年轻人更多使用手机,手机端购买率较低;年龄与购买之间没有直接关联(随机种子固定)。“模型”= 饱和,勾选“使用向后剔除”。
| 项目 | K | 自由度 | 似然比卡方 | 似然比显著性 | Pearson 卡方 | Pearson 显著性 | 迭代次数 |
|---|---|---|---|---|---|---|---|
| K 阶及更高阶效应 | 1 | 7 | 104.405 | <.001 | 110.400 | <.001 | 0 |
| 2 | 4 | 60.504 | <.001 | 59.901 | <.001 | 2 | |
| 3 | 1 | 0.002 | .967 | 0.002 | .967 | 12 | |
| K 阶效应 | 1 | 3 | 43.901 | <.001 | 50.499 | <.001 | 0 |
| 2 | 3 | 60.502 | <.001 | 59.899 | <.001 | 0 | |
| 3 | 1 | 0.002 | .967 | 0.002 | .967 | 0 |
| 效应 | 自由度 | 偏卡方 | 显著性 | 迭代次数 |
|---|---|---|---|---|
| age | 1 | 0.250 | .617 | 2 |
| device | 1 | 1.962 | .161 | 2 |
| bought | 1 | 41.689 | <.001 | 2 |
| age*device | 1 | 53.699 | <.001 | 2 |
| age*bought | 1 | 0.018 | .892 | 2 |
| device*bought | 1 | 5.600 | .018 | 2 |
| 项目 | 卡方 | 自由度 | 显著性 |
|---|---|---|---|
| 似然比 | 0.020 | 2 | .990 |
| Pearson | 0.020 | 2 | .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 提前停止,结果在最后几位小数上可能略有差异。
只有汇总计数的表格怎么分析?
每个单元格录入一行并加一列计数,将其设为工作区权重并声明为频率权重。这样每行即代表相应数量的相同个案。
为什么没有偏关联?
只有当“模型”为“饱和”时才计算偏关联和参数估计值。请从饱和模型开始,再由向后剔除进行简化。
相关过程
- 一般对数线性分析GENLOG
- 交叉表统计量CROSSTABS /STATISTICS
- 贝叶斯独立性检验BAYES LOGLINEAR
- 对应分析CORRESPONDENCE
- 多重对应分析MULTIPLE CORRESPONDENCE
- 免费的 SPSS 替代工具:支持范围
用你自己的数据运行分层对数线性分析
打开 .sav、CSV 或 Excel 文件。所有计算都在浏览器中完成,文件不会离开你的设备。
SPSS 是 IBM Corp. 的商标。Crosstabs 与 IBM 无关联,也未获得 IBM 认可。