来自图书《MPlus中介调节模型》
模型方程式:
Y = b0 + b1M + b2V + b3MV + c1'X + c2'W + c3'Z + c4'XW + c5'XZ
M = a0 + a1X + a2W + a3Z + a4XW + a5XZ
将M的表达式代入Y的表达式中:
Y = b0 + b1(a0 + a1X + a2W + a3Z + a4XW + a5XZ) + b2V + b3(a0 + a1X + a2W + a3Z + a4XW + a5XZ)V + c1'X + c2'W + c3'Z + c4'XW + c5'XZ
展开括号:
Y = b0 + a0b1 + a1b1X + a2b1W + a3b1Z + a4b1XW + a5b1XZ + b2V + a0b3V + a1b3XV + a2b3VW + a3b3ZV + a4b3XVW + a5b3XZV + c1'X + c2'W + c3'Z + c4'XW + c5'XZ
模型方程式:
Y = b0 + b1M + b2V + b3MV + c1'X + c2'W + c3'Z + c4'XW + c5'XZ
M = a0 + a1X + a2W + a3Z + a4XW + a5XZ
将M的表达式代入Y的表达式中:
Y = b0 + b1(a0 + a1X + a2W + a3Z + a4XW + a5XZ) + b2V + b3(a0 + a1X + a2W + a3Z + a4XW + a5XZ)V + c1'X + c2'W + c3'Z + c4'XW + c5'XZ
展开括号:
Y = b0 + a0b1 + a1b1X + a2b1W + a3b1Z + a4b1XW + a5b1XZ + b2V + a0b3V + a1b3XV + a2b3VW + a3b3ZV + a4b3XVW + a5b3XZV + c1'X + c2'W + c3'Z + c4'XW + c5'XZ
整理成`Y = a + bX`的形式:
Y = (b0 + a0b1 + a2b1W + a3b1Z + b2V + a0b3V + a2b3VW + a3b3ZV + c2'W + c3'Z) + (a1b1 + a4b1W + a5b1Z + a1b3V + a4b3VW + a5b3ZV + c1' + c4'W + c5'Z)X
模型方程式:
Y = b0 + b1M + b2V + b3MV + c1'X + c2'W + c3'Z + c4'XW + c5'XZ
M = a0 + a1X + a2W + a3Z + a4XW + a5XZ
将M的表达式代入Y的表达式中:
Y = b0 + b1(a0 + a1X + a2W + a3Z + a4XW + a5XZ) + b2V + b3(a0 + a1X + a2W + a3Z + a4XW + a5XZ)V + c1'X + c2'W + c3'Z + c4'XW + c5'XZ
展开括号:
Y = b0 + a0b1 + a1b1X + a2b1W + a3b1Z + a4b1XW + a5b1XZ + b2V + a0b3V + a1b3XV + a2b3VW + a3b3ZV + a4b3XVW + a5b3XZV + c1'X + c2'W + c3'Z + c4'XW + c5'XZ
整理成`Y = a + bX`的形式:
Y = (b0 + a0b1 + a2b1W + a3b1Z + b2V + a0b3V + a2b3VW + a3b3ZV + c2'W + c3'Z) + (a1b1 + a4b1W + a5b1Z + a1b3V + a4b3VW + a5b3ZV + c1' + c4'W + c5'Z)X
因此:
X对Y的间接效应(在W,Z,V条件下):
a1b1 + a4b1W + a5b1Z + a1b3V + a4b3VW + a5b3ZV = (a1 + a4W + a5Z)(b1 + b3V)
X对Y的直接效应(在W,Z条件下):
c1' + c4'W + c5'Z
USEVARIABLES = X M W Z V Y XW XZ MV;
DEFINE:
MV = M*V;
XW = X*W;
XZ = X*Z;
ANALYSIS:
TYPE = GENERAL;
ESTIMATOR = ML;
BOOTSTRAP = 10000;
MODEL:
[Y] (b0);
Y ON M (b1);
Y ON V (b2);
Y ON MV (b3);
Y ON X (cdash1);
Y ON W (cdash2);
Y ON Z (cdash3);
Y ON XW (cdash4);
Y ON XZ (cdash5);
[M] (a0);
M ON X (a1);
M ON W (a2);
M ON Z (a3);
M ON XW (a4);
M ON XZ (a5);
USEVARIABLES = X M W Z V Y XW XZ MV;
DEFINE:
MV = M*V;
XW = X*W;
XZ = X*Z;
ANALYSIS:
TYPE = GENERAL;
ESTIMATOR = ML;
BOOTSTRAP = 10000;
MODEL:
[Y] (b0);
Y ON M (b1);
Y ON V (b2);
Y ON MV (b3);
Y ON X (cdash1);
Y ON W (cdash2);
Y ON Z (cdash3);
Y ON XW (cdash4);
Y ON XZ (cdash5);
[M] (a0);
M ON X (a1);
M ON W (a2);
M ON Z (a3);
M ON XW (a4);
M ON XZ (a5);
MODEL CONSTRAINT:
NEW(LOW_W MED_W HIGH_W LOW_Z MED_Z HIGH_Z LOW_V MED_V HIGH_V
ILWLZLV IMWLZLV IHWLZLV ILWMZLV IMWMZLV IHWMZLV
ILWHZLV IMWHZLV IHWHZLV
ILWLZMV IMWLZMV IHWLZMV ILWMZMV IMWMZMV IHWMZMV
ILWHZMV IMWHZMV IHWHZMV
ILWLZHV IMWLZHV IHWLZHV ILWMZHV IMWMZHV IHWMZHV
ILWHZHV IMWHZHV IHWHZHV
DLOW_LOZ DMEW_LOZ DHIW_LOZ DLOW_MEZ DMEW_MEZ DHIW_MEZ
DLOW_HIZ DMEW_HIZ DHIW_HIZ
TLWLZLV TMWLZLV THWLZLV TLWMZLV TMWMZLV THWMZLV
TLWHZLV TMWHZLV THWHZLV
TLWLZMV TMWLZMV THWLZMV TLWMZMV TMWMZMV THWMZMV
TLWHZMV TMWHZMV THWHZMV
TLWLZHV TMWLZHV THWLZHV TLWMZHV TMWMZHV THWMZHV
TLWHZHV TMWHZHV THWHZHV);
LOW_W = #LOWW;
MED_W = #MEDW;
HIGH_W = #HIGHW;
LOW_Z = #LOWZ;
MED_Z = #MEDZ;
HIGH_Z = #HIGHZ;
LOW_V = #LOWV;
MED_V = #MEDV;
HIGH_V = #HIGHV;
ILWLZLV = a1*b1 + a4*b1*LOW_W + a5*b1*LOW_Z + a1*b3*LOW_V +
a4*b3*LOW_V*LOW_W + a5*b3*LOW_Z*LOW_V;
...
TLWLZLV = ILWLZLV + DLOW_LOZ;
...
USEVARIABLES = X M W Z V Y XW XZ MV;
DEFINE:
MV = M*V;
XW = X*W;
XZ = X*Z;
ANALYSIS:
TYPE = GENERAL;
ESTIMATOR = ML;
BOOTSTRAP = 10000;
MODEL:
[Y] (b0);
Y ON M (b1);
Y ON V (b2);
Y ON MV (b3);
Y ON X (cdash1);
Y ON W (cdash2);
Y ON Z (cdash3);
Y ON XW (cdash4);
Y ON XZ (cdash5);
[M] (a0);
M ON X (a1);
M ON W (a2);
M ON Z (a3);
M ON XW (a4);
M ON XZ (a5);
MODEL CONSTRAINT:
NEW(LOW_W MED_W HIGH_W LOW_Z MED_Z HIGH_Z LOW_V MED_V HIGH_V
ILWLZLV IMWLZLV IHWLZLV ILWMZLV IMWMZLV IHWMZLV
ILWHZLV IMWHZLV IHWHZLV
ILWLZMV IMWLZMV IHWLZMV ILWMZMV IMWMZMV IHWMZMV
ILWHZMV IMWHZMV IHWHZMV
ILWLZHV IMWLZHV IHWLZHV ILWMZHV IMWMZHV IHWMZHV
ILWHZHV IMWHZHV IHWHZHV
DLOW_LOZ DMEW_LOZ DHIW_LOZ DLOW_MEZ DMEW_MEZ DHIW_MEZ
DLOW_HIZ DMEW_HIZ DHIW_HIZ
TLWLZLV TMWLZLV THWLZLV TLWMZLV TMWMZLV THWMZLV
TLWHZLV TMWHZLV THWHZLV
TLWLZMV TMWLZMV THWLZMV TLWMZMV TMWMZMV THWMZMV
TLWHZMV TMWHZMV THWHZMV
TLWLZHV TMWLZHV THWLZHV TLWMZHV TMWMZHV THWMZHV
TLWHZHV TMWHZHV THWHZHV);
LOW_W = #LOWW;
MED_W = #MEDW;
HIGH_W = #HIGHW;
LOW_Z = #LOWZ;
MED_Z = #MEDZ;
HIGH_Z = #HIGHZ;
LOW_V = #LOWV;
MED_V = #MEDV;
HIGH_V = #HIGHV;
ILWLZLV = a1*b1 + a4*b1*LOW_W + a5*b1*LOW_Z + a1*b3*LOW_V +
a4*b3*LOW_V*LOW_W + a5*b3*LOW_Z*LOW_V;
...
TLWLZLV = ILWLZLV + DLOW_LOZ;
...
PLOT(PLWLZLV PMWLZLV PHWLZLV PLWMZLV PMWMZLV PHWMZLV
PLWHZLV PMWHZLV PHWHZLV
PLWLZMV PMWLZMV PHWLZMV PLWMZMV PMWMZMV PHWMZMV
PLWHZMV PMWHZMV PHWHZMV
PLWLZHV PMWLZHV PHWLZHV PLWMZHV PMWMZHV PHWMZHV
PLWHZHV PMWHZHV PHWHZHV);
LOOP(XVAL,1,5,0.1);
PLWLZLV = ILWLZLV*XVAL;
PMWLZLV = IMWLZLV*XVAL;
...
PLOT:
TYPE = plot2;
USEVARIABLES = X M W Z V Y XW XZ MV;
DEFINE:
MV = M*V;
XW = X*W;
XZ = X*Z;
ANALYSIS:
TYPE = GENERAL;
ESTIMATOR = ML;
BOOTSTRAP = 10000;
MODEL:
[Y] (b0);
Y ON M (b1);
Y ON V (b2);
Y ON MV (b3);
Y ON X (cdash1);
Y ON W (cdash2);
Y ON Z (cdash3);
Y ON XW (cdash4);
Y ON XZ (cdash5);
[M] (a0);
M ON X (a1);
M ON W (a2);
M ON Z (a3);
M ON XW (a4);
M ON XZ (a5);
MODEL CONSTRAINT:
NEW(LOW_W MED_W HIGH_W LOW_Z MED_Z HIGH_Z LOW_V MED_V HIGH_V
ILWLZLV IMWLZLV IHWLZLV ILWMZLV IMWMZLV IHWMZLV
ILWHZLV IMWHZLV IHWHZLV
ILWLZMV IMWLZMV IHWLZMV ILWMZMV IMWMZMV IHWMZMV
ILWHZMV IMWHZMV IHWHZMV
ILWLZHV IMWLZHV IHWLZHV ILWMZHV IMWMZHV IHWMZHV
ILWHZHV IMWHZHV IHWHZHV
DLOW_LOZ DMEW_LOZ DHIW_LOZ DLOW_MEZ DMEW_MEZ DHIW_MEZ
DLOW_HIZ DMEW_HIZ DHIW_HIZ
TLWLZLV TMWLZLV THWLZLV TLWMZLV TMWMZLV THWMZLV
TLWHZLV TMWHZLV THWHZLV
TLWLZMV TMWLZMV THWLZMV TLWMZMV TMWMZMV THWMZMV
TLWHZMV TMWHZMV THWHZMV
TLWLZHV TMWLZHV THWLZHV TLWMZHV TMWMZHV THWMZHV
TLWHZHV TMWHZHV THWHZHV);
LOW_W = #LOWW;
MED_W = #MEDW;
HIGH_W = #HIGHW;
LOW_Z = #LOWZ;
MED_Z = #MEDZ;
HIGH_Z = #HIGHZ;
LOW_V = #LOWV;
MED_V = #MEDV;
HIGH_V = #HIGHV;
ILWLZLV = a1*b1 + a4*b1*LOW_W + a5*b1*LOW_Z + a1*b3*LOW_V +
a4*b3*LOW_V*LOW_W + a5*b3*LOW_Z*LOW_V;
...
TLWLZLV = ILWLZLV + DLOW_LOZ;
...
PLOT(PLWLZLV PMWLZLV PHWLZLV PLWMZLV PMWMZLV PHWMZLV
PLWHZLV PMWHZLV PHWHZLV
PLWLZMV PMWLZMV PHWLZMV PLWMZMV PMWMZMV PHWMZMV
PLWHZMV PMWHZMV PHWHZMV
PLWLZHV PMWLZHV PHWLZHV PLWMZHV PMWMZHV PHWMZHV
PLWHZHV PMWHZHV PHWHZHV);
LOOP(XVAL,1,5,0.1);
PLWLZLV = ILWLZLV*XVAL;
PMWLZLV = IMWLZLV*XVAL;
...
PLOT:
TYPE = plot2;
OUTPUT:
STAND CINT(bcbootstrap);