Email             :
RPubs            : https://rpubs.com/albert23899
Jurusan          : Statistika
Address         : ARA Center, Matana University Tower
                         Jl. CBD Barat Kav, RT.1, Curug Sangereng, Kelapa Dua, Tangerang, Banten 15810.


1 Load the Library that We NEED

library(DT)       #Library untuk Menampilkan Tabel Agar Mudah Dilihat di Browser
library(MVN)      #Library untuk Uji Multivariate Normal
library(MASS)     #Library untuk Fungsi Diskriminan Analisis
library(biotools) #Library untuk Melakukan Uji Box-M
## ---
## biotools version 4.2

2 Load the IRIS database

data("iris")
datatable(iris)

3 Assumption Test

3.1 Data Variabel Independen Terdistribusi Normal

mvn(data = iris[, c(1:4)], multivariatePlot = 'qq') # Hanya mengambil kolom variabel prediktor

## $multivariateNormality
##            Test       HZ p value MVN
## 1 Henze-Zirkler 2.336394       0  NO
## 
## $univariateNormality
##               Test     Variable Statistic   p value Normality
## 1 Anderson-Darling Sepal.Length    0.8892  0.0225      NO    
## 2 Anderson-Darling Sepal.Width     0.9080  0.0202      NO    
## 3 Anderson-Darling Petal.Length    7.6785  <0.001      NO    
## 4 Anderson-Darling Petal.Width     5.1057  <0.001      NO    
## 
## $Descriptives
##                n     Mean   Std.Dev Median Min Max 25th 75th       Skew
## Sepal.Length 150 5.843333 0.8280661   5.80 4.3 7.9  5.1  6.4  0.3086407
## Sepal.Width  150 3.057333 0.4358663   3.00 2.0 4.4  2.8  3.3  0.3126147
## Petal.Length 150 3.758000 1.7652982   4.35 1.0 6.9  1.6  5.1 -0.2694109
## Petal.Width  150 1.199333 0.7622377   1.30 0.1 2.5  0.3  1.8 -0.1009166
##                Kurtosis
## Sepal.Length -0.6058125
## Sepal.Width   0.1387047
## Petal.Length -1.4168574
## Petal.Width  -1.3581792

3.2 Perbedaan Rata-Rata Antar Variabel Independen

m <- manova(formula = cbind(iris$Sepal.Length, iris$Sepal.Width, iris$Petal.Length,
                            iris$Petal.Width) ~ iris$Species)
summary(object = m, test = 'Wilks')
##               Df    Wilks approx F num Df den Df    Pr(>F)    
## iris$Species   2 0.023439   199.15      8    288 < 2.2e-16 ***
## Residuals    147                                              
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

4 Memulai Analisis Diskriminan

4.1 Membuat training and test data set

set.seed(123)
train_index <- sample(seq(nrow(iris)), size = floor(0.75 * nrow(iris)), replace = F)
training_data <- iris[train_index, ] 
test_data <- iris[-train_index, ]

4.2 Membentuk Fungsi Diskriminan

linearDA <- lda(formula = Species ~., data = training_data)
linearDA
## Call:
## lda(Species ~ ., data = training_data)
## 
## Prior probabilities of groups:
##     setosa versicolor  virginica 
##  0.3392857  0.2946429  0.3660714 
## 
## Group means:
##            Sepal.Length Sepal.Width Petal.Length Petal.Width
## setosa         4.976316    3.405263     1.471053   0.2578947
## versicolor     5.966667    2.784848     4.303030   1.3393939
## virginica      6.585366    2.956098     5.534146   2.0097561
## 
## Coefficients of linear discriminants:
##                     LD1        LD2
## Sepal.Length  0.8739864 -0.1767027
## Sepal.Width   1.3356317 -1.8714548
## Petal.Length -2.1802288  1.1793326
## Petal.Width  -2.7858940 -3.1801017
## 
## Proportion of trace:
##   LD1   LD2 
## 0.993 0.007
plot(linearDA, col = as.integer(training_data$Species))

Memprediksi

