1 PENDAHULUAN

1.1 Latar Belakang Kasus

Di berbagai belahan dunia, tren penundaan kehamilan atau pengurangan angka kelahiran menjadi semakin umum, dan semakin banyak perempuan yang memilih untuk tidak memiliki anak. Isu ini menjadi semakin relevan dalam masyarakat saat ini. Sejumlah perubahan sosial, ekonomi, dan budaya telah memengaruhi cara individu dan pasangan mengambil keputusan mengenai keluarga mereka. Perubahan dalam dinamika karier telah memengaruhi prioritas individu terkait dengan keluarga. Perempuan dan laki-laki mungkin merasa perlu untuk mengejar karier yang mapan sebelum memulai keluarga, yang dapat mengakibatkan penundaan untuk memiliki anak.

Perkembangan peran gender dan ekspektasi sosial juga berperan dalam keputusan ini. Perempuan mungkin merasa lebih berdaya untuk mengendalikan pilihan mereka tentang memiliki anak atau tidak, tetapi ekspektasi sosial dan tekanan budaya dapat memengaruhi keputusan mereka. Faktor ekonomi, termasuk biaya perawatan kesehatan, pendidikan, dan perumahan, juga dapat berpengaruh pada keputusan untuk tidak memiliki anak. Keadaan ekonomi individu atau pasangan dapat menjadi faktor utama dalam menentukan kapan dan apakah mereka siap untuk memulai keluarga.

Dalam konteks ini, analisis faktor eksploratori menjadi penting untuk mengidentifikasi faktor-faktor utama yang berperan dalam pengambilan keputusan tidak memiliki anak. Hasil analisis ini diharapkan dapat memberikan pemahaman yang lebih baik tentang konteks sosial dan psikologis dibalik keputusan perempuan untuk tidak memiliki anak dan dapat memberikan wawasan tentang dinamika keluarga dan masyarakat.

2 TINJAUAN PUSTAKA

2.1 Analisis Faktor

Factor Analysis (FA) atau analisis faktor adalah metode analisis yang umum digunakan untuk mengungkap hubungan antara variabel laten yang diasumsikan dan variabel manifes. Variabel laten adalah variabel yang tidak dapat diukur secara langsung tetapi dapat diasumsikan berhubungan dengan sejumlah variabel terukur atau nyata yang disebut sebagai variabel manifes. Model yang mendasari metode ini pada dasarnya adalah model regresi linier berganda, di mana variabel manifes diregresikan terhadap variabel laten yang tidak dapat diobservasi (dalam konteks ini sering disebut sebagai variabel faktor bersama), sehingga estimasi langsung dari koefisien regresi yang sesuai (dikenal sebagai factor loadings atau pembobot faktor) tidak mungkin dilakukan (Vehkalahti & Everitt, 2019).

Analisis faktor dibagi menjadi dua, yang pertama adalah analisis faktor eksploratori, yang digunakan untuk menyelidiki hubungan antara variabel manifes dan faktor tanpa membuat kesimpulan asumsi yang terlalu ketat tentang variabel manifes mana yang terkait dengan variabel faktor mana. Kedua, analisis faktor konfirmatori, yang digunakan untuk menguji apakah model faktor tertentu yang didalilkan secara apriori menyediakan kecocokan yang memadai untuk kovarians atau korelasi antara variabel manifes.

2.2 Model Analisis Faktor

Model analisis faktor adalah sebagai berikut:

\[ \begin {align} x_1&=\lambda_{11}f_1+\lambda_{12}f_2+...+\lambda_{1k}f_k+u_1\\ x_2&=\lambda_{21}f_1+\lambda_{22}f_2+...+\lambda_{2k}f_k+u_2\\ \vdots\\ x_q&=\lambda_{q1}f_1+\lambda_{q2}f_2+...+\lambda_{qk}f_k+u_q \end {align} \]di mana \(\mathbf{x}'=[x_1,x_2,...,x_q]\) adalah \(q\) variabel manifes yang dapat diobservasi dan \(\mathbf{f}'=[f_1,f_2,...,f_k]\) adalah \(k\) faktor bersama (variabel laten) yang tidak dapat diobservasi dengan \(k<q\). \(\lambda_{ij}\) adalah nilai pembobot faktor yang ketika diestimasi dari matriks korelasi sampel akan menjadi estimasi korelasi antara faktor dan variabel manifes. Pembobot faktor digunakan dalam interpretasi faktor, yaitu nilai yang lebih besar menghubungkan suatu faktor dengan variabel manifes yang bersesuaian, dan dengan melihat variabel manifes mana yang mempunyai bobot tinggi pada suatu faktor, setiap faktor dapat diberikan deskripsi atau label yang bermakna. Sedangkan \(u_i\) dalam hal ini dikenal sebagai varians spesifik untuk setiap \(x_i\).

Model analisis faktor dapat disajikan dalam bentuk matriks sebagai berikut.

\[ \mathbf{x}=\mathbf{\Lambda f+u} \]di mana

\[ \mathbf{\Lambda}= \begin{bmatrix} \lambda_{11} & \ldots & \lambda_{1k} \\ \vdots & \vdots & \vdots \\ \lambda_{q1} & \ldots & \lambda_{qk} \end{bmatrix}, \mathbf{f}= \begin{bmatrix} f_1\\\vdots\\f_k \end{bmatrix}, \text{dan}\ \mathbf{u}= \begin{bmatrix} u_1\\\vdots\\u_k \end{bmatrix} \]

Model analisis faktor menyiratkan bahwa varians variabel manifes \(x_i\) dapat dihitung dengan

\[ \sigma_i^2=\Sigma_{j=1}^k\ \lambda_{ij}^2+\psi_i \]

