SPSS Generalized Linear Model (广义/一般化线性模型)

理解Binomial Probit和Logit模型

Posted by Lifei LI on January 4, 2019

前言

这是复旦大学2018应用心理统计学课程的期末录屏作业发布帖。
学生姓名:李莉菲 | 学号:18210730123。

任务表述:使用模拟数据验证以下等式及约等式

Aaron Swartz

知识要点:

SPSS中的Generalized Linear Model
- 选 binomial logit/probit
- response定义reference level
- predictor和model定义自变量、(缺省勾选)截距

STEP1 选取完成任务需要使用的数据集

  • 硬性要求:数据条数 >= 1000,除此之外无其他要求
  • 为方便起见,本人依旧使用李晓煦老师在课堂上进行演示时所使用的数据集,不做自行发挥
  • 数据集名称:11.Liu&Meng2003.long2wide2long.sav,文末提供下载链接,供君食用

STEP2 用SPSS打开数据集

  • 操作步骤:FileOpenData → 找到你存放上述数据集的文件夹 → 选择文件“11.Liu&Meng2003.long2wide2long.sav” → Open
  • 因本人电脑为Mac,无法使用Windows系统下对应的SPSS快捷键,因此上述操作步骤均采用鼠标点击的方式,希望学习快捷操作的童鞋可以自行检索相关信息

STEP3 制造所需要的模拟数据

  • 通过以下步骤调出SPSS Sytax界面
    • TransformCompute Variable → 设定Target Variable(即你希望添加的变量,如X) → 将等式右边部分填入Numeric Expression(如希望指定X = y,则将左列的y变量通过「移入按钮➡️」填入Numeric Expression) → 点击下方的Paste按钮,至此SPSS Sytax界面被成功调出
  • 使用以下代码模拟出所有需要的变量和数据,不建议小白直接复制粘贴,手动输入和点击可加深理解和记忆,体会代码细节处的注意要点
在SPSS Sytax界面进行数据Transform操作,所用到的代码如下:

DATASET ACTIVATE DataSet1.
COMPUTE X = y.
COMPUTE yy_p = -14 + 1.21 * X.
COMPUTE yy = RV.NORMAL(yy_p , 1).
COMPUTE yb = (yy > 0).
COMPUTE yb_L = (RV.NORMAL(yy_p , 3.14159/sqrt(3)) > 0).
COMPUTE yy_L = RV.LOGISTIC(yy_p , 1).
COMPUTE yy_Lb=  (yy_L >0).
EXECUTE.
  • 变量含义解读
    • X = y:非必须步骤,目的是为了消除不熟悉相应等式关系的同学在脑海中进行变量转换时所耗费的心理资源
    • yy_p = -14 + 1.21 * X:如果对X和yy_p进行回归分析,得到的回归方程的截距α应该恰好是-14,而斜率β也恰好是1.21,不存在任何拟合误差
    • yy = RV.NORMAL(yy_p , 1):模拟出来的yy变量服从均值M为yy_p,标准差σ为1的正态分布
    • yb = (yy > 0):将连续变量yy转换成离散变量yb,也就是服从二项分布的变量,从而使其可以满足Generalized Linear Model中的Binomial Logit和Probit Model的要求
    • yb_L = (RV.NORMAL(yy_p , 3.14159/sqrt(3)) > 0):在一步中完成了在模拟yy和yb两个变量所进行的步骤,只是标准差从1变成了π/sqrt(3)
    • yb_Lb:与yb_L类似,标准差为π/sqrt(3)

STEP4 验证等式和约等式

对应的SPSS Output结果应符合下图规律: Aaron Swartz

