查看原文
其他

Stata:展示OLS和GLM的交乘项(一)-icalc

连享会 连享会 2023-10-24

👇 连享会 · 推文导航 | www.lianxh.cn

连享会视频课 · 因果推断实用计量方法

作者:陈美琪 (宁波诺丁汉大学)
邮箱:438508741@qq.com

温馨提示: 文中链接在微信中无法生效。请点击底部「阅读原文」。或直接长按/扫描如下二维码,直达原文:


目录

  • 1. 简介

  • 2. 命令介绍

  • 3. Stata 实操

  • 4. 结语

  • 5. 相关推文



1. 简介

本文主要介绍 Stata 中用以帮助解释广义线性模型交互作用的 icalc 命令包。该命令由 Temple University 名誉教授 Robert Kaufman 编写。它是一个由五个命令组成的工具包,用于帮助解释和报告广义线性模型中的交互效应。

2. 命令介绍

命令安装:

copy "https://file.lianxh.cn/data/i/icalc.zip" "icalc.zip", replace
unzipfile icalc, replace
net install icalc.pkg, from("D:/Stata17/icalc") replace // 更换地址

// 或者: https://econpapers.repec.org/software/bocbocode/s459052.htm

主要命令包括:intspecgfisigregeffdispoutdisp。具体来看,intspec 是一个设置命令,在使用其他命令之前,必须要定义好交互的内容。其语法为:

