4/23/2021
Tasya Aguilera
3SK2
211810621
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)
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]))
}
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).
## $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.
library(REdaS)
bart_spher(zInvestment)
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.
R <- cov(zInvestment)
R
##
## 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.
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
## $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"
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
nfaktor$Analysis
library(psych)
#Require(GPArotation)
R <- cov(zInvestment)
Solution_pa <- fa(R, nfactors = 2, rotate = "varimax", fm="pa" )
Solution_pa
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.