자료실

조절된 매개효과 심화(process에 없는 것)

이재희
2023-08-28
조회수 162

요즘 통계분석을 의뢰해주시는 분들은  거의 조절된 매개효과를 선호하는 듯하다. 


조절된 매개효과와 매개된 조절효과는 대체로 PROCESS를 통해 분석한다. 


 PROCESS는 다양한 모델들이 나와있어서 참 유용하긴 하지만, 


모형의 틀이 정해져 있어서 복잡한 모형의 경우엔 사용하기가 어렵다. 


예를 들면 아래와 같은 모형에서 A->C->D->F 매개효과 (E에 의해 조절된)


를 구하는건 PROCESS에서 불가능하다. 


조절이 없는 경우 6번 모형을 사용하면 되고, 조절이 A-C 간, 혹은 C-F간 존재한다면 


7번이나 14번을 사용하면 되는데, 어느 경우에도 해당하지 않는다. 



따라서 이런 경우에는 각각의 회귀방정식을 구한 후 직접 부트스트랩을 해주어야 하는데


그럴려면 통계에 대한 이론과 테크닉 둘 다 필요하다. 


조절된 매개효과는 매개경로를 나타내는 계수와 조절효과를 나타내는 계수 두 개의 곱으로 나타낸다. 


즉, A->C->D->F 매개경로에서 각각의 회귀계수, 그리고 E를 포함하는 조절효과를 구한 후, 


조절된 매개효과를 나타내는 계수의 곱을 알아낸다. 


그리고나서 부트스트랩을 통해 '계수의 곱'에 대한 신뢰구간을 구하면 된다. 


원리를 이해하고 부트스트랩을 직접 돌릴 수만 있다면 그리 어렵지는 않다. 



R 프로그램에 있는 BOOT 패키지를 사용하면 되고 코드는 대략 아래와 같다. 



  

bs <- function(data, indices) {

fit1 <- lm(종속  ~ 독립변인, data=data, subset=indices)

fit2 <- lm( 종속~ 독립변인, data=data, subset=indices)

fit3 <- lm( 종속~ 독립변인 , data=data, subset=indices)


c1 <-coef(fit1)[ ]

c2 <-coef(fit2)[ ]

c3 <-coef(fit3)[ ]


return(c1*c2*c3) 


# bootstrapping with 1000 replications 

results <- boot(dfrm, bs, R=1000)

boot.ci(results, type="all", index=1) 


결과는 아래와 같다. 

4종류의 방식으로 신뢰구간을 산출한 결과가 나온다. 


BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS

Based on 1000 bootstrap replicates


CALL : 

boot.ci(boot.out = results_14_1, type = "all", index = 1)


Intervals : 

Level Normal Basic 

95% (-0.0016, 0.0018 ) (-0.0020, 0.0019 ) 


Level Percentile BCa 

95% (-0.0017, 0.0022 ) (-0.0012, 0.0031 ) 

Calculations and Intervals on Original Scale

Some BCa intervals may be unstable


이러한 방식을 사용하면 복잡하고 어려운 모형에서도 조절된 매개효과를 검증할 수 있게 된다.