Mensimulasikan data agar sesuai dengan model mediasi

9

Saya tertarik menemukan prosedur untuk mensimulasikan data yang konsisten dengan model mediasi yang ditentukan. Menurut kerangka model persamaan struktural linear umum untuk menguji model mediasi pertama kali diuraikan oleh Barron dan Kenny (1986) dan dijelaskan di tempat lain seperti Judd, Yzerbyt, & Muller (2013) , model mediasi untuk hasil Y , mediator , dan prediktor dan diatur oleh tiga persamaan regresi berikut: medX

(1)Y=b11+b12X+e1(2)med=b21+b22X+e2(3)Y=b31+b32X+b32med+e3
Efek tidak langsung atau efek mediasi pada hingga dapat didefinisikan sebagai atau, setara, sebagai . Di bawah kerangka lama pengujian untuk mediasi, mediasi didirikan dengan menguji dalam persamaan 1, dalam persamaan 2, dan dalam persamaan 3.XYmedb22b32b12b32b12b22b32

Sejauh ini, saya telah mencoba mensimulasikan nilai dan yang konsisten dengan nilai-nilai dari berbagai koefisien regresi yang digunakan dalam , seperti kode di bawah ini:medYrnormR

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)

Namun, tampaknya menghasilkan dan secara berurutan menggunakan persamaan 2 dan 3 tidak cukup, karena saya tidak memiliki hubungan antara dan dalam persamaan regresi 1 (yang memodelkan hubungan bivariat sederhana antara dan ) menggunakan pendekatan ini . Ini penting karena salah satu definisi dari efek tidak langsung (yaitu, mediasi) adalah , seperti yang saya jelaskan di atas.medYXYXYb12b32

Adakah yang bisa membantu saya menemukan prosedur dalam R untuk menghasilkan variabel , , dan yang memenuhi kendala yang saya tetapkan menggunakan persamaan 1, 2, dan 3?XmedY

Patrick S. Forscher
sumber

Jawaban:

4

Ini cukup mudah. Alasan Anda tidak memiliki hubungan antara dan menggunakan pendekatan Anda adalah karena kode: xy

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

Jika Anda ingin hubungan antara dan bahkan ketika dimasukkan (yaitu, Anda ingin mediasi parsial ), Anda hanya akan menggunakan nilai bukan nol untuk sebagai gantinya. Misalnya, Anda dapat mengganti kode berikut untuk yang di atas: xymedb32

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

Dengan demikian, telah diubah dari menjadi . (Tentu saja beberapa lainnya, nilai spesifik mungkin akan lebih relevan, tergantung pada situasi Anda, saya hanya mengambil dari atas kepala saya.) b32033


Sunting:
Sehubungan dengan hubungan marginal menjadi tidak signifikan, itu hanya fungsi dari kekuatan statistik . Karena kekuatan sebab-akibat dilewatkan seluruhnya melalui di pengaturan awal Anda, Anda memiliki kekuatan yang lebih rendah dari yang Anda mungkin sebaliknya. Meskipun demikian, efeknya masih nyata dalam beberapa hal. Ketika saya menjalankan kode asli Anda (setelah menetapkan seed menggunakan sebagai nilai yang saya baru saja mengambil bagian atas kepala saya), saya memang mendapatkan efek yang signifikan: 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 

...

Untuk mendapatkan lebih banyak daya, Anda dapat meningkatkan Anda gunakan, atau menggunakan nilai kesalahan yang lebih kecil (mis., Gunakan nilai yang lebih kecil dari nilai default dalam panggilan). Nsd=1rnorm()

gung - Pasang kembali Monica
sumber
gung, terima kasih atas jawaban Anda. Saya kira pertanyaan saya mungkin agak ambigu. Yang saya inginkan bukanlah hubungan antara x dan y pada model 3 (yang merupakan apa yang telah Anda lakukan), tetapi pada model 1 (Y = b11 + b12 * X + e1). Saya telah mengklarifikasi pertanyaan saya mengenai hal ini.
Patrick S. Forscher
Terima kasih atas hasil editnya. Apakah mungkin untuk secara langsung menentukan ukuran efek populasi untuk koefisien b12?
Patrick S. Forscher
Pertanyaan Anda saat ini adalah apa yang akan terjadi: apa korelasi populasi antara & secara umum. Saya bertanya-tanya apakah itu yang terbaik diajukan sebagai pertanyaan baru, karena saya tidak yakin dari atas kepala saya. Dalam kasus yang paling sederhana, di mana semua 3 variabel ( , , ) terdistribusi secara normal, & hubungan b / t & adalah sepenuhnya dimediasi, maka . Namun, itu lebih kompleks jika distribusi tidak normal (misalnya, Anda adalah frekuensi yang sama & ), atau w / situasi mediational lebih kompleks.y x m e d y x y ρ x , y = ρ x , m e dρ m e d , y x - .5 + .5xyxmedyxyρx,y=ρx,medρmed,yx.5+.5
gung - Reinstate Monica
0

Berikut ini makalah tentang cara memodelkan mediasi sederhana di Caron & Valois (2018) : Ada kode R

  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))

Anda hanya perlu menentukan (ukuran sampel), , dan (efek langsung). Keuntungannya di sini adalah Anda akan memodelkan koefisien terstandarisasi sehingga Anda akan tahu ukuran efeknya. Mereka juga memasukkan kode untuk tidak standar, membawa bootstrap Baron & Kenny, Sobel dan Bca.nabc

Referensi

Caron, P.-O., & Valois, P. (2018). Deskripsi komputasi analisis mediasi sederhana. Metode Kuantitatif untuk Psikologi, 14, 147-158. doi: 10.20982 / tqmp.14.2.p147

POC
sumber