1. 通过变量yb进行验证

  • 做变量X与变量yb的Generalized Linear Model
  • 根据等式应得到如下结果:
    • 所得到的probit模型的回归方程的截距α的置信区间应该将(-14/(1)=-14)包含在内,而斜率β的置信区间应该将(1.21/(1)=1.21)包含在内
    • 所得到的logit模型的回归方程的截距α的置信区间应该将(-14/(1)X(π/sqrt(3))=-25.393)包含在内,而斜率β的置信区间应该将(1.21/(1)X(π/sqrt(3))=2.194)包含在内
  • SPSS操作步骤:
    • AnalyzeGeneralized Linear ModelsGeneralized Linear Models
    • 设定参数:
      • Type of model一栏 - 设定Binary Response or Events/Trials Data属性 - 选择Binary probit(对应的是probit函数)或Binary logistic(对应的是logit函数)
      • Response一栏 - 将变量yb移入Depentent Variable(因变量)之中;设定Type of Depentent Variable (Binomial Distribution Only)属性 - 将BinaryReference Category设定为First (lowest value) ←这一步非常重要但同时极易被遗漏
      • Predictors一栏 - 将变量X放入Covariates之中
      • Model一栏 - 将位于Factors and Covariates一栏中的X移入Model一栏
      • 至此,所有的参数已设定完毕,点击OK即可得到SPSS Output结果
  • SPSS Output结果如下
    • probit模型结果:
      • 截距α的置信区间:(-16.597, -11.816),-14被包含在内
      • 斜率β的置信区间:(1.018, 1.429),1.21被包含在内
    • logit模型结果:
      • 截距α的置信区间:(-30.277, -20.807),-25.393被包含在内
      • 斜率β的置信区间:(1.794, 2.609),2.194被包含在内
    • 由于yy为服从正态分布的随机数,因此不同人不同轮的精确结果存在细微差异,只要将预测的数字包含在内即视为验证成功

2. 通过变量yb_L进行验证

  • 除用变量yb_L代替yb之外,其余步骤均与上述内容一致
  • 根据等式应得到如下结果:
    • 所得到的probit模型的回归方程的截距α的置信区间应该将(-14/(π/sqrt(3))=-7.718)包含在内,而斜率β的置信区间应该将(1.21/(π/sqrt(3))=0.667)包含在内
    • 所得到的logit模型的回归方程的截距α的置信区间应该将(-14/(π/sqrt(3))X(π/sqrt(3))=-14)包含在内,而斜率β的置信区间应该将(1.21/(π/sqrt(3))X(π/sqrt(3))=1.21)包含在内
  • SPSS Output结果如下
    • probit模型结果:
      • 截距α的置信区间:(-8.633, -6.657),-7.718被包含在内
      • 斜率β的置信区间:(0.577, 0.749),0.667被包含在内
    • logit模型结果:
      • 截距α的置信区间:(-15.724, -11.758),-14被包含在内
      • 斜率β的置信区间:(1.019, 1.362),1.21被包含在内

3. 通过变量yy_Lb进行验证

  • 结果与通过变量yb_L进行验证时的结果一致(并非指结果精确一致,而是验证逻辑一致)
SPSS Sytax界面中的全部代码如下:

DATASET ACTIVATE DataSet1.
COMPUTE X=y.
COMPUTE yy_p = -14 + 1.21 * X.
COMPUTE yy = RV.NORMAL(yy_p , 1).
COMPUTE yb = (yy > 0).
COMPUTE yb_L = (RV.NORMAL(yy_p , 3.14159/sqrt(3)) > 0).
COMPUTE yy_L= RV.LOGISTIC(yy_p , 1) .
COMPUTE yy_Lb=  (yy_L >0).
EXECUTE.

* Generalized Linear Models.
GENLIN yb (REFERENCE=FIRST) WITH X
  /MODEL X INTERCEPT=YES
 DISTRIBUTION=BINOMIAL LINK=PROBIT
  /CRITERIA METHOD=FISHER(1) SCALE=1 COVB=MODEL MAXITERATIONS=100 MAXSTEPHALVING=5 
    PCONVERGE=1E-006(ABSOLUTE) SINGULAR=1E-012 ANALYSISTYPE=3(WALD) CILEVEL=95 CITYPE=WALD 
    LIKELIHOOD=FULL
  /MISSING CLASSMISSING=EXCLUDE
  /PRINT CPS DESCRIPTIVES MODELINFO FIT SUMMARY SOLUTION.

