Uji Asumsi

Uiwang Nur Thoriq

2025-09-06

Akses Data di sini:
https://docs.google.com/spreadsheets/d/1Vy3fnvyHrovL_0IK2r17H9hOX232P7a2G8GA-0-3iA0/edit?usp=sharing

Pengujian asumsi dasar dilakukan untuk mengetahui apakah asumsi terpenuhi, sehingga anova dapat dinyatakan valid. Pengujian asumsi dilakukan terhadap data residual (sisaan) bukan terhadap data asli. Pengujian asumsi dilakukan setelah pengujian ANOVA dan sebelum uji lanjut.

Asumsi yang harus dipenuhi

1.\(ε\) bersifat bebas terhadap sesamanya (autokorelasi).
2.Ragam \(ε\) homogen, atau \(var(ε)=\sigma^2\) (homogenitas).
3.\(ε\) menyebar normal (normalitas).
4.Keaditifan (untuk rancangan yang memiliki kelompok).

Import Data

library(readxl)
DataRAL<-read_xlsx("D:/Rancob/DataFull.xlsx",sheet = "FTunggal-RAL")
DataRAL
## # A tibble: 24 × 2
##    Varietas `Berat Melon`
##    <chr>            <dbl>
##  1 A                 25.1
##  2 A                 17.2
##  3 A                 26.4
##  4 A                 16.1
##  5 A                 22.2
##  6 A                 15.9
##  7 B                 40.2
##  8 B                 35.3
##  9 B                 32  
## 10 B                 36.5
## # ℹ 14 more rows

Anova

DataRAL$Varietas<-as.factor(DataRAL$Varietas)
ANOVARAL<-aov(`Berat Melon`~Varietas,data=DataRAL)
summary(ANOVARAL)
##             Df Sum Sq Mean Sq F value   Pr(>F)    
## Varietas     3 1291.0   430.3   23.46 9.32e-07 ***
## Residuals   20  366.9    18.3                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Menghitung sisaan

model<-lm(`Berat Melon`~Varietas,data=DataRAL)
BeratMelon<-DataRAL$`Berat Melon`
Varietas<-DataRAL$Varietas
y_duga<-predict(model,DataRAL)
e<-DataRAL$`Berat Melon`-y_duga
as.data.frame(cbind(Varietas,BeratMelon,y_duga,e))
##    Varietas BeratMelon   y_duga         e
## 1         1       25.1 20.48333  4.616667
## 2         1       17.2 20.48333 -3.283333
## 3         1       26.4 20.48333  5.916667
## 4         1       16.1 20.48333 -4.383333
## 5         1       22.2 20.48333  1.716667
## 6         1       15.9 20.48333 -4.583333
## 7         2       40.2 37.40000  2.800000
## 8         2       35.3 37.40000 -2.100000
## 9         2       32.0 37.40000 -5.400000
## 10        2       36.5 37.40000 -0.900000
## 11        2       43.3 37.40000  5.900000
## 12        2       37.1 37.40000 -0.300000
## 13        3       18.3 19.50000 -1.200000
## 14        3       22.6 19.50000  3.100000
## 15        3       25.9 19.50000  6.400000
## 16        3       15.1 19.50000 -4.400000
## 17        3       11.4 19.50000 -8.100000
## 18        3       23.7 19.50000  4.200000
## 19        4       28.0 29.90000 -1.900000
## 20        4       28.6 29.90000 -1.300000
## 21        4       33.2 29.90000  3.300000
## 22        4       31.7 29.90000  1.800000
## 23        4       30.3 29.90000  0.400000
## 24        4       27.6 29.90000 -2.300000

Contoh Lain

