Anda di halaman 1dari 1

Tugas APG Pertemuan 9

4/23/2021
Tasya Aguilera
3SK2
211810621

Contoh 5.3. Analisis Faktor


Gunakan dataset investmen dari package “sandwich” untuk melakukan analisis faktor.
Data set investmen terdiri dari tujuh kolom. Kolom yang akan kita gunakan untuk analisis faktor kali ini terdiri dari 6 kolom atau 6 variabel yaitu:
X1 = GNP
X2 = Investment
X3 = Price
X4 = Interest
X5 = RealGNP
X6 = RealInv

Tahap 1. Input data

library(sandwich)
data(Investment, package = "sandwich")
Investment <- as.data.frame (Investment[,1:6])

Tahap 2. Karena satuan masing-masing variabel berbeda maka lakukan terlebih dahulu transformasi data menjadi normal baku (rata-rata 0 dan
varians 1)

zInvestment <- data.frame(scale(Investment)) #fungsi scale untuk menstandardisasi normal baku

Tahap 3. Uji asumsi kenormalan (optional, dapat dilewati jika data sudah ditansformasi normal baku)
a. Periksa bentuk histogram dan kurva

par(mfrow = c(1,3))
for (i in 1:3) {
hist(zInvestment[,i], prob = TRUE, main = paste("X", i ,sep=""),
xlab = paste("X", i, sep=""))
lines(density(zInvestment[,i]))
}

par(mfrow = c(1,3))
for (i in 4:6) {
hist(zInvestment[,i], prob = TRUE, main = paste("X", i ,sep=""),
xlab = paste("X", i, sep=""))
lines(density(zInvestment[,i-3]))
}

b. Tes kenormalan masing-masing variabe dengan shapiro-wilks

shapiro.test(zInvestment$GNP)

##
## Shapiro-Wilk normality test
##
## data: zInvestment$GNP
## W = 0.89545, p-value = 0.03391

shapiro.test(zInvestment$Investment)

##
## Shapiro-Wilk normality test
##
## data: zInvestment$Investment
## W = 0.88116, p-value = 0.01857

shapiro.test(zInvestment$Price)

##
## Shapiro-Wilk normality test
##
## data: zInvestment$Price
## W = 0.89299, p-value = 0.03054

shapiro.test(zInvestment$Interest)

##
## Shapiro-Wilk normality test
##
## data: zInvestment$Interest
## W = 0.8667, p-value = 0.01029

shapiro.test(zInvestment$RealGNP)

##
## Shapiro-Wilk normality test
##
## data: zInvestment$RealGNP
## W = 0.94756, p-value = 0.3316

shapiro.test(zInvestment$RealInv)

##
## Shapiro-Wilk normality test
##
## data: zInvestment$RealInv
## W = 0.94862, p-value = 0.3466

Hasil dari uji shapiro-wilks data berdistribusi normal pada pada tingkat signifikansi 1%
Cat: Untuk menguji kenormalan multivariate bisa juga menggunakan fungsi mvn(X,...) yang merupakan gabungan dari pemeriksaan skewness
dan kurtosis. Untuk menggunakan fungsi ini harus mengaktifkan terlebih dahulu library (MVN).

#tes multivariate normal dengan mardia test


library(MVN)
mvn(zInvestment)

## $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 Shapiro-Wilk GNP 0.8955 0.0339 NO
## 2 Shapiro-Wilk Investment 0.8812 0.0186 NO
## 3 Shapiro-Wilk Price 0.8930 0.0305 NO
## 4 Shapiro-Wilk Interest 0.8667 0.0103 NO
## 5 Shapiro-Wilk RealGNP 0.9476 0.3316 YES
## 6 Shapiro-Wilk RealInv 0.9486 0.3466 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 pengujian tersebut, variabel penelitian tersebut tidak berdistribusi normal ganda. Namun berdasarkan uji shapiro data berdistribusi
normal, sbg latihan utk metode analisis faktor maka kita kan tetap melanjutkan ke tahapan analisis faktor selanjutnya.

Tahap 4. lakukan uji bartlett

library(REdaS)
bart_spher(zInvestment)

## Bartlett's Test of Sphericity


##
## Call: bart_spher(x = zInvestment)
##
## X2 = 326.331
## df = 15
## p-value < 2.22e-16

