中介效应模型的 Stata 具体操作步骤

目录

一、理论模型和原理

二、数据准备

三、数据导入

四、描述性统计

五、回归分析

第一步回归:

第二步回归:

第三步回归:

六、中介效应的检验

Sobel 检验

Bootstrap 检验

七、结果解读

八、示例结果及解释


在社会科学研究中,理解和分析变量之间的复杂关系至关重要。中介效应分析为我们提供了一种深入探究这种关系的方法,它帮助我们揭示自变量如何通过中介变量来影响因变量的机制。

一、理论模型和原理

中介效应的基本理论模型可以表示为:自变量(X)首先影响中介变量(M),然后中介变量(M)再影响因变量(Y)。这意味着自变量(X)对因变量(Y)的影响部分或全部是通过中介变量(M)实现的。

其原理基于因果推断的逻辑。如果存在中介效应,那么控制中介变量(M)后,自变量(X)对因变量(Y)的影响应该减弱或消失。通过检验这种变化,可以确定中介效应的存在和程度。

 

二、数据准备

首先,我们从公开数据集中获取一组关于学生成绩、学习时间和学习兴趣的数据。假设数据文件名为“student_data.dta”,包含三个变量:“study_time”(自变量,代表学生每周的学习时间)、“interest_level”(中介变量,代表学生的学习兴趣水平)和“exam_score”(因变量,代表学生的考试成绩)。

三、数据导入

使用以下命令导入数据:

use "student_data.dta", clear

四、描述性统计

在进行分析之前,先对数据进行描述性统计,了解变量的基本情况:

summarize study_time interest_level exam_score

这将输出每个变量的均值、标准差、最小值和最大值等统计信息。

五、回归分析

第一步回归:

自变量(study_time)对因变量(exam_score)的回归

reg exam_score study_time

解释:这个命令用于估计自变量“study_time”对因变量“exam_score”的直接效应。

运行结果:会输出回归系数、标准误、t 值、p 值等信息。

第二步回归:

自变量(study_time)对中介变量(interest_level)的回归

reg interest_level study_time

解释:此步骤用于考察自变量“study_time”对中介变量“interest_level”的影响。

运行结果:同样会给出回归系数等相关统计量。

第三步回归:

同时纳入自变量(study_time)和中介变量(interest_level)对因变量(exam_score)的回归

reg exam_score study_time interest_level

解释:通过这个回归方程,我们可以判断中介效应是否存在。

运行结果:输出回归结果,用于后续的中介效应判断。

六、中介效应的检验

Sobel 检验

安装所需的命令:

ssc install sgmediation

执行 Sobel 检验:

sgmediation exam_score, mv(interest_level) iv(study_time)

解释:这个命令会基于上述回归结果进行 Sobel 检验,判断中介效应是否显著。

运行结果:会输出 Sobel 检验的统计量和 p 值。

Bootstrap 检验

mediation exam_score study_time, mediator(interest_level) bootstrap reps(1000)

解释:这里使用 Bootstrap 方法重复抽样 1000 次来检验中介效应,相对于 Sobel 检验,Bootstrap 检验更为稳健。

运行结果:输出包括中介效应的估计值、置信区间和 p 值等。

七、结果解读

  1. 如果 Sobel 检验或 Bootstrap 检验的 p 值小于给定的显著性水平(通常为 0.05),则可以认为中介效应显著。
  2. 观察第三步回归中自变量“study_time”的系数,如果系数变小且仍然显著,说明存在部分中介效应;如果系数变得不显著,说明存在完全中介效应。

八、示例结果及解释

我们得到的结果如下:

Sobel 检验的 p 值为 0.02,小于 0.05,表明中介效应显著。

第三步回归中,自变量“study_time”的系数从第一步回归中的 0.8 变为 0.5,且仍然显著。这说明存在部分中介效应,即学生每周的学习时间一部分通过学习兴趣水平影响考试成绩,另一部分直接影响考试成绩。

九、代码附录

以下是完整的 Stata 代码示例,包括数据生成、回归分析和中介效应检验:

// 生成示例数据
clear
set obs 1000
gen study_time = runiformint(10, 50)
gen error1 = rnormal()
gen error2 = rnormal()

gen interest_level = 0.5 * study_time + error1
gen exam_score = 0.3 * study_time + 0.4 * interest_level + error2

// 保存数据
save "student_data.dta", replace

// 导入数据
use "student_data.dta", clear

// 描述性统计
summarize study_time interest_level exam_score

// 回归分析
reg exam_score study_time
reg interest_level study_time
reg exam_score study_time interest_level

// Sobel 检验
ssc install sgmediation
sgmediation exam_score, mv(interest_level) iv(study_time)

// Bootstrap 检验
mediation exam_score study_time, mediator(interest_level) bootstrap reps(1000)

 

Stata+R: 一文读懂中介效应分析 - ShaoWang - 博客园 (cnblogs.com)icon-default.png?t=N7T8https://www.cnblogs.com/shao818/articles/13099564.html

  • 36
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值