predicted <- predict(object = linearDA, newdata = test_data)
table(actual = test_data$Species, predicted = predicted$class)
##             predicted
## actual       setosa versicolor virginica
##   setosa         12          0         0
##   versicolor      0         16         1
##   virginica       0          0         9
LS0tDQp0aXRsZTogIkFuYWxpc2lzIERpc2tyaW1pbmFuIg0Kc3VidGl0bGU6ICJTdHVkaSBLYXN1cyBEZW5nYW4gRGF0YSBTZXQgSVJJUyINCmF1dGhvcjogIktlbG9tcG9rIDIiDQpkYXRlOiAiYHIgZm9ybWF0KFN5cy5EYXRlKCksICclQiAlZCwgJVknKWAiDQpvdXRwdXQ6IA0KICBodG1sX2RvY3VtZW50OiANCiAgICBodG1sX2RvY3VtZW50OiBudWxsDQogICAgY29kZV9mb2xkaW5nOiBoaWRlDQogICAgdG9jOiB5ZXMNCiAgICB0b2NfZmxvYXQ6DQogICAgICBjb2xsYXBzZWQ6IHllcw0KICAgIG51bWJlcl9zZWN0aW9uczogeWVzDQogICAgY29kZV9kb3dubG9hZDogeWVzDQogICAgdGhlbWU6IHNhbmRzdG9uZQ0KICAgIGNzczogc3R5bGUxLmNzcw0KICAgIGhpZ2hsaWdodDogbW9ub2Nocm9tZQ0KLS0tDQoNCg0KYGBge3IgbG9nbywgZWNobz1GQUxTRSxmaWcuYWxpZ249J2NlbnRlcicsIG91dC53aWR0aCA9ICczMCUnfQ0Ka25pdHI6OmluY2x1ZGVfZ3JhcGhpY3MoImxvZ29tYXRhbmEucG5nIikNCmBgYA0KDQpFbWFpbCAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsmbmJzcDs6ICBhbGJlcnQucHJheW9nbzk5QGdtYWlsLmNvbSA8YnI+DQpSUHVicyAgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7OiBodHRwczovL3JwdWJzLmNvbS9hbGJlcnQyMzg5OSA8YnI+DQpKdXJ1c2FuICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDs6IFtTdGF0aXN0aWthXShodHRwczovL21hdGFuYXVuaXZlcnNpdHkuYWMuaWQvP2x5PWFjYWRlbWljJmM9c2IpIDxicj4NCkFkZHJlc3MgICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyA6IEFSQSBDZW50ZXIsIE1hdGFuYSBVbml2ZXJzaXR5IFRvd2VyIDxicj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7Jm5ic3A7IEpsLiBDQkQgQmFyYXQgS2F2LCBSVC4xLCBDdXJ1ZyBTYW5nZXJlbmcsIEtlbGFwYSBEdWEsIFRhbmdlcmFuZywgQmFudGVuIDE1ODEwLg0KDQoqKioqDQojIExvYWQgdGhlIExpYnJhcnkgdGhhdCBXZSBORUVEDQpgYGB7cn0NCmxpYnJhcnkoRFQpICAgICAgICNMaWJyYXJ5IHVudHVrIE1lbmFtcGlsa2FuIFRhYmVsIEFnYXIgTXVkYWggRGlsaWhhdCBkaSBCcm93c2VyDQpsaWJyYXJ5KE1WTikgICAgICAjTGlicmFyeSB1bnR1ayBVamkgTXVsdGl2YXJpYXRlIE5vcm1hbA0KbGlicmFyeShNQVNTKSAgICAgI0xpYnJhcnkgdW50dWsgRnVuZ3NpIERpc2tyaW1pbmFuIEFuYWxpc2lzDQpsaWJyYXJ5KGJpb3Rvb2xzKSAjTGlicmFyeSB1bnR1ayBNZWxha3VrYW4gVWppIEJveC1NDQpgYGANCiMgTG9hZCB0aGUgSVJJUyBkYXRhYmFzZQ0KYGBge3J9DQpkYXRhKCJpcmlzIikNCmRhdGF0YWJsZShpcmlzKQ0KYGBgDQojIEFzc3VtcHRpb24gVGVzdA0KIyMgRGF0YSBWYXJpYWJlbCBJbmRlcGVuZGVuIFRlcmRpc3RyaWJ1c2kgTm9ybWFsDQpgYGB7cn0NCm12bihkYXRhID0gaXJpc1ssIGMoMTo0KV0sIG11bHRpdmFyaWF0ZVBsb3QgPSAncXEnKSAjIEhhbnlhIG1lbmdhbWJpbCBrb2xvbSB2YXJpYWJlbCBwcmVkaWt0b3INCmBgYA0KIyMgUGVyYmVkYWFuIFJhdGEtUmF0YSBBbnRhciBWYXJpYWJlbCBJbmRlcGVuZGVuDQpgYGB7cn0NCm0gPC0gbWFub3ZhKGZvcm11bGEgPSBjYmluZChpcmlzJFNlcGFsLkxlbmd0aCwgaXJpcyRTZXBhbC5XaWR0aCwgaXJpcyRQZXRhbC5MZW5ndGgsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaXJpcyRQZXRhbC5XaWR0aCkgfiBpcmlzJFNwZWNpZXMpDQpzdW1tYXJ5KG9iamVjdCA9IG0sIHRlc3QgPSAnV2lsa3MnKQ0KYGBgDQojIE1lbXVsYWkgQW5hbGlzaXMgRGlza3JpbWluYW4NCiMjIE1lbWJ1YXQgdHJhaW5pbmcgYW5kIHRlc3QgZGF0YSBzZXQNCmBgYHtyfQ0Kc2V0LnNlZWQoMTIzKQ0KdHJhaW5faW5kZXggPC0gc2FtcGxlKHNlcShucm93KGlyaXMpKSwgc2l6ZSA9IGZsb29yKDAuNzUgKiBucm93KGlyaXMpKSwgcmVwbGFjZSA9IEYpDQp0cmFpbmluZ19kYXRhIDwtIGlyaXNbdHJhaW5faW5kZXgsIF0gDQp0ZXN0X2RhdGEgPC0gaXJpc1stdHJhaW5faW5kZXgsIF0NCmBgYA0KIyMgTWVtYmVudHVrIEZ1bmdzaSBEaXNrcmltaW5hbg0KYGBge3J9DQpsaW5lYXJEQSA8LSBsZGEoZm9ybXVsYSA9IFNwZWNpZXMgfi4sIGRhdGEgPSB0cmFpbmluZ19kYXRhKQ0KbGluZWFyREENCmBgYA0KYGBge3J9DQpwbG90KGxpbmVhckRBLCBjb2wgPSBhcy5pbnRlZ2VyKHRyYWluaW5nX2RhdGEkU3BlY2llcykpDQpgYGANCk1lbXByZWRpa3NpDQpgYGB7cn0NCnByZWRpY3RlZCA8LSBwcmVkaWN0KG9iamVjdCA9IGxpbmVhckRBLCBuZXdkYXRhID0gdGVzdF9kYXRhKQ0KdGFibGUoYWN0dWFsID0gdGVzdF9kYXRhJFNwZWNpZXMsIHByZWRpY3RlZCA9IHByZWRpY3RlZCRjbGFzcykNCmBgYA0KDQoNCiAgDQogIA0KICA=