Tahap 5. Lakukan uji Kaiser-Meyer-Oklin (KMO) dan MSA

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

Interpretasi output:
Total KMO adalah 0.72 hal ini mengindikasikan jumlah sampel cukup untuk melanjutkan ke tahapan analisis faktor berikutnya.
Berdasarkan nilai MSA masing-masing variabel bernilai lebih dari 0.5 sehingga keenam variabel bisa lanjut dengan Analisis Faktor.

Tahap 6. Lakukan analisis faktor dengan factanal()

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

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

Interpretasi output:
Berdasarkan nilai SS loadings maka faktor 1 dicirikan oleh GNP, Investment, Price, Interest, RealGNP sedangkan faktor 2 dicirikan oleh variabel
RealInv.

Menentukan banyak faktor


Ada beberapa pertimbangan, seperti:
1. Berdasarkan kriteria nilai eigen
2. Berdasarkan proporsi kumulatif varians yang dapat dijelaskan oleh faktor
3. Berdasarkan scree plot
Package R yang menyediakan fungsi yang dapat memberikan informasi mengenai jumlah faktor yang dapat ditentukan adalah package nFactors
dengan fungsinya adalah nScree. Fungsi ini menggunakan aturan Kaiser dalam menentukan banyaknya faktor.

library(nFactors)
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

ap <- parallel(subject = 20, var=6, rep=100, cent= 0.05)


ap

## $eigen
## mevpea sevpea qevpea sqevpea
## V1 1.7775465 0.24064065 1.46032389 0.05085188
## V2 1.3496195 0.14661612 1.11790398 0.03098273
## V3 1.0684837 0.08826661 0.94192437 0.01865239
## V4 0.8440884 0.10190988 0.66880905 0.02153547
## V5 0.6125593 0.11280146 0.41442073 0.02383706
## V6 0.3477025 0.15849997 0.05374724 0.03349402
##
## $subject
## [1] 20
##
## $variables
## [1] 6
##
## $centile
## [1] 0.05
##
## attr(,"class")
## [1] "parallel"

nfaktor <- nScree(eigen$values, ap$eigen$qevpea)


plotnScree(nfaktor)

Berdasarkan aturan Kaiser: jumlah faktor ditentukan berdasarkan nilai eigen>1. Dengan demikian jumlah faktor yang dapat digunakan untuk
analisis lanjutan adalah satu faktor.

nfaktor$Components

## noc naf nparallel nkaiser


## 1 1 1 2 3

nfaktor$Analysis

## Eigenvalues Prop Cumu Par.Analysis Pred.eig OC Acc.factor


## 1 1.46032389 0.31356739 0.3135674 1 1.3839432 (< OC) NA
## 2 1.11790398 0.24004143 0.5536088 1 1.2379834 0.16644030
## 3 0.94192437 0.20225429 0.7558631 1 0.9763399 -0.09713572
## 4 0.66880905 0.14360972 0.8994728 1 0.7750942 0.01872701
## 5 0.41442073 0.08898631 0.9884591 1 NA -0.10628517
## 6 0.05374724 0.01154085 1.0000000 1 NA NA
## AF
## 1 (< AF)
## 2
## 3
## 4
## 5
## 6

Interpretasi gambar dan tabel:


Banyaknya faktor yang dapat digunakan untuk analisis selanjutnya berdasarkan output analisis paralel adalah 2 faktor. Sedangkan berdasarkan
Acceleration Factor adalah 1 faktor.

Fungsi alternatif lainnya untuk analisis faktor menggunakan R

Metode estimasi PCA


Menggunakan fungsi fa() yang terdapat dalam paket psych

library(psych)
#Require(GPArotation)
R <- cov(zInvestment)
Solution_pa <- fa(R, nfactors = 2, rotate = "varimax", fm="pa" )
Solution_pa

## Factor Analysis using method = pa


