dt <- read.table(text = "X1 X2 X3 X4 X5
936.04 70.99 5.13 11.02 9.62
1352.51 73.17 5.86 12.84 6.05
1505.3 69.54 5.41 15.3 5.23
1014.67 68.61 5.29 15.2 6.38
1136.28 70.79 5.79 16.41 5.92
713.02 73.6 5.36 11.53 4.45
913.33 68.89 5.02 16.17 5.01
1190.11 70.85 5.46 11.09 4.97
1070.85 74.97 6.33 9.82 4.92
1938.39 76.95 5.9 12.33 4.31
1874.11 77.94 5.61 7.61 2.47
589.33 71.04 5.63 10.99 1.95
1222.13 76.58 5.87 9.85 5.7
1053.9 74.65 5.76 12.94 4.69
730 70.97 5.98 11.8 4.4
492.2 69.95 2.68 11.53 3.7
733.59 71 5.55 14.65 1.76
899.52 73.14 5.56 9.33 4.45
2014.75 75.89 2.23 7.41 3.21
1126.14 73.15 5.95 6.88 4.1
1358.98 73.36 5.25 12.09 6.11
1124.49 74.67 5.31 7.27 4.81
954.71 70.77 5.2 9.33 2.54
924.22 73.19 5.69 9.48 7.34
1031.94 69.45 5.97 8.98 6.64
1178.56 70.81 5.11 9.67 3.23
1342.36 67.19 5.08 15.06 6.63
1853.21 69.53 5.14 7.9 9.64
1056.88 67.03 5.61 16.05 9.48
7557.45 80.39 5.77 7.1 6.71
11369.74 83.08 6.25 8.84 5.83
3398.34 84.35 5.53 4.73 5.58
4440.81 84.08 5.73 4.25 7.6
6852.7 75.9 5.76 7 4.98
7010.05 76.15 5.16 7.91 6.68
", header = T)
head(dt)
## X1 X2 X3 X4 X5
## 1 936.04 70.99 5.13 11.02 9.62
## 2 1352.51 73.17 5.86 12.84 6.05
## 3 1505.30 69.54 5.41 15.30 5.23
## 4 1014.67 68.61 5.29 15.20 6.38
## 5 1136.28 70.79 5.79 16.41 5.92
## 6 713.02 73.60 5.36 11.53 4.45
#Kecukupan sampel
KMOS(dt)
##
## Kaiser-Meyer-Olkin Statistics
##
## Call: KMOS(x = dt)
##
## Measures of Sampling Adequacy (MSA):
## X1 X2 X3 X4 X5
## 0.6391828 0.5452471 0.4340664 0.6071256 0.2890741
##
## KMO-Criterion: 0.5647269
Uji KMO untuk melihat apakah matriks korelasi yang dibuat memperhitungkan kecukupan sampel. Uji KMO yaitu untuk mengetahui komponen atau faktor mana saja yang akan dianalisis lanjut dan yang tidak dianalisis lanjut. Nilai KMO berada pada rentang 0 sampai 1. Rekomendasi minimum untuk nilai KMO adalah 0.5.
Berdasarkan output di atas, diperoleh statistik KMO-Criterion sebesar 0,82 yang lebih besar dari 0,5 sehingga dapat disimpulkan bahwa analisis faktor dapat diterapkan menggunakan matriks korelasi antar variabel data. Berdasarkan uji KMO, didapatkan nilai MSA pada setiap variabel lebih dari 0,5. Oleh sebab itu, ukuran sampel sudah cukup dan reliabel. Semua variabel layak untuk dianalisis ke tahapan selanjutnya.
Hipotesisnya:
\(H_0 : R = I\) (Tidak terdapat
korelasi yang signifikan antar variabel)
\(H_0 : R \ne I\) (Terdapat korelasi
yang signifikan antar variabel)
Wilayah Kritisnya adalah menolak \(H_0\) saat p-value < 0,05
#Uji independensi H0: R=I, H1: R !=I
bart_spher(dt)
## Bartlett's Test of Sphericity
##
## Call: bart_spher(x = dt)
##
## X2 = 45.933
## df = 10
## p-value < 2.22e-16
Berdasarkan output di atas, diperoleh nilai p-value yang kurang dari \(\alpha\) (0,05) sehingga keputusannya terdapat cukup bukti untuk menolak \(H_0\). Dapat disimpulkan, pada tingkat signifikansi 5% terdapat cukup bukti untuk menyatakan ada korelasi yang signifikan antar variabel. Sehingga dapat dilanjutkan dengan analisis faktor.
Kasus ini menggunakan matriks Korelasi R dalam melakukan analisis faktor.
R <- cor(dt)
eigenR <- eigen(R)
plot(eigenR$values, main = "Scree Plot", xlab = "Faktor", ylab = "Eigen Values",
pch = 16, type = "o", col = "green", lwd = 1) + axis(1, at = seq(1,9)) +
abline(h=1, col = "red")
## numeric(0)
Salah satu cara untuk menentukan jumlah faktor adalah memilih faktor yang memiliki nilai eigen lebih besar dari 1. Berdasarkan scree plot di atas, terdapat 2 faktor yang memiliki nilai eigen lebih dari 1 sehingga banyak faktor bermakna yang akan diesktrak sebanyak 2 faktor. Grafik turun tajam pada saat 2 faktor kemudian grafik melandai dengan kemiringan yang jauh lebih kecil. Sehingga banyak faktor yang ditentukan untuk analisis ini adalah sebanyak 2 faktor.
# Jumlah Faktor yang digunakan = 2
PCA <- principal(r = R, nfactors = 2, rotate = "none" )
PCA
## Principal Components Analysis
## Call: principal(r = R, nfactors = 2, rotate = "none")
## Standardized loadings (pattern matrix) based upon correlation matrix
## PC1 PC2 h2 u2 com
## X1 0.82 0.15 0.70 0.30 1.1
## X2 0.92 -0.15 0.87 0.13 1.1
## X3 0.27 0.67 0.52 0.48 1.3
## X4 -0.80 0.32 0.74 0.26 1.3
## X5 0.12 0.78 0.62 0.38 1.0
##
## PC1 PC2
## SS loadings 2.25 1.20
## Proportion Var 0.45 0.24
## Cumulative Var 0.45 0.69
## Proportion Explained 0.65 0.35
## Cumulative Proportion 0.65 1.00
##
## Mean item complexity = 1.2
## Test of the hypothesis that 2 components are sufficient.
##
## The root mean square of the residuals (RMSR) is 0.15
##
## Fit based upon off diagonal values = 0.82
## Loading
PCA$loadings
##
## Loadings:
## PC1 PC2
## X1 0.822 0.147
## X2 0.921 -0.150
## X3 0.269 0.673
## X4 -0.800 0.318
## X5 0.117 0.778
##
## PC1 PC2
## SS loadings 2.249 1.202
## Proportion Var 0.450 0.240
## Cumulative Var 0.450 0.690
## Communalitas
PCA$communality
## X1 X2 X3 X4 X5
## 0.6965240 0.8707232 0.5248085 0.7409973 0.6182980
Output Proportion Variance dengan Principal Component untuk 2 faktor adalah 0,515. Hal tersebut menjelaskan bahwa proporsi total varians variabel asal yang dapat dijelaskan oleh 2 faktor tersebut adalah 51,5%. Karena proporsi total varians belum dapat menjelaskan kedelapan variabel asal tanpa kehilangan sedikit informasi, dilakukan penambahan jumlah faktor sebanyak 4 faktor.
Output Proportion Variance dengan Principal Component untuk 4 faktor adalah 0,727. Hal tersebut menjelaskan bahwa proporsi total varians variabel asal yang dapat dijelaskan oleh 4 faktor tersebut adalah 72,7%.
Rotasi adalah proses ketika solusi dibuat untuk lebih mudah ditafsirkan tanpa mengubah sifat matematika yang mendasarinya. Rotasi faktor memungkinkan fitted factor analysis model digambarkan sesederhana mungkin.
PCA_V <- principal(r = R, nfactors = 2, rotate = "varimax" )
PCA_V
## Principal Components Analysis
## Call: principal(r = R, nfactors = 2, rotate = "varimax")
## Standardized loadings (pattern matrix) based upon correlation matrix
## RC1 RC2 h2 u2 com
## X1 0.77 0.31 0.70 0.30 1.3
## X2 0.93 0.04 0.87 0.13 1.0
## X3 0.12 0.71 0.52 0.48 1.1
## X4 -0.85 0.14 0.74 0.26 1.1
## X5 -0.05 0.78 0.62 0.38 1.0
##
## RC1 RC2
## SS loadings 2.20 1.25
## Proportion Var 0.44 0.25
## Cumulative Var 0.44 0.69
## Proportion Explained 0.64 0.36
## Cumulative Proportion 0.64 1.00
##
## Mean item complexity = 1.1
## Test of the hypothesis that 2 components are sufficient.
##
## The root mean square of the residuals (RMSR) is 0.15
##
## Fit based upon off diagonal values = 0.82
## Loading
PCA_V$loadings
##
## Loadings:
## RC1 RC2
## X1 0.773 0.315
## X2 0.932
## X3 0.123 0.714
## X4 -0.849 0.144
## X5 0.785
##
## RC1 RC2
## SS loadings 2.204 1.248
## Proportion Var 0.441 0.250
## Cumulative Var 0.441 0.690
## Communalitas
PCA_V$communality
## X1 X2 X3 X4 X5
## 0.6965240 0.8707232 0.5248085 0.7409973 0.6182980
Interpretasi Komponen:
Variabel yang memiliki loading tinggi pada RC1 adalah q01 (0,753); q04 (0,642); dan q05 (0,800). Hal ini berarti faktor 1 dipengaruhi oleh variabel q01, q04, dan q05.
Variabel yang memiliki loading tinggi pada RC2 adalah q06 (0,896) dan q07 (0,764). Hal ini berarti faktor 2 dipengaruhi oleh variabel q06 dan q07.
Variabel yang memiliki loading tinggi pada RC3 adalah q02 (0,92) dan q03 (0,610). Hal ini berarti faktor 3 dipengaruhi oleh variabel q02 dan q03.
Variabel yang memiliki loading tinggi pada RC4 adalah q08 (0,929). Hal ini berarti faktor 4 dipengaruhi oleh variabel q08.
mvn(dt,mvnTest ="mardia")
## $multivariateNormality
## Test Statistic p value Result
## 1 Mardia Skewness 113.557320337791 3.14581942095466e-10 NO
## 2 Mardia Kurtosis 2.28766437153908 0.0221570740537431 NO
## 3 MVN <NA> <NA> NO
##
## $univariateNormality
## Test Variable Statistic p value Normality
## 1 Anderson-Darling X1 5.8214 <0.001 NO
## 2 Anderson-Darling X2 0.9558 0.014 NO
## 3 Anderson-Darling X3 3.5728 <0.001 NO
## 4 Anderson-Darling X4 0.3953 0.3539 YES
## 5 Anderson-Darling X5 0.3796 0.3857 YES
##
## $Descriptives
## n Mean Std.Dev Median Min Max 25th 75th
## X1 35 2113.160286 2425.4668290 1136.28 492.20 11369.74 945.375 1863.660
## X2 35 73.503429 4.4562910 73.15 67.03 84.35 70.780 75.895
## X3 35 5.398000 0.8088692 5.56 2.23 6.33 5.225 5.780
## X4 35 10.581714 3.2731416 9.85 4.25 16.41 7.905 12.585
## X5 35 5.345429 1.9660431 5.01 1.76 9.64 4.355 6.505
## Skew Kurtosis
## X1 2.3149366 4.7421513
## X2 0.8902178 0.1458856
## X3 -2.6684256 7.4932221
## X4 0.1562182 -0.9015275
## X5 0.3689426 -0.1226853
Uji Mardia menunjukkan p-value = 0, nilai p-value kurang dari \(\alpha\) sehingga keputusannya terdapat cukup bukti untuk menolak \(H_0\). sehingga memberikan keputusan. Kesimpulannya, pada tingkat signifikansi 5% data tidak simetris (mengalami skew/menceng) sehingga tidak berdistribusi multivariat normal. Namun untuk keperluan analisis faktor dengan MLE tetap dilanjutkan.
# Jumlah Faktor yang digunakan = 2
MLE <- factanal(x = dt, factors = 2, rotation = "none", method = "mle")
# Loading
MLE$loadings
##
## Loadings:
## Factor1 Factor2
## X1 0.662 0.302
## X2 0.997
## X3 0.189 0.258
## X4 -0.704
## X5 0.693
##
## Factor1 Factor2
## SS loadings 1.966 0.640
## Proportion Var 0.393 0.128
## Cumulative Var 0.393 0.521
Output Proportion Variance dengan Metode Likelihood untuk 2 faktor adalah 0,380. Hal tersebut menjelaskan bahwa proporsi total varians variabel asal yang dapat dijelaskan oleh 2 faktor tersebut adalah 38%. Karena proporsi total varians belum dapat menjelaskan kedelapan variabel asal tanpa kehilangan sedikit informasi, dilakukan penambahan jumlah faktor sebanyak 4 faktor.
Output Proportion Variance dengan Metode Likelihood untuk 4 faktor adalah 0,471. Hal tersebut menjelaskan bahwa proporsi total varians variabel asal yang dapat dijelaskan oleh 4 faktor tersebut adalah 47,1%. Proporsi total varians masih kecil dan belum dapat menjelaskan kedelapan variabel asal tanpa kehilangan sedikit informasi. Hal tersebut dapat terjadi karena tidak terpenuhinya asumsi Multivariat Normal sehingga estimasi dengan MLE menjadi kurang tepat.
Rotasi adalah proses ketika solusi dibuat untuk lebih mudah ditafsirkan tanpa mengubah sifat matematika yang mendasarinya. Rotasi faktor memungkinkan fitted factor analysis model digambarkan sesederhana mungkin
MLE_V <- factanal(x = dt, factors = 2, rotation = "varimax", method = "mle")
# Loading
MLE_V$loadings
##
## Loadings:
## Factor1 Factor2
## X1 0.646 0.334
## X2 0.996
## X3 0.177 0.266
## X4 -0.705
## X5 0.691
##
## Factor1 Factor2
## SS loadings 1.945 0.662
## Proportion Var 0.389 0.132
## Cumulative Var 0.389 0.521
Interpretasi Komponen:
Variabel yang memiliki loading tinggi pada Factor1 adalah q01 (0,583) dan q04 (0,585). Hal ini berarti faktor 1 dipengaruhi oleh variabel q01 dan q04.
Variabel yang memiliki loading tinggi pada RC2 adalah q06 (0,555) dan q07 (0,792). Hal ini berarti faktor 2 dipengaruhi oleh variabel q06 dan q07.
Variabel yang memiliki loading tinggi pada RC3 adalah q02 (0,510) dan q03 (0,578). Hal ini berarti faktor 3 dipengaruhi oleh variabel q02 dan q03.
Variabel yang memiliki loading tinggi pada RC4 adalah q05 (0,736). Hal ini berarti faktor 4 dipengaruhi oleh variabel q05.