Analisis ragam atau ANOVA (Analysis of Variance) pertama dikenalkan oleh Sir Ronald Fisher. Beliau memperkenalkan analisis ragam untuk mempermudah analisis dan interpretasi data pada hasil percobaan. Seiring berkembangnya waktu, pengetahuan dan teknologi semakin maju. Analisis ragam tidak hanya digunakan untuk percobaan laboratorium, melainkan saat ini analisis ragam juga digunakan pada sektor penndidikan, sosial, ekonomi, dan kesehatan.
Seperti pada kasus kali ini yang berasal dari sektor kesehatan. Didapatkan data dari data pasien yang dikelompokkan menjadi 4 secara acak dan diberikan 4 pengobatan yang sama. Untuk mengetahui apakah terdapat hubungan diantara kedua variabel tersebut, maka dilakukan analisis ragam atau ANOVA (Analysis of Variance)
ANOVA (Analysis of Variance) adalah salah satu metode analisis yang termasuk dalam cabang statistika inferensia. ANOVA (Analysis of Variance) digunakan untuk menganalisis dan menginterpretasikan data yang telah didapatkan. Selain itu, menurut Walpole, ANOVA (Analysis of Variance) merupakan sebuah metode untuk menguraikan keragaman total data menjadi komponen-komponen yang mengukur berbagai sumber keragaman. ANOVA (Analysis of Variance) terbagi menjadi dua, yaitu:
One-Way ANOVA (Analysis of Variance)
One-Way ANOVA (Analysis of Variance) atau ANOVA satu arah merupakan jenis ANOVA untuk menganalisis ragam dengan satu kriteria yang menimbulkan variansi.
Hipotesis:
\(H_{0} : \mu_{1} = \mu_{2} = . . . = \mu_{i}\)
\(H_{1} : paling~tidak~terdapat~satu~pasang~\mu_i~yang~berbeda\)
Rumus:
\(FK =\frac {(\sum{Y_{ij})^{2}}}{pr}\)
\(JKT = \sum^{p}_{i=1}\sum^{r}_{j=1}{Y_{ij}^2}-FK\)
\(JKP = \sum^{p}_{i=1}{\frac{(\sum^{r}_{j=1}{Y_{ij}^2})}{r}}-FK\)
\(JKG = JKT - JKP\)
\(KTP = \frac{JKP}{p-1}\)
\(KTG = \frac{JKG}{p(r-1)}\)
Keterangan:
p = perlakuan
r = ulangan
Two-Way ANOVA (Analysis of Variance)
Two-Way ANOVA (Analysis of Variance) atau ANOVA dua arah adalah jenis ANOVA dengan dua kriteria yang menimbulkan variansi.
Hipotesis:
\(H_{0} : \alpha_{1} = \alpha_{2} = . . . = \alpha_{i}\)
\(H_{1} : paling~tidak~terdapat~satu~\beta_j~yang~berbeda\)
\(H_{0} : \beta_{1} = \beta_{2} = . . . = \beta_{j}\)
\(H_{1} : paling~tidak~terdapat~satu~\alpha_i~yang~berbeda\)
Rumus:
\(FK =\frac {(\sum{Y_{ij})^{2}}}{pr}\)
\(JKT = \sum^{p}_{i=1}\sum^{r}_{j=1}{Y_{ij}^2}-FK\)
\(JKP = \sum^{p}_{i=1}{\frac{(\sum^{r}_{j=1}{Y_{ij}^2})}{r}}-FK\)
\(JKK = \sum^{p}_{i=1}{\frac{(\sum^{r}_{j=1}{Y_{ij}^2})}{p}}-FK\)
\(JKG = JKT - JKP - JKK\)
\(KTP = \frac{JKP}{p-1}\)
\(KTK = \frac{JKK}{r-1}\)
\(KTG = \frac{JKG}{(p-1)(r-1)}\)
Keterangan:
p = perlakuan
r = kelompok
Pada ANOVA (Analysis of Variance) terdapat asumsi-asumsi yang perlu dipenuhi terlebih dahulu sebelum melakukan uji tersebut. Asumsi-asumsi dari ANOVA (Analysis of Variance) diantara lain:
Pengaruh Aditif
Pengaruh aditif adalah pengaruh atau respon perlakuan dan kelompok terhadap suatu percobaan. Dalam suatu percobaan hanya terdapat pengaruh dari perlakuan dan kelompok. Apabila terdapat penambahan pengaruh, perlakuan sudah tidak memenuhi asumsi aditif yang menyebabkan data memiliki ragam heterogen.
Normalitas
Asumsi normalitas diperlukan untuk menyelidiki sampel dari populasi mengikuti distribusi normal. Ketika sampel dari populasi mengikuti sebaran normal, maka ANOVA (Analysis of Variance) baru dapat dilakukan. Hal ini dikarenakan ANOVA (Analysis of Variance) menggunakan uji F yang merupakan perbandingan dari dua sebaran \(\chi^{2}\) dan turunan dari distribusi normal. Jika asumsi normalitas ini tidak dipenuhi, hasil dari ANOVA akan menjadi bias. Uji normalitas dapat dilakukan dengan:
Uji Shapiro Wilk
Uji Jarque Berra
Uji Kolmogorov Smirnov
Jika asumsi normalitas tidak dipenuhi, solusi yang dapat dilakukan adalah mentrasformasi data menggunakan transformasi akar, logaritma, arcsin/angular, invers, akar invers, dan terdapat beberapa transformasi data lain.
Homogenitas Ragam
Homogenitas ragam adalah asumsi dasar dari analisis ragam. Data yang akan diuji haruslah memiliki ragam yang homogen. Jika ragam tidak homogen, maka akan berakibat pada sensitivitas hasil pengujian ANOVA (Analysis of Varians) terganggu. Uji homogenitas ragam dapat dilakukan dengan:
Uji Levene
Uji Breusch Pagan
Uji Bartlett
Kebebasan Galat
Kebebasan galat merupakan asumsi penting dari analisis variansi. Apabila terdapat kesalahan atau gangguan galat yang masuk kedalam fungsi analisis variansi harus lah random atau tak berkorelasi. Jika asumsi ini dilanggar, maka akan terjadi autokorelasi yang menyebabkan pengaruh dari perlakuan berkurang. Kebebasangalat dapat diuji dengan Uji Durbin Watson
Uji lanjutan digunakan ketika ANOVA memiliki keputusan tolak \(H_0\). Uji lanjutan dari ANOVA diantara lain:
Uji BNT (Fisher’s LSD)
Uji BNJ (Tukey’s HSD)
Duncan
Berikut merupakan library yang perlu diaktifkan untuk menganalisis ragam atau ANOVA (Analysis of Variance) :
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(tidyr)
library(ggplot2)
library(tseries)
## Warning: package 'tseries' was built under R version 4.2.3
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
library(car)
## Warning: package 'car' was built under R version 4.2.3
## Loading required package: carData
##
## Attaching package: 'car'
## The following object is masked from 'package:dplyr':
##
## recode
library(lmtest)
## Warning: package 'lmtest' was built under R version 4.2.3
## Loading required package: zoo
## Warning: package 'zoo' was built under R version 4.2.2
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
library(agricolae)
Setelah mengaktifkan library, kemudian menginputkan data-data yang telah diperoleh. Pada kasus ini diperoleh data pasien yang dikelompokkan menjadi 4 secara acak dan diberikan 4 pengobatan yang sama.
# Menginput data
data = data.frame(obatA = c(10,8,7,11),
obatB = c(12,14,11,15),
obatC = c(9,13,10,12),
obatD = c(17,14,13,16))
data
## obatA obatB obatC obatD
## 1 10 12 9 17
## 2 8 14 13 14
## 3 7 11 10 13
## 4 11 15 12 16
Mengubah data menjadi bentu tabel 2 kolom:
data = data %>%
pivot_longer(c(obatA, obatB, obatC, obatD))
names(data) = c("Jenis_Obat", "Waktu_Sembuh")
data
## # A tibble: 16 × 2
## Jenis_Obat Waktu_Sembuh
## <chr> <dbl>
## 1 obatA 10
## 2 obatB 12
## 3 obatC 9
## 4 obatD 17
## 5 obatA 8
## 6 obatB 14
## 7 obatC 13
## 8 obatD 14
## 9 obatA 7
## 10 obatB 11
## 11 obatC 10
## 12 obatD 13
## 13 obatA 11
## 14 obatB 15
## 15 obatC 12
## 16 obatD 16
Melakukan uji ANOVA (Analysis of Variance) dan memanggil hasil uji dengan syntax sebagai berikut:
anova = aov(Waktu_Sembuh~Jenis_Obat, data=data)
summary(anova)
## Df Sum Sq Mean Sq F value Pr(>F)
## Jenis_Obat 3 80 26.667 8 0.0034 **
## Residuals 12 40 3.333
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Keputusan : Tolak \(H_0\) karena p value 0.0034 < 0.05
Kesimpulan : Jadi terdapat perbedaan rata-rata waktu sembuh
Memperoleh residu dari ANOVA (Analysis of Variance) menggunakan syntax berikut:
residu = residuals(anova)
residu
## 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
## 1 -1 -2 2 -1 1 2 -1 -2 -2 -1 -2 2 2 1 1
Boxplot
plot = ggplot(data)+
aes(x = Jenis_Obat, y = Waktu_Sembuh, fill = Jenis_Obat) +
geom_boxplot() +
scale_fill_hue (direction = 1) +
theme_minimal()
plot
Residuals Vs Fitted Plot
plot(anova, 1)
Q-Q Plot
plot(anova, 2)
Scale-Location Plot
plot(anova,3)
Hipotesis :
\(H_0\) : Residual menyebar secara normal
\(H_1\) : Residual tidak menyebar secara normal
Menguji asumsi Normalitas menggunakan Uji Shapiro Wilk menggunakan syntax berikut:
shapiro.test(residu)
##
## Shapiro-Wilk normality test
##
## data: residu
## W = 0.83249, p-value = 0.007608
Keputusan : Tolak H0 karena 0.007608 < \(\alpha\) (0.05)
Kesimpulan : Jadi dapat disimpulkan bahwa residu berdistribusi secara normal sehingga asumsi normalitas pada anova terpenuhi
Asumsi homogenitas ragam dapat menggunakan Uji Breusch Pagan menggunkana syntax berikut:
bptest(anova)
##
## studentized Breusch-Pagan test
##
## data: anova
## BP = 5.2591e-30, df = 3, p-value = 1
Asumsi homogenitas ragam dapat menggunakan Uji Durbin Watson menggunkana syntax berikut:
dwtest(anova)
##
## Durbin-Watson test
##
## data: anova
## DW = 1.6, p-value = 0.3151
## alternative hypothesis: true autocorrelation is greater than 0
Karena pada uji ANOVA diputuskan tolak \(H_0\) maka dilakukan uji lanjutan
BNT
bnt <- LSD.test(anova, "Jenis_Obat", alpha = 0.05)
bnt
## $statistics
## MSerror Df Mean CV t.value LSD
## 3.333333 12 12 15.21452 2.178813 2.812835
##
## $parameters
## test p.ajusted name.t ntr alpha
## Fisher-LSD none Jenis_Obat 4 0.05
##
## $means
## Waktu_Sembuh std r LCL UCL Min Max Q25 Q50 Q75
## obatA 9 1.825742 4 7.011025 10.98897 7 11 7.75 9 10.25
## obatB 13 1.825742 4 11.011025 14.98897 11 15 11.75 13 14.25
## obatC 11 1.825742 4 9.011025 12.98897 9 13 9.75 11 12.25
## obatD 15 1.825742 4 13.011025 16.98897 13 17 13.75 15 16.25
##
## $comparison
## NULL
##
## $groups
## Waktu_Sembuh groups
## obatD 15 a
## obatB 13 ab
## obatC 11 bc
## obatA 9 c
##
## attr(,"class")
## [1] "group"BNJ
bnj <- TukeyHSD(anova,conf.level=0.95)
bnj
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = Waktu_Sembuh ~ Jenis_Obat, data = data)
##
## $Jenis_Obat
## diff lwr upr p adj
## obatB-obatA 4 0.1671651 7.832835 0.0399511
## obatC-obatA 2 -1.8328349 5.832835 0.4408658
## obatD-obatA 6 2.1671651 9.832835 0.0027285
## obatC-obatB -2 -5.8328349 1.832835 0.4408658
## obatD-obatB 2 -1.8328349 5.832835 0.4408658
## obatD-obatC 4 0.1671651 7.832835 0.0399511Meimaharani dan Listyorini. 2013. Analisis Varian (ANOVA) untuk Mengetahui Statistik Tingkat Kemajuan Prestasi Karate di Kabupaten Kudus. Prosiding Seminar Nasional Ilmu Komputer, hal 9 – 11.
Sirait, Anna Maria. 2001. Analisa Varians (ANOVA) dalam Penelitian Kesehatan. Media Litbang Kesehatan, 7(2), hal 39 – 43.
Sumarminingsih, Eni, Achmad Efendi, dan Adji Achmad Rinaldo F. 2022. Komputasi Statistika. Malang: UB Press.
Walpole, Ronald E. 1993. Pengantar Statistika: Edisi 3. Jakarta: PT Gramedia Pustaka Utama.