intspec focal(varname)
main((varlist1, suboptions)(varlist2, suboptions) … )
int2vars(varlist)
[ int3vars(varlist)
dvname(string)
eqname(string)
ndigits(#)
nrange(#)
abbrevn(#)
sumwgt(string)
]

其中,

  • focal():用于设置焦点变量的名称;
  • main():设定焦点变量和调节变量;
  • int2vars(varlist):列出了二维相互作用条件,必须按 focal-by-moderator#1 focal-by-moderator#2 的顺序排列;
  • int3vars(varlist):如果有的话,列出三维交互项,必须按照 focal-by-moderator#1-by-moderator#2 的顺序排列;
  • dvname(string):因变量的显示名称,默认是因变量的名称;
  • eqname(string):用于多方程模型,字符串指定分析哪个方程的系数;
  • ndigits(#):如果没有指定 range(),默认显示值标签中使用的数字的个数,默认为 ndig(2)
  • nrange(#):范围 (minmax) 中的 # 个增量,默认为 5 个增量;
  • abbrevn(#):指定用于缩写名字的字符长度,必须是一个整数,默认为 abbrevn(12)
  • sumwgt(string)sumwgt(no) 指定不使用估计命令的权重来计算汇总统计。

gfi 当焦点变量随调节变量变化时,gfi 生成其效果的代数表达式,对效果进行符号变化分析,并在路径样式图中进行可选的可视化。运行前必须运行 intspecgfi。其基本语法为:

gfi, [ factorchg ndigits(#)
path(type , title(string)
name(string)
boxwidth(#)
ygap(#)
xgap(#)
ndigits(#) )
]

其中,

  • factorchg:如果指定,焦点变量的代数表达式也显示为因子变化。
  • ndigits(#):表示代数表达式和符号变化表中效果和系数小数后的位数,默认值 = 4。
  • title(string):路径图的标题;
  • name(string):保存为名为 string 的内存图;
  • ndigits(#):报告图表中系数值的位数;
  • boxwidth(#)ygap(#)xgap(#):用来美化图表,设定箱子的宽度、垂直距离与水平距离。

effdisp 命令可以生成折线图、落线图、误差条图或等高线图,显示焦点变量对建模结果的影响,因为它随调节因子的值而变化。线形图和等高线图可以选择性地显示焦点变量的调节效应是显著的还是不显著的。同样地,必须在运行 effdisp 之前运行 intspec。其基本语法为:

effdisp , [ plot(type(plottype) name(graphname) keep save(filepath) freq(base))
effect(type(suboptions))
cilev(#, adjtype)
ndigits(#)
pltopts(string)
sigmark
ccuts(numlist)
heatmap
]

其中,

  • plot(type(plottype) suboptions):是制定绘图类型,可选的图形有 cbound (置信区间图),errbar (误差条图),line (折线图),drop (下降线图),contour (等高线图);
  • name(graphname):将图保存为名称为 graphname 的图;
  • save(filepath):将绘图数据和频率分布保存到 Excel 文件中,文件名和位置由 filepath 给出;
  • freq(base):在图表中添加第一调节变量或第一调节变量与第二调节变量的相对频率分布;
  • effect(type(suboptions)):显著性区域表中报告的重点变量 delta 单位变化的系数值的类型;
  • cilev(#, adjtype):# 是置信区间水平 (0.95 代表 95% 的 CI);
  • ndigits(#):y 轴标签的位数,默认=4;
  • sigmark(#) 表示直线图、下降线图或等高线图上的显著和非显著效应。
  • heatmap:热力图的选项。

3. Stata 实操

首先,我们选用作者提供的 SIPP_Wealth.dta,进行一个调节效应的 OLS 回归。

. use ./icalc/SIPP_Wealth.dta, clear
. reg netw10k metro i.edcat i.hoh##c.kids ///
> c.age##c.age retired nilf hhld_income

Source | SS df MS Number of obs = 14,237
-------------+---------------------------------- F(15, 14221) = 320.85
Model | 1460168.38 15 97344.5585 Prob > F = 0.0000
Residual | 4314653.45 14,221 303.400144 R-squared = 0.2529
-------------+---------------------------------- Adj R-squared = 0.2521
Total | 5774821.82 14,236 405.649187 Root MSE = 17.418
-------------------------------------------------------------------------------
netw10k | Coefficient Std. err. t P>|t| [95% conf. interval]
--------------+----------------------------------------------------------------
metro | 0.491 0.332 1.48 0.139 -0.160 1.142
|
edcat |
HS | 4.579 0.497 9.21 0.000 3.605 5.553
SomeColl | 6.223 0.544 11.44 0.000 5.156 7.289
CollGrad | 8.728 0.606 14.41 0.000 7.541 9.916
PostGrad | 10.066 0.619 16.26 0.000 8.852 11.279
|
hoh |
Single_man | -1.699 0.499 -3.41 0.001 -2.677 -0.721
Single_woman | -3.770 0.438 -8.61 0.000 -4.628 -2.911
|
kids | -0.968 0.173 -5.59 0.000 -1.307 -0.628
|
hoh#c.kids |
Single_man | 0.062 0.706 0.09 0.930 -1.323 1.446
Single_woman | 1.677 0.390 4.30 0.000 0.912 2.443
|
age | 0.386 0.062 6.25 0.000 0.265 0.507
|
c.age#c.age | -0.000 0.001 -0.15 0.884 -0.001 0.001
|
retired | 1.281 0.582 2.20 0.028 0.141 2.422
nilf | 5.764 0.755 7.63 0.000 4.283 7.244
hhld_income | 2.804 0.072 38.96 0.000 2.663 2.945
_cons | -21.119 1.546 -13.66 0.000 -24.149 -18.089
-------------------------------------------------------------------------------

可以看到 hohkid 的交互项中,single_woman 组显著为正,系数为 1.677。然后我们看一下如何设置家庭领导变量的交互效应以及查看它的具体的交互作用效果图。


. intspec focal(i.hoh) main((c.kids, name(Children) range(0/10)) ///
> (i.hoh, name(Headship_Type) range(0/2))) int2(i.hoh#c.kids) ///
> ndig(0) abbrevn(14)

Interaction Effects on netw10k Specified as
Main effect terms: 1.hoh 2.hoh kids
Two-way interaction terms: i.hoh#c.kids
These will be treated as: Focal variable = 1.hoh 2.hoh ("Headship_Type")
moderated by interaction(s) with
kids ("Children")

. gfi, ndig(3)

Effect of Single_man =
-1.699 + 0.062*kids
Effect of Single_woman =
-3.770 + 1.677*kids
Sign Change Analysis of Effect of Headship_Type
on g(netw10k), Moderated by Children (MV)
------------------------------------------------------------
| Headship_Type
When | ------------------------------------------
Children= | Single_man Single_woman
-------------+----------------------------------------------
0 | Neg b = -1.699 Neg b = -3.770
1 | Neg b = -1.637 Neg b = -2.092
2 | Neg b = -1.575 Neg b = -0.415
3 | Neg b = -1.513 Pos b = 1.263
4 | Neg b = -1.452 Pos b = 2.940
5 | Neg b = -1.390 Pos b = 4.617
6 | Neg b = -1.328 Pos b = 6.295
7 | Neg b = -1.266 Pos b = 7.972
8 | Neg b = -1.204 Pos b = 9.650
9 | Neg b = -1.143 Pos b = 11.327
10 | Neg b = -1.081 Pos b = 13.004
-------------+----------------------------------------------
Sign Changes | Never when MV= 2.247275
-------------+----------------------------------------------
% Positive | 0.0 8.0
------------------------------------------------------------

. effdisp, plot(type(line) freq(tot)) ndig(0)

Effect type Specified
Effect type = b (Δ = 1)
Plot Options Specified
type = line
freq = tot
sigmark = No
95% Confidence intervals calculated with critical value F = 3.842 .

在以上代码中,intspec 表示设定 hoh (家庭领导变量) 为焦点变量,设定 kids 为调节项,并命名为 Children,增量范围从 0 点到 10。

设定家庭领导变量为调节项,并命名为“领导类型”,值范围从 0-2,关注家庭领导变量和孩子数量的二维交互效果。其中格式上,ndig 表示默认显示中值标签的整数个数,abbrevn 表示缩写名字的字符长度。

gfi 的执行结果显示了家庭领导类型对家庭财富净值的影响效果受到孩子数量的影响。effdisp 显示了家庭领导类型对结果的影响如何受到孩子数量的调节。

然后我们看一下如何设置孩子数量与家庭领导类型的交互效应以及查看它的交互作用效果图,以区别于上文提到的以家庭领导变量为焦点。

. intspec focal(c.kids) main((c.kids, name(Children) range(0/2 4(2)10)) ///
> (i.hoh, name(Headship_Type) range(0/2))) ///
> int2(i.hoh#c.kids) ndig(0) abbrevn(14)
. gfi, ndig(3)

GFI Information from Interaction Specification of
Effect of Children on g(netw10k) from Linear Regression
----------------------------------------------------------------------

Effect of kids =
-0.968 + 0.062*Single_man + 1.677*Single_woman
Sign Change Analysis of Effect of Children
on g(netw10k), Moderated by Headship_Type (MV)
--------------------------------------
| Children
When | --------------------
Headship_Type=|
-------------+------------------------
Couple | Neg b = -0.968
Single_man | Neg b = -0.906
Single_w~n | Pos b = 0.710
-------------+------------------------
Sign Changes | Sometimes
-------------+------------------------
% Positive | 26.9
--------------------------------------

. effdisp, plot(type(drop) freq(tot)) ndig(1)

我们可以看到小孩的数量对于家庭财富净值的影响受到家庭领导类型的调节,当家庭为单亲母亲领导时小孩的数量对于家庭财富净值的影响更大。

4. 结语

如上文的例子,icalc 工具包非常清晰地显示了 OLS 中交乘项的效果,也可用于 GLM。下一期将介绍 icalc 工具包中另外两个 sigregoutdisp 命令。

5. 相关推文

Note:产生如下推文列表的 Stata 命令为:
lianxh 调节 交乘, m
安装最新版 lianxh 命令:
ssc install lianxh, replace

  • 专题:论文写作
    • Stata:如何理解三个变量的交乘项?
  • 专题:回归分析
    • 调节效应是否需要考虑对控制变量交乘?
    • Stata因子变量:虚拟变量-交乘项批量处理
  • 专题:内生性-因果推断
    • Stata:内生变量的交乘项如何处理?
  • 专题:交乘项-调节-中介
    • 交乘项:交互作用需要交互控制
    • 我为什么越跑越肥?交乘项系数的直观解释
    • Logit-Probit中的交乘项及边际效应图示
    • 内生变量的交乘项如何处理?
    • interactplot:图示交乘项-交互项-调节效应
    • Stata:交乘项的对称效应与图示
    • Stata:图示交互效应-调节效应
    • Stata:交乘项该如何使用?-黄河泉老师PPT
    • Stata:虚拟变量交乘项生成和检验的简便方法
    • Stata:调节中介效应检验.md
    • Stata:内生变量和它的交乘项
    • 交乘项-交叉项的中心化问题
    • 交乘项专题:主效应项可以忽略吗?
    • 离散型调节变量——该如何设定模型?
    • Stata:交乘项该这么分析!

课程推荐:因果推断实用计量方法
主讲老师:邱嘉平教授
🍓 课程主页https://gitee.com/lianxh/YGqjp

New! Stata 搜索神器:lianxhsongbl  GIF 动图介绍
搜: 推文、数据分享、期刊论文、重现代码 ……
👉 安装:
. ssc install lianxh
. ssc install songbl
👉  使用:
. lianxh DID 倍分法
. songbl all

🍏 关于我们

  • 连享会 ( www.lianxh.cn,推文列表) 由中山大学连玉君老师团队创办,定期分享实证分析经验。
  • 直通车: 👉【百度一下: 连享会】即可直达连享会主页。亦可进一步添加 「知乎」,「b 站」,「面板数据」,「公开课」 等关键词细化搜索。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存