R和SPSS返回不同的参数以进行对数线性分析

问题描述 投票:0回答:1

我对以下研究生录取数据在R中进行了对数线性分析。

grad_admissions <- array(data = c(39, 10, 20, 15, 11, 41, 6, 60), 
                         dim = c(2,2,2), 
                         dimnames = list("department" = c("one","two"),
                                         "gender" = c("male","female"),
                                         "admission" = c("admitted","notadmitted")))

ftable(grad_admissions, row.vars = c("department"),col.vars = c("admission","gender"))

grad_admissions.df <- as.data.frame(as.table(grad_admissions))

grad_admissions.df$gender <- factor(grad_admissions.df$gender, levels = c("female","male"))
grad_admissions.df$department <- factor(grad_admissions.df$department, levels = c("two","one"))
grad_admissions.df$admission <- factor(grad_admissions.df$admission, levels = c("admitted","notadmitted"))


mod1 <- glm(Freq ~ department * gender * admission, 
            data = grad_admissions.df, family = poisson)

summary(mod1)

我还在同一数据集(SAV文件here)上运行了以下SPSS语法。

DATASET ACTIVATE DataSet2.
WEIGHT BY Count.

GENLOG Gender Admitted Department
  /MODEL=POISSON
  /PRINT=FREQ RESID ADJRESID ZRESID DEV ESTIM CORR COV
  /PLOT=NONE
  /CRITERIA=CIN(95) ITERATE(20) CONVERGE(0.001) DELTA(.5).

参数估计值如下。它们相似但不完全相同。在SPSS输出中,将男性编码为0,将女性编码为1。

谁能解释为什么他们不一样吗?

SPSS vs R output

r spss
1个回答
2
投票

尝试以下操作:

GENLOG Department Gender Admitted
  /MODEL=POISSON
  /PRINT=FREQ RESID ADJRESID ZRESID DEV ESTIM CORR COV
  /PLOT=NONE
  /CRITERIA=CIN(95) ITERATE(20) CONVERGE(0.001) DELTA(0).

注意DELTA(0)子命令上的CRITERIA规范。默认情况下,SPSS GENLOG将饱和模型中每个像元的像元计数加.5,这是在对数线性模型中处理0个像元数的常用技术。

© www.soinside.com 2019 - 2024. All rights reserved.