Input Data

# Data set nilai siswa
X1 <- c(70, 40, 60, 80, 80, 70, 50, 90, 70, 80)
X2 <- c(40, 10, 30, 60, 50, 20, 30, 50, 40, 20)
X3 <- c(30, 80, 50, 10, 70, 90, 30, 80, 50, 20)

# merge menjadi data frame
datasiswa <- data.frame(X1, X2, X3)
head(datasiswa)
##   X1 X2 X3
## 1 70 40 30
## 2 40 10 80
## 3 60 30 50
## 4 80 60 10
## 5 80 50 70
## 6 70 20 90
str(datasiswa)
## 'data.frame':    10 obs. of  3 variables:
##  $ X1: num  70 40 60 80 80 70 50 90 70 80
##  $ X2: num  40 10 30 60 50 20 30 50 40 20
##  $ X3: num  30 80 50 10 70 90 30 80 50 20

Keterangan: X1: MTK X2: IPA X3: Bahasa

A. Tentukan matriks ragam koragam dari dari data mata pelajaran tersebut!

# Matriks Ragam
matriks_ragam <- var(datasiswa)
matriks_ragam
##           X1        X2         X3
## X1 232.22222  161.1111  -43.33333
## X2 161.11111  250.0000 -127.77778
## X3 -43.33333 -127.7778  787.77778

B. Tentukan akar ciri dan vektor ciri dari matriks ragam koragam tersebut!

# Akar ciri
akar_ciri <- eigen(matriks_ragam)
akar_ciri
## eigen() decomposition
## $values
## [1] 827.39426 367.61293  74.99282
## 
## $vectors
##            [,1]      [,2]        [,3]
## [1,] -0.1375708 0.6990371  0.70172743
## [2,] -0.2504597 0.6608892 -0.70745703
## [3,]  0.9583028 0.2730799 -0.08416157

terdapat akar ciri lambda 1>lambda 2>lambda 3 dan juga eigen vektor nya

C. Tentukan komponen utama yang terbentuk melalui matriks ragam koragam tersebut!

# Komponen Utama
komponen_utama <- prcomp(datasiswa,scale=FALSE,center = FALSE)

summary(komponen_utama)
## Importance of components:
##                            PC1      PC2     PC3
## Standard deviation     99.7440 27.82006 9.39609
## Proportion of Variance  0.9202  0.07159 0.00817
## Cumulative Proportion   0.9202  0.99183 1.00000

plot dari komponen utama

library(factoextra)
fviz_eig(komponen_utama)

fviz_screeplot(komponen_utama,geom="line")

Dapat dilihat bedasarkan scree plot, komponen utama dengan menggunakan sebanyak 2 komponen utama dapat menjelaskan keragaman sebesar 92%+7.2%= 99,2% dan hanya 0,8% yang tidak dapat dijelaskan

D. Apa yang dapat diinterpretasikan dari komponen utama yang dihasilkan?

# Interpretasi Komponen Utama
interpretasi <- komponen_utama$rotation
interpretasi
##           PC1        PC2        PC3
## X1 -0.7347714 -0.4011079  0.5470132
## X2 -0.3762719 -0.4299618 -0.8207023
## X3 -0.5643850  0.8088543 -0.1649980

Vektor ciri pada komponen utama 1 memiliki nilai negatif pada semua mata pelajaran, hal ini dapat di jelaskan bahwa semakin besar score value siswa di komponen utama 1 maka mengindikasikan bahwa semakin kecil juga nilai siswa tersebut di semua mata pelajaran.

Vektor ciri pada komponen utama 2 memiliki 2 nilai negatif pada mata pelajaran X1 dan X2 dan berbanding terbalik dengan X3 yang memiliki nilai positif, hal ini dapat di jelaskan bahwa semakin besar score value siswa di komponen utama 2 maka mengindikasikan bahwa semakin besar nilai siswa tersebut di mata pelajaran X3 dan sebaliknya untuk mata pelajaran X1 dan X2 semakin kecil.

INGAT: X1: MTK X2: IPA X3: Bahasa

# Menghitung nilai score value
score_value <- komponen_utama$x
score_value
##              PC1        PC2        PC3
##  [1,]  -83.41643 -21.010401  0.5128898
##  [2,]  -78.30437  44.364406  0.4736637
##  [3,]  -83.59369   3.477383 -0.0501789
##  [4,]  -87.00188 -49.797802 -7.1310645
##  [5,] -117.10226   3.033073 -8.8239215
##  [6,] -109.75409  36.120093  7.0270557
##  [7,]  -64.95828  -8.688624 -2.2203506
##  [8,] -130.09382   7.110536 -5.0037698
##  [9,]  -94.70413  -4.833315 -2.7870702
## [10,]  -77.59485 -24.510786 24.0470473
fviz_pca_var(komponen_utama, col.var = "steelblue")

fviz_pca_biplot(komponen_utama, repel = TRUE, col.var = "black")

fviz_pca_ind(komponen_utama, col.ind = "cos2", gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"), 
             repel = TRUE)

komponen utama 1(dim1/sumbu x) menjelaskan bahwa interpretasi dari komponen satu terlihat pada siswa ke 7

komponen utama 2(dim2/sumbu y) menjelaskan bahwa interpretasi dari komponen dua terlihat pada siswa ke 2

berikut data untuk perbandingan

# Data set nilai siswa
datasiswa
##    X1 X2 X3
## 1  70 40 30
## 2  40 10 80
## 3  60 30 50
## 4  80 60 10
## 5  80 50 70
## 6  70 20 90
## 7  50 30 30
## 8  90 50 80
## 9  70 40 50
## 10 80 20 20