Minggu, 11 Agustus 2024

Analisis regresi dengan mediasi atau intervensi

Dalam regresi kita mengnal pengarih X terhadapaY maka kita tahu kalau nilai tersebut X mempengaruhi sebagai predictor.Tetapi dalam ikutannya ada satu variabel yang kita bisa ikutnan karena variable moderasi ini melihat adanya pengaruh. Kata kunci yang diberikan Hayes adalah berpengaruh pada perempuan tetapi kecil pengaruh terhadap laki-laki. Ini biasanya contoh beberapa penyakit yang bisa dialami oleh laki-laki  tetapi  akan mendapatkan pengaruh yang lebih besar di perempuan.

Langkah-langkah dalam regresi dengan mediasi adalah sebagai berikut. pada dsarnya kita akan melakukan regresi seperti halnya dnegan regresi yang ada OLS atau Ordinarry Least Square. Maka kita harus menentukan terlebih dahulu regresi beberapa data yang kita akan lakukan dalam regresi mediasi tersebut.

 

1. Regresi X terhadap Z

2. Regresi Z terhadap Y dengan X

 

kemudian dengan regresi tersebut kita akan meperoleh model summary yang ada. Tiap regresi untuk yang pertama apakah nilai Fnya adalah signifikan mempunyai nilai P yang dibawah 0,05 ? Kalau nilai P diatas dari 0,05 maka bisa dikatakan kalau terdapat masalah regresi tersebut. Kemudian juga melakukan regresi maka apakah nilai F nya juga dibawah 0,05

Prosedur dalam regresi ini memang sederhana dan tidak rumit (rigid).

Cara memilihnya adalah dengan melihatd ari stadarized beta. kalau kita lihat jalur pengarig langusng X terhadap Y maka kita melihat hubungan mana yang lebih besar. di beberapa contoh saya melihat memang g kalau langsung tampaknya besar. sedangkan kalau pengaruh tidak langsung maka kita harus mengalikan hubungan variabel independen terhadap moderator baru varibel mediasi dengan variabel Y.

Setelah kita memilih model maka kita lakukan adaah memeriksa dari asumsi normal dari dua jenis regresi yang kita memilihnya.

 

 # Memuat dataset mtcars

data(mtcars)

# Langkah 1: Pengaruh hp terhadap wt (X -> M)
model_med1
<- lm(wt ~ hp, data = mtcars)
summary(model_med1)

##
## Call:
## lm(formula = wt ~ hp, data = mtcars)
##
## Residuals:
##      Min       1Q   Median       3Q      Max
## -1.41757 -0.53122 -0.02038  0.42536  1.56455
##
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)   
## (Intercept) 1.838247   0.316520   5.808 2.39e-06 ***
## hp          0.009401   0.001960   4.796 4.15e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.7483 on 30 degrees of freedom
## Multiple R-squared:  0.4339, Adjusted R-squared:  0.4151
## F-statistic:    23 on 1 and 30 DF,  p-value: 4.146e-05

# Langkah 2: Pengaruh wt terhadap mpg dengan kontrol hp (M -> Y dengan X sebagai kontrol)
model_med2
<- lm(mpg ~ hp + wt, data = mtcars)
summary(model_med2)

##
## Call:
## lm(formula = mpg ~ hp + wt, data = mtcars)
##
## Residuals:
##    Min     1Q Median     3Q    Max
## -3.941 -1.600 -0.182  1.050  5.854
##
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)   
## (Intercept) 37.22727    1.59879  23.285  < 2e-16 ***
## hp          -0.03177    0.00903  -3.519  0.00145 **
## wt          -3.87783    0.63273  -6.129 1.12e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.593 on 29 degrees of freedom
## Multiple R-squared:  0.8268, Adjusted R-squared:  0.8148
## F-statistic: 69.21 on 2 and 29 DF,  p-value: 9.109e-12

# Koefisien hp dari model_med1
coef_hp_to_wt
<- summary(model_med1)$coefficients["hp", "Estimate"]

# Koefisien wt dari model_med2
coef_wt_to_mpg
<- summary(model_med2)$coefficients["wt", "Estimate"]

# Indirect Effect (IE) adalah produk dari kedua koefisien ini
indirect_effect
<- coef_hp_to_wt * coef_wt_to_mpg
indirect_effect

## [1] -0.03645533

# Koefisien dan standar error dari model_med1 (hp -> wt)
a
<- summary(model_med1)$coefficients["hp", "Estimate"]
sa
<- summary(model_med1)$coefficients["hp", "Std. Error"]

# Koefisien dan standar error dari model_med2 (wt -> mpg dengan kontrol hp)
b
<- summary(model_med2)$coefficients["wt", "Estimate"]
sb
<- summary(model_med2)$coefficients["wt", "Std. Error"]

# Menghitung indirect effect
indirect_effect
<- a * b

# Menghitung standar error indirect effect
se_indirect
<- sqrt((b^2 * sa^2) + (a^2 * sb^2))

# Menghitung z-value untuk Sobel Test
z_value
<- indirect_effect / se_indirect

# Menghitung p-value
p_value
<- 2 * (1 - pnorm(abs(z_value)))

# Menampilkan hasil
cat("Indirect Effect:", indirect_effect, "\n")

## Indirect Effect: -0.03645533

cat("Sobel Test z-value:", z_value, "\n")

## Sobel Test z-value: -3.776838

cat("p-value:", p_value, "\n")

## p-value: 0.0001588319 


Tidak ada komentar:

Posting Komentar

Analisis Faktor Rstudio

  Analisis Faktor ...