Dataset Investment yang terdapat dalam package
sandwich
digunakan untuk melakukan analisis faktor. Dataset
ini terdiri dari tujuh kolom, namun kita akan menggunakan enam kolom
untuk analisis faktor, yaitu:
#Input Data
data(Investment, package="sandwich")
Investment <- as.data.frame(Investment[,1:6])
head(Investment)
## GNP Investment Price Interest RealGNP RealInv
## 1 596.7 90.9 0.7167 3.23 832.5659 126.8313
## 2 637.7 97.4 0.7277 3.55 876.3227 133.8464
## 3 691.1 113.5 0.7436 4.04 929.3975 152.6358
## 4 756.0 125.7 0.7676 4.50 984.8880 163.7572
## 5 799.6 122.8 0.7906 4.19 1011.3838 155.3251
## 6 873.4 133.3 0.8254 5.16 1058.1536 161.4975
Terilhat bahwa variabel-variabelnya memiliki skala yang berbeda-beda, sehingga perlu di standarisasi.
zinvestment<-data.frame(scale(Investment))
head(zinvestment)
## GNP Investment Price Interest RealGNP RealInv
## 1 -1.1249182 -1.1478402 -1.0681849 -1.1527290 -1.6976136 -1.5795163
## 2 -1.0731174 -1.0958112 -1.0423975 -1.0421224 -1.4945241 -1.4017030
## 3 -1.0056499 -0.9669393 -1.0051229 -0.8727559 -1.2481860 -0.9254396
## 4 -0.9236530 -0.8692849 -0.9488595 -0.7137588 -0.9906364 -0.6435429
## 5 -0.8685673 -0.8924978 -0.8949404 -0.8209090 -0.8676606 -0.8572743
## 6 -0.7753258 -0.8084509 -0.8133584 -0.4856325 -0.6505861 -0.7008206
Terlihat bahwa, setelah proses standarisasi, seluruh variabel sudah memiliki skala yang sebanding. Selanjutnya akan diperiksa normalitas, korelasi, dan kecukupan data
#cek histogram dan kurva setiap variabel
hist(zinvestment[,1], prob=TRUE, main="X1", xlab="X1")
lines(density(zinvestment[,1]))
hist(zinvestment[,2], prob=TRUE, main="X2", xlab="X")
lines(density(zinvestment[,2]))
hist(zinvestment[,3], prob=TRUE, main="X3", xlab="X3")
lines(density(zinvestment[,3]))
hist(zinvestment[,4], prob=TRUE, main="X4", xlab="X4")
lines(density(zinvestment[,4]))
hist(zinvestment[,5], prob=TRUE, main="X5", xlab="X5")
lines(density(zinvestment[,5]))
hist(zinvestment[,6], prob=TRUE, main="X6", xlab="X6")
lines(density(zinvestment[,6]))
#normality test
library(MVN)
## Warning: package 'MVN' was built under R version 4.3.3
result <- mvn(data =zinvestment,mvnTest = "mardia")
result
## $multivariateNormality
## Test Statistic p value Result
## 1 Mardia Skewness 81.264615451692 0.0153260019439198 NO
## 2 Mardia Kurtosis -0.298396533549195 0.765400534455039 YES
## 3 MVN <NA> <NA> NO
##
## $univariateNormality
## Test Variable Statistic p value Normality
## 1 Anderson-Darling GNP 0.7245 0.0493 NO
## 2 Anderson-Darling Investment 0.9209 0.0154 NO
## 3 Anderson-Darling Price 0.7279 0.0483 NO
## 4 Anderson-Darling Interest 1.0673 0.0065 NO
## 5 Anderson-Darling RealGNP 0.3130 0.5204 YES
## 6 Anderson-Darling RealInv 0.3923 0.3449 YES
##
## $Descriptives
## n Mean Std.Dev Median Min Max 25th
## GNP 20 -4.857226e-17 1 -0.29174606 -1.124918 2.003726 -0.7986361
## Investment 20 -8.113085e-17 1 -0.27015068 -1.147840 1.925874 -0.8236594
## Price 20 2.222614e-17 1 -0.33664292 -1.068185 2.101557 -0.8337539
## Interest 20 -1.671298e-16 1 -0.30416838 -1.152729 2.369403 -0.7137588
## RealGNP 20 -3.966554e-16 1 0.04832706 -1.697614 1.464388 -0.7048547
## RealInv 20 -5.407323e-17 1 -0.12800541 -1.579516 1.766614 -0.7249998
## 75th Skew Kurtosis
## GNP 0.6224122 0.67604403 -0.9542482
## Investment 0.8438707 0.58362449 -1.2362325
## Price 0.5956306 0.70003321 -0.8708394
## Interest 0.3413253 0.99777586 -0.2452418
## RealGNP 0.8754060 -0.02656484 -1.3519458
## RealInv 0.7641314 0.29791744 -1.1619473
Berdasarkan hasil uji Mardia Skewness, data tidak berdistribusi normal karena p-value < 0.05. Hal ini menunjukkan adanya kemencengan yang signifikan pada distribusi data.
Namun, berdasarkan uji Mardia Kurtosis, tidak ada perbedaan signifikan antara distribusi data dengan distribusi normal dalam hal keruncingan, karena p-value > 0.05. Ini berarti bahwa data tidak memiliki masalah yang signifikan dalam hal kurtosis.
Bartlett’s Test digunakan untuk menguji apakah matriks kovarians dari data cukup berbeda dari matriks identitas, yang menunjukkan bahwa ada hubungan antar variabel. Uji ini menguji hipotesis nol yang menyatakan bahwa matriks kovarians adalah matriks identitas, yang berarti tidak ada hubungan antar variabel (kovarians = 0).
#Bartlett test dan KMO
library(REdaS)
## Warning: package 'REdaS' was built under R version 4.3.3
## Loading required package: grid
bart_spher(zinvestment)
## Bartlett's Test of Sphericity
##
## Call: bart_spher(x = zinvestment)
##
## X2 = 326.331
## df = 15
## p-value < 2.22e-16
Hasil Bartlett’s Test menunjukkan p-value < 2.22 × 10⁻¹⁶, yang sangat signifikan. Oleh karena itu, kita menolak H₀ dan dapat disimpulkan bahwa matriks kovarians tidak sama dengan matriks identitas, yang berarti ada hubungan signifikan antara variabel dalam data.
Tes ini mengukur seberapa kuat hubungan antar variabel dalam dataset yang digunakan untuk analisis faktor. KMO memberikan indikasi apakah data memiliki korelasi yang cukup antar variabel untuk melanjutkan analisis faktor.
KMOS(zinvestment)
##
## Kaiser-Meyer-Olkin Statistics
##
## Call: KMOS(x = zinvestment)
##
## Measures of Sampling Adequacy (MSA):
## GNP Investment Price Interest RealGNP RealInv
## 0.7831090 0.7370062 0.7156671 0.7856602 0.6989793 0.6157259
##
## KMO-Criterion: 0.720777
Nilai KMO keseluruhan yang dihitung adalah 0.720777, yang menunjukkan bahwa data memiliki kecukupan sampel yang baik untuk melakukan analisis faktor.
Selain itu, nilai MSA (Measure of Sampling Adequacy) untuk masing-masing variabel juga berada di atas 0.5, yang berarti semua variabel memiliki kecukupan sampel yang baik dan tidak ada variabel yang perlu dikeluarkan dari analisis.
#Analisis Faktor
R<-cov(zinvestment)
R
## GNP Investment Price Interest RealGNP RealInv
## GNP 1.0000000 0.9800277 0.9984821 0.9168936 0.9509425 0.8128710
## Investment 0.9800277 1.0000000 0.9692190 0.8994475 0.9627388 0.9017168
## Price 0.9984821 0.9692190 1.0000000 0.9098894 0.9415563 0.7852829
## Interest 0.9168936 0.8994475 0.9098894 1.0000000 0.8561796 0.7272522
## RealGNP 0.9509425 0.9627388 0.9415563 0.8561796 1.0000000 0.9153848
## RealInv 0.8128710 0.9017168 0.7852829 0.7272522 0.9153848 1.0000000
Matriks kovarians yang ditampilkan menunjukkan hubungan yang sangat kuat antara sebagian besar variabel dalam dataset. Variabel-variabel seperti GNP, Investment, Price, dan RealGNP memiliki korelasi yang sangat tinggi satu sama lain, yang mengindikasikan bahwa mereka cenderung bergerak seiring dan mungkin dapat dikelompokkan dalam analisis faktor. Korelasi yang tinggi ini menguatkan bahwa analisis faktor dapat efektif dalam mengidentifikasi faktor-faktor utama yang mampu menjelaskan sebagian besar variabilitas dalam data, dengan memperhitungkan keterkaitan antara variabel-variabel tersebut.
eigen<-eigen(R)
eigen
## eigen() decomposition
## $values
## [1] 5.5173791599 0.3300284791 0.1151570916 0.0361705689 0.0010496037
## [6] 0.0002150969
##
## $vectors
## [,1] [,2] [,3] [,4] [,5] [,6]
## [1,] 0.4194705 -0.22343018 0.32000450 0.13760165 0.33486088 0.73529214
## [2,] 0.4230439 0.05771685 0.07624479 0.53240938 -0.72647463 -0.02577197
## [3,] 0.4155335 -0.28516498 0.41772067 0.06975269 0.33813839 -0.67254686
## [4,] 0.3931743 -0.48686777 -0.77062786 -0.11413025 0.02673516 -0.02767562
## [5,] 0.4165632 0.21444001 0.18394897 -0.80469596 -0.31224573 0.04025371
## [6,] 0.3798674 0.76315392 -0.29931383 0.17938590 0.38412637 -0.06305315
Berdasarkan hasil analisis eigenvalues, hanya satu komponen utama yang memenuhi kriteria eigenvalue > 1, dengan nilai 5.5174. Meskipun demikian, dua faktor tetap digunakan dalam analisis untuk menjelaskan variabilitas data, karena kedua faktor ini cukup memberikan representasi yang baik terhadap data.
Investment_fac<-factanal(factors=2,covmat=R)
Investment_fac
##
## Call:
## factanal(factors = 2, covmat = R)
##
## Uniquenesses:
## GNP Investment Price Interest RealGNP RealInv
## 0.005 0.007 0.005 0.161 0.039 0.005
##
## Loadings:
## Factor1 Factor2
## GNP 0.871 0.490
## Investment 0.766 0.637
## Price 0.892 0.449
## Interest 0.812 0.424
## RealGNP 0.710 0.676
## RealInv 0.427 0.902
##
## Factor1 Factor2
## SS loadings 3.487 2.297
## Proportion Var 0.581 0.383
## Cumulative Var 0.581 0.964
##
## The degrees of freedom for the model is 4 and the fit was 3.7934
Faktor 1: Variabel GNP, Investment, Price, dan Interest memiliki loading yang tinggi, yang menunjukkan hubungan yang kuat dengan faktor ini.
Faktor 2: Variabel RealGNP dan RealInv memiliki loading yang tinggi, yang menunjukkan hubungan yang kuat dengan faktor ini.
Semua variabel dalam analisis memiliki uniquenesses yang rendah (< 0.2), yang menunjukkan bahwa sebagian besar variabilitas mereka dapat dijelaskan oleh faktor-faktor yang diekstrak.
Statistik fit untuk model analisis faktor: - Chi-square (𝜒²): 3.7934 - Derajat kebebasan (df): 4
Nilai Chi-square yang relatif kecil dan derajat kebebasan yang sesuai menunjukkan bahwa model memiliki fit yang baik, karena jumlah faktor yang digunakan cukup untuk menjelaskan variabilitas data.