중개 모델에 맞게 데이터 시뮬레이션


9

지정된 중개 모델과 일치하는 데이터를 시뮬레이션하는 절차를 찾는 데 관심이 있습니다. Barron and Kenny (1986)가 처음 설명하고 Judd, Yzerbyt, & Muller (2013) 와 같은 다른 곳에 설명 된 중재 모델을 테스트하기위한 일반적인 선형 구조 방정식 모델 프레임 워크에 따르면, 결과 대한 중재 모델 , 중재자 \ newcommand {\ med} {\ rm med} \ med 및 예측 변수 X 는 다음 세 가지 회귀 방정식에 의해 제어됩니다. \ begin {align} Y & = b_ {11} + b_ {12} X + e_1 \ tag {1} \\ \ med & = b_ {21} + b_ {22} X + e_2 \ tag {2} \\ Y & = b_ {31} + b_ {32} X + b_ {32} \ med + e_3 \ tag {3} \ end {정렬}YmedX

(1)Y=b11+b12X+e1(2)med=b21+b22X+e2(3)Y=b31+b32X+b32med+e3
Y 에서 \ med 까지 X 에 대한 간접 효과 또는 중개 효과는 b_ {22} b_ {32} 또는 b_ {12} -b_ {32} 로 정의 될 수 있습니다 . 이전의 중재 테스트 프레임 워크에서, 중재는 방정식 1의 b_ {12} , 방정식 2의 b_ {22} 및 방정식 3의 b_ {32} 를 테스트하여 확립되었습니다 .Ymedb22b32b12b32b12b22b32

지금까지 아래 코드와 같이 in을 사용하여 다양한 회귀 계수의 값과 일치하는 medY 값을 시뮬레이션하려고했습니다 .YrnormR

x   <- rep(c(-.5, .5), 50)
med <- 4 + .7 * x + rnorm(100, sd = 1) 

# Check the relationship between x and med
mod <- lm(med ~ x)
summary(mod)

y <- 2.5 + 0 * x + .4 * med + rnorm(100, sd = 1)

# Check the relationships between x, med, and y
mod <- lm(y ~ x + med)
summary(mod)

# Check the relationship between x and y -- not present
mod <- lm(y ~ x)
summary(mod)

그러나이 접근법을 사용하여 회귀 방정식 1 ( 와 사이의 간단한 이변 량 관계를 모델링)에서 와 사이의 관계가 없기 때문에 방정식 2와 3을 사용하여 와 를 순차적으로 생성하는 것으로 충분하지 않은 것 같습니다. . 위에서 설명한 것처럼 간접 (즉, 중개) 효과의 한 가지 정의가 이므로 합니다.medYXYXYb12b32

누구든지 방정식 1, 2 및 3을 사용하여 설정 한 제약 조건을 만족시키는 변수 , 및 를 생성하는 R의 절차를 찾을 수 있습니까 ?XmedY

답변:


4

이것은 매우 간단합니다. 접근 방식을 사용하여 와 사이에 관계가없는 이유 는 코드 때문입니다. xy

y <- 2.5 + 0 * x + .4 * med + rnorm(100, sd = 1)

가 포함되어 있어도 (즉, 부분 중개 를 원할 때) 와 사이의 관계 를 원한다면 0이 아닌 값을 사용하면 됩니다. 예를 들어 위 코드를 다음 코드로 대체 할 수 있습니다. xymedb32

y <- 2.5 + 3 * x + .4 * med + rnorm(100, sd = 1)

따라서 는 에서 으로 변경되었습니다 . (물론 상황에 따라 특정 값이 더 관련이있을 수 있습니다 . 상단 를 골랐습니다 .) b32033


편집 : 중요하지 않은
한계 관계 와 관련하여 이는 통계적 힘 의 함수입니다 . 의 인과 적 힘은 원래 설정에서 를 완전히 통과 하므로 다른 것보다 전력이 적습니다. 그럼에도 불구하고, 효과는 여전히 실제 어떤 의미한다. 원래 코드를 실행했을 때 ( 다시 머리 꼭대기에서 뽑은 값으로 시드를 설정 한 후 ) 중요한 효과를 얻었습니다. xyxmed90

set.seed(90)
x <- rep(c(-.5, .5), 50)
med <- 4 + .7 * x + rnorm(100, sd = 1) 

# Check the relationship between x and med
mod <- lm(med ~ x)
summary(mod)

y <- 2.5 + 0 * x + .4 * med + rnorm(100, sd = 1)

# Check the relationships between x, med, and y
mod <- lm(y ~ x + med)
summary(mod)

# Check the relationship between x and y -- not present
mod <- lm(y ~ x)
summary(mod)

...
Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)   3.8491     0.1151  33.431   <2e-16 ***
x             0.5315     0.2303   2.308   0.0231 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

...

더 많은 전력을 얻으려면, 당신은 증가시킬 수 사용됩니다, 또는 (즉, 사용 작은 오차 값 사용 덜 기본보다 값을 에서 호출). Nsd=1rnorm()


쿵, 답변 주셔서 감사합니다. 내 질문이 조금 모호하다고 생각합니다. 내가 원하는 것은 모델 3의 x와 y 사이의 관계가 아니라 모델 1 (Y = b11 + b12 * X + e1)입니다. 이 효과에 대한 내 질문을 명확히했습니다.
Patrick S. Forscher

편집 해 주셔서 감사합니다. 계수 b12에 대한 모집단 효과의 크기를 직접 지정할 수 있습니까?
Patrick S. Forscher

이 시점에서 귀하의 질문은 무엇이 될 것입니까? 일반적으로 와 사이의 모집단 상관 관계는 무엇입니까 ? 나는 그것이 내 머리 꼭대기에서 확실하지 않기 때문에 새로운 질문으로 가장 잘 물어볼 수 있는지 궁금합니다. 가장 간단한 경우, 3 개의 변수 ( , , )가 모두 정규 분포를 b / t & 관계 가 완전히 중재 된 다음 . 그러나 분포가 정상이 아닌 경우 (예를 들어, 는 & 주파수 와 ) 더 복잡한 중재 상황이있는 경우 더 복잡합니다.xyxmedyxyρx,y=ρx,medρmed,yx.5+.5
gung-복원 Monica Monica

0

다음은 Caron & Valois (2018) 에서 간단한 중개를 모델링하는 방법에 대한 논문 입니다.

  x <- rnorm(n)
  em <- sqrt(1-a^2)
  m <- a*x + em*rnorm(n)
  ey2 <- sqrt(ey)
  y <- cp*x + b*m + ey2*rnorm(n)
  data <- as.data.frame(cbind(x, m, y))

당신은 지정해야 (샘플 크기), , 및 (직접 효과). 여기서 장점은 표준화 된 계수를 모델링하여 효과 크기를 알 수 있다는 것입니다. 또한 Baron & Kenny, Sobel 및 Bca 부트 스트랩을 비 표준화하기위한 코드도 포함했습니다.nabc

참고 문헌

Caron, P.-O. 및 Valois, P. (2018). 간단한 중개 분석에 대한 계산 설명. 심리학의 정량적 방법, 14, 147-158. 도 : 10.20982 / tqmp.14.2.p147

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.