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%.