stata之中介效应分析

2021-04-27  本文已影响0人  Hobbit的理查德

本篇记录下用stata进行中介分析,其中,自变量,中介变量和因变量均为连续变量。

中介分析可以用命令sem,即进行结构方程模型也是用这个命令,只不过中介分析没有测量模型而已。

其中,自变量(X)为EC,中介变量(M)为SDO,因变量(Y)为forei

1. 命令sem

// 中介分析,报告标准化系数
sem (EC -> SDO, ) (EC -> forei, )  (SDO -> forei, ), standardized nocapslatent
// 估计直接效应,间接效应,总效应,且报告标准化系数
estat teffects, standardized  compact
// 报告x到M的a路径的标准化系数
//X-M:a
estat stdize: nlcom [SDO]_b[EC]
// 报告M到Y的b路径的标准化系数
//M-Y:b
estat stdize: nlcom [forei]_b[SDO]
// 报告控制M之后,X对Y的影响,c'路径的标准化系数
//X-Y:c'
estat stdize: nlcom [forei]_b[EC]
// 报告X到Y的间接效应,ab路径的标准化系数
//IE: ab
estat stdize: nlcom [SDO]_b[EC]*[forei]_b[SDO]
// 报告X到Y的总效应,c'+ab路径的标准化系数
//TE: c'+ab
estat stdize: nlcom [forei]_b[EC]+[SDO]_b[EC]*[forei]_b[SDO]

结果如下,可以看到,报告的是标准化系数,X到M结果显著,M到Y显著,控制M之后,X到Y不显著了。


sem1.png

对直接效应,间接效应和总效应进行估计的结果如下,最后一列为标准化系数,但是,没有相应的z值,和95%CI

estat.png

使用命令estat stdize可以得到不同路径相应的标准化统计量。

路径a,b和c’的结果如下:

abc'.png

路径ab和总效应结果如下:

ab总.png

2. 命令medsem

此外,还有个命令可以直接报告中介效应结果,即medsem

medsem, indep(EC) med(SDO) dep(forei) zlc rit rid stand

结果如下,报告了两种检验中介效应的方法,以及中介效应是否存在的结论。

medsem.png

通过命令help medsem后可以详细了解该命令。

help_medsem.png

3. 命令bootstrap

除了上述提到的两种检验中介效应的方法外,还有bootstrap法。

具体介绍可参见文献:

Fritz, M. S., & MacKinnon, D. P. (2007). Required Sample Size to Detect the Mediated Effect. Psychological Science, 18(3), 233-239.

stata的实现方式是:

// 获取间接系数
capture program drop indireff
program indireff, rclass
    sem (EC -> SDO, ) (EC -> forei, )  (SDO -> forei, ), standardized nocapslatent
    estat teffects, standardized  compact
    estat stdize: nlcom [SDO]_b[EC]*[forei]_b[SDO]
    return scalar ab=r(b)[1,1]
end
// 设置随机种子 
set seed 358395
// 估计间接系数,bootstrap抽取5000个样本
bootstrap r(ab), reps(5000): indireff
estat bootstrap, percentile bc

抽取5000个样本,时间有些长,得等会儿……结果如下:

bootstrap.png
上一篇下一篇

猜你喜欢

热点阅读