SPSS 中的广义线性模型,预测变量之间的共同值被视为亚群。为什么?

机器算法验证 物流 spss 广义线性模型 aic 自由程度
2022-04-06 21:46:17

我正在用 SPSS 教授逻辑回归课程。教科书提供了一个带有二元预测变量和两个数值协变量的样本数据集。该样本包含 1000 行,其中许多条目具有两个预测变量的共同值。例如,一个预测器只取 5 个值,而另一个预测器取大约 20 个不同的值。

根据 SPSS 的文档,当发生这种情况时,SPSS 将数据视为来自通过公共值定义的子群体。这似乎为 AIC 产生了与忽略亚群时不同的可能性和不同的自由度。

我使用 glm 在 R 中运行数据集。自由度为997,AIC=508.93

在 SPSS 上,我得到 99 个自由度(出于拟合优度的目的)和 AIC=181.341。两种应用中的系数估计值相同。

更糟糕的是,当我在 SPSS 中仅使用 2 个预测变量中的 1 个来拟合模型时,可能性比使用 2 个预测变量的模型大:2 参数模型为 -87,1 参数模型为 -47。AIC 在 1 参数模型中也显着减小,但其他一切都表明这两个预测变量都很重要且必要。AIC 标准就这么多。

我在 R 中抖动数据,然后将其发送回 SPSS。然后,我得到了与使用 glm 的 R 中相同的结果,因为 SPSS 没有需要处理的幻影“亚群”。

问题:

  1. 当预测变量包含公共值集时,有人可以提供参考来证明将数据视为来自子群体(在这种情况下实际上不是)是合理的吗?
  2. 考虑到发生了什么,我应该如何通过比较两个模型之间的偏差来教授模型测试,使用 SPSS 和这个数据集?
  3. 我可以让 SPSS 表现得像 R 吗?
2个回答

显然您正在使用 NOMREG 程序。来自 SPSS NOMREG 帮助。请注意,您还可以使用较新的 GENLIN 过程来拟合逻辑模型。这三个将给出相同的系数和标准误差,但在其他输出中可能不同。

二元逻辑回归模型可以使用逻辑回归过程或多项逻辑回归过程进行拟合。每个程序都有其他程序没有的选项。一个重要的理论区别是逻辑回归过程使用个案级别的数据生成所有预测、残差、影响统计和拟合优度检验,而不管数据如何输入以及协变量模式的数量是否小于案例总数,而多项 Logistic 回归过程在内部聚合案例以形成具有相同协变量模式的预测变量的亚群,基于这些亚群产生预测、残差和拟合优度检验。

我在发布我的问题后做了一些研究,基本上弄清楚了。@JKP 是对的,基本上。McCullagh 和 Nelder,广义线性模型对此进行了详细讨论。亚群模型假设类别的数量随着人口的增加而保持不变。考虑一个列联表,其中行和列是恒定的,但单元格数趋于无穷大。自由度涉及对单元数的调整。这似乎是 SPSS 在广义线性模型菜单下实现的。

这解释了为什么我在添加变量时得到不兼容的结果。类别发生了变化。双参数模型不再嵌套在单参数模型中,就像按案例进行分析时那样。

SPSS 的 Regression -> Binary Logistic 菜单允许您一一输入变量(在它所谓的 Blocks 中),然后为您进行偏差卡方检验分析。使用该菜单,我能够获得与 R 中相同的结果。

在我的样本数据集中,类别的数量是偶然的(四舍五入可能是连续变量的结果),并且可能会随着样本量的增加而增加。我不确定亚群模型在这里是否合适。我可能会补充说,这不是教科书所做的,这似乎忽略了这个问题。