Analisis Ragam beserta Asumsinya menggunakan R

Hisyam Maheswara Kusuma Saputro

5/28/2024


Library:

> # install.packages("knitr")
> # install.packages("rmarkdown")
> # install.packages("prettydoc")
> # install.packages("equatiomatic")
> # install.packages("dplyr")
> # install.packages("tidyr")
> # install.packages("lmtest")
> # install.packages("tseries")
> # install.packages("agricolae")
> # install.packages("ggplot2")
> # install.packages("reshape2")
> # install.packages("additivityTests")
> # install.packages("car")

1 PENDAHULUAN

1.1 Latar Belakang

ANOVA (Analysis of Variance, Analisis Ragam) adalah salah satu metode analisis statistika yang termasuk dalam cabang statistika inferensia. Analisis ini sering digunakan untuk menguji apakah kedua ragam sama. Uji ini sering digunakan di eksperimen laboratorium, hingga eksperimen perikanan, psikologi, dan kemasyarakatan

Pengertian dari Ragam sendiri adalah suatu ukuran seberapa jauh sebuah kumpulan bilangan tersebar. Ragam dengan nilai nol menunjukkan bahwa semua nilai sama. Ragam selalu bernilai non-negatif. Ragam yang bernilai kecil menunjukkan bahwa nilai data cenderung dekat dengan nilai rata-rata antar satu sama lain, sedangkan nilai ragam yang besar menunjukkan bahwa nilai data cenderung tersebar jauh dari nilai rata-rata antar satu sama lain.

Dalam percobaan ini, peneliti ingin mengetahui pengaruh lima varietas kedelai terhadap waktu fermentasi dalam proses pembuatan tempe. Data yang diperoleh terjadi pada subbab data


2 TINJAUAN PUSTAKA

2.1 ANOVA (Analysis of Variance)

ANOVA (Analysis of Variance) adalah salah satu metode analisis statistika yang termasuk ke dalam cabang statistika inferensia dan kategori statistika parametrik. ANOVA merupakan uji yang bertujuan untuk mengetahui apakah dua sampel acak dari sebuah penelitian berasal dari populasi yang sama. Analisis ini merupakan pengembangan dari masalah Behrens-Fisher sehingga uji yang digunakan adalah uji F, di mana dipakai untuk pengujian lebih dari dua sampel.

2.1.1 - ANOVA Satu Arah

ANOVA satu arah digunakan untuk menguji perbedaan rata-rata dari beberapa kelompok yang berasal dari perlakuan yang berbeda-beda. ANOVA satu arah hanya memiliki satu kriteria untuk pengklasifikasian data.

2.1.2 - ANOVA Dua Arah

ANOVA dua arah adalah pengembangan dari ANOVA satu arah di mana ANOVA dua arah digunakan untuk menguji perbedaan rata-rata berdasarkan dua kriteria.

2.2 Asumsi ANOVA

Pada ANOVA, terdapat empat asumsi yang harus terpenuhi sebelum melakukan uji ANOVA. Asumsi-asumsi tersebut adalah :

2.2.1 - Aditivitas

Asumsi Adiktif berarti pengaruh perlakuan dan kelompok tetap sama untuk semua kombinasi perlakuan dan kelompok. Asumsi Aditivitas dapat diuji dengan Uji Tukey atau Uji Mandel.

2.2.2 - Normalitas Galat

Normalitas Galat diperlukan agar data sesuai dengan analisis ragam. Asumsi Normalitas Galat dapat dilihat dengan QQ-Plot, dan Histogram dan dapat diuji dengan Uji Jarque-Bera, Uji Shapiro-Wilk, dan Uji Kolmogorov-Smirnov.

2.2.3 - Homogenitas Ragam

Asumsi Homogenitas Ragam diperlukan agar penduga ragam yang dihasilkan adalah penduga yang terbaik. Homogenitas ragam dapat diuji dengan Uji Levene, Uji Bartlett, dan Uji Breusch-Pagan

2.2.4 - Independensi Galat

Asumsi Independensi Galat adalah salah satu uji yang penting pada ANOVA. Salah satu penyebab ketidakbebasan galat adalah adanya autokorelasi, yaitu korelasi terhadap galat itu sendiri. Independensi galat dapat diuji dengna Uji Durbin-Watson

2.3 Uji Lanjut

Uji Lanjut dilakukan jika dan hanya jika hasil ANOVA menghasilkan keputusan tolak \(H_0\) yang berarti setidaknya ada satu perbedaan yang terjadi pada setiap perlakuan. Uji Lanjut berguna untuk mengetahui perlakuan mana yang memberikan hasil yang berbeda. Uji Lanjut dapat dilakukan dengan Uji Beda Nyata Jujur (BNJ), Uji Beda Nyata Terkecil (BNT), dan Duncan’s Multiple Range Test (DMRT).


3 SOURCE CODE

3.1 Library

> # Library
> library(dplyr)
> library(tidyr)
> library(lmtest)
> library(tseries)
> library(agricolae)
> library(ggplot2)
> library(reshape2)
> library(additivityTests)
> library(car)

3.2 Data

> Data1 <- data.frame(A = c(23, 26, 28, 25, 22),
+                     B = c(29, 33, 32, 26, 20),
+                     C = c(27, 23, 29, 27, 19),
+                     D = c(23, 18, 25, 19, 20),
+                     E = c(20, 25, 19, 21, 23))
> Data1
   A  B  C  D  E
1 23 29 27 23 20
2 26 33 23 18 25
3 28 32 29 25 19
4 25 26 27 19 21
5 22 20 19 20 23

Mengubah bentuk data menjadi tabel 2 kolom

> Data1 = Data1 %>% pivot_longer(c(A, B, C, D, E))
> names(Data1) = c("VarietasKedelai", "LamaFermentasi")
> Data1
# A tibble: 25 × 2
   VarietasKedelai LamaFermentasi
   <chr>                    <dbl>
 1 A                           23
 2 B                           29
 3 C                           27
 4 D                           23
 5 E                           20
 6 A                           26
 7 B                           33
 8 C                           23
 9 D                           18
10 E                           25
# ℹ 15 more rows

Data telah berbentuk tabel dengan dua kolom sehingga dapat diolah dengan lebih mudah.


4 HASIL DAN PEMBAHASAN

4.1 Eksplorasi Data

> Plot1 <- ggplot(Data1) +
+          aes(x = VarietasKedelai, y = LamaFermentasi, fill = VarietasKedelai) +
+          geom_boxplot() +
+          scale_fill_hue(direction = 1) +
+          theme_minimal() +
+          theme(legend.position = "none")
> Plot1

4.2 Uji ANOVA

\[ \begin{align} & \text{Hipotesis :}\\ & H_0:\mu_1=\mu_2=\mu_3=\mu_4=\mu_5=0\\ & H_1:\text{setidaknya ada satu }\mu_i\neq0\\ \end{align} \]

> model <- aov(LamaFermentasi ~ VarietasKedelai, data = Data1)
> summary(model)
                Df Sum Sq Mean Sq F value Pr(>F)  
VarietasKedelai  4  161.8   40.46   3.186 0.0354 *
Residuals       20  254.0   12.70                 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Berdasarkan hasil ANOVA di atas, didapatkan keputusan tolak \(H_0\) dikarenakan \(p-value(0.0354)<\alpha(0.05)\) yang berarti terdapat setidaknya satu perlakuan yang memberikan pengaruh yang berbeda

4.3 Plot

4.3.1 Plot residual vs fitted

> plot(model,1)

4.3.2 QQ-Plot

> qqnorm(model$residuals)
> qqline(model$residuals)

Dapat dilihat dari QQ-Plot di atas bahwa galat telah menyebar normal.

4.4 Uji Asumsi

4.4.1 Normalitas Galat

\[ \begin{align} & \text{Hipotesis :}\\ & H_0:\text{Galat menyebar normal}\\ & H_1:\text{Galat tidak menyebar normal}\\ \end{align} \]

> jarque.bera.test(model$residuals)

    Jarque Bera Test

data:  model$residuals
X-squared = 1.1006, df = 2, p-value = 0.5768
> shapiro.test(model$residuals)

    Shapiro-Wilk normality test

data:  model$residuals
W = 0.95122, p-value = 0.2671

Dari hasil uji normalitas di atas, didapat kedua \(p-value\) dari kedua uji lebih dari \(\alpha(0.05)\) sehingga terima \(H_0\) dan dapat disimpulkan bahwa galar menyebar normal dan asumsi Normalitas Galat terpenuhi.

4.4.2 Homogenitas Ragam

\[ \begin{align} & \text{Hipotesis :}\\ & H_0:\text{Data berasal dari distribusi yang sama}\\ & H_1:\text{Data tidak berasal dari distribusi yang sama}\\ \end{align} \]

> bptest(model)

    studentized Breusch-Pagan test

data:  model
BP = 5.7941, df = 4, p-value = 0.2151

Dari hasil uji Homogenitas Ragam di atas, didapat \(p-value(0.2151)>\alpha(0.05)\) sehingga terima \(H_0\) dan dapat disimpulkan bahwa ragam homogen dan data berasal dari distribusi yang sama dan asumsi Homogenitas Ragam terpenuhi.

4.4.3 Independensi Galat

\[ \begin{align} & \text{Hipotesis :}\\ & H_0:\rho=0\\ & H_1:\rho\neq0\\ \end{align} \]

> dwtest(model)

    Durbin-Watson test

data:  model
DW = 1.1518, p-value = 0.03262
alternative hypothesis: true autocorrelation is greater than 0

Dari uji Independensi Galat di atas didapat bahwa \(p-value(0.03262)<\alpha(0.05)\) sehingga tolak \(H_0\) dan dapat disimpulkan bahwa galat tidak saling bebas dan asumsi Independensi galat tidak terpenuhi.

4.5 Uji Lanjut

Dikarenakan di hasil uji ANOVA didapat keputusan tolak \(H_0\), maka perlu diketahui perlakuan mana yang memberikan hasil yang berbeda dengan uji BNT dan BNJ

4.5.1 Beda Nyata Terkecil (BNT)

> BNT <- LSD.test(model, "VarietasKedelai", alpha = 0.05)
> BNT
$statistics
  MSerror Df  Mean       CV  t.value      LSD
     12.7 20 24.08 14.79944 2.085963 4.701523

$parameters
        test p.ajusted          name.t ntr alpha
  Fisher-LSD      none VarietasKedelai   5  0.05

$means
  LamaFermentasi      std r       se      LCL      UCL Min Max Q25 Q50 Q75
A           24.8 2.387467 5 1.593738 21.47552 28.12448  22  28  23  25  26
B           28.0 5.244044 5 1.593738 24.67552 31.32448  20  33  26  29  32
C           25.0 4.000000 5 1.593738 21.67552 28.32448  19  29  23  27  27
D           21.0 2.915476 5 1.593738 17.67552 24.32448  18  25  19  20  23
E           21.6 2.408319 5 1.593738 18.27552 24.92448  19  25  20  21  23

$comparison
NULL

$groups
  LamaFermentasi groups
B           28.0      a
C           25.0     ab
A           24.8     ab
E           21.6      b
D           21.0      b

attr(,"class")
[1] "group"
> plot(BNT)

4.5.2 Beda Nyata Jujur (BNJ)

> TukeyHSD(model, conf.level = 0.95)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = LamaFermentasi ~ VarietasKedelai, data = Data1)

$VarietasKedelai
    diff       lwr        upr     p adj
B-A  3.2  -3.54447  9.9444697 0.6227208
C-A  0.2  -6.54447  6.9444697 0.9999846
D-A -3.8 -10.54447  2.9444697 0.4641131
E-A -3.2  -9.94447  3.5444697 0.6227208
C-B -3.0  -9.74447  3.7444697 0.6759266
D-B -7.0 -13.74447 -0.2555303 0.0395660
E-B -6.4 -13.14447  0.3444697 0.0680671
D-C -4.0 -10.74447  2.7444697 0.4144854
E-C -3.4 -10.14447  3.3444697 0.5690389
E-D  0.6  -6.14447  7.3444697 0.9987969

Dari hasil BNT dan BNT didapat :

  • Varietas B memiliki perbedaan rata-rata terhadap Varietas E dan Varietas D

  • Varietas C dan Varietas A tidak memiliki perbedaan rata-rata terhadap Varietas B, Varietas E dan Varietas D

  • Varietas E dan Varietas D memilikir perbedaan rata-rata terhadap Varietas B, namun tidak memiliki perbedaan terhadap Varietas C dan Varietas A.


5 KESIMPULAN

ANOVA adalah alat yang kuat untuk menguji perbedaan rata-rata antara beberapa kelompok. Namun hasilnya hanya dapat diandalkan jika asumsi-asumsinya terpenuhi. Oleh karena itu sangat penting untuk memeriksa tiap-tiap asumsi yang ada sebelum melakukan uji ANOVA. Jika asumsi-asumsi tersebut tidak terpenuhi seperti yang telah dilakukan peneliti, maka hasil uji ANOVA perlu diragukan dan dapat dipertimbangkan untuk melakukan transformasi data atau menggunakan uji non-parametrik.


6 DAFTAR PUSTAKA

Sumarminingsih, Eni, Achmad Efendi, dan Adji Achmad Rinaldo F. 2022. Komputasi Statistika. Malang: UB Press.