不妨考虑一个基本的中介效应模型设定:
其中,、
和
分别代表被解释变量、核心解释变量和中介变量;
和
为随机扰动项。若假定
和
相互独立,则X对Y的中介效应(ME,间接影响)可估计如下:
那么如何判断 X 对 Y 的中介效应 ME 在统计意义上是否显著呢?实践中,通常采用 Sobel 检验,或者基于Bootstrap的经验检验。鉴于Bootstrap方法的灵活性,这篇推文重点介绍基于Bootstrap方法的中介效应检验。
题外话:Bootstrap法(又称拔靴法、自助法等)由斯坦福大学统计学家 Bradley Efron 在总结、归纳前人研究成果的基础上提出一种新的非参数统计方法。Bootstrap是一类非参数 Monte Carlo 方法,其实质是对观测信息进行再抽样,进而对总体的分布特性进行统计推断。Bradley Efron 教授也因为这一研究成果在 2018 年获得了美国统计协会(ASA)颁布的国际统计学奖。
基于Bootstrap法的中介效应检验可归纳为下述几个步骤:
很多情况下,X 对 Y 的中介效应受到其他变量 Z 的调节。例如,员工的工作热情(X)会通过工作付出(M)影响企业绩效(Y),即影响路径为: X → M → Y;但是,员工的工作热情和工作付出之间的关系、工作付出和企业绩效之间的关系都会受到企业文化(Z)的调节,一个优秀的企业文化可能会同时强化 X 对 M 的影响、 M 对 Y 的影响。那么在这种情况下,我们需要在一般的中介效应模型中引入一个调节变量 Z 来刻画上述条件中介效应。
不失一般性,假定存在一个外部因素 Z 同时调节 X 和 M 的关系、以及 M 和 Y的关系。此时在模型(1)中引入一个调节变量 Z,中介效应模型则有如下形式:
在模型(3)中,X 对 M 的影响为:,M 对 Y 的影响为:
。同理,若假定
和
相互独立,则 X 对 Y 的有调节的中介效应(ME,间接影响)可表示如下:
可见,引入调节变量后,X 对 Y 的间接效应变成了调节变量 Z 的函数。利用Bootstrap法验证该效应的统计显著性则需要对调节变量 Z 的取值进行设定,此时的中介效应也称为条件中介效应。通常在实践中,研究人员一般将 Z 的取值设定为、
和、
。
基于上述设定,我们则可以利用前述相同的Bootstrap法检验有调节的中介效应在统计意义上是否显著,具体步骤不再赘述。
当前 Stata 软件中并没有提供基于Bootstrap法可直接使用的命令检验有调节的中介效应,本推文根据上述理论分析和检验步骤开发了 medtest 命令,该命令有如下语法结构:
medtest depvar,
iv(string) mv(string) absorb(string)
[cv(string) mo(string) mo_value(numeric)
center type(numeric) cluster(string)]
需要说明的是,[...]内的元素均为可选属性,其他元素则为必选属性。其中:
depvar为被解释变量iv代表核心解释变量mv代表中介变量absorb代表回归模型要吸收的固定效应元素,和reghdfe命令中的定义相同cv代表控制变量mo代表调节变量mo_value代表条件中介效应计算过程中调节变量的取值大小center决定了在引入条件效应后对交互项中的变量进行去均值的中心化处理cluster用于调整回归模型的标准误,和reghdfe命令中的定义相同type的取值分别为1、2 和 3,控制了调节效应发生的阶段;1 代表前半段调节,即在X → M → Y的路径中,仅X → M环节受到 mo 的调节;2 代表后半段调节,即在X → M → Y的路径中,仅M → Y环节受到 mo 的调节;3 则代表全过程调节,即X → M和M → Y均受到 mo 的调节。命令medtest会返回:总效应(te)、间接效应(ide)、中介效应(me)以及中介效应占总效应的比例(me/te)等结果。同时,为便于大家查看中间的回归结果,我们通过est store m(i), i = 1, 2, 3保存了回归模型结果,可通过esttab、outreg2命令进行调用展示。
特别注意,命令medtest并未给出中介效应(me)的显著性检验结果,使用者可通过下述命令得到具体的显著性检验结果:
bootstrap me = r(me), rep(numeric) seed(numeric): ///
medtest depvar,
iv(string) mv(string) absorb(string)
[cv(string) mo(string) mo_value(numeric)
center type(numeric) cluster(string)]
其中,rep代表 bootstrap 的次数,建议设定时大于 1000 次;seed代表重复抽样时随机种子,通过设定该属性可控制结果的重复性。///为连接符号,避免语句太长而进行了断行处理,medtest中的参数根据具体需求进行设置。
注:相关代码会在公众号:alpha学术圈发布。欢迎转载,需注明作者和出处。
我有一个ModularSinatra应用程序,我正在尝试将Bootstrap添加到应用程序中。get'/bootstrap/application.css'doless:"bootstrap/bootstrap"end我在views/bootstrap中有所有less文件,包括bootstrap.less。我收到这个错误:Less::ParseErrorat/bootstrap/application.css'reset.less'wasn'tfound.Bootstrap.less的第一行是://CSSReset@import"reset.less";我尝试了所有不同的路径格式,但它
导读:随着叮咚买菜业务的发展,不同的业务场景对数据分析提出了不同的需求,他们希望引入一款实时OLAP数据库,构建一个灵活的多维实时查询和分析的平台,统一数据的接入和查询方案,解决各业务线对数据高效实时查询和精细化运营的需求。经过调研选型,最终引入ApacheDoris作为最终的OLAP分析引擎,Doris作为核心的OLAP引擎支持复杂地分析操作、提供多维的数据视图,在叮咚买菜数十个业务场景中广泛应用。作者|叮咚买菜资深数据工程师韩青叮咚买菜创立于2017年5月,是一家专注美好食物的创业公司。叮咚买菜专注吃的事业,为满足更多人“想吃什么”而努力,通过美好食材的供应、美好滋味的开发以及美食品牌的孵
C#实现简易绘图工具一.引言实验目的:通过制作窗体应用程序(C#画图软件),熟悉基本的窗体设计过程以及控件设计,事件处理等,熟悉使用C#的winform窗体进行绘图的基本步骤,对于面向对象编程有更加深刻的体会.Tutorial任务设计一个具有基本功能的画图软件**·包括简单的新建文件,保存,重新绘图等功能**·实现一些基本图形的绘制,包括铅笔和基本形状等,学习橡皮工具的创建**·设计一个合理舒适的UI界面**注明:你可能需要先了解一些关于winform窗体应用程序绘图的基本知识,以及关于GDI+类和结构的知识二.实验环境Windows系统下的visualstudio2017C#窗体应用程序三.
需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc
我正在寻找用于Rails的优质管理插件。似乎大多数现有的插件/gem(例如“restful_authentication”、“acts_as_authenticated”)都围绕着self注册等展开。但是,我正在寻找一种功能齐全的基于管理/管理角色的解决方案——但不是简单地附加到另一个非基于角色的解决方案。如果我找不到,我想我会自己动手......只是不想重新发明轮子。 最佳答案 RyanBates最近做了两个关于授权的railscast(注意身份验证和授权之间的区别;身份验证检查用户是否如她所说的那样,授权检查用户是否有权访问资源
我正在尝试消除使用Bootstrap3的Rails4元素中的glyphicon错误。我没有使用任何Bootstrapgem将其添加到Assets管道中。我手动将bootstrap.css和bootstrap.js添加到各自的app/assets目录下,分别添加到application.css和application.js什么的我现在在网络浏览器的控制台中看到以下内容:GEThttp://localhost:3000/fonts/glyphicons-halflings-regular.woff404(NotFound)localhost/:1GEThttp://localhost:30
我正在根据Rakefile中的现有测试文件动态生成测试任务。假设您有各种以模式命名的单元测试文件test_.rb.所以我正在做的是创建一个以“测试”命名空间内的文件名命名的任务。使用下面的代码,我可以用raketest:调用所有测试require'rake/testtask'task:default=>'test:all'namespace:testdodesc"Runalltests"Rake::TestTask.new(:all)do|t|t.test_files=FileList['test_*.rb']endFileList['test_*.rb'].eachdo|task|n
我想要像“嘿那里”这样的东西变成,例如,#316583。我希望将任意长度的字符串“归结”为十六进制颜色。我不知道从哪里开始。我在想,每个字符串的MD5散列都是不同的-但如何将该散列转换为十六进制颜色数字? 最佳答案 你可以只取几位前几位:require'digest/md5'color=Digest::MD5.hexdigest('Mytext')[0..5] 关于ruby-如何使用Ruby基于字母数字字符串生成颜色?,我们在StackOverflow上找到一个类似的问题:
文章目录1.自动驾驶实战:基于Paddle3D的点云障碍物检测1.1环境信息1.2准备点云数据1.3安装Paddle3D1.4模型训练1.5模型评估1.6模型导出1.7模型部署效果附录show_lidar_pred_on_image.py1.自动驾驶实战:基于Paddle3D的点云障碍物检测项目地址——自动驾驶实战:基于Paddle3D的点云障碍物检测课程地址——自动驾驶感知系统揭秘1.1环境信息硬件信息CPU:2核AI加速卡:v100总显存:16GB总内存:16GB总硬盘:100GB环境配置Python:3.7.4框架信息框架版本:PaddlePaddle2.4.0(项目默认框架版本为2.3
我正在尝试整个BDD方法并想测试AMQP基于Vanilla的方面Ruby我正在写的应用程序。选择Minitest后作为与其他名副其实的蔬菜框架不同的平衡功能和表现力的测试框架,我着手编写此规范:#File./test/specs/services/my_service_spec.rb#Requirementsfortestrunningandconfigurationrequire"minitest/autorun"require"./test/specs/spec_helper"#Externalrequires#MinitestSpecsforEventMachinerequire