3/03/2026

Model comparison dan parameter constraints di SEM

Model comparison (perbandingan model) dan parameter constraints (batasan parameter)

Apa itu model dalam SEM?

Model = “peta hubungan sebab-akibat” antar variabel.

  • Panah satu arah X → Y: “X memengaruhi Y” (regresi/efek langsung)
  • Panah dua arah X ↔ Y: “X berkorelasi dengan Y” (hubungan tanpa arah sebab-akibat yang tegas)
  • Setiap panah punya angka (parameter) yang menunjukkan seberapa kuat pengaruh/hubungannya
  • Ada juga “error” (bagian yang tidak bisa dijelaskan model)

Tujuan SEM: melihat apakah pola hubungan yang kita gambar cocok (fit) dengan data.

Intinya: model mencoba meniru pola hubungan yang ada di data. Kalau model “mirip” dengan data, kita bilang fit-nya bagus.


Apa itu “Parameter”?

Parameter = angka-angka di model yang harus diestimasi/dicari dari data, misalnya:

  • Koefisien pengaruh pada panah (seberapa kuat pengaruh X ke Y)
  • Korelasi (↔)
  • Varians (besar penyebaran/error)

Kalau model punya lebih banyak parameter bebas, biasanya lebih mudah “menyesuaikan” data (fit bisa membaik), tapi risikonya: terlalu “menghafal” data (overfit) dan tidak sederhana.


Apa itu Model Fit (kecocokan model)?

Model fit menjawab: “Seberapa dekat model kita dengan data nyata?”

Di  SEM, sering muncul beberapa ukuran (fit indices), misalnya:

- Chi-square (χ²): mengukur “jarak” antara model dan data. (Semakin kecil umumnya semakin baik.)

- df (degrees of freedom/ derajat bebas): kira-kira ukuran “kesederhanaan model”.

  • Model lebih sederhana → df biasanya lebih besar.
  • Model lebih rumit → df biasanya lebih kecil.

- CFI, TLI: umumnya makin mendekati 1 makin baik.

- RMSEA: umumnya makin kecil makin baik.

- AIC, BIC: dipakai untuk membandingkan model (umumnya lebih kecil lebih baik).

Catatan: membandingkan fit indices itu deskriptif (membantu memilih), bukan “pembuktian mutlak” untuk semua situasi.


Kenapa kita perlu “Model Comparison” (membandingkan model)?

Karena saat analisis, kita sering mencoba beberapa model:

  • Model A: sederhana (lebih sedikit panah/ parameter)
  • Model B: kompleks (lebih banuak panah/ parameter)

Pertanyaan:

  • Kalau menambah parameter: apakah fit benar-benar membaik?
  • Kalau menghapus parameter: apakah fit jadi jauh lebih buruk?


Ukuran-ukuran fit yang sering dibandingkan

- χ² (Chi-square)

Mengukur “jarak” antara model dan data.

Umumnya χ² lebih kecil → lebih baik (tapi sangat dipengaruhi ukuran sampel N).

- df (degrees of freedom/ derajat bebas)

Kira-kira menunjukkan “seberapa dibatasi” modelnya.

  • Model lebih sederhana biasanya punya df lebih besar.
  • Model lebih fleksibel/kompleks biasanya df lebih kecil.

- CFI, TLI

Indeks perbandingan dengan baseline model. 

Semakin mendekati 1 → biasanya semakin baik.

- RMSEA

Mengukur error aproksimasi per df.

Lebih kecil → biasanya lebih baik.

- AIC, BIC

Untuk membandingkan model (terutama yang tidak selalu nested).

Lebih kecil → biasanya lebih baik (menghukum model yang terlalu kompleks).

Catatan: perbandingan fit indices bersifat deskriptif (membantu memilih), bukan satu-satunya dasar “pembuktian statistik”.


Konsep penting: “Nested Models” (model bersarang)

Dua model disebut nested (bersarang) kalau:

- Model lengkap (full/ unrestricted) punya semua parameter model sederhana plus minimal 1 parameter tambahan.

- Model sederhana (reduced/ restricted) bisa dibuat dari model lengkap hanya dengan memberi batasan (constraint), misalnya:

  • mengubah suatu panah jadi 0 (dihapus)
  • atau memaksa dua pengaruh harus sama.

Contoh:

  • Model 1 (full): ada korelasi error (lebih banyak parameter)
  • Model 2 (reduced): korelasi error dihilangkan (ada “pembatasan”) → Model 2 nested di dalam Model 1.

Kalau tidak nested, kita tidak bisa memakai beberapa tes perbedaan χ² dengan cara standar.


Cara membandingkan model nested: LRT/ Chi-square Difference Test

Nama lain: Likelihood Ratio Test (LRT) atau uji selisih chi-square.

- Ide sederhana:

Kita bandingkan model full (lebih bebas) vs reduced (lebih dibatasi)

Hitung selisih:

Aturan keputusan (gampangnya):

  • Jika Δχ²  “besar” (signifikan) → model reduced lebih buruk secara nyata → model full lebih layak.
  • Jika tidak signifikan → tambahan parameter di full tidak terlalu perlu → pilih reduced (lebih sederhana).


LM Test (Lagrangian Multiplier) & Modification Indices (MI)

- LM Test itu apa?

LM test menjawab pertanyaan:

“Kalau kita membebaskan satu constraint (misalnya menambah satu panah yang tadinya 0), kira-kira fit membaik tidak?”

Ciri penting:

  • Cukup mengestimasi model yang restricted saja.
  • Hasilnya memberi petunjuk: constraint mana yang kalau dibuka akan paling menurunkan χ².

- Modification Indices (MI) itu apa?

MI adalah “petunjuk otomatis” dari software:

“Kalau kamu menambah parameter ini (mis. tambah panah X → Y), kira-kira χ² turun sebesar …”

Kadang ada contoh MI yang menyarankan hubungan tertentu untuk ditambah, lalu model direvisi dan fit membaik.

Peringatan penting dari:

  • Hati-hati “fishing expedition” (asal coba-coba karena ingin fit bagus).
  • Bisa “capitalizing on chance” = kebetulan cocok di data ini, tapi gagal di data lain.
  • Idealnya perubahan harus masuk akal secara teori, dan perlu replikasi (dicek lagi di data lain).


Wald Test (untuk “model trimming”/ menghapus jalur)

Kalau LM/MI itu seperti:

“Tambahkan apa supaya lebih baik?”

Maka Wald test seperti:

“Parameter ini kalau dihapus (dibuat 0), apakah model jadi jauh lebih buruk atau tidak?”

Catatan:

  • Dipakai untuk “trimming” (merapikan model)
  • Disarankan hati-hati, terutama kalau N (jumlah data) kecil
  • Jangan asal buang semua jalur yang tidak signifikan; lebih aman menunggu replikasi

Ringkasan fungsi:

  • Wald: menguji apakah pembatasan bisa dipasang (boleh dihapus/ dibuat 0).
  • LM: menguji apakah pembatasan sebaiknya dilepas (sebaiknya ditambah jalur).


Model Respecification (kalau model tidak fit, apa yang dilakukan?)

- Cari penyebab umum:

  • Salah memasukkan hubungan (inclusion yang keliru)
  • Ada hubungan penting yang lupa dimasukkan (exclusion)
  • Memang model dasarnya kurang tepat

- Kalau sudah mengubah-ubah model berdasarkan data, kita masuk wilayah eksploratori:

  • p-value jadi “perkiraan”
  • butuh replikasi

- Lebih baik revisi berdasarkan teori, bukan hanya angka.

- Praktik yang lebih sehat:

  • Lihat residuals (bagian yang tidak dijelaskan model) untuk tanda “ada yang aneh”
  • Bisa “pecah” masalah jadi bagian kecil (piece-wise fitting)


Parameter Constraints (Pembatasan Parameter)

Ini bagian “mengunci” parameter untuk menguji hipotesis tertentu.

- Jenis constraint yang umum

Fixing parameter to 0

  • Contoh: “panah ini dianggap tidak ada” → koefisien = 0.
  • Ini mirip ide trimming.

- Equality constraints (membuat dua parameter sama)

  • Contoh hipotesis: “Pengaruh A ke Y sama besar dengan pengaruh B ke Y.”
  • Ditulis seperti: 

Makna konseptualnya:

Kita mengatakan dua pengaruh itu “kekuatan efeknya sama”, jadi model dipaksa memperlakukan keduanya setara.

Cara mengecek constraint “masuk akal atau tidak”, biasanya dibandingkan:

  • Model full (tanpa dipaksa sama)
  • Model constrained (dipaksa sama)

Kalau setelah dipaksa sama ternyata fit jadi jauh lebih buruk, berarti dugaan “keduanya sama” tidak cocok dengan data.


Jadi, “pilih yang mana” saat membandingkan?

Rekomendasi:

  • Umumnya LRT (chi-square difference test) direkomendasikan karena fleksibel dan “serbaguna”
  • Ada pengecualian tertentu (mis. constraint pertidaksamaan)

Prinsip besar yang aman:

  • Kalau dua model nested dan hasil LRT bilang “perbedaannya tidak signifikan” → pilih model yang lebih sederhana
  • Tapi jangan cuma angka: perubahan model sebaiknya tetap masuk akal secara teori


This entry was posted in

Model fit di SEM

Apa itu Model Fit (Kecocokan Model)?

Model = gambaran hubungan antar variabel yang kita buat (misalnya: olahraga → kebugaran → sakit).

Data = hasil pengukuran nyata dari orang-orang.

Model fit menjawab pertanyaan:

Seberapa cocok cerita/ jalur yang dibuat model dengan pola yang benar-benar ada di data?

  • Kalau fit bagus: model “tidak jauh” dari data.
  • Kalau fit jelek: model “melenceng”, ada hubungan yang kurang/ kelebihan, atau arah hubungan salah.


Setelah model dibuat, apa yang biasanya dicek?

Evaluasi model biasanya mencakup:

- Besar & arah parameter (koefisien jalur)

Contoh: koefisien −0,196 artinya ketika variabel A naik, variabel B turun (hubungan negatif).

- Residual (sisa kesalahan)

Residual besar = model belum menjelaskan hubungan tertentu dengan baik. 

- R^2 untuk variabel yang dipengaruhi (endogenous)

R^2 itu “berapa persen bisa dijelaskan model” (misal R^2 = 0,152 berarti 15,2% dijelaskan)).

- Global model fit (fokus materi ini)

Nilai ringkas untuk menilai kecocokan model secara keseluruhan.


Konsep inti: “Model sempurna (Exact fit) vs model kita”

Ada dua cara berpikir:

  • Exact fit: model dianggap tepat sama dengan data (jarak = 0)
  • Dalam praktik, kita sering cukup puas dengan close/ approximate fit: model tidak sempurna, tapi cukup dekat dan masuk akal

Model yang baik harus jauh lebih baik dari model terburuk, dan cukup dekat ke data.


Uji Chi-square (χ^2) = tes statistik “exact model fit”

- Apa yang diuji?

Chi-square menguji hipotesis:

  • H0 (nol): model cocok tepat dengan data (perbedaan = 0)
  • Kita berharap H0 tidak ditolak (artinya: tidak ada bukti kuat bahwa model jelek)

- Cara membaca hasilnya (versi sederhana)

  • Jika p-value > 0,05 → biasanya dianggap fit oke (tidak menolak H0).
  • Jika p-value ≤ 0,05 → biasanya dianggap model tidak cocok.

- Kenapa chi-square “kontroversial”?

Karena sangat sensitif terhadap ukuran sampel:

  • Kalau sampel besar, kesalahan kecil pun bisa terdeteksi → model gampang “ditolak”.
  • Kadang bisa terjadi hal aneh: kesalahan serius malah “lolos” atau kesalahan kecil malah “ditolak”

- Chi-square juga dipengaruhi hal lain (bukan murni salah model), misalnya:

  • ukuran sampel
  • nilai parameter
  • jumlah indikator

Kesimpulan praktis: chi-square tetap dilihat, tapi jangan sendirian. Harus dibantu indeks lain.


Incremental Fit Indices (Relative Fit Indices)

Ide pembanding:

  • Worst possible model = null/independence model (menganggap variabel-variabel tidak saling berhubungan)
  • Best possible model = fully saturated model (fit sempurna)

Indeks “incremental” menilai: apakah model kita jauh lebih baik dibanding model terburuk atau tidak?

- TLI (Tucker-Lewis Index)

  • Idealnya mendekati 1.
  • Jauh < 1 → indikasi misspecification.
  • Jauh > 1 bisa terjadi (sering disebut “overfitting”/efek perhitungan).

Intuisi: TLI melihat perbandingan “seberapa efisien” model memperbaiki fit dibanding baseline, dengan mempertimbangkan kompleksitas (df).

Intinya: Semakin dekat 1 → semakin bagus.

- CFI (Comparative Fit Index)

Menggunakan ide bahwa χ^2 − df merepresentasikan “ketidakcocokan” (non centrality).

  • Semakin dekat 1 → semakin bagus.
  • Baseline biasanya menganggap Σ diagonal (variabel tidak berkorelasi).

Logikanya: CFI menilai seberapa besar peningkatan model kita dibanding model yang “tidak menghubungkan apa-apa”.


Absolute Fit Indices: jarak dari fit sempurna

Absolute fit menganggap model terbaik punya nilai fit = 0, lalu mengukur jarak dari kondisi sempurna itu.

- RMSEA (Root Mean Square Error of Approximation)

RMSEA = rata-rata “kesalahan pendekatan” per derajat kebebasan.

Patokan:

  • 0 = sempurna
  • < 0,05 = well-fitting
  • < 0,08 = reasonable approximation
  • > 0,10 = not acceptable

- RMSEA dan CI 90% 

RMSEA juga sering dilaporkan dengan CI 90% (batas bawah & atas):

Jika RMSEA terestimasi 0, batas bawah CI bisa 0 juga—itu artinya “ketidakcocokan tidak melewati batas close fit”, bukan berarti model benar-benar sempurna.

Ada juga “tes close fit”:

Jika p-value uji ini besar → mendukung close fit.


Contoh: menilai fit dari hasil output

Output (hasil “fit.measures”):

Penjelasan:

- Chi-square = 5,937, df = 4, p = 0,204

Karena 0,204 > 0,05, maka tidak menolak H0 → secara chi-square, model cocok.

- Baseline

Artinya model “tanpa hubungan” itu jelas buruk—ini yang membuat CFI/TLI bisa tinggi jika model kita jauh lebih baik.

- CFI = 0,988

Sangat dekat 1 → bagus.

- TLI = 0,969

Dekat 1 → bagus.

- RMSEA = 0,036, CI 90%: 0,000 sampai 0,092

  • 0,036 < 0,05 → baik
  • Batas atas 0,092 masih mendekati area “cukup” (karena <0,10), jadi masih masuk akal
  • P-value RMSEA ≤ 0,05 = 0,582 → mendukung “close fit”

- R^2 

Artinya: struktur hubungan tidak bertentangan dengan data, tapi kemampuan menjelaskan variasi variabel itu masih terbatas (mungkin ada faktor lain di luar model).

  • fitness: 0,152 (15,2%)
  • stress: 0,062 (6,2%)
  • illness: 0,174 (17,4%)

Kesimpulan contoh: model ini fit-nya baik/ cocok dengan data berdasarkan kombinasi indikator.


Cara cepat menilai model fit

Kalau kamu melihat output SEM, lakukan urutan ini:

- Lihat Chi-square p-value

p > 0,05 → mendukung fit (tapi jangan puas dulu)

- Lihat CFI & TLI

makin dekat 1 → makin bagus

- Lihat RMSEA + CI

< 0,05 bagus; < 0,08 masih oke; > 0,10 jelek



This entry was posted in

Konsep model fit (kecocokan model) di SEM

Apa itu Model Fit?

Bayangkan kamu membuat peta untuk menjelaskan jalan-jalan di sebuah kota.

Kalau peta kamu mirip dengan kondisi kota sebenarnya → fit-nya bagus.

Kalau banyak jalan yang salah → fit-nya jelek.

Dalam statistik (sering di SEM / CFA / path analysis), model fit artinya:

Seberapa cocok “model hubungan” yang kita gambar dengan data nyata.


Tiga model pembanding penting: baseline, saturated, dan user model

- Baseline / Null / Independence model (model paling jelek)

Asumsinya:

variabel-variabel tidak saling berhubungan (tidak ada korelasi/relasi),

secara matriks, kovarians antar variabel diasumsikan nol (hanya diagonal yang ada).

Model ini biasanya memang jelek, tapi berguna sebagai patokan untuk indeks “relatif” seperti CFI dan TLI.

- Saturated / Unrestricted model (model paling sempurna)

Model yang membiarkan semua hubungan yang mungkin sehingga bisa:

menyesuaikan data hampir/benar-benar sempurna.

Ini “sempurna” secara fit, tetapi sering terlalu bebas (kurang informatif untuk teori).

- User / Maintained model (model yang kita ajukan)

Ini model yang kita buat berdasarkan teori/hipotesis.

Tujuan evaluasi fit: mengecek apakah model teori ini masuk akal dibanding data.


Konsep dasar uji Chi-square (χ^2 ) dan degrees of freedom (df)

Banyak indeks fit berakar dari dua hal ini.

- χ^2 tu mengukur apa?

Anggap χ^2 sebagai “ukuran ketidakcocokan” antara: pola hubungan yang diprediksi model vs pola hubungan yang benar-benar ada di data.

Interpretasi umum:

  • χ^2 kecil (relatif terhadap df) → model lebih cocok
  • χ^2 besar → model kurang cocok

- df (derajat bebas) itu apa?

df berkaitan dengan seberapa ketat model:

  • semakin banyak “pembatas/aturan” (parameter dikunci) → df makin besar
  • model makin bebas → df makin kecil (bahkan bisa 0 untuk model sangat bebas)

- P-value dari uji χ^2 Ada “uji exact fit”:

  • Hipotesis nol (H0): model pas sempurna dengan data
  • Kalau p-value kecil (mis. < 0,05) → model dianggap tidak pas sempurna
  • Kalau p-value besar → kita “tidak punya bukti” model itu tidak pas (lebih aman)

Catatan penting: uji χ^2 ini sering “sensitif” terhadap ukuran sampel, jadi peneliti biasanya melihat indeks lain juga (CFI, TLI, RMSEA).


Incremental Fit Indices (Indeks fit “relatif”)

Indeks ini membandingkan model kita dengan baseline model (model terjelek).

Intinya:

kalau model kita jauh lebih baik daripada baseline → indeks mendekati 1.

Dua yang paling umum:

  • TLI (Tucker–Lewis Index)
  • CFI (Comparative Fit Index)


1. TLI (Tucker–Lewis Index/ ρ2)

Makna konsepnya:

TLI membandingkan “seberapa buruk” model kita vs baseline, dengan mempertimbangkan df (jadi ada “hukuman” untuk model yang terlalu rumit).

  • Idealnya TLI = 1 (fit sangat baik)
  • Jauh < 1 → indikasi misspecification (model keliru/ada hubungan penting yang hilang atau salah)
  • Bisa > 1 → kadang terjadi (secara perhitungan bisa “melewati 1”), sering diinterpretasi sebagai tanda perhitungan/fit yang “terlalu” baik atau efek sampel/model

Catatan, mengingatkan TLI dipengaruhi oleh:

  • pilihan baseline,
  • penelitian sebelumnya,
  • hubungan antar indeks,
  • jenis fitting function yang dipakai software.


2. CFI (Comparative Fit Index)

CFI membandingkan peningkatan kecocokan model kita dibanding baseline.

Cara pikir simpelnya:

  • CFI mendekati 1,00 → bagus
  • CFI jauh dari 1 → kurang bagus
  • χ^2 − df merepresentasikan noncentrality (sederhananya: “berapa jauh model meleset dari fit sempurna”).
  • Baseline biasanya mengasumsikan tidak ada faktor/relasi yang mendasari variabel teramati, sehingga matriks kovarians “diagonal”.


3. Arti huruf b dan m pada rumus CFI/TLI

Cara pikirnya:

b = baseline model (model pembanding terjelek)

m = maintained/user model (model kita)

Jadi kalau kita lihat rumus CFI/TLI, huruf itu cuma penanda “yang mana baseline, yang mana model kita”.


RMSEA (Root Mean Square Error of Approximation)

- Kenapa disebut absolute fit index?

Karena RMSEA:

tidak membandingkan dengan baseline model,

langsung mengukur “seberapa jauh dari perfect fit”.

- Nilai ideal

RMSEA = 0 → perfect fit (cocok sempurna)

makin besar RMSEA → makin tidak cocok

- Kaitan dengan χ^2 

Aturan praktis yang sering dipakai:

RMSEA ≤ 0,05 → close fit (bagus)

0,05–0,08 → cukup

0,08–0,10 → kurang

≥ 0,10 → jelek


Dua hal khas RMSEA: CI 90% dan uji close-fit/ not-close-fit/ poor-fit

1. 90% Confidence Interval (CI)

RMSEA dari sampel adalah estimasi, jadi diberi rentang batas bawah dan atas:

  • CI sempit → estimasi lebih presisi
  • CI lebar → kita lebih sulit yakin “fit sebenarnya” dekat yang mana


2. Tiga uji hipotesis

- Close-fit hypothesis (uji satu arah)

Kita ingin mempertahankan H0 (p-value besar) → artinya model cukup dekat dengan data (close fit).

- Not-close-fit hypothesis

Kita ingin menolak H0 → artinya model bukan “tidak close”, jadi lebih meyakinkan bahwa fit cukup dekat.

- Poor-fit hypothesis

Kita ingin menolak H0 → artinya model bukan fit buruk.

Intinya:

Bagus kalau: close-fit “oke”, poor-fit “ditolak”.


This entry was posted in

3/02/2026

Lavaan untuk SEM

Apa itu lavaan?

Lavaan adalah paket di bahasa pemrograman R untuk membuat model statistik yang hubungannya bisa kompleks.

Bayangkan kamu ingin menjawab pertanyaan seperti:

  • “Apakah rasa suka (enjoy) berpengaruh ke nilai matematika (math)?”
  • “Apakah jenis kelamin (girl) memengaruhi enjoy, lalu akhirnya memengaruhi nilai math?”

Nah, lavaan membantu kita:

  • menulis modelnya (seperti menggambar peta hubungan)
  • menghitung angkanya dari data
  • menampilkan hasil dan mengecek apakah modelnya cocok


Data itu bentuknya bagaimana?

lavaan bisa memakai data dari banyak sumber (misalnya .csv, Excel, .Rdata).

lavaan bisa bekerja dengan:

  • data mentah (data frame/matrix)
  • matriks kovarians + vektor mean + ukuran sampel


Alur kerja lavaan: 3 langkah utama

- Langkah 1 — Model specification (menuliskan model)

Kita menuliskan “rumus hubungan” antar variabel.

- Langkah 2 — Model fitting (menghitung model dari data)

Pakai fungsi seperti sem().

- Langkah 3 — Summary & outputs (melihat hasil)

Pakai summary() dan fungsi output lain.

Contoh kerangka:

library(lavaan)

setwd("...")      # arah folder kerja

load("obsvar.Rdata")

# Step 1: model

m1 <- '

  lnmath ~ enjoy

  enjoy  ~ gir1

'

# Step 2: fit

fit_m1 <- sem(m1, data = obsvar)

# Step 3: output

summary(fit_m1)


Bahasa/ Simbol penting di lavaan

Ada 4 tipe formula:

1. =~ (mendefinisikan variabel laten)

Variabel laten = sesuatu yang tidak terlihat langsung, tapi “diukur” lewat beberapa indikator.

Contoh (ilustrasi umum):

Motivasi =~ item1 + item2 + item3

Artinya: “Motivasi” diukur lewat item1–item3.


2. ~ (regresi / arah pengaruh)

Bentuk umum:

Artinya: Y diprediksi oleh X1 dan X2

Contoh:

  • lnmath ~ enjoy → nilai log-math dipengaruhi enjoy
  • enjoy ~ gir1 → enjoy dipengaruhi gender (misal gir1=1 perempuan)


3. ~~ ((ko)varian / residual covariance)

Dipakai untuk:

  • varians: X ~~ X
  • kovarians: X ~~ Y

Ini berguna kalau dua variabel punya hubungan “bersama” yang tidak dimodelkan sebagai panah sebab-akibat.


4. ~1 (intercept)

Intercept = nilai rata-rata dasar ketika prediktor bernilai 0.


Contoh 1: model jalur sederhana (dua regresi)

Model:

lnmath ~ enjoy

enjoy ~ gir1

Makna konsepnya:

enjoy dipengaruhi oleh girl

lnmath (log dari math) dipengaruhi oleh enjoy

Jadi gender girl bisa berpengaruh ke lnmath secara tidak langsung lewat enjoy (meski di contoh ini belum dihitung sebagai “indirect effect” secara eksplisit).


1. Membaca output summary(fit)

- Informasi estimasi

  • Estimator: ML (Maximum Likelihood) → metode umum untuk mengestimasi parameter.
  • Number of observations → jumlah data yang dipakai.

- Parameter Estimates (angka koefisien)

Untuk tiap panah regresi ada:

  • Estimate: besar pengaruh
  • Std.Err: ketidakpastian (standar error)
  • z-value dan p-value: apakah pengaruh “cukup kuat” (secara statistik)

Dari contoh (intinya):

lnmath ~ enjoy estimate positif → enjoy naik → lnmath cenderung naik.

enjoy ~ girl p-value besar → pengaruh gender ke enjoy tidak meyakinkan pada contoh tersebut.

- Variances (residual variances)

Misal .lnmath = variasi lnmath yang belum dijelaskan prediktor dalam model.


2. Konsep “kecocokan model”: Chi-square, df, p-value

Di output ada Model Test (Chi-square):

  • Model SEM “memprediksi” struktur kovarians tertentu.
  • Uji chi-square mengecek: apakah prediksi model beda jauh dari data?

Secara sederhana:

  • p kecil → ada perbedaan yang terdeteksi (model kurang pas)
  • p besar → model tidak terbukti berbeda dari data (model cukup pas)


3. Konsep “S vs Σ hat”: data nyata vs prediksi model

SEM sangat terkait dengan kovarians.

- Kovarians yang benar-benar ada di data: S

Dari contoh:

- Kovarians yang “dipaksakan” oleh model: Σ hat

Dari contoh:

Kalau model bagus, S dan Σ hat harus mirip.


4. Residual (selisih data vs model)

Residual di sini artinya: selisih antara yang terjadi di data dan yang diprediksi model.

Residual kovarians (raw residual) = 

Bisa 2 cara:

- Hitung sendiri

- Pakai fungsi lavaan

Makna tipe residual:

  • raw: selisih asli
  • normalized/ standardized: selisih yang sudah diskalakan agar mudah dibandingkan (mirip ide “berapa besar kesalahan relatif terhadap skala/variansnya”)

Cara memahami cepat:

  • Residual kecil (dekat 0) → model lumayan pas
  • Residual besar → ada hubungan di data yang belum ditangkap model


5. Koefisien terstandar (standardized coefficients)

Kenapa distandarkan?

Karena kalau skala variabel beda (misal math 0–100, enjoy 1–5), membandingkan pengaruh jadi susah.

Solusi: koefisien standar (dalam satuan SD).

Interpretasi yang mudah:

est.std = 0.143 (contoh untuk lnmath ~ enjoy) artinya:

jika enjoy naik 1 standar deviasi, maka lnmath naik sekitar 0.143 standar deviasi.


6. Hasil Fit measures


Contoh 2: Plain Vanilla Regression

Model:

Di lavaan:

Kenapa df = 0 di contoh?

Untuk regresi tunggal yang “jenuh” terhadap kovarians yang dipakai, kadang derajat bebas bisa 0 (secara konsep: model tidak memberi batasan tambahan untuk diuji di level kovarians tertentu). Yang penting: koefisien regresinya tetap bisa ditaksir dan diinterpretasi.

Cara baca hasilnya:

  • Koefisien enjoy positif → kalau enjoy naik, prediksi math cenderung naik.
  • Koefisien gir1 negatif → kalau gir1=1 (misal perempuan), prediksi math cenderung lebih rendah dibanding acuan (tergantung pengkodean).
  • Ada juga Variance .math → itu “sisa variasi” math yang belum dijelaskan model.


Indirect effect (pengaruh tidak langsung / mediasi)

Ini konsep SEM yang sangat sering dipakai.

Struktur mediasi (dari contoh): x → y → z

Ada:

  • Direct effect: x → z
  • Indirect effect: x → y → z (melewati mediator)

Contoh:

Penjelasan:

  • lang memengaruhi enjoy
  • enjoy memengaruhi lnmath
  • lang bisa memengaruhi lnmath secara tidak langsung lewat enjoy.

Cara lavaan menulisnya:

Cara baca label::

- a: Ada pengaruh langsung dan tidak langsung (a * lang)

- b: pengaruh enjoy -> lnmath (b * enjoy)

- c: pengaruh langsung (direct) lang -> lnmath (c * lang)

- ab = pengaruh tidak langsung/ indirect (hasil kali a × b)

- Total: total pengaruh langsung + tidak langsung (c + ab)

Hasilnya:


Bootstrapping (kenapa dipakai untuk indirect effect?)

Karena indirect effect itu perkalian (a*b), dan “uji signifikansinya” tidak sesederhana uji biasa.

Bootstrapping = cara “mengundi ulang” data berkali-kali (sampling dengan pengembalian) untuk memperkirakan:

  • standar error,
  • confidence interval (rentang nilai yang masuk akal).

Bootstrapping:

  • mengambil sampel ulang dari data (dengan pengembalian) berkali-kali
  • hitung ab setiap kali
  • dari sebaran itu dapat SE dan confidence interval yang lebih masuk akal

Di output ada di (lihat hasil indirect effect):

  • “Number of requested bootstrap draws: 1000”
  • “successful: 999”


Menguji “parameter equality” (apakah dua pengaruh sama?)

Misal ada pertanyaan:

“Apakah pengaruh enjoy -> lnmath sama dengan pengaruh lang -> lnmath?”

Ada 2 cara yang dilakukan:

- Cara 1 — Model bersarang (nested models) + beda chi-square (chi-square difference)

Caranya: buat model yang memaksa dua koefisien sama (pakai label yang sama, misal sama-sama c), lalu lihat apakah model jadi jauh lebih buruk.

Lalu bandingkan dengan model tanpa paksaan (model “full”).

Jika fit memburuk signifikan → paksaan “harus sama” tidak cocok.- 

Cara 2 — Wald test

Langsung menguji kendala pada model:

Interpretasi:

p kecil → bukti bahwa b dan c berbeda.


Menguji koefisien sama dengan nilai tertentu (misal b=−0.10)

Contoh, pada Wald test untuk memeriksa apakah koefisien tertentu sama dengan angka yang kita tentukan:

Dan juga cara “mematok” koefisien saat menulis model, misalnya:

lnmath ~ -.10*enjoy

Kalau dipatok, model jadi lebih ketat → bisa diuji dengan chi-square/df.


Membuat gambar jalur (path diagram) dengan semPlot

semPlot digunakan untuk menggambar “peta panah” hubungan variabel (biar visual dan mudah dipahami).

Contoh:

library(semPlot)

semPaths(fit_m4, title = FALSE)

Ini membantu membaca model seperti peta: mana yang memengaruhi mana, seberapa besar koefisien, dll.


This entry was posted in

Alur path analysis

Apa itu path analysis?

Path analysis (analisis jalur) adalah metode statistik untuk menjelaskan hubungan sebab–akibat (atau “dugaan pengaruh”) antara beberapa hal sekaligus, memakai diagram panah.

Bayangkan kamu ingin menjawab:

  • “Apakah olahraga membuat orang lebih jarang sakit?”
  • Tapi mungkin pengaruhnya tidak langsung, melainkan lewat perantara seperti olahraga → kebugaran meningkat → sakit menurun

Jadi path analysis membantu memetakan: pengaruh langsung dan pengaruh tidak langsung.

Panah X → Y artinya: X memprediksi/mempengaruhi Y (dalam kerangka model).

Kita bisa punya banyak panah sekaligus, jadi kita bisa membedakan:

  • pengaruh langsung (direct effect): X → Y
  • pengaruh tidak langsung (indirect effect): X → M → Y (melewati variabel perantara/mediator M)

Path analysis biasanya dipakai ketika semua variabelnya terukur langsung (bukan “konstruk laten” dengan indikator-indikator).


Alur kerja analisis (mengikuti Kline)

