Manova atau Multivariate Analysis Of Variance merupakan suatu uji signifikansi rata-rata sampel multivariat.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Pada pembahasan MANOVA ini, digunakan data nilai dari tiga ujian dan nilai mata kuliah statistik secara menyeluruh 233 mahasiswa selama dua semester di suatu universitas pada tahun 2000. data dapat diakses pada tautan berikut: https://vincentarelbundock.github.io/Rdatasets/doc/openintro/exam_grades.html
data <- read.csv("C:/Users/ACER/Documents/ANALISIS DATA MULTIVARIAT/MANOVA/exam_grades.csv")
head(data)
## rownames semester sex exam1 exam2 exam3 course_grade
## 1 1 2000-1 Man 84.5 69.5 86.5 76.2564
## 2 2 2000-1 Man 80.0 74.0 67.0 75.3882
## 3 3 2000-1 Man 56.0 70.0 71.5 67.0564
## 4 4 2000-1 Man 64.0 61.0 67.5 63.4538
## 5 5 2000-1 Man 90.5 72.5 75.0 72.3949
## 6 6 2000-1 Man 74.0 78.5 84.5 71.4128
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Dalam pengujian menggunakan Manova dengan bantuan software R, taraf dari faktor independen harus bertipe numerik, sehingga disini akan didefinisikan terlebih dahulu bahwa untuk Sexuality “Man” = 0 dan “Woman” = 1, dan untuk Semester “2000-1” = 1 dan “2000-2” = 2.
data$sex <- ifelse(data$sex == "Man",0,1)
data$semester <- ifelse(data$semester == "2000-1",1,2)
head(data)
## rownames semester sex exam1 exam2 exam3 course_grade
## 1 1 1 0 84.5 69.5 86.5 76.2564
## 2 2 1 0 80.0 74.0 67.0 75.3882
## 3 3 1 0 56.0 70.0 71.5 67.0564
## 4 4 1 0 64.0 61.0 67.5 63.4538
## 5 5 1 0 90.5 72.5 75.0 72.3949
## 6 6 1 0 74.0 78.5 84.5 71.4128
str(data)
## 'data.frame': 233 obs. of 7 variables:
## $ rownames : int 1 2 3 4 5 6 7 8 9 10 ...
## $ semester : num 1 1 1 1 1 1 1 1 1 1 ...
## $ sex : num 0 0 0 0 0 0 0 0 1 0 ...
## $ exam1 : num 84.5 80 56 64 90.5 74 60.5 89 87.5 91 ...
## $ exam2 : num 69.5 74 70 61 72.5 78.5 44 82 86.5 98 ...
## $ exam3 : num 86.5 67 71.5 67.5 75 84.5 58 88 95 88 ...
## $ course_grade: num 76.3 75.4 67.1 63.5 72.4 ...
Akan didefinisikan terlebih dahulu variabel dependen, “exam 1” = x1, “exam 2” = x2, “exam 3” = x3, dan “course grade” = x4.
x1 <- data[,4]
x2 <- data[,5]
x3 <- data[,6]
x4 <- data[,7]
data_fix <- data.frame(x1=x1, x2=x2, x3=x3, x4=x4)
Untuk melakukan uji asumsi normalitas, dilakukan plot Q-Q untuk melihat persebaran data secara eksploratif, lalu dilakukan juga uji formal menggunakan Mardia Test dengan hipotesis:
Mardia Skewness
H0: Data berdistribusi Normal
H1: Data tidak berdistribusi Normal
Mardia Kurtosis
H0: Data berdistribusi Normal
H1: Data tidak berdistribusi Normal
dengan taraf signifikansi alpha 5%, sehingga nilai kritisnya sebesar 0,05.
## Uji Normalitas Multivariate
library(MVN)
## Warning: package 'MVN' was built under R version 4.3.3
test = mvn(data_fix, mvnTest = "mardia", univariateTest = "SW")
test
## $multivariateNormality
## Test Statistic p value Result
## 1 Mardia Skewness 75.8583703210178 1.95848044135753e-08 NO
## 2 Mardia Kurtosis 0.0061518543161131 0.995091561381116 YES
## 3 MVN <NA> <NA> NO
##
## $univariateNormality
## Test Variable Statistic p value Normality
## 1 Shapiro-Wilk x1 0.9660 <0.001 NO
## 2 Shapiro-Wilk x2 0.9751 4e-04 NO
## 3 Shapiro-Wilk x3 0.9574 <0.001 NO
## 4 Shapiro-Wilk x4 0.9951 0.6629 YES
##
## $Descriptives
## n Mean Std.Dev Median Min Max 25th 75th Skew
## x1 232 80.76619 11.067860 82.00000 46.5000 99.3000 73.50000 89.6250 -0.5313892
## x2 232 72.66853 13.773631 74.00000 38.0000 99.5000 63.37500 83.0000 -0.4405101
## x3 232 75.46729 14.737388 78.00000 28.0000 98.8889 67.00000 86.1000 -0.7132029
## x4 232 72.34881 9.683186 72.64335 43.2733 97.5667 66.96625 79.0071 -0.1944568
## Kurtosis
## x1 -0.36647229
## x2 -0.42586324
## x3 0.09814718
## x4 -0.08902620
Terlihat dari hasil analisis menggunakan Mardia Test bahwa data tidak menyebar normal secara multivariat. Selain itu, terjadi error pada saat dilakukan plot Q-Q, maka dari itu akan diperiksa apakah terdapat missing value pada data.
##Cek missing value
sum(is.na(data))
## [1] 1
which(rowSums(is.na(data)) > 0)
## [1] 203
Terdapat 1 missing value pada data yang terletak pada baris ke-203. Missing value dapat dihilangkan apabila tidak memiliki pengaruh yang signifikan terhadap data, namun missing value juga dapat ditangani dengan imputasi rata-rata.
Data yang tidak normal seharusnya ditangani dengan melakukan trasformasi data, setelah dilakukan transformasi data yang cukup panjang, tidak ditemukan transformasi yang menjadikan data tersebut normal secara multivariat. Sehingga demi keberlangsungan pembelajaran, diputuskan untuk dilakukan pemotongan data sebanyak 66 data yakni dari baris ke-33 sampai ke-98.
data_p <- data_fix[33:98,]
x1 <- data[33:98,4]
x2 <- data[33:98,5]
x3 <- data[33:98,6]
x4 <- data[33:98,7]
Selanjutnya, dilakukan uji normalitas kembali secara eksploratif dan formal menggunakan metode yang sama.
library(MVN)
test = mvn(data_p, mvnTest = "mardia", univariateTest = "SW", multivariatePlot = "qq")
test
## $multivariateNormality
## Test Statistic p value Result
## 1 Mardia Skewness 28.1560334711261 0.105756883303645 YES
## 2 Mardia Kurtosis 0.64744189875628 0.517345986329401 YES
## 3 MVN <NA> <NA> YES
##
## $univariateNormality
## Test Variable Statistic p value Normality
## 1 Shapiro-Wilk x1 0.9793 0.3382 YES
## 2 Shapiro-Wilk x2 0.9815 0.4280 YES
## 3 Shapiro-Wilk x3 0.9604 0.0336 NO
## 4 Shapiro-Wilk x4 0.9853 0.6281 YES
##
## $Descriptives
## n Mean Std.Dev Median Min Max 25th 75th Skew
## x1 66 77.42534 12.011128 78.3000 46.5000 98.0000 68.62500 86.30000 -0.2720363
## x2 66 73.04545 13.284093 75.5000 41.0000 99.5000 63.50000 83.00000 -0.3043361
## x3 66 73.26212 16.144299 76.0000 28.0000 98.5000 62.80000 85.50000 -0.5723922
## x4 66 72.29323 9.467943 72.2045 43.2733 97.5667 67.49965 77.87535 -0.1654976
## Kurtosis
## x1 -0.6563162
## x2 -0.5921045
## x3 -0.3156417
## x4 0.7460664
Dapat dilihat melalui gambar plot Q-Q, titik-titik data tersebut sudah menyebar di sekitar garis lurus, hal ini mengindikasikan bahwa data berdistribusi normal. Untuk memperkuat keyakinan, dilakukan juga uji menggunakan Mardia Test yang dimana didapatkan bahwa p-value mardia kurtosis dan mardia skewness lebih besar dari taraf signifikansi alpha 5%, sehingga dapat disimpulkan bahwa data berdistribusi normal.
Asumsi yang harus terpenuhi berikutnya adalah data memiliki karakteristik yang homogen. Uji asumsi ini dilakukan dengan hipotesis:
H0: Data berkarakteristik homogen
H1: Data tidak berkarakteristik homogen (heterogen)
dengan taraf signifikansi alpha 5%, sehingga nilai kritisnya sebesar 0,05.
#UJI HOMOGENITAS
library(biotools)
## Warning: package 'biotools' was built under R version 4.3.3
## Loading required package: MASS
## ---
## biotools version 4.2
#semester
# semester
head(data[33:98,2])
## [1] 1 1 1 1 1 1
boxM(data = data_p, grouping = data[33:98,2])
##
## Box's M-test for Homogeneity of Covariance Matrices
##
## data: data_p
## Chi-Sq (approx.) = 8.2951, df = 10, p-value = 0.6
# sex
head(data[33:98,3])
## [1] 0 0 0 0 1 1
boxM(data = data_p, grouping = data[33:98,3])
##
## Box's M-test for Homogeneity of Covariance Matrices
##
## data: data_p
## Chi-Sq (approx.) = 13.91, df = 10, p-value = 0.1771
Dari hasil analisis menggunakan Box M diketahui bahwa p-value, baik Variabel Semester maupun Variabel Sexuality, lebih besar dari taraf signifikansi alpha 5%, sehingga disimpulkan bahwa data homogen.
Diketahui dari sumber bahwa data diambil dari 233 mahasiswa acak dari suatu universitas dan dengan jenis kelamin yang acak juga (tidak ditentukan berapa perempuan ataupun berapa laki-laki). Sehingga asumsi independensi dapat terpenuhi.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Dengan Two-Way Manova, kita akan melihat apakah variabel Sexuality (Jenis Kelamin) dan Tingkat Semester mempengaruhi nilai ujian mata kuliah statistik mahasiswa pada tahun 2000.
Pengujian dilakukan dengan Hipotesis:
H0: Faktor tidak mempengaruhi respons secara signifikan
H1: Setidaknya terdapat satu faktor yang mempengaruhi respons secara signifikan
Taraf signifikansi yang digunakan pada pembahasan ini adalah 5% dengan nilai kritis sebesar 0,05.
Selanjutnya dilakukan statistik uji dengan Manova:
semester <- as.factor(data$semester[33:98])
sex <- as.factor(data$sex[33:98])
twm <- manova(cbind(data$exam1, data$exam2, data$exam3, data$course_grade) ~ semester * sex, data = data)
summary(twm)
## Df Pillai approx F num Df den Df Pr(>F)
## semester 1 0.174084 11.8562 4 225 9.308e-09 ***
## sex 1 0.061478 3.6846 4 225 0.006288 **
## semester:sex 1 0.048071 2.8405 4 225 0.025104 *
## Residuals 228
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
dari hasil pengujian diputuskan bahwa:
p-value semester (0,0000) < 0,05
p-value sex (0,0062) < 0,05
p-value semester : sex (0,0251) < 0,05
Sehingga, dengan taraf signifikansi 5%, dapat disimpulkan bahwa terdapat setidaknya satu di antara tingkat semester, sexuality (jenis kelamin), dan interaksi antara semester dan sexuality mempengaruhi nilai ujian mata kuliah statistik secara signifikan.
Karena didapati faktor mempengaruhi nilai mata kuliah secara signifikan, maka dapat dilakukan uji lanjut menggunakan Post Hoc Test.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Pada pengujian tingkat lanjut menggunakan Post Hoc Test, hipotesis yang digunakan adalah sebagai berikut:
H0: Faktor tidak mempengaruhi respons i secara signifikan
H1: Faktor mempengaruhi respons i secara signifikan
Sama seperti sebelumnya, taraf signifikansi yang digunakan adalah alpha 5%, dimana nilai kritisnya adalah 0,05. Selanjutnya pengujian akan sebagaimana dilakukan berikut ini:
summary.aov(twm)
## Response 1 :
## Df Sum Sq Mean Sq F value Pr(>F)
## semester 1 3168.7 3168.7 29.1495 1.679e-07 ***
## sex 1 124.0 124.0 1.1408 0.2866
## semester:sex 1 219.5 219.5 2.0190 0.1567
## Residuals 228 24784.7 108.7
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response 2 :
## Df Sum Sq Mean Sq F value Pr(>F)
## semester 1 832 831.62 4.4365 0.03627 *
## sex 1 11 10.65 0.0568 0.81179
## semester:sex 1 242 242.31 1.2927 0.25675
## Residuals 228 42739 187.45
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Response 3 :
## Df Sum Sq Mean Sq F value Pr(>F)
## semester 1 115 115.08 0.5297 0.4675
## sex 1 164 164.31 0.7563 0.3854
## semester:sex 1 356 356.28 1.6399 0.2016
## Residuals 228 49535 217.26
##
## Response 4 :
## Df Sum Sq Mean Sq F value Pr(>F)
## semester 1 0.1 0.089 0.0009 0.9755
## sex 1 188.9 188.908 2.0072 0.1579
## semester:sex 1 12.2 12.185 0.1295 0.7193
## Residuals 228 21458.3 94.115
##
## 1 observation deleted due to missingness
Response | Faktor | P-value | Keputusan |
---|---|---|---|
Exam 1 | Semester | 0,0000 | Tolak H0 |
Sex | 0,2866 | Terima H0 | |
Semester : Sex | 0,1567 | Terima H0 | |
Exam 2 | Semester | 0,036 | Tolak H0 |
Sex | 0,8117 | Terima H0 | |
Semester : Sex | 0,2567 | Terima H0 | |
Exam 3 | Semester | 0,4675 | Terima H0 |
Sex | 0,3854 | Terima H0 | |
Semester : Sex | 0,2016 | Terima H0 | |
Course Grade | Semester | 0,9755 | Terima H0 |
Sex | 0,1579 | Terima H0 | |
Semester : Sex | 0,7193 | Terima H0 |
Dengan melihat pada tabel keputusan, dapat disimpulkan bahwa dengan taraf signifikansi 5%, yang mempengaruhi nilai ujian secara signifikan hanyalah tingkat semester mempengaruhi nilai Exam 1 dan tingkat semester mempengaruhi nilai Exam 2, kemudian dari hasil uji Two-Way Manova yang sudah dilakukan, diketahui pula sexuality (jenis kelamin) tidak mempengaruhi keberhasilan nilai ujian, baik itu di Exam 1, Exam 2, Exam 3, maupun overall Course Grades, secara signifikan.