Contoh 8.1

Berikut ini adalah data 20 mahasiswa fakultas teknik dan 20 mahasiswa fakultas sastra dari suatu perguruan tinggi. Keempat puluh mahasiswa tersebut diberikan test psikologi untuk menguji 6 hal berikut :

y1: intelijensi

y2: form relation

y3: dynamometer

y4: dotting

y5: sensory motor coordination

y6: perseverasi

Dari data yang telah dikumpulkan ingin diketahui bagaimanakah perbedaan antara kedua kelompok mahasiwa tersebut:

Tahap 1: Input Data

# Fakultas Teknik
y1 <- c(121,108,122,77,140,108,124,130,149,129,154,145,112,120,118,141,135,151,97,109)
y2 <- c(22,30,49,37,35,37,39,34,55,38,37,33,40,39,21,42,49,37,46,42)
y3 <- c(74,80,87,66,71,57,52,89,91,72,87,88,60,73,83,80,73,76,83,82)
y4 <- c(223,175,266,178,175,241,194,200,198,162,170,208,232,159,152,195,152,223,164,188)
y5 <- c(54,40,41,80,38,59,72,85,50,47,60,51,29,39,88,36,42,74,31,57)
y6 <- c(254,300,223,209,261,245,242,242,277,268,244,228,279,233,233,241,249,268,243,267)
teknik <- data.frame(y1,y2,y3,y4,y5,y6)

# Fakultas Sastra
y1s <- c(132,123,129,131,110,47,125,129,130,147,159,135,100,149,149,153,136,97,141,164)
y2s <- c(17,32,31,23,24,22,32,29,26,47,37,41,35,37,38,27,31,36,37,32)
y3s <- c(77,79,96,67,96,87,87,102,104,82,80,83,83,94,78,89,83,100,105,76)
y4s <- c(232,192,250,291,239,231,227,234,256,240,227,216,183,227,258,283,257,252,250,187)
y5s <- c(50,64,55,48,42,40,30,58,58,30,58,39,57,30,42,66,31,30,27,30)
y6s <- c(249,315,319,310,268,217,324,300,270,322,317,306,242,240,271,291,311,225,243,264)
sastra <- data.frame(y1s,y2s,y3s,y4s,y5s,y6s)
colnames(sastra) <- c("y1","y2","y3","y4","y5","y6")

#Gabungan
Fak= rep(c(1,2), each=20)
psiko=rbind (teknik, sastra)
psiko= data.frame(Fak, psiko)

Keterengan:

Fak:

1: Fakultas Teknik

2: Fakultas Sastra

#Linear discriminant An. With Jacknifed Prediction
library (MASS)
fit= lda(Fak~y1+y2+y3, data=psiko)
fit
## Call:
## lda(Fak ~ y1 + y2 + y3, data = psiko)
## 
## Prior probabilities of groups:
##   1   2 
## 0.5 0.5 
## 
## Group means:
##      y1   y2   y3
## 1 124.5 38.1 76.2
## 2 129.3 31.7 87.4
## 
## Coefficients of linear discriminants:
##            LD1
## y1  0.01196529
## y2 -0.09105447
## y3  0.07088441

Dari output di atas, diperoleh satu buah fungsi diskriminan berikut:

\(z=-0.0120y1+0.0911y2-0.0709y3\)

Untuk melihat akurasi klasifikasi, kita bisa membuat confussion matrix sebagai berikut:

fit.val= predict (fit, psiko[,-7])
ct= table(psiko$Fak, fit.val$class)
ct
##    
##      1  2
##   1 14  6
##   2  4 16
diag(prop.table(ct,1))
##   1   2 
## 0.7 0.8
1-sum(diag(prop.table(ct)))
## [1] 0.25

Kemudian kita bisa membuat plot sebagai berikut:

pca= prcomp(psiko[,-7], center=TRUE, scale=TRUE)
dat=cbind(pca$x, psiko$Fak, fit.val$class)
colnames(dat)= c("PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "Ori", "Pred")
plot(x=dat[,1],
     y=dat[,2],
     col=dat[,7],
     pch=dat[,8],
     xlab="PC1", ylab="PC2")

Pada Plot di atas, warna hitam dan merah menunjukan fakultas mahasiswa berdasarkan data asli, sedangkan benttuk segitiga dan bulat menunjukan fakultas mahasiswa hasil prediksi, sehingga kita bisa menilai akurasi dari model linear discriminant analysis yang telah dilakukan.