## Call: fa(r = R, nfactors = 2, rotate = "varimax", fm = "pa")
## Standardized loadings (pattern matrix) based upon correlation matrix
## PA1 PA2 h2 u2 com
## GNP 0.88 0.48 1.00 -0.0022 1.5
## Investment 0.78 0.62 0.99 0.0096 1.9
## Price 0.89 0.45 0.99 0.0067 1.5
## Interest 0.82 0.41 0.84 0.1584 1.5
## RealGNP 0.71 0.67 0.96 0.0417 2.0
## RealInv 0.44 0.90 1.00 0.0030 1.4
##
## PA1 PA2
## SS loadings 3.54 2.24
## Proportion Var 0.59 0.37
## Cumulative Var 0.59 0.96
## Proportion Explained 0.61 0.39
## Cumulative Proportion 0.61 1.00
##
## Mean item complexity = 1.6
## Test of the hypothesis that 2 factors are sufficient.
##
## The degrees of freedom for the null model are 15 and the objective function was 20.19
## The degrees of freedom for the model are 4 and the objective function was 2.6
##
## The root mean square of the residuals (RMSR) is 0
## The df corrected root mean square of the residuals is 0.01
##
## Fit based upon off diagonal values = 1

Keterangan Output:
-kolom h2 adalah nilai communalities
-kolom u2 adalah nilai yang berhubungan dengan matriks covarians error
-Root Mean Square of Residual (RMSR) ukurang kecocokan. Mengukur perbedaan antara nilai prediksi/estimasi yang dihasilkan oleh model
dengan nilai pengamatan. Semakin mendekati nilai nol semakin bagus.

Berikut cara menginterpretasikan output dengan metode principal component


-Nilai loading 0.88 menunjukkan besarnya korelasi antara variabel GNP dan faktor umum 1 adalah 0.88. Jika nilai loading dikuadratkan
menunjukkan proporsi total varians GNP yang dapat dijelaskan oleh faktor 1.
-Sum square (SS) loading PA1 (faktor 1) sebesar 3.54 menunjukkan total varians keseluruhan variabel asal (X) yang dapat dijelaskan oleh faktor
1. Nilai ini merupakan nilai lambda1 (eigen value)
-Proportion var PA1 / Proporsi keragaman Faktor 1 sebesar 0.59 menunjukkan proporsi total varians variabel asal yang dapat dijelaskan oleh
faktor 1 sebesar 59 persen.
-Jumlah faktor yang dapat digunakan untuk analisis lanjutan adalah sebanyak 2 faktor, karena nilai eigen PA 1 dan PA 2 lebih dari 1 dan kumulatif
proporsi total variansi yang dapat dijelaskan oleh kedua faktor sudah mencapai 96 persen.

Metode estimasi maximum likelihood


Melakukan analisis faktor dengan fungsi fa() pada contoh 5.3 jika dengan menggunakan metode estimasi maximum likelihood (fm=“ml”)

Solution_ml <- fa(R, nfactors = 2, rotate ="varimax", fm="ml")


Solution_ml

## Factor Analysis using method = ml


## Call: fa(r = R, nfactors = 2, rotate = "varimax", fm = "ml")
## Standardized loadings (pattern matrix) based upon correlation matrix
## ML1 ML2 h2 u2 com
## GNP 0.87 0.49 1.00 0.0021 1.6
## Investment 0.77 0.64 0.99 0.0073 1.9
## Price 0.89 0.45 1.00 0.0030 1.5
## Interest 0.81 0.42 0.84 0.1607 1.5
## RealGNP 0.71 0.68 0.96 0.0386 2.0
## RealInv 0.43 0.90 1.00 0.0047 1.4
##
## ML1 ML2
## SS loadings 3.49 2.30
## Proportion Var 0.58 0.38
## Cumulative Var 0.58 0.96
## Proportion Explained 0.60 0.40
## Cumulative Proportion 0.60 1.00
##
## Mean item complexity = 1.7
## Test of the hypothesis that 2 factors are sufficient.
##
## The degrees of freedom for the null model are 15 and the objective function was 20.19
## The degrees of freedom for the model are 4 and the objective function was 3.14
##
## The root mean square of the residuals (RMSR) is 0
## The df corrected root mean square of the residuals is 0.01
##
## Fit based upon off diagonal values = 1
## Measures of factor score adequacy
## ML1 ML2
## Correlation of (regression) scores with factors 1.00 0.99
## Multiple R square of scores with factors 0.99 0.99
## Minimum correlation of possible factor scores 0.98 0.98

Anda mungkin juga menyukai