* Generalized Linear Models.
GENLIN yb (REFERENCE=FIRST) WITH X
  /MODEL X INTERCEPT=YES
 DISTRIBUTION=BINOMIAL LINK=LOGIT
  /CRITERIA METHOD=FISHER(1) SCALE=1 COVB=MODEL MAXITERATIONS=100 MAXSTEPHALVING=5 
    PCONVERGE=1E-006(ABSOLUTE) SINGULAR=1E-012 ANALYSISTYPE=3(WALD) CILEVEL=95 CITYPE=WALD 
    LIKELIHOOD=FULL
  /MISSING CLASSMISSING=EXCLUDE
  /PRINT CPS DESCRIPTIVES MODELINFO FIT SUMMARY SOLUTION.

* Generalized Linear Models.
GENLIN yb_L (REFERENCE=FIRST) WITH X
  /MODEL X INTERCEPT=YES
 DISTRIBUTION=BINOMIAL LINK=PROBIT
  /CRITERIA METHOD=FISHER(1) SCALE=1 COVB=MODEL MAXITERATIONS=100 MAXSTEPHALVING=5 
    PCONVERGE=1E-006(ABSOLUTE) SINGULAR=1E-012 ANALYSISTYPE=3(WALD) CILEVEL=95 CITYPE=WALD 
    LIKELIHOOD=FULL
  /MISSING CLASSMISSING=EXCLUDE
  /PRINT CPS DESCRIPTIVES MODELINFO FIT SUMMARY SOLUTION.

* Generalized Linear Models.
GENLIN yb_L (REFERENCE=FIRST) WITH X
  /MODEL X INTERCEPT=YES
 DISTRIBUTION=BINOMIAL LINK=LOGIT
  /CRITERIA METHOD=FISHER(1) SCALE=1 COVB=MODEL MAXITERATIONS=100 MAXSTEPHALVING=5 
    PCONVERGE=1E-006(ABSOLUTE) SINGULAR=1E-012 ANALYSISTYPE=3(WALD) CILEVEL=95 CITYPE=WALD 
    LIKELIHOOD=FULL
  /MISSING CLASSMISSING=EXCLUDE
  /PRINT CPS DESCRIPTIVES MODELINFO FIT SUMMARY SOLUTION.

* Generalized Linear Models.
GENLIN yy_Lb (REFERENCE=FIRST) WITH X
  /MODEL X INTERCEPT=YES
 DISTRIBUTION=BINOMIAL LINK=PROBIT
  /CRITERIA METHOD=FISHER(1) SCALE=1 COVB=MODEL MAXITERATIONS=100 MAXSTEPHALVING=5 
    PCONVERGE=1E-006(ABSOLUTE) SINGULAR=1E-012 ANALYSISTYPE=3(WALD) CILEVEL=95 CITYPE=WALD 
    LIKELIHOOD=FULL
  /MISSING CLASSMISSING=EXCLUDE
  /PRINT CPS DESCRIPTIVES MODELINFO FIT SUMMARY SOLUTION.

* Generalized Linear Models.
GENLIN yy_Lb (REFERENCE=FIRST) WITH X
  /MODEL X INTERCEPT=YES
 DISTRIBUTION=BINOMIAL LINK=LOGIT
  /CRITERIA METHOD=FISHER(1) SCALE=1 COVB=MODEL MAXITERATIONS=100 MAXSTEPHALVING=5 
    PCONVERGE=1E-006(ABSOLUTE) SINGULAR=1E-012 ANALYSISTYPE=3(WALD) CILEVEL=95 CITYPE=WALD 
    LIKELIHOOD=FULL
  /MISSING CLASSMISSING=EXCLUDE
  /PRINT CPS DESCRIPTIVES MODELINFO FIT SUMMARY SOLUTION.

参考文件下载: