Kursus
Ketika kita menjawab kuesioner dengan pernyataan seperti "Saya puas dengan pekerjaan kami" atau "Saya senang bekerja dengan rekan kerja saya," kita membantu peneliti mengumpulkan informasi tentang konsep yang tidak dapat kita ukur secara langsung. Ambil contoh kepuasan kerja, motivasi, atau kecemasan. Inilah yang disebut peneliti sebagai konstruk laten. Ini adalah konsep abstrak yang tidak dapat kita ukur secara langsung, tetapi dapat kita amati secara tidak langsung melalui respons, perilaku, atau butir tes.
Namun persoalannya adalah apakah pertanyaan-pertanyaan tersebut memang mengukur konsep yang dimaksud, dan bukan hal lain.
Di sinilah confirmatory factor analysis (CFA) berperan. CFA adalah teknik statistik yang memverifikasi apakah terdapat hubungan antara variabel teramati (anggaplah pertanyaan dalam survei) dan konstruk yang tidak teramati (misalnya, motivasi). Saat kita melangkah lebih jauh dan memahami CFA secara mendalam, penting untuk membedakannya dari exploratory factor analysis (EFA). Berbeda dengan EFA, yang mencari pola tanpa hipotesis, CFA berangkat dari teori dan memverifikasi apakah data mendukungnya.
Sebagai bagian penting dari structural equation modeling (SEM), CFA memastikan bahwa sebelum kita meneliti hubungan antarkonsep, konsep-konsep itu sendiri diukur secara andal dan valid.
Apa Itu Confirmatory Factor Analysis (CFA)?
CFA mempertanyakan hal berikut: Apakah model pengukuran saya sesuai dengan realitas?
Agar lebih memahami pertanyaan ini, mari pahami apa itu model pengukuran. Ini adalah peta yang mengaitkan indikator teramati (seperti butir survei) dengan konstruk laten (seperti depresi, motivasi, atau kepuasan). Dalam CFA, peneliti telah menetapkan peta ini sebelumnya berdasarkan teori atau riset terdahulu, lalu menguji apakah data sesuai dengan struktur tersebut.
Membandingkan CFA dan EFA dengan analogi, EFA seperti menjelajah kota baru tanpa peta. Sementara CFA setara dengan memeriksa apakah petunjuk GPS kita konsisten dengan jalan yang sebenarnya.
Komponen Utama CFA
Konstruk laten dan indikator teramati
- Konstruk laten adalah gagasan konseptual yang tidak dapat diukur secara langsung, misalnya kecerdasan, burnout, dan kebahagiaan.
- Indikator teramati adalah hal yang kita gunakan untuk melakukan pengukuran, seperti skor tes, butir survei, dan penilaian perilaku.
Untuk mengukur kepuasan kerja, kita dapat menggunakan hal berikut:
- Saya merasa puas dengan pekerjaan saya.
- Saya puas dengan gaji saya.
- Saya memiliki hubungan kerja yang baik dengan rekan kerja saya.
Beragam respons ini semuanya mencerminkan faktor mendasar yang sama, yaitu kepuasan kerja.
Factor loading
Factor loading memberi tahu kita sejauh mana setiap indikator menangkap konstruk dasarnya. Loading yang tinggi, biasanya di atas 0,7, menunjukkan representasi yang kuat, sementara loading sedang antara 0,4 hingga 0,7 umumnya memadai.
Anggap factor loading seperti kekuatan sinyal pada ponsel kita. Semakin kuat sinyalnya, semakin baik indikator konstruknya.
Model pengukuran
Model pengukuran menentukan variabel teramati mana yang sesuai dengan konstruk laten mana, sebagaimana diteorikan. Berbeda dengan EFA, di mana data yang menentukan, CFA menerapkan struktur ini di awal sehingga bersifat konfirmatori, bukan eksploratori.
Proses CFA
Setelah memperkenalkan konsep inti, mari telusuri proses CFA selangkah demi selangkah. Demo Python ini menggunakan paket semopy.
Langkah 1: Spesifikasi model
Langkah pertama dalam CFA adalah mendefinisikan model teoretis. Peneliti menentukan konstruk laten apa yang ada dan bagaimana konstruk tersebut diobservasi melalui indikator.
Misalkan kita melakukan studi psikologi tempat kerja. Kita ingin mengukur dua konstruk:
-
Kepuasan Kerja (
JobSat), diukur dengan tiga butir survei: -
JS1: Saya merasa puas dengan pekerjaan saya. -
JS2: Saya puas dengan gaji saya. -
JS3: Saya memiliki hubungan yang baik dengan rekan kerja. -
Keterikatan Kerja (WorkEng), diukur dengan tiga butir survei:
-
WE1: Saya merasa berenergi di tempat kerja. -
WE2: Saya antusias terhadap pekerjaan saya. -
WE3: Saya larut dalam pekerjaan saya.
Kita juga memperkirakan bahwa Kepuasan Kerja dan Keterikatan Kerja berkorelasi.
Dalam semopy, yang merupakan pustaka Python khusus, model ini dapat dinyatakan sebagai:
model_desc = """
JobSat =~ JS1 + JS2 + JS3
WorkEng =~ WE1 + WE2 + WE3
JobSat ~~ WorkEng
"""
Di mana:
-
=~mendefinisikan butir teramati mana yang memuat pada faktor laten tertentu. -
~~mendefinisikan korelasi antara dua faktor laten.
Langkah 2: Pengumpulan data
CFA memerlukan sampel yang relatif besar untuk estimasi yang baik. Salah satu aturan yang sering digunakan adalah minimal 200 subjek atau minimal 10 pengukuran per parameter yang diestimasi.
Untuk mengilustrasikan prosesnya, mari gunakan dataset sederhana:
import pandas as pd
df = pd.DataFrame({
"JS1": [3, 4, 5, 2, 4, 5, 3, 4],
"JS2": [4, 5, 4, 3, 5, 4, 3, 5],
"JS3": [2, 3, 4, 2, 3, 4, 2, 3],
"WE1": [5, 4, 5, 3, 4, 5, 4, 5],
"WE2": [4, 4, 5, 2, 3, 5, 3, 4],
"WE3": [3, 5, 4, 3, 4, 5, 3, 4]
})
Dalam studi sebenarnya, dataset akan mencakup ratusan respons survei.
Langkah 3: Estimasi model
Sekarang kita memiliki data dan model, saatnya melakukan estimasi parameter. Estimasi menghasilkan factor loading yang menunjukkan kekuatan hubungan antara konstruk dan butir, beserta parameter lainnya.
Metode estimasi yang paling populer adalah Maximum Likelihood (ML). Metode ini mengasumsikan bahwa data teramati bersifat kontinu dan mengikuti distribusi normal multivariat. Untuk skenario ketika asumsi ini tidak terpenuhi, seperti data yang menceng atau kategorikal, estimator seperti Weighted Least Squares (WLS) direkomendasikan.
Di Python, menggunakan semopy:
from semopy import Model
mod = Model(model_desc)
mod.fit(df)
Ini menyesuaikan model CFA dengan data, mengestimasi factor loading, korelasi, dan varians.
Langkah 4: Evaluasi kecocokan model
Setelah model diestimasi, langkah berikutnya adalah menilai apakah model ini cocok dengan data.
Kecocokan dinilai menggunakan indeks statistik:
- Chi-square (χ²): Nilai tidak signifikan menunjukkan kecocokan yang baik, tetapi sangat sensitif terhadap ukuran sampel.
- RMSEA (< 0,06): Nilai yang lebih rendah menunjukkan kecocokan pendekatan yang lebih baik.
- CFI (> 0,95): Membandingkan model target dengan model dasar.
- SRMR (< 0,08): Memperkirakan perbedaan rata-rata antara korelasi yang diprediksi dan yang teramati.
Di Python:
from semopy import calc_stats
stats = calc_stats(mod)
print("Chi-square:", stats.get('chi2'))
print("Degrees of Freedom:", stats.get('df'))
print("CFI:", stats.get('cfi'))
print("RMSEA:", stats.get('rmsea'))
print("SRMR:", stats.get('srmr'))
Keluaran ini menunjukkan apakah model teoretis sesuai dengan data teramati. Jika indeks berada dalam ambang yang direkomendasikan, model dianggap cocok dengan baik.
Langkah 5: Penyempurnaan model
Jika kecocokan buruk, peneliti sering memeriksa indeks modifikasi. Indeks ini menyarankan bagaimana kecocokan model dapat meningkat jika parameter tertentu, seperti kovarians galat antarbutir tertentu atau factor loading tambahan, dibebaskan untuk diestimasi.
Namun, penting untuk diperhatikan bahwa modifikasi harus dipandu oleh teori, bukan semata-mata oleh statistik. Jika tidak, model mungkin sangat overfit pada satu dataset tetapi gagal pada yang lain.
Parameter yang diestimasi (misalnya, factor loading) dapat diperiksa seperti di bawah ini:
estimates = mod.inspect()
print(estimates[['lval', 'op', 'rval', 'Estimate']])
Ini menunjukkan sejauh mana setiap butir memuat pada konstruk dasarnya. Butir dengan loading rendah (< 0,4) dapat dipertanyakan reliabilitasnya dalam mengukur skor sejati, dan bisa menjadi kandidat untuk dihapus atau direvisi.
Chi-square: Value 7.086071
Name: chi2, dtype: float64
DF: None
p-value: None
RMSEA: None
CFI: None
SRMR: None
Parameter estimates:
lval op rval Estimate Std. Err z-value p-value
0 JS1 ~ JobSat 1.000000 - - -
1 JS2 ~ JobSat 0.991985 0.079766 12.436258 0.0
2 JS3 ~ JobSat 0.901155 0.074451 12.103973 0.0
3 WE1 ~ WorkEng 1.000000 - - -
4 WE2 ~ WorkEng 0.879609 0.083147 10.578944 0.0
5 WE3 ~ WorkEng 0.758832 0.072321 10.492585 0.0
6 JobSat ~~ WorkEng -0.014492 0.017919 -0.808725 0.418674
7 JobSat ~~ JobSat 0.283181 0.033256 8.515047 0.0
8 WorkEng ~~ WorkEng 0.332945 0.042414 7.849889 0.0
9 JS1 ~~ JS1 0.182918 0.022465 8.142378 0.0
10 JS2 ~~ JS2 0.215892 0.023358 9.242882 0.0
11 JS3 ~~ JS3 0.293970 0.0243 12.097738 0.0
12 WE1 ~~ WE1 0.225318 0.030959 7.277931 0.0
13 WE2 ~~ WE2 0.304496 0.028694 10.611756 0.0
14 WE3 ~~ WE3 0.269805 0.023279 11.590123 0.0
Contoh Singkat dalam Konteks
Hasil CFA menunjukkan bahwa Kepuasan Kerja memiliki loading kuat pada JS1 (1,00) dan JS2 (0,992), dan sedikit lebih rendah pada JS3 (0,901). Ini menunjukkan bahwa ketiga pertanyaan survei berkontribusi secara bermakna untuk mengukur Kepuasan Kerja. Tidak ada butir yang tampak bermasalah, karena semua factor loading jauh di atas batas standar 0,7.
Demikian pula, Keterikatan Kerja memiliki loading kuat pada WE1 (1,00) dan WE2 (0,880), dengan loading sedikit lebih rendah untuk WE3 (0,759), meski tetap dapat diterima.
Kepuasan Kerja sangat tidak berhubungan dengan WorkEng (-0,014), yang menunjukkan bahwa konstruk tersebut cukup independen satu sama lain dalam sampel ini.
Berdasarkan hasil ini, pendekatan kita adalah:
-
Pertahankan ketiga butir untuk Kepuasan Kerja (
JS1,JS2,JS3), karena semuanya memiliki loading tinggi pada konstruk tersebut. -
Pertahankan ketiga butir untuk Keterikatan Kerja (
WE1,WE2,WE3), karena masing-masing menunjukkan loading yang bermakna. -
Tidak diperlukan perubahan substantif, karena factor loading tinggi dan semua parameter yang diestimasi signifikan.
Ini menegaskan bahwa model pengukuran bekerja sebagaimana mestinya. Indikator teramati secara andal mencerminkan konstruk latennya.
Persyaratan dan Asumsi CFA
CFA bergantung pada beberapa asumsi kunci agar hasilnya valid dan dapat ditafsirkan. Memahami asumsi-asumsi ini membantu menilai kapan CFA tepat digunakan dan bagaimana merespons jika data tidak sepenuhnya konsisten dengannya.
Normalitas multivariat
CFA biasanya menggunakan estimasi Maximum Likelihood (ML), yang mengasumsikan bahwa variabel teramati mengikuti distribusi normal multivariat.
Namun, ketika respons sangat menceng atau kategorikal, asumsi ini tidak terpenuhi. Dalam kasus seperti ini, factor loading, galat baku, dan indeks kecocokan dapat menjadi bias. Untuk mengatasinya, digunakan metode estimasi alternatif seperti Weighted Least Squares (WLS) atau pendekatan robust seperti koreksi Satorra-Bentler yang tidak memerlukan normalitas ketat.
Ukuran sampel yang memadai
CFA melibatkan pengestimasian banyak parameter (factor loading, varians, kovarians). Ukuran sampel kecil dapat menghasilkan estimasi yang tidak stabil dan kesimpulan yang tidak andal.
Pedoman umum menyarankan setidaknya 200 partisipan atau 10 observasi per parameter yang diestimasi. Semakin besar ukuran sampel, semakin presisi dan dapat digeneralisasikan hasilnya.
Spesifikasi model yang benar
CFA menguji model teoretis yang telah ditentukan. Jika modelnya salah spesifikasi, misalnya menempatkan indikator pada faktor laten yang keliru, CFA tidak dapat memperbaikinya.
Pengambilan sampel acak
Idealnya, data berasal dari sampel acak agar temuan dapat digeneralisasikan melampaui dataset yang digunakan dalam studi.
Sampel yang tidak acak atau bias dapat menghasilkan temuan yang mencerminkan kekhasan sampel, bukan gagasan yang diteliti.
CFA Bayesian juga sangat fleksibel dan mengakomodasi sampel kecil, model kompleks, atau data non-normal sesuai pengetahuan apriori.
Perbandingan dengan Exploratory Factor Analysis (EFA)
Mari meninjau kembali perbandingan EFA dan CFA. EFA didorong oleh data, yang mengungkap struktur laten tanpa asumsi awal. Semua factor loading diestimasi secara bebas, memungkinkan data untuk “berbicara sendiri.” CFA didorong oleh teori dan menguji struktur hipotesis yang telah ditentukan dengan loading yang dibatasi.
Peneliti umumnya menggunakan kedua metode secara berurutan, di mana EFA digunakan untuk mengeksplorasi struktur potensial dan CFA membantu mengonfirmasinya. Pendekatan ini memberikan ruang bagi penemuan empiris sekaligus validasi teoretis.
Topik Lanjutan dan Ekstensi dalam CFA
CFA multilevel dan longitudinal
- CFA multilevel dirancang untuk memperhitungkan data bertingkat, misalnya siswa di dalam kelas.
- CFA longitudinal menelaah bagaimana konstruk berkembang, yang membantu menilai stabilitas pengukuran, perubahan, dan invarians temporal.
Model orde kedua dan bifaktor
- Model CFA orde kedua memodelkan hubungan antarvariabel laten dengan memodelkan faktor orde pertama, misalnya kemampuan verbal, spasial, dan numerik sebagai indikator dari konstruk tingkat lebih tinggi seperti kecerdasan umum.
- Model bifaktor memisahkan varians yang disebabkan oleh faktor umum dari yang disebabkan oleh sub-dimensi spesifik.
CFA Bayesian
CFA Bayesian adalah alternatif yang fleksibel terhadap metode tradisional. Pendekatan ini memasukkan distribusi prior dalam estimasi parameter yang meningkatkan stabilitas model dan bermanfaat untuk sampel kecil, model kompleks, atau data non-normal.
Aplikasi CFA
CFA banyak digunakan untuk:
- Validasi skala untuk memverifikasi bahwa sekumpulan butir teramati secara akurat merefleksikan konstruk teoretis yang ingin diukur, misalnya kuesioner kecemasan baru.
- Menguji model teoretis untuk mengevaluasi apakah struktur hubungan antar konstruk laten sesuai dengan ekspektasi teoretis.
- Perbandingan lintas kelompok untuk menguji invarians pengukuran. Misalnya, membantu menentukan apakah skala kepuasan bekerja sama di berbagai budaya atau gender.
- Menyempurnakan dan meningkatkan alat psikometrik dengan mengidentifikasi butir yang lemah atau redundan. Hal ini meningkatkan reliabilitas dan validitas tes serta survei.
Keterbatasan dan Tantangan
Setelah membahas CFA secara mendalam, penting untuk menyadari bahwa metode ini memiliki keterbatasan tertentu. Efektivitasnya bergantung pada faktor-faktor berikut:
- Kualitas teori yang mendasari: Landasan teoretis yang lemah atau kurang jelas dapat menghasilkan model dengan kecocokan buruk.
- Asumsi: Distribusi data yang tidak normal atau ukuran sampel kecil dapat mengganggu estimasi, yang pada gilirannya berdampak pada interpretasi.
- Risiko overfitting, yang muncul dari terlalu banyak memodifikasi model demi mendapatkan kecocokan lebih baik. Penyesuaian seperti itu menambah galat yang berkorelasi dan mungkin bekerja pada satu dataset, tetapi gagal digeneralisasikan di tempat lain.
Kesimpulan
Confirmatory factor analysis membantu menjembatani teori dan data, sehingga memungkinkan pengukuran yang akurat atas hal-hal yang tidak teramati di ranah psikologi, pendidikan, pemasaran, atau riset organisasi. CFA menyediakan kerangka untuk memvalidasi konstruk laten dan meletakkan fondasi yang kuat bagi pengukuran. Sebagai bagian dari structural equation modeling, CFA terus berkembang seiring munculnya pengembangan baru seperti ekstensi multilevel, longitudinal, dan Bayesian.
Saya adalah Penasihat dan Etikus AI yang bekerja di persimpangan ilmu data, produk, dan rekayasa untuk membangun sistem pembelajaran mesin yang dapat diskalakan. Masuk dalam daftar "200 Inovator Bisnis dan Teknologi Teratas" di dunia, saya memiliki misi untuk mendemokratisasi pembelajaran mesin dan menyederhanakan jargon agar semua orang dapat menjadi bagian dari transformasi ini.
FAQs
Apa itu confirmatory factor analysis (CFA) dan bagaimana perbedaannya dengan exploratory factor analysis (EFA)?
CFA adalah teknik statistik untuk menguji apakah struktur faktor yang dihipotesiskan sesuai dengan data teramati, sedangkan EFA mengeksplorasi struktur potensial tanpa model yang ditentukan sebelumnya.
Apa yang dimaksud dengan konstruk laten dan indikator teramati dalam CFA?
Konstruk laten adalah konsep yang tidak dapat diamati seperti motivasi atau kepuasan kerja. Indikator teramati adalah butir yang dapat diukur, seperti pertanyaan survei atau skor tes, yang mencerminkan konstruk laten tersebut.
Apa asumsi utama CFA?
CFA mengasumsikan model pengukuran yang ditentukan dengan benar, normalitas multivariat (untuk estimasi ML), ukuran sampel yang memadai, dan idealnya data yang diambil secara acak.
Bagaimana cara mengevaluasi apakah model CFA saya cocok dengan data?
Kecocokan model dinilai menggunakan indeks seperti Chi-square, RMSEA, CFI, dan SRMR. Ambang batas yang dapat diterima menunjukkan apakah model teoretis konsisten dengan data teramati.
Bagaimana cara mengimplementasikan CFA di Python?
CFA dapat diimplementasikan di Python menggunakan paket seperti semopy. Artikel ini menyediakan demo langkah demi langkah yang menunjukkan spesifikasi model, estimasi, dan interpretasi factor loading serta indeks kecocokan.