Urutan umum:

  • Specify model → tentukan model/diagram panah (hipotesis hubungan)
  • Identify model → pastikan model “bisa dihitung/diestimasi”
  • Select measures/collect data → tentukan alat ukur & kumpulkan data
  • Fit model → cocokkan model ke data (hitung angka pengaruhnya)
  • Evaluate fit & revise → cek apakah model cocok dengan data; revisi jika perlu
  • Interpret results → maknai hasilnya (ceritakan kesimpulannya)


Contoh:

1. Konsep “Model”: variabel dan arah panah

Dari contoh ada 5 variabel:

  • Exercise (olahraga)
  • Hardiness (ketangguhan/ketahanan mental)
  • Fitness (kebugaran)
  • Stress (stres)
  • Illness (sakit/keluhan)

Intinya, model ini mencoba menjelaskan Illness (sakit) dengan mempertimbangkan jalur dari Exercise dan Hardiness melalui variabel lain (Fitness, Stress).

- Cara membaca panah (konsep koefisien jalur)

Biasanya tiap panah punya koefisien (sering ditulis β atau simbol lain) yang berarti:

  • jika X naik 1 satuan (atau 1 standar deviasi jika distandardisasi)
  • maka Y berubah sebesar koefisien itu,
  • dengan variabel prediktor lain dikontrol sesuai struktur model.


2. Data yang dipakai (apa yang diukur)

Yang diukur: Exercise, Hardiness, Fitness, Stress, Illness

Jumlah responden: N = 373 mahasiswa

Artinya: ada 373 orang, masing-masing punya skor olahraga, ketangguhan, kebugaran, stres, dan sakit.


3. Hipotesis

Tidak ada jalur langsung:

  • Exercise → Illness (tidak dimasukkan)
  • Hardiness → Illness (tidak dimasukkan)

Pengaruh Exercise dan Hardiness ke Illness harus lewat mediator, misalnya:

  • Exercise → Fitness → Illness
  • Exercise → Stress → Illness
  • Hardiness → Stress → Illness


4. Pengaruh langsung vs tidak langsung

- Pengaruh langsung

Kalau ada panah: 

X → Y maka X punya pengaruh langsung ke Y.

- Pengaruh tidak langsung (lewat perantara)

Kalau jalurnya:

X → M → Y maka X memengaruhi Y lewat M.

Biasanya (secara konsep) besarnya pengaruh tidak langsung mengikuti ide: pengaruh (X → M) “dikombinasikan” dengan pengaruh (M → Y).


5. Model Identification

Apakah parameter yang kita minta bisa ditentukan dari informasi data?

- Berapa banyak informasi dari data?

Dari contoh ada 5 variabel terukur, kita bisa membentuk matriks kovarians/ korelasi 5×5.

Jumlah elemen unik (karena simetris) adalah:

Artinya: ada 15 informasi yang bisa dipakai untuk menaksir parameter.

- Berapa banyak parameter yang mau diestimasi?

Koefisien jalur dan varians/ kovarians error yang relevan, lalu menyimpulkan jumlahnya:

t = 10 parameter

- Aturan t (t-rule)

Syarat perlu (umum dipakai): jumlah parameter t harus lebih kecil atau sama dari jumlah informasi data.

Dari contoh:

10 < 15 → t-rule terpenuhi

Catatan: t-rule biasanya syarat perlu, bukan jaminan mutlak; karena kita akan lanjut ke “recursive rule”.

- Recursive rule

Model recursive (secara konsep) berarti:

  • panahnya satu arah dan tidak membentuk lingkaran sebab-akibat (tidak ada feedback loop seperti A → B dan B → A dalam satu waktu),
  • dan biasanya error antar variabel endogen tidak saling berkorelasi (tergantung spesifikasi).

Akibatnya, model lebih “aman” untuk diestimasi dan cenderung identified (parameter dapat ditaksir unik).


6. Select measures/ collect data

Dari contoh, langkah ini “kita lewatkan” karena datanya sudah tersedia. Secara konsep, ini adalah tahap:

  • memilih instrumen ukur yang valid,
  • mengumpulkan data,
  • memastikan skala, reliabilitas, dsb.


7. Fit the model to data

Kita mungkin stop disini karena tes model fit akan dijelaskan di post selanjutnya. Disini kita akan menggunakan lavaan.

Lavaan adalah paket di R untuk SEM/ path analysis. Di tahap “fit model”, software akan:

  • mengestimasi koefisien jalur (mis. a, b, c),
  • mengestimasi varians residual,
  • biasanya memberi ukuran kecocokan model (fit) seperti χ^2, CFI, RMSEA, SRMR, dll.


Referensi

Kline, R. B. (2016). Principles and practice of structural equation modeling (4th ed.). New York: Guilford Press.


This entry was posted in
View My Stats