di mana \(\psi_i\) adalah varians dari \(u_i\). \(h_i^2=\Sigma_{j=1}^k\ \lambda_{ij}^2\) selanjutnya dikenal sebagai komunalitas dari variabel manifes yang mewakili varians yang dimiliki bersama dengan variabel manifes lain melalui faktor bersama. Sedangkan \(\psi_i\) disebut sebagai varians spesifik yang berkaitan dengan variabilitas dalam \(x_i\) yang tidak dimiliki bersama variabel lainnya. Selanjutnya, matriks kovarian populasi dari variabel manifes, \(\mathbf{\Sigma}\), dinyatakan dalam bentuk

\[ \mathbf{\Sigma}=\mathbf{\Lambda \Lambda}'+\mathbf{\Psi} \] di mana

\[ \mathbf{\Psi}=\text{diag}(\psi_i) \] atau jika diestimasi menggunakan sampel maka

\[ \mathbf{S}=\mathbf{\hat{\Lambda}\hat{\Lambda}}'+\mathbf{\hat{\Psi} }\] (\(\mathbf{S}\) digantikan dengan \(\mathbf{R}\) dalam hal nilai \(x_i\) telah distandarisasi).

2.3 Analisis Pendahulu

Sebelum melakukan analisis faktor, terlebih dahulu dilakukan beberapa prosedur untuk menentukan apakah analisis faktor sesuai diterapkan pada data dengan memeriksa matriks korelasi. Pengujian matriks korelasi secara statistik dapat dilakukan dengan Bartlett’s Test of Sphericity, yaitu sebuah uji statistik untuk mengetahui adanya korelasi di antara variabel-variabel pada data. Uji ini mampu memberikan signifikansi statistik bahwa matriks korelasi memiliki korelasi yang signifikan di antara setidaknya beberapa variabel. Namun, peneliti harus memperhatikan bahwa peningkatan ukuran sampel menyebabkan uji ini menjadi lebih sensitif dalam mendeteksi korelasi antar variabel (Hair et al., 2009).

Kaiser-Meyer-Olkin criterion (atau KMO criterion) umumnya dianggap sebagai metode terbaik untuk menguji kesesuaian matriks korelasi untuk analisis faktor, dan direkomendasikan untuk dilakukan setiap sebelum melakukan analisis faktor (Cleff, 2019). Aturan ini menggunakan Measure of Sampling Adequacy (MSA), yakni ukuran kecukupan sampel yang berkisar antara 0 hingga 1, mencapai 1 ketika setiap variabel diprediksi dengan sempurna tanpa kesalahan oleh variabel lainnya. MSA meningkat seiring dengan bertambahnya ukuran sampel, meningkatnya korelasi rata-rata, bertambahnya banyak variabel, atau berkurangnya banyak faktor. Peneliti harus selalu memiliki nilai overall MSA (KMO criterion) di atas 0.5 sebelum melanjutkan dengan analisis faktor. Jika nilai MSA untuk suatu variabel kurang dari 0.5, maka ada indikasi untuk menghapus variabel tersebut agar tercapai overall MSA lebih dari 0.5 (Hair et al., 2009).

2.4 Banyak Faktor Bermakna

Penentuan banyak faktor bermakna menjadi penting dalam analisis faktor eksploratori dikarenakan solusi dengan \(k\) faktor dan \(k+1\) faktor seringkali akan menghasilkan faktor-faktor dan pembobot faktor yang cukup berbeda untuk semua faktor, berbeda dengan analisis komponen utama di mana komponen pertama hingga \(k\) akan identik dalam setiap solusi. Selain itu, dengan terlalu sedikit faktor, akan ada terlalu banyak pembobot bernilai tinggi, dan dengan terlalu banyak faktor, pembobot faktor akan tersebar rata dan sulit untuk diinterpretasikan dengan meyakinkan (Vehkalahti & Everitt, 2019).

Meskipun banyak faktor bermakna dapat ditentukan oleh peneliti (secara subjektif), beberapa aturan telah menjadi acuan dari waktu ke waktu. Salah satu aturan yang paling penting dan telah diterima secara luas adalah Kaiser criterion. Aturan ini memperhitungkan semua faktor dengan nilai eigen yang lebih besar dari 1 sebagai faktor yang bermakna, karena nilai eigen yang kurang dari 1 menggambarkan faktor yang kurang baik dalam menjelaskan varians dari masing-masing variabel manifes. Kaiser criterion seringkali disertai dengan scree plot di mana nilai eigen diplot terhadap banyak faktor di dalam sistem koordinat dengan urutan nilai eigen yang menurun dan banyak faktor yang meningkat (Cleff, 2019).

2.5 Metode Ekstraksi Faktor

Metode ekstraksi faktor yang paling sering digunakan adalah Principal Component Analysis (PCA) dan Principal Factor Analysis (PFA). Metode PCA mengasumsikan bahwa masing-masing variabel dapat dijelaskan dengan kombinasi linier dari faktor bersama, yang berarti bahwa faktor-faktor tersebut mewakili varians variabel secara keseluruhan. Jika ada varians bersama suatu variabel yang ditentukan oleh semua faktor, maka akan diperoleh komunalitas 100% (atau 1). Hasil yang diinginkan ini jarang terjadi dalam praktiknya, karena variabel jarang dapat direduksi menjadi beberapa faktor yang mewakili varians dari semua variabel. Dengan PCA, komunalitas yang kurang dari 1 mengindikasikan hilangnya informasi dalam representasi.

Sebaliknya, metode PFA mengasumsikan bahwa varians variabel dapat dipisahkan menjadi dua bagian. Bagian pertama ditentukan oleh varians gabungan dari semua variabel dalam analisis. Bagian lainnya ditentukan oleh varians spesifik untuk variabel yang bersangkutan. Varians total di antara variabel yang diamati tidak dapat diperhitungkan oleh faktor bersama. Dengan PFA, faktor bersama hanya menjelaskan komponen varians yang pertama, yaitu bagian varians yang dibentuk secara umum oleh semua varians, yang berarti bahwa indikator komunalitas harus kurang dari 1 (Cleff, 2019).

2.6 Pembobot Faktor yang Signifikan

Pembobot faktor digunakan untuk menginterpretasikan atau memberi label faktor yang diekstrak. Terkadang, meski telah dilakukan rotasi faktor untuk mempermudah interpretasi, masih dapat dijumpai variabel dengan pembobot faktor yang tersebar hampir sama rata di setiap faktor sehingga mempersulit proses intrepretasi faktor. Stevens (2009) menyarankan nilai 0.4 sebagai cut-off nilai absolut pembobot faktor yang dinyatakan signifikan untuk keperluan interpretasi. Di samping itu, Hair et al (2009) merangkum nilai absolut pembobot faktor yang signifikan secara praktik berdasarkan ukuran sampel yang digunakan sebagai berikut.

3 DATA

Data yang digunakan adalah data survey tentang faktor-faktor yang memengaruhi keputusan seseorang untuk tidak memiliki anak terhadap 122 responden yang dilakukan oleh sekelompok peneliti Pascasarjana dari Rider University di Lawrenceville, New Jersey, Amerika Serikat. Terdapat 28 pernyataan survey (variabel) yang memiliki nilai berskala 1 sampai 5, di mana

  • 1: Sangat tidak setuju bahwa pernyataan terkait merupakan faktor yang memengaruhi keputusan seseorang untuk tidak memiliki anak.

  • 2: Tidak setuju bahwa pernyataan terkait merupakan faktor yang memengaruhi keputusan seseorang untuk tidak memiliki anak.

  • 3: Netral

  • 4: Setuju bahwa pernyataan terkait merupakan faktor yang memengaruhi keputusan seseorang untuk tidak memiliki anak.

  • 5: Sangat setuju bahwa pernyataan terkait merupakan faktor yang memengaruhi keputusan seseorang untuk tidak memiliki anak.

28 pernyataan tersebut dilambangkan dengan Q1-Q28 sebagai variabel awal atau indikator dalam analisis faktor. Berikut pernyataan lengkap terkait masing-masing variabel.

Berikut adalah data yang diperoleh.

4 SOURCE CODE

4.1 Library yang Dibutuhkan

> library(readxl) #Impor data dalam format Excel
> library(REdaS) #Analisis pendahulu
> library(psych) #Analisis faktor
> library(ggplot2) #Visualisasi pembobot faktor
> library(tidyr) #Pengelompokkan kolom data

4.2 Menyiapkan Data

Untuk memuat data dari file Childlessness.xlsx, digunakan fungsi read_excel() dengan argumen yang berisikan lokasi file data yang tersimpan. Hasil pemuatan data tersebut disimpan dalam input. Kemudian, dibentuk data frame data menggunakan fungsi data.frame(input). Untuk melihat struktur data, digunakan fungsi str(data).

> # Input Data
> input = read_excel("~/KULIAH/Semester 5/PRAK_ANMUL/Childlessness.xlsx")
> data = data.frame(input)
> str(data)
'data.frame':   122 obs. of  28 variables:
 $ Q1 : num  5 4 1 2 3 4 1 4 3 1 ...
 $ Q2 : num  2 4 1 2 3 3 1 4 4 1 ...
 $ Q3 : num  5 5 4 4 5 4 4 5 4 3 ...
 $ Q4 : num  5 5 1 4 3 5 2 4 3 2 ...
 $ Q5 : num  3 3 1 3 3 4 2 4 2 5 ...
 $ Q6 : num  5 5 1 1 3 5 2 2 2 2 ...
 $ Q7 : num  4 5 5 5 5 3 5 4 4 5 ...
 $ Q8 : num  3 5 5 4 5 2 4 5 5 5 ...
 $ Q9 : num  1 1 1 1 1 2 1 1 2 1 ...
 $ Q10: num  1 1 1 1 1 2 1 2 2 1 ...
 $ Q11: num  3 4 1 1 3 4 2 2 3 3 ...
 $ Q12: num  3 4 1 1 4 4 4 5 2 2 ...
 $ Q13: num  3 4 1 1 4 4 4 4 2 3 ...
 $ Q14: num  4 2 5 1 1 2 2 2 2 2 ...
 $ Q15: num  3 4 1 1 3 3 3 4 3 2 ...
 $ Q16: num  5 5 5 5 5 4 5 5 4 5 ...
 $ Q17: num  5 5 5 4 5 3 4 4 5 4 ...
 $ Q18: num  4 5 1 4 5 4 4 5 4 4 ...
 $ Q19: num  3 3 1 1 2 2 1 1 2 2 ...
 $ Q20: num  5 4 1 1 1 2 2 4 4 4 ...
 $ Q21: num  2 3 1 3 3 1 1 2 3 3 ...
 $ Q22: num  5 1 1 3 4 3 1 2 4 4 ...
 $ Q23: num  2 2 1 1 1 1 1 2 2 1 ...
 $ Q24: num  2 2 1 1 1 1 1 2 2 1 ...
 $ Q25: num  3 1 1 2 1 2 2 1 2 4 ...
 $ Q26: num  1 2 3 2 1 4 2 2 2 1 ...
 $ Q27: num  4 1 1 1 1 1 1 3 2 1 ...
 $ Q28: num  3 1 1 1 1 2 1 2 3 2 ...

Setelah melihat struktur dari data, diketahui terdapat 122 observasi dengan 28 variabel di dalamnya. Selain itu, penting untuk diketahui bahwa semua variabel telah terdefinisi dengan tipe data yang benar, yaitu numerik. Selanjutnya, untuk memeriksa apakah terdapat missing values atau data yang bernilai NA dalam data, maka digunakan perintah berikut.

> nrow(data[is.na(data$.),])
[1] 0

Didapat hasil bahwa banyak baris yang mengandung nilai NA dalam data adalah 0. Hal ini berarti bahwa tidak terdapat missing values dalam data. Untuk menampilkan 6 baris pertama pada data, digunakan fungsi head(data).

> head(data)
  Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Q11 Q12 Q13 Q14 Q15 Q16 Q17 Q18 Q19 Q20 Q21
1  5  2  5  5  3  5  4  3  1   1   3   3   3   4   3   5   5   4   3   5   2
2  4  4  5  5  3  5  5  5  1   1   4   4   4   2   4   5   5   5   3   4   3
3  1  1  4  1  1  1  5  5  1   1   1   1   1   5   1   5   5   1   1   1   1
4  2  2  4  4  3  1  5  4  1   1   1   1   1   1   1   5   4   4   1   1   3
5  3  3  5  3  3  3  5  5  1   1   3   4   4   1   3   5   5   5   2   1   3
6  4  3  4  5  4  5  3  2  2   2   4   4   4   2   3   4   3   4   2   2   1
  Q22 Q23 Q24 Q25 Q26 Q27 Q28
1   5   2   2   3   1   4   3
2   1   2   2   1   2   1   1
3   1   1   1   1   3   1   1
4   3   1   1   2   2   1   1
5   4   1   1   1   1   1   1
6   3   1   1   2   4   1   2

4.3 Analisis Pendahulu

4.3.1 Uji KMO dan MSA

> # Uji KMO dan MSA
> KMOS(data)

Untuk menghitung nilai statistik KMO dan MSA untuk tiap variabel, digunakan fungsi KMOS() yang tersedia dari library REdaS dengan argumen berisikan data yang digunakan, dalam hal ini adalah data.

4.3.2 Bartlett’s Test of Sphericity

> # Bartlett's Test of Sphericity
> bart_spher(data)

Untuk melakukan pengujian korelasi antar variabel (Bartlett’s Test of Sphericity), digunakan fungsi bart_spher() yang tersedia dari library REdaS dengan argumen berisikan data yang digunakan, dalam hal ini adalah data.

4.4 Analisis Faktor

4.4.1 Scree Plot

> # Scree Plot
> data_corr = cor(data)
> eigen = eigen(data_corr)
> eigen$values
> scrplt = plot(eigen$values, main = "Scree Plot", 
+               xlab = "Factors", ylab = "Eigen Values", 
+               pch = 20, col = "blue", type = "o", lwd = 1.5) + 
+   axis(1, at = seq(1,28)) +
+   abline(h = 1, col = "red", lty = 2, lwd = 1.5)

Fungsi cor() digunakan untuk menghitung matriks korelasi antar variabel pada data dengan argumen berisikan data dalam bentuk matriks atau data frame, dalam hal ini adalah data. Matriks korelasi tersebut kemudian disimpan dalam data_corr. Setelah itu, dapat ditentukan nilai eigen sekaligus vektor eigen yang bersesuaian dari matriks korelasi data_corr menggunakan fungsi eigen(data_corr), hasil ini disimpan dalam eigen. Nilai eigen dari matriks tersebut tersimpan di dalam objek eigen pada elemen values, yang dapat dipanggil menggunakan eigen$values.

Untuk membuat scree plot, digunakan fungsi plot() dengan argumen; x, yaitu data yang ingin diplot, dalam hal ini adalah eigen$values; main, yaitu judul utama plot; xlab, yaitu label sumbu x; ylab, yaitu label sumbu y; pch, yaitu angka yang menunjukkan bentuk titik yang mewakili nilai data; col, yaitu warna titik dan garis penghubung; type, yaitu karakter yang menunjukkan tipe plot; dan lwd, yaitu ketebalan garis.

Kemudian, untuk memperjelas banyak faktor pada sumbu x untuk setiap penambahan 1 faktor dan menambahkan batas berupa garis horizontal pada nilai eigen sama dengan 1, maka fungsi plot dapat digabungkan dengan fungsi axis() dan abline() menggunakan operator +. Fungsi axis() berisikan argumen posisi sumbu berada (1 artinya dibawah) dan nilai-nilai pada sumbu, dalam hal ini berupa barisan dari 1 hingga 28 dengan beda 1 (at=seq(1,28)). Sedangkan fungsi abline() berisikan argumen; h, yaitu nilai pada sumbu tegak (membentuk garis horizontal); col, yaitu warna garis; lty, yaitu angka yang menunjukkan tipe garis; dan lwd, yaitu ketebalan garis.

4.4.2 Ekstraksi Faktor dengan PCA

> # Analisis Faktor
> nfaktor = 9 # Berdasarkan Scree Plot
> 
> # Menggunakan Principal Component Analysis (PCA) sebagai Metode Ektraksi Faktor
> PCA = principal(r = data_corr, nfactors = nfaktor, rotate = "varimax")
> PCA$communality

Untuk melakukan analisis faktor dengan metode Principal Component Analysis (PCA), digunakan fungsi principal() dari library psych dengan argumen; r, yaitu matriks korelasi antar variabel, dalam hal ini adalah data_corr; nfactors, yaitu banyak komponen untuk diekstrak, dalam hal ini nilainya telah disimpan dalam nfaktor; dan rotate, yaitu metode rotasi yang digunakan, dalam hal ini adalah varimax ("varimax"). Hasil tersebut kemudian disimpan dalam PCA. Untuk menampilkan komunalitas setiap variabel dapat dilakukan dengan memanggil PCA$communality.

4.4.3 Ekstraksi Faktor dengan PFA

> # Menggunakan Principal Factor Analysis (PFA) sebagai Metode Ekstraksi Faktor
> PFA = fa(r = data, nfactors = nfaktor, rotate = "varimax", fm = "pa")
> PFA
> PFA$scores

Untuk melakukan analisis faktor dengan metode Principal Factor Analysis (PFA), digunakan fungsi fa() dari library psych dengan argumen; r, yaitu matriks korelasi antar variabel atau data awal yang secara default akan dihitung matriks korelasinya untuk dijadikan sebagai matriks input, dalam hal ini digunakan data awal data agar skor faktor dapat diestimasi dari data; nfactors, yaitu banyak faktor untuk diekstrak, dalam hal ini nilainya telah disimpan dalam nfaktor; rotate, yaitu metode rotasi yang digunakan, dalam hal ini adalah varimax ("varimax"); fm, yaitu metode ekstraksi faktor yang digunakan, dalam hal ini adalah PFA ("pa"). Hasil tersebut kemudian disimpan dalam PFA. Untuk menampilkan hasil analisis dapat dilakukan dengan memanggil PFA dan untuk menampilkan estimasi skor faktor (secara default menggunakan metode regresi) dapat dilakukan dengan memanggil PFA$scores.

4.5 Visualisasi Pembobot Faktor

> # Visualisasi Pembobot Faktor (Factor Loadings)
> # Menggunakan ggplot()
> nvar = dim(data_corr)[1]
> loadings_mat = as.data.frame(matrix(nrow = nvar, ncol = nfaktor))
> 
> for (i in 1:nfaktor) {
+   for (j in 1:nvar) {
+     loadings_mat[j, i] = PFA$loadings[j, i]  
+   }
+ }
> 
> loadings_mat$Variabel = colnames(data)
> colnames(loadings_mat) = c("Faktor1 (PA2)","Faktor2 (PA3)","Faktor3 (PA4)",
+                            "Faktor4 (PA5)","Faktor5 (PA9)","Faktor6 (PA1)",
+                            "Faktor7 (PA7)","Faktor8 (PA6)","Faktor9 (PA8)",
+                            "Variabel")
> loadings_mat_gabung = loadings_mat %>% gather("Faktor", "Nilai", 1:nfaktor)
> 
> vis = ggplot(loadings_mat_gabung, aes(Variabel, abs(Nilai), fill = Nilai)) +
+   facet_wrap(~ Faktor, nrow = 3) +
+   geom_col() +
+   coord_flip() +
+   scale_fill_gradient2(high = "darkblue", mid = "white", low = "red", 
+                        midpoint = 0, guide = "none") +
+   xlab("Variabel") + 
+   ylab("Pembobot Faktor") + 
+   geom_hline(aes(yintercept = 0.475), linetype = 2, col = "darkblue") +
+   ggtitle("Visualisasi Pembobot Faktor") +
+   theme(axis.text = element_text(size = 10),
+         axis.title = element_text(size = 12, face = "bold")) +
+   theme(plot.title = element_text(size = 12, hjust = 0.5))
> vis
> 
> # Menggunakan fa.diagram()
> fa.diagram(PFA, cut = 0.475)

Visualisasi pembobot faktor dibuat menggunakan fungsi ggplot() dari library ggplot2 dan fungsi fa.diagram() dari library pysch. Sebelum membuat plot menggunakan fungsi ggplot(), terlebih dahulu dibentuk data frame loadings_mat dengan banyak baris sebanyak variabel dan banyak kolom sebanyak faktor yang diekstrak. loadings_mat diisi dengan nilai-nilai pembobot faktor dari metode PFA (PFA$loadings) menggunakan nested looping for(){} di mana loadings_mat[j, i] = PFA$loadings[j, i] dengan j adalah indeks baris dan i adalah indeks kolom.

Kemudian, dibentuk kolom baru bernama Variabel di dalam loadings_mat berisikan nama-nama variabel dari data menggunakan perintah loadings_mat$Variabel = colnames(data). Penamaan kolom pada loadings_mat disesuaikan menggunakan fungsi colnames(loadings_mat) = c() yang berisikan nama kolom yang diinginkan. Selanjutnya, dibentuk data frame loadings_mat_gabung yang merupakan hasil pengelompokkan kolom-kolom pada loadings_mat berdasarkan nama faktor, nama variabel, dan nilai pembobot faktor menggunakan fungsi gather() dari library tidyr.

Pada fungsi ggplot() digunakan argumen; data, yaitu data yang digunakan untuk membuat plot, dalam hal ini adalah loadings_mat_gabung; aes(x,y,fill), di mana x adalah nilai pada sumbu datar grafik, dalam hal ini berupa nama variabel (kategorik), y adalah tinggi grafik, dalam hal ini berupa nilai absolut dari pembobot faktor, fill adalah warna grafik, dalam hal ini berdasarkan nilai pembobot faktor. Kemudian, ditambahkan beberapa komponen pelengkap pada plot tersebut menggunakan operator +, seperti pembagian data ke dalam beberapa panel berdasarkan nama faktor dalam 3 baris (facet_wrap(~ Faktor, nrow = 3)), grafik batang (geom_col()), gradiasi warna grafik (scale_fill_gradient2()), garis horizontal (geom_hline()), membalik koordinat kartesius (coord_flip()), dll. Plot ini kemudian disimpan dalam vis, untuk mencetak plot dapat dilakukan dengan memanggil vis.

Visualisasi dengan fungsi fa.diagram() menggunakan argumen; fa.results, yaitu hasil analisis faktor, dalam hal ini adalah PFA; dan cut, yaitu batas nilai absolut pembobot faktor yang akan ditampilkan (dihubungkan dengan variabel yang bersesuaian).

5 HASIL DAN PEMBAHASAN

5.1 Analisis Pendahulu

5.1.1 Uji KMO dan MSA


Kaiser-Meyer-Olkin Statistics

Call: KMOS(x = data)

Measures of Sampling Adequacy (MSA):
       Q1        Q2        Q3        Q4        Q5        Q6        Q7        Q8 
0.6297439 0.6490685 0.6345986 0.7833844 0.7333126 0.7601834 0.7147883 0.6608207 
       Q9       Q10       Q11       Q12       Q13       Q14       Q15       Q16 
0.6361560 0.6214971 0.8244777 0.7124336 0.7205768 0.6443158 0.8585067 0.7012443 
      Q17       Q18       Q19       Q20       Q21       Q22       Q23       Q24 
0.6410866 0.5441882 0.8093672 0.7282486 0.6092830 0.7097767 0.6781096 0.7318322 
      Q25       Q26       Q27       Q28 
0.5249919 0.5219125 0.7463873 0.7047434 

KMO-Criterion: 0.6953532

Uji ini dilakukan sebagai analisis pendahulu untuk mengetahui apakah matriks korelasi antar variabel pada data cocok untuk digunakan dalam analisis faktor. Berdasarkan output, diperoleh nilai KMO-Criterion (overall MSA) sebesar 0.695 > 0.5 yang berarti bahwa analisis faktor dapat diterapkan menggunakan matriks korelasi antar variabel pada data (terdapat pola teratur antara respons dan pernyataan survey). Selain itu, dapat diketahui nilai MSA untuk setiap variabel bernilai > 0.5 yang berarti bahwa semua variabel diikutsertakan dalam analisis faktor.

5.1.2 Bartlett’s Test of Sphericity

    Bartlett's Test of Sphericity

Call: bart_spher(x = data)

     X2 = 1218.515
     df = 378
p-value < 2.22e-16

Uji ini dilakukan untuk menguji apakah matriks korelasi antar variabel pada data berbeda signifikan dengan matriks identitas (terdapat korelasi yang signifikan setidaknya antar beberapa variabel).

Hipotesis:

\(H_0:\mathbf{R}=\mathbf{I}\) (Tidak terdapat korelasi yang signifikan antar variabel)

\(H_1:\mathbf{R}\neq \mathbf{I}\) (Terdapat korelasi yang signifikan setidaknya antar beberapa variabel)

Keputusan:

Berdasarkan output, diperoleh nilai \(p-value<2.22\ \times 10^{-16}\) yang jauh lebih kecil dari nilai \(\alpha=0.05\), maka \(H_0\) ditolak.

Kesimpulan:

Pada taraf nyata 5%, dapat disimpulkan bahwa terdapat korelasi yang signifikan setidaknya antar beberapa variabel, sehingga matriks korelasi antar variabel pada data layak digunakan dalam analisis faktor.

5.2 Analisis Faktor

5.2.1 Banyak Faktor Bermakna

 [1] 5.0882066 3.1725236 2.2876422 1.9072598 1.5054661 1.4144772 1.3166305
 [8] 1.2005622 1.0015379 0.9538791 0.8726409 0.8078421 0.7113198 0.6519275
[15] 0.6075850 0.5542625 0.5104347 0.5062982 0.4179482 0.3963892 0.3616249
[22] 0.3568634 0.3223509 0.2754923 0.2653094 0.2288211 0.1766759 0.1280287

Berdasarkan nilai eigen dan scree plot, terlihat bahwa 9 faktor pertama adalah faktor yang memiliki nilai eigen lebih dari 1 (cukup baik dalam menjelaskan varians masing-masing variabel) sehingga sesuai dengan Kaiser criterion, banyak faktor bermakna yang akan diekstrak adalah sebanyak 9 faktor.

5.2.2 Ekstraksi Faktor

Berikut adalah komunalitas setiap variabel pada analisis faktor dengan metode Principal Component Analysis (PCA).

PCA$communality
       Q1        Q2        Q3        Q4        Q5        Q6        Q7        Q8 
0.7286722 0.7632261 0.6984296 0.5956964 0.6927836 0.6049491 0.5945055 0.7308369 
       Q9       Q10       Q11       Q12       Q13       Q14       Q15       Q16 
0.7681119 0.7645129 0.6312865 0.7013878 0.7499751 0.5572249 0.5915118 0.6927185 
      Q17       Q18       Q19       Q20       Q21       Q22       Q23       Q24 
0.4823739 0.7075347 0.6236120 0.6756733 0.6431867 0.6517067 0.7735381 0.7141890 
      Q25       Q26       Q27       Q28 
0.6978704 0.6931407 0.6477510 0.7179012 

Dari hasil analisis faktor dengan metode PCA, dapat diketahui komunalitas setiap variabel bernilai < 1. Pada metode ini, variabel diasumsikan sebagai kombinasi linier dari faktor sehingga varians dari tiap variabel secara utuh diwakili oleh faktor (komunalitas suatu variabel adalah varians variabel tersebut). Komunalitas yang kurang dari 1 tersebut mengindikasikan terjadinya kehilangan informasi dalam representasi (Cleff, 2019), karena seharusnya varians masing-masing variabel bernilai 1 (pada matriks korelasi). Oleh karena itu, PCA tidak tepat digunakan sebagai metode ektraksi faktor pada kasus ini.

Sebaliknya, analisis faktor dengan metode Principal Factor Analysis (PFA) mengasumsikan bahwa varians dari variabel dibagi menjadi 2 bagian, yaitu komunalitas (bagian dari varians variabel yang dapat dijelaskan oleh faktor bersama) dan varians spesifik (bagian dari varians variabel yang hanya dimiliki variabel itu sendiri). Oleh sebab itu, dengan metode PFA sudah seharusnya komunalitas tiap variabel bernilai < 1.

Factor Analysis using method =  pa
Call: fa(r = data, nfactors = nfaktor, rotate = "varimax", fm = "pa")
Standardized loadings (pattern matrix) based upon correlation matrix
      PA2   PA3   PA4   PA5   PA9   PA1   PA7   PA6   PA8   h2   u2 com
Q1  -0.06  0.07 -0.01  0.10  0.74  0.20  0.10 -0.02 -0.11 0.63 0.37 1.3
Q2  -0.10  0.05  0.18 -0.02  0.82  0.23  0.15 -0.04  0.04 0.80 0.20 1.4
Q3   0.02  0.75 -0.02  0.02  0.13  0.05  0.16  0.00  0.01 0.60 0.40 1.2
Q4   0.09  0.20  0.11  0.04  0.17  0.52  0.11  0.12  0.10 0.41 0.59 2.1
Q5   0.03  0.16  0.06  0.09  0.17  0.74  0.07  0.04 -0.05 0.63 0.37 1.3
Q6   0.11  0.02 -0.05  0.10  0.33  0.47  0.22 -0.19 -0.06 0.45 0.55 3.0
Q7  -0.56  0.09  0.09 -0.09  0.08  0.13 -0.16  0.13  0.03 0.40 0.60 1.6
Q8   0.04  0.77 -0.03 -0.03 -0.02  0.13 -0.06  0.16  0.01 0.63 0.37 1.2
Q9   0.85 -0.06  0.13  0.14  0.05  0.12 -0.10  0.06  0.09 0.80 0.20 1.2
Q10  0.79 -0.01  0.15  0.13 -0.01  0.12 -0.10  0.07  0.23 0.73 0.27 1.4
Q11  0.15  0.30  0.22  0.03  0.26  0.19  0.27 -0.18 -0.36 0.50 0.50 6.2
Q12  0.04  0.11  0.14  0.03  0.19  0.27  0.74 -0.12  0.10 0.71 0.29 1.7
Q13 -0.02 -0.07  0.21  0.13  0.14  0.08  0.51  0.19 -0.11 0.41 0.59 2.2
Q14  0.13 -0.02  0.13  0.16  0.18 -0.07  0.21 -0.39  0.05 0.29 0.71 3.2
Q15  0.15  0.25  0.29  0.14  0.33  0.25  0.27  0.01 -0.27 0.50 0.50 6.7
Q16 -0.25  0.64  0.14  0.01 -0.02  0.19 -0.21  0.14 -0.07 0.60 0.40 2.0
Q17 -0.18  0.33  0.16  0.24  0.06  0.05  0.13  0.01 -0.03 0.24 0.76 3.6
Q18  0.10  0.23  0.01  0.08  0.00  0.00  0.13  0.75  0.00 0.65 0.35 1.3
Q19  0.53  0.01  0.06  0.31 -0.03  0.18  0.17  0.05 -0.12 0.46 0.54 2.3
Q20  0.19  0.12  0.05  0.63  0.00  0.15  0.02  0.09 -0.18 0.51 0.49 1.6
Q21 -0.03  0.11  0.59 -0.07  0.04  0.10  0.00  0.14  0.00 0.39 0.61 1.3
Q22  0.16  0.04  0.29  0.06  0.15 -0.01  0.16  0.22  0.10 0.22 0.78 4.2
Q23  0.06 -0.01  0.79  0.20  0.08  0.11  0.11 -0.19 -0.06 0.73 0.27 1.4
Q24  0.12 -0.03  0.67  0.23  0.01 -0.09  0.21 -0.16 -0.07 0.60 0.40 1.8
Q25  0.08 -0.09  0.06  0.31 -0.02  0.07 -0.03  0.05  0.50 0.37 0.63 2.0
Q26  0.23  0.15 -0.17 -0.23 -0.04 -0.05  0.10 -0.19  0.47 0.43 0.57 3.2
Q27  0.16 -0.04  0.11  0.54  0.23 -0.04  0.10 -0.20  0.10 0.45 0.55 2.2
Q28  0.18  0.03  0.12  0.78 -0.01  0.06  0.06  0.03  0.17 0.69 0.31 1.3

                       PA2  PA3  PA4  PA5  PA9  PA1  PA7  PA6  PA8
SS loadings           2.34 2.03 1.93 1.84 1.76 1.53 1.38 1.14 0.90
Proportion Var        0.08 0.07 0.07 0.07 0.06 0.05 0.05 0.04 0.03
Cumulative Var        0.08 0.16 0.22 0.29 0.35 0.41 0.46 0.50 0.53
Proportion Explained  0.16 0.14 0.13 0.12 0.12 0.10 0.09 0.08 0.06
Cumulative Proportion 0.16 0.29 0.42 0.55 0.67 0.77 0.86 0.94 1.00

Mean item complexity =  2.3
Test of the hypothesis that 9 factors are sufficient.

df null model =  378  with the objective function =  10.99 with Chi Square =  1218.51
df of  the model are 162  and the objective function was  1.72 

The root mean square of the residuals (RMSR) is  0.03 
The df corrected root mean square of the residuals is  0.05 

The harmonic n.obs is  122 with the empirical chi square  90.97  with prob <  1 
The total n.obs was  122  with Likelihood Chi Square =  180.1  with prob <  0.16 

Tucker Lewis Index of factoring reliability =  0.945
RMSEA index =  0.029  and the 90 % confidence intervals are  0 0.053
BIC =  -598.15
Fit based upon off diagonal values = 0.98
Measures of factor score adequacy             
                                                   PA2  PA3  PA4  PA5  PA9  PA1
Correlation of (regression) scores with factors   0.93 0.90 0.89 0.88 0.89 0.83
Multiple R square of scores with factors          0.86 0.80 0.80 0.77 0.80 0.69
Minimum correlation of possible factor scores     0.72 0.61 0.59 0.55 0.59 0.37
                                                   PA7  PA6  PA8
Correlation of (regression) scores with factors   0.85 0.84 0.79
Multiple R square of scores with factors          0.73 0.71 0.62
Minimum correlation of possible factor scores     0.46 0.41 0.23

Berdasarkan output, model analisis faktor yang terbentuk dituk sebagai berikut.

\[ \begin {align} Q_1&=-0.06PA_2+0.07PA_3-0.01PA_4+0.10PA_5+0.74PA_9+0.20PA_1+0.10PA_7\\ &-0.02PA_6-0.11PA_8+u_1\\ Q_2&=-0.10PA_2+0.05PA_3+0.18PA_4-0.02PA_5+0.82PA_9+0.23PA_1+0.15PA_7\\ &-0.04PA_6+0.04PA_8+u_2\\ \vdots\\ Q_{28}&=0.18PA_2+0.03PA_3+0.12PA_4+0.78PA_5-0.01PA_9+0.06PA_1+0.06PA_7\\ &+0.03PA_6+0.17PA_8+u_{28} \end {align} \]

Komunalitas suatu variabel adalah jumlah kuadrat dari semua pembobot faktor pada variabel tersebut, yaitu \(h_i^2=\Sigma_{j=1}^k\ \lambda_{ij}^2\), sedangkan varians spesifik variabel adalah selisih varians variabel dengan komunalitasnya, yaitu \(\psi_i=\sigma_i^2-h_i^2\) (\(\sigma_i^2=1\) saat menggunakan matriks korelasi). Sebagai contoh, komunalitas dan varians spesifik bagi variabel \(Q_1\) dapat dihitung sebagai berikut.

\[ \begin {align} h_1^2&=\Sigma_{j=1}^9\ \lambda_{1j}^2\\ &=0.06^2+0.07^2+(-0.01)^2+0.10^2+0.74^2+0.20^2+0.10^2+(-0.02)^2+(-0.11)^2\\ &=0.63\\ \\ \psi_1&=\sigma_1^2-h_1^2\\ &=1-0.63\\ &=0.37 \end {align} \]

Nilai-nilai tersebut diinterpretasikan sebagai berikut:

  • 63% variansi dalam variabel \(Q_1\) dapat dijelaskan oleh 9 faktor bersama, sedangkan 37% sisanya adalah varians spesifik yang tidak dimiliki bersama dengan variabel lain dan dijelaskan oleh faktor lain di luar model.

Meskipun fokus dalam analisis faktor lebih pada menjelaskan korelasi antar variabel daripada memaksimalkan varians yang dijelaskan, dilihat dari Proportion Variance pada output, faktor \(PA_2\) dapat menjelaskan variansi pada variabel sebesar 8%, faktor \(PA_3,\ PA_4,\ PA_5\) masing-masing sebesar 7%, faktor \(PA_9\) sebesar 6%, faktor \(PA_1,\ PA_7\) masing-masing sebesar 5%, faktor \(PA_6\) sebesar 4%, dan faktor \(PA_8\) sebesar 3%. Secara kumulatif, 9 faktor yang diekstrak dapat menjelaskan variansi pada variabel sebesar 53%.

Berikut adalah hasil estimasi skor faktor menggunakan metode regresi.

5.2.3 Interpretasi Faktor

Interpretasi dilakukan pada faktor yang telah dirotasi untuk alasan kemudahan. Pada ekstraksi faktor menggunakan PFA sebelumnya, faktor dirotasi menggunakan rotasi ortogonal, yaitu rotasi varimax. Pembobot faktor hasil rotasi tersebut kemudian divisualisasikan untuk mempermudah melihat pembobot faktor yang signifikan. Menurut Stevens (2009) dan Hair et al (2009), nilai cut-off pembobot faktor yang signifikan untuk 122 sampel berada di kisaran 0.45 hingga 0.50. Oleh karena itu, pembobot faktor dalam kasus ini dinyatakan signifikan jika memiliki nilai absolut yang lebih besar dari 0.475 (menggunakan nilai tengah).

Pembobot faktor diinterpretasikan sebagai korelasi antara faktor dan variabel (indikator). Berdasarkan hasil visualisasi, terlihat bahwa faktor \(PA_2\) berkorelasi signifikan dengan variabel \(Q_9,\ Q_{10},\ Q_{7}\) dan \(Q_{19}\), di mana variabel \(Q_7\) berkorelasi negatif dengan faktor \(PA_2\) (hubungan keduanya berbanding terbalik). Diketahui bahwa variabel \(Q_9,\ Q_{10},\ Q_{7}\) dan \(Q_{19}\) masing-masing berisikan pernyataan sebagai berikut:

  • \(Q_9\): If a woman chooses not to have a child, she is making a poor decision.

  • \(Q_{10}\): A woman who chooses to not have a child is selfish.

  • \(Q_7\): It is perfectly reasonable for a woman to choose not to have a child.

  • \(Q_{19}\): A middle aged woman [35+ years old] who does not have a child is probably infertile.

Dengan demikian, faktor \(PA_2\) dapat diinterpretasikan sebagai faktor yang berkaitan dengan penilaian terhadap pilihan individu dan stereotip tentang kesuburan.

Selanjutnya, terlihat bahwa faktor \(PA_3\) berkorelasi signifikan dengan variabel \(Q_8,\ Q_3\) dan \(Q_{16}\), di mana masing-masing variabel tersebut berisikan pernyataan sebagai berikut:

  • \(Q_8\): If a woman chooses not to have a child, society automatically has a negative perception her.

  • \(Q_3\): Women who choose not to have a child due to financial reasons are judged.

  • \(Q_{16}\): Society places too much pressure on women to have children.

Oleh karena itu, faktor \(PA_3\) dapat diinterpretasikan sebagai faktor yang berkaitan dengan persepsi masyarakat.

Berikut adalah interpretasi dari 9 faktor yang diekstrak.

Variabel \(Q_6,\ Q_{11},\ Q_{14},\ Q_{15},\ Q_{17},\ Q_{22}\) dan \(Q_{26}\) tidak memiliki korelasi yang signifikan dengan faktor manapun dalam model, yaitu semua pembobot faktor pada masing-masing variabel bernilai < 0.475. Hal ini mengindikasikan bahwa variabel-variabel tersebut dijelaskan dengan lebih baik oleh faktor lain di luar model.

6 KESIMPULAN

Berdasarkan hasil analisis, diperoleh bahwa terdapat 9 faktor bermakna yang dapat diekstrak dari 28 variabel (indikator) dalam survey tentang faktor-faktor yang memengaruhi keputusan tidak memiliki anak. Faktor-faktor tersebut diinterpretasikan (secara subjektif) sebagai faktor penilaian terhadap pilihan individu dan stereotip tentang kesuburan; faktor persepsi masyarakat; faktor dampak terhadap kesehatan; faktor risiko hamil di usia rentan; faktor kemampuan finansial secara umum; faktor kemampuan finansial secara spesifik; faktor stigma negatif tentang orang tua tunggal dan pengaruh dari luar; faktor pandangan tradisi terhadap perempuan; dan faktor hamil di usia yang memadai. Terdapat 7 variabel yang tidak memiliki korelasi signifikan dengan setidaknya salah satu faktor dalam model (komunalitasnya kecil). Hal ini mengindikasikan bahwa variabel-variabel tersebut dijelaskan dengan lebih baik oleh faktor lain di luar model.