DataRAKL<-read_xlsx("D:/Rancob/DataFull.xlsx",sheet = "FTunggal-RAKL")
DataRAKL$Detergen<-as.factor(DataRAKL$Detergen)
DataRAKL$Noda<-as.factor(DataRAKL$Noda)
ANOVARAKL<-aov(Penghilangan~Detergen+Noda,data=DataRAKL)
summary(ANOVARAKL)
##             Df Sum Sq Mean Sq F value  Pr(>F)   
## Detergen     3 110.92   36.97   11.78 0.00631 **
## Noda         2 135.17   67.58   21.53 0.00183 **
## Residuals    6  18.83    3.14                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Asumsi Normalitas

Eksploratif

Normal Probability (Q-Q) Plot

Untuk mendeteksi normalitas pada residual, maka pada sumbu vertikal NPP merupakan residual yang terurut dan pada sumbu horizontal merupakan skor peluang normal yang terurut dari residual. Jika pada NPP diperoleh garis yang lurus atau mendekati lurus maka data residual tersebut menyebar normal.

plot(ANOVARAKL, which = 2)

Normal Probability (Q-Q) Plot

qqnorm(ANOVARAKL$residuals); qqline(ANOVARAKL$residuals, col = 'red')

Histogram

hist(ANOVARAKL$residuals,breaks = 6)

Histogram

library(rcompanion)
plotNormalHistogram(ANOVARAKL$residuals, breaks = 6)

Dari plot di atas dapat terlihat bahwa semua titik cenderung berada kira-kira di sekitar sepanjang garis diagonal tetapi ada 3 titik tidak dekat dengan garis dan histogram membentuk seperti kurva sebaran normal, sehingga secara eksploratif asumsi galat percobaan menyebar normal terpenuhi. Namun tetap dibutuhkan pengujian menggunakan uji formal.

Uji Formal

Secara formal untuk normalitas dapat menggunakan beberapa uji tertentu diantaranya adalah Uji Kolmogorov-Smirnov, Uji Shapiro-Wilk, Uji Lilliefors, Uji Jarque-Bera, Uji Anderson-Darling, dsb.

Hipotesis:

\(H_0\) : Sisaan menyebar normal.

\(H_1\) : Sisaan tidak menyebar normal.

Uji Shapiro-Wilk

shapiro.test(x = ANOVARAKL$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  ANOVARAKL$residuals
## W = 0.98567, p-value = 0.9973

Berdasarkan uji Shapiro-Wilk, didapatkan \(p-value = 0.9973 > \alpha = 0.05\), maka tidak tolak \(H_0\), sehingga dapat disimpulkan bahwa sisaan menyebar normal pada taraf nyata 5%.

Uji Kolmogorov-Smirnov

ks.test(ANOVARAKL$residuals,pnorm, mean(ANOVARAKL$residuals), sd(ANOVARAKL$residuals))
## 
##  Exact one-sample Kolmogorov-Smirnov test
## 
## data:  ANOVARAKL$residuals
## D = 0.090905, p-value = 0.9997
## alternative hypothesis: two-sided

Berdasarkan uji Kolmogorov-Smirnov, didapatkan \(p-value = 0.9997 > \alpha = 0.05\), maka tidak tolak \(H_0\), sehingga dapat disimpulkan bahwa sisaan menyebar normal pada taraf nyata 5%.

Uji Lilliefors

library(nortest)
lillie.test(ANOVARAKL$residuals)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  ANOVARAKL$residuals
## D = 0.090905, p-value = 0.9966

Berdasarkan uji Lilliefors, didapatkan \(p-value = 0.9966 > \alpha = 0.05\), maka tidak tolak \(H_0\), sehingga dapat disimpulkan bahwa sisaan menyebar normal atau dengan kata lain pada taraf nyata 5%.

Uji Jarque-Bera

library(tseries)
tseries::jarque.bera.test(ANOVARAKL$residuals)
## 
##  Jarque Bera Test
## 
## data:  ANOVARAKL$residuals
## X-squared = 0.22517, df = 2, p-value = 0.8935

Berdasarkan uji Jarque-Bera, didapatkan \(p-value = 0.8935 > \alpha = 0.05\), maka tidak tolak \(H_0\), sehingga dapat disimpulkan bahwa sisaan menyebar normal atau dengan kata lain pada taraf nyata 5%.

Uji Anderson-Darling

library(nortest)
ad.test(ANOVARAKL$residuals)
## 
##  Anderson-Darling normality test
## 
## data:  ANOVARAKL$residuals
## A = 0.12912, p-value = 0.9751

Berdasarkan uji Anderson-Darling, didapatkan \(p-value = 0.9751 > \alpha = 0.05\), maka tidak tolak \(H_0\), sehingga dapat disimpulkan bahwa sisaan menyebar normal atau dengan kata lain pada taraf nyata 5%.

Asumsi Kehomogenan Ragam

Eksploratif

Plot Residual vs Fitted Value

plot(ANOVARAKL,which=1)

Berdasarkan plot residual vs fitted value, terlihat bahwa ragam sisaan homogen, hal ini dapat dilihat hampir semua tebaran titiknya berada di sekitar nol dan lebar pitanya cenderung sama walaupun terlihat ada 3 amatan yang jauh dari garis 0.

Uji Formal

Hipotesis:

\(H_0\) : Ragam sisaan homogen.

\(H_1\) : Ragam sisaan tidak homogen.

Bartlett test

bartlett.test(Penghilangan~Detergen,data=DataRAKL)
## 
##  Bartlett test of homogeneity of variances
## 
## data:  Penghilangan by Detergen
## Bartlett's K-squared = 0.80169, df = 3, p-value = 0.8491
bartlett.test(Penghilangan~Noda,data=DataRAKL)
## 
##  Bartlett test of homogeneity of variances
## 
## data:  Penghilangan by Noda
## Bartlett's K-squared = 2.1569, df = 2, p-value = 0.3401

Berdasarkan uji Bartlett, didapatkan \(p-value = 0.8491\) dan \(0.3401 > \alpha = 0.05\), maka tidak tolak \(H_0\), sehingga dapat disimpulkan bahwa ragam sisaan perlakuan (detergen) dan kelompok (noda) homogen pada taraf nyata 5%.

Hartley test

library(PMCMRplus)
hartleyTest(Penghilangan~Detergen,data=DataRAKL)
## 
##  Hartley's maximum F-ratio test of homogeneity of variances
## 
## data:  Penghilangan by Detergen
## F Max = 3.5161, df = 2, k = 4, p-value = 0.8594
hartleyTest(Penghilangan~Noda,data=DataRAKL)
## 
##  Hartley's maximum F-ratio test of homogeneity of variances
## 
## data:  Penghilangan by Noda
## F Max = 4.8, df = 3, k = 3, p-value = 0.441

Berdasarkan uji Hartley, didapatkan \(p-value = 0.8594\) dan \(0.4410 > \alpha = 0.05\), maka tidak tolak \(H_0\), sehingga dapat disimpulkan bahwa ragam sisaan perlakuan (detergen) dan kelompok (noda) homogen pada taraf nyata 5%.

Levene test

library(car)
leveneTest(Penghilangan~Detergen,data=DataRAKL,center='mean')
## Levene's Test for Homogeneity of Variance (center = "mean")
##       Df F value Pr(>F)
## group  3  0.4659 0.7141
##        8
leveneTest(Penghilangan~Noda,data=DataRAKL,center='mean') 
## Levene's Test for Homogeneity of Variance (center = "mean")
##       Df F value Pr(>F)
## group  2    1.46 0.2824
##        9

Berdasarkan uji Levene, didapatkan \(p-value = 0.7141\) dan \(0.2824 > \alpha = 0.05\), maka tidak tolak \(H_0\), sehingga dapat disimpulkan bahwa ragam sisaan perlakuan (detergen) dan kelompok (noda) homogen pada taraf nyata 5%.

Breush-Pagan test

library(lmtest)
bptest(Penghilangan~Detergen+Noda,data=DataRAKL)
## 
##  studentized Breusch-Pagan test
## 
## data:  Penghilangan ~ Detergen + Noda
## BP = 8.2814, df = 5, p-value = 0.1414

Berdasarkan uji Breush-Pagan, didapatkan \(p-value = 0.1414 > \alpha = 0.05\), maka tidak tolak \(H_0\), sehingga dapat disimpulkan bahwa ragam sisaan perlakuan (detergen) dan kelompok (noda) homogen pada taraf nyata 5%.

Asumsi Sisaan Saling Bebas

Eksploratif

Plot Sisaan vs Order

plot(ANOVARAKL$residuals, type = 'o'); abline(h = 0, col = 'red')

Berdasarkan plot Sisaan vs Order, terlihat bahwa sisaanya membentuk pola yang stasioner (bergerak di sekitar titik 0) serta tidak membentuk pola tertentu, sehingga dapat dikatakan sisaan saling bebas.

Uji Formal

Hipotesis:

\(H_0\) : Sisaan saling bebas

\(H_1\) : Sisaan tidak saling bebas.

Durbin-Watson test

library(lmtest)
lmtest::dwtest(ANOVARAKL,alternative="two.sided")
## 
##  Durbin-Watson test
## 
## data:  ANOVARAKL
## DW = 2.9996, p-value = 0.3147
## alternative hypothesis: true autocorrelation is not 0

Berdasarkan uji Durbin-Watson, didapatkan \(p-value = 0.3147 > \alpha = 0.05\), maka tidak tolak \(H_0\), sehingga dapat disimpulkan bahwa sisaan saling bebas pada taraf nyata 5%.

Run Test

library(snpar)
snpar::runs.test(ANOVARAKL$residuals)
## 
##  Approximate runs rest
## 
## data:  ANOVARAKL$residuals
## Runs = 9, p-value = 0.2259
## alternative hypothesis: two.sided

Berdasarkan Run Test pada library snpar, didapatkan \(p-value = 0.2259 > \alpha = 0.05\), maka tidak tolak \(H_0\), sehingga dapat disimpulkan bahwa sisaan saling bebas pada taraf nyata 5%.

Keaditifan

Rancangan-rancangan seperti RAKL dan RBSL mengasumsikan bahwa pengaruh perlakuan dan kelompok aditif atau pengaruh tersebut tetap sama di semua kombinasi perlakuan dan kelompok, sehingga perlu dilakukan pengujian keaditifan antar perlakuan dan kelompok dengan harapan tidak ada interaksi antar keduanya.

Eksplorasi

Plot Interaksi

library(ggplot2)
ggplot(DataRAKL, aes(x = Detergen, y = Penghilangan, colour = Noda)) + 
    geom_point(data = DataRAKL, aes(y = Penghilangan)) +
    geom_line(data = DataRAKL, aes(y = Penghilangan, group = Noda)) + 
    theme_bw()

Grafik menunjukkan garis yang cenderung sejajar, menandakan bahwa tidak ada interaksi antara perlakuan dan kelompok (aditif).

Uji Formal

Hipotesis:

\(H_0\) : Model aditif.

\(H_1\) : Model tidak aditif.

Uji Tukey untuk Keaditifan

library(reshape2)
library(additivityTests)
DataRAKLWide<-dcast(DataRAKL,Noda~Detergen,value.var="Penghilangan") 
Y<-as.matrix(DataRAKLWide[-1])
tukey.test(Y,alpha=0.05)
## 
## Tukey test on 5% alpha-level:
## 
## Test statistic: 3.851 
## Critival value: 6.608 
## The additivity hypothesis cannot be rejected.

Berdasarkan uji Tukey, \(F_{hitung} = 3.851 < F_{(0.05;1;5)} = 6.608\) maka tidak tolak \(H_0\), sehingga dapat disimpulkan bahwa model aditif taraf nyata 5%.