Input Data Excel

library(readxl)
data_kadar_air = read_xlsx("C:/Users/MUTHI'AH IFFA/Downloads/Semester 4/MPP/Minggu 4/Data Cabe Jawa.xlsx", sheet = "Sheet1",)
data_kadar_air
## # A tibble: 18 × 3
##    pra_treatment kelompok respon
##            <dbl>    <dbl>  <dbl>
##  1             1        1  10.1 
##  2             1        2   9.78
##  3             1        3   8.42
##  4             2        1   9.37
##  5             2        2   8.9 
##  6             2        3   8.04
##  7             3        1  10.6 
##  8             3        2   8.58
##  9             3        3   8.2 
## 10             4        1   9.21
## 11             4        2   8.24
## 12             4        3   8.17
## 13             5        1   9.1 
## 14             5        2   9.08
## 15             5        3   8.2 
## 16             6        1   9.27
## 17             6        2   9.14
## 18             6        3   8.03
str(data_kadar_air)
## tibble [18 × 3] (S3: tbl_df/tbl/data.frame)
##  $ pra_treatment: num [1:18] 1 1 1 2 2 2 3 3 3 4 ...
##  $ kelompok     : num [1:18] 1 2 3 1 2 3 1 2 3 1 ...
##  $ respon       : num [1:18] 10.13 9.78 8.42 9.37 8.9 ...

Uji ANOVA

data_kadar_air$pra_treatment<-as.factor(data_kadar_air$pra_treatment)
data_kadar_air$kelompok<-as.factor(data_kadar_air$kelompok)
ANOVARAKL<-aov(respon ~ kelompok + pra_treatment , data=data_kadar_air)
summary(ANOVARAKL)
##               Df Sum Sq Mean Sq F value  Pr(>F)    
## kelompok       2  6.262  3.1309  16.830 0.00063 ***
## pra_treatment  5  1.550  0.3099   1.666 0.22998    
## Residuals     10  1.860  0.1860                    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Asumsi Kenormalan

Eskploratif

Normal Probability (Q-Q) Plot

plot(ANOVARAKL, which = 2)

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

Histogram

hist(ANOVARAKL$residuals,breaks = 6)

Uji Formal

Digunakan utnuk memverifikasi asumsi-asumsi tertentu dalam analisis statistik terpenuhi atau tidak. Secara formal dapat menggunakan beberapa uji tertentu di antaranya Uji Kolmogorov-Smirnov, Uji Shapiro-Wilk, Uji Lilliefors, Uji Jarque-Bera, Uji Anderson-Darling, dsb.

hipotesis

H0 : Sisaan menyebar normal.

H1 : Sisaan tidak menyebar normal.

Uji Shapiro-Wilk

digunakan untuk memeriksa normalitas sebuah data. Uji ini membantu menentukan arah sampel berasal dari distribusi normal atau tidak. Jika nilai p-value dari Uji Shapiro-Wilk lebih kecil dari tingkat signifikasi (misal 0.05), maka kita menolak H0 artinya data tidak megikuti distribusi normal. Begitupun sebaliknya.

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

Hasil Uji Shapiro-Wilk menunjukkan bahwa p-value yang dihasilkan 0.9213 yang mana ini lebih dari signifikansi (alpha) 0.05. Karena p-value>alpha, dapat disimpulkan bahwa sisaan menyebar normal pada taraf 5%.

Uji Kolmogorov-Smirnov

Digunakan untuk membandingkan distribusi sampel dan distribusi referensi (uji 1 sampel) atau untuk membandingkan 2 sampel (uji 2 sampel). Tujuannya untuk menguji hipotesis apakah dua distribusi sampel berbeda secara signifikan atau tidak, atau suatu sampel data berasal dari distribusi yang ditentukan

Hipotesisi

H0 : Sampel data berasal dari distribusi yang ditentukan (uji satu sampel) atau dua sampel berasal dari distribusi yang sama (uji dua sampel).

H1: Sampel data tidak berasal dari distribusi yang ditentukan (uji satu sampel) atau dua sampel berasal dari distribusi yang berbeda (uji dua sampel).

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

Hasil dari Uji Kolmogoorv-Smirnov menunjukkan bahwa nilai p-value=0.9868 ini lebih besar daripada signifikansi (alpha)=0.05. Maka, dapat disimpulkan tolak H0, artinya sisaan menyebar normal pada taraf nyata 5%.

Uji Liliefors

Uji Liliefors merupakan modifikasi dari uji Kolmogorov-Smirnov. digunakan dalma menguji normalitas distribusi data khususnya jika parameter distribusi (mean dan std. deviasi) diestimasi dari data sampel. Uji Liliefors lebih tepat digunakan untuk menguji normalitas distribusi data karena mempertimbangkan estimasi parameter tersebut

pastikan sudah mendownload packages nortest

install.packages("nortest")
library(nortest)
lillie.test(ANOVARAKL$residuals)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  ANOVARAKL$residuals
## D = 0.099053, p-value = 0.9118

Hasil dari uji Lilliefors menunjukkan bahwa nilai p-value = 0.9118, ini lebih besar dari nilai signifikansi (alpha) 0.05. Sehingga tolak H0, maka dapat disimpulkan bahwa sisaan menyebar normal pada taraf nyata 5%.

Uji Jarque-Bera

pastikan sudah menginstall packages tseries. Bisa dengan beberapa sintaks berikut

install.packages("tseries")
install.packages("zoo", type = "source", repos = "https://cloud.r-project.org/")
install.packages("zoo", type = "binary")
library(tseries)
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
jarque.bera.test(ANOVARAKL$residuals)
## 
##  Jarque Bera Test
## 
## data:  ANOVARAKL$residuals
## X-squared = 0.63277, df = 2, p-value = 0.7288

Hasil dari uji Jarque-Bera menunjukkan bahwa p-value = 0.7288 ini lebih besar dari nilai signifikansi (alpha) = 0.05. Seingga dapat disimpulkan karena p-value>alpha maka tidak tolak H0, artinya sisaan menyebar normal pada taraf nyata 5%

Uji Anderson-Darling

Digunakan untuk menguji normalitas distribusi data, apakah data yang dimiliki menyebar normal atau tidak. Uji Anderson-Darling bekerja dengan cara membandingkan distribusi kumulatif empiris dari data sampel dengan distribusi kumulatif teoritis dari distribusi normal

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

Hasil dari uji Anderson-Darling menunjukkan bahwa p-value = 0.898 ini lebih besar dari nilai signifikansi (alpha) = 0.05. Seingga dapat disimpulkan karena p-value>alpha maka tidak tolak H0, artinya sisaan menyebar normal pada taraf nyata 5%

Asumsi Nilai Harapan Sisaan = 0

Uji Formal

t-test

Hipotesis:

H0: Nilai harapan sisaan = 0.

H1: Nilai harapan sisaan ≠ 0.

t.test(ANOVARAKL$residuals,
       mu = 0,
       conf.level = 0.95)
## 
##  One Sample t-test
## 
## data:  ANOVARAKL$residuals
## t = -7.6702e-17, df = 17, p-value = 1
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
##  -0.1645021  0.1645021
## sample estimates:
##     mean of x 
## -5.980429e-18

Hasil dari uji t (t-test) menunjukkan bahwa p-value = 1 ini lebih besar dari nilai signifikansi (alpha) = 0.05. Seingga dapat disimpulkan karena p-value>alpha maka tidak tolak H0, artinya belum cukup bukti untuk menyatakan bahwa nilai harapan sisaan tidak sama dengan 0 pada taraf nyata 5%

Asumsi Kehomogenan Ragam

Eksploratif

Plot Residual VS Fitted Value

Digunakan untuk mengecaluasi kualitas model yang dibuat. Grafik ini juga membantu memahami apakah model regresi yang diprediksi sesuai dengan asumsi yang diperlukan untuk analisis yang valid. Grafik ini menunjukkan hubungan antara residual (error) dan fitted value (nilai yang diprediksi oleh model).

plot(ANOVARAKL,which=1)

Uji Formal

Hipotesis:

H0 : Ragam sisaan homogen.

H1 : Ragam sisaan tidak homogen

Bartlett test

Digunakan untuk menguji apakah varians (ragam) dari beberapa kelompok data sama atua tidak. Bartlett test dapat memastikan apakah asumsi bahwa varians (ragam) dalam setiap kelompok adalah sama.

Cara kerja :

  1. Uji Bartlett test mengevaluasi varians dalam setiap kelompok dan membandingkannya.
  2. jika hasil uji menunjukkan varians antar kelompok tidak berbeda signifikan, maka dapat dilanjutkan dengan asumsi bahwa varians (ragam) sama.
  3. jika hasil menunjukkan varians (ragam) berbeda signifikan maka mungkin perlu menggunakan metode analisis yang tidak memerlukan asumsi kesamaan varians.
bartlett.test(respon ~ pra_treatment,data = data_kadar_air)
## 
##  Bartlett test of homogeneity of variances
## 
## data:  respon by pra_treatment
## Bartlett's K-squared = 2.1564, df = 5, p-value = 0.8271

Hasil dari uji Bartlett test menunjukkan bahwa p-value = 0.8271 ini lebih besar dari nilai signifikansi (alpha) = 0.05. Seingga dapat disimpulkan karena p-value>alpha maka tidak tolak H0, artinya ragam sisaan perlakuan dan kelompok homogen pada taraf nyata 5%

Hartley test

Uji Hartley atau dikenal juga dengan Uji F Maksimum Hartley digunakan untuk memeriksa kesamaan varians antar beberapa kelompok data. Cara kerjanya mirip dengan Bartley test namun lebih sederhana dan kurang sensitif terhadap pelanggaran asumsi normalitas. Cocok digunakan jika jumlah sampel dalam setiap kelompok sama.

cara kerja :

  1. menghitung rasio antara varians (ragam) terbesar dan terkecil di antara kelompok.
  2. jika rasio melebihi nilai kritis maka dapat disimpulkan bahwa varians antar kelompok berbeda signifikan.
  3. jika tidak, maka dapat diasumsikan varians antar kelompok adalah sama.

Pastikan packages PMCMRplus terinstall

install.packages("PMCMRplus")
library(PMCMRplus)
hartleyTest(respon ~ pra_treatment,data = data_kadar_air)
## 
##  Hartley's maximum F-ratio test of homogeneity of variances
## 
## data:  respon by pra_treatment
## F Max = 6.5255, df = 2, k = 6, p-value = 0.8526

Hasil dari uji Hartley test menunjukkan bahwa p-value = 0.8526 ini lebih besar dari nilai signifikansi (alpha) = 0.05. Seingga dapat disimpulkan karena p-value>alpha maka tidak tolak H0, artinya ragam sisaan perlakuan dan kelompok homogen pada taraf nyata 5%

Levene test

Digunakan untuk menguji kesamaan varians (ragam) antar beberapa kelompok data.

Cara kerja :

  1. Uji Levene menghitung varians setiap kelompok dan membandingkannya
  2. jika hasil menunjukkan varians antar kelompok tidak berbeda signifikan, maka asumsi kesamaan varians terpenuhi.
  3. jika hasil uji menunjukkan varians berbeda secara signifikan, maka sebaliknya dan perlu menggunakan metode alternatif.
library(car)
## Loading required package: carData
leveneTest(respon ~ pra_treatment,data = data_kadar_air)
## Levene's Test for Homogeneity of Variance (center = median)
##       Df F value Pr(>F)
## group  5  0.2253 0.9445
##       12

Hasil dari uji Levene test menunjukkan bahwa p-value = 0.9445 ini lebih besar dari nilai signifikansi (alpha) = 0.05. Seingga dapat disimpulkan karena p-value>alpha maka tidak tolak H0, artinya ragam sisaan perlakuan dan kelompok homogen pada taraf nyata 5%.

Breusch-Pagan test

Digunakan untuk menguji kesamaan varians (ragam) antar beberapa kelompok data

Cara kerja :

  1. Uji Breusch-Pagan menganalisis residual dari model tersebut.
  2. jika hasil menunjukkan residual tidak memiliki varians (ragam) yang konstan (heteroskedastisitas) maka asumsi varians konstan (homoskedatisitas) tidak terpenuhi
  3. jika tidak, asumsi homoskedastisitas terpenuhi dan model regresi yang dihasilkan sudah baik

pastikan package lmtest sudah terinstall

install.packages("lmtest")
library(lmtest)
## Loading required package: zoo
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
bptest(respon ~ pra_treatment,data = data_kadar_air)
## 
##  studentized Breusch-Pagan test
## 
## data:  respon ~ pra_treatment
## BP = 7.4396, df = 5, p-value = 0.1899

Hasil dari uji Breusch-Pagan test menunjukkan bahwa p-value = 0.1899 ini lebih besar dari nilai signifikansi (alpha) = 0.05. Seingga dapat disimpulkan karena p-value>alpha maka tidak tolak H0, artinya ragam sisaan perlakuan dan kelompok homogen pada taraf nyata 5%.

Asumsi Saling Bebas

Eksploratif

Plot Sisaan VS Order

Plot ini digunakan utnuk memeriksa asumsi independensi. Asumsi independensi artinya sisa (residual) dari setiap observasi tidak berkorelasi/berhubungan dengan observasi lainnya

Cara kerja

  1. jika residual tersebar acak di sekitar garis horizontal tanpa pola tertentu, maka asumsi independensi tidak terpenuhi
  2. jika ada pola tertentu dalam plot seperti tren baik itu naik atau turun, maka mengindikasikan bahwa residual mungkin memiliki korelasi. Artinya asumsi independensi tidak terpenuhi
plot(ANOVARAKL$residuals, type = 'o'); abline(h = 0, col = 'red')

Grafik menunjukkan bahwa residual berfluktuasi di sekitar garis horizontal pada y = 0 tanpa membentuk pola/tren tertentu. Sehingga ini dapat menjadi indikasi bahwa pola yang terbentuk adalah pola yang stationerr (bergerak di sekitar titik 0), maka dapat dikatakan saling bebas.

Plot ACF

Plot Autokorelasi (ACF) :

  • menunjukkan seberapa kuat hubungan antara nilai-nilai data dengan nilai-nilai yang muncul sebelumnya

  • “lag” adalah jeda/selisih antara nilai yang dibandingkan. Misal : lag 2 berarti membandingkan nilai sekarang dengan dua observasi sebelumnya

  • garis vertikal pada plot menunjukkan korelasi setiap lag

  • jika garis vertikal lebih tinggi dari garis biru horizontal, maka ada hubungan yang signifikan pada lag tersebut (autokorelasi)

# ACF
acf(ANOVARAKL$residuals)

Plot Autokorelasi Parsial (PACF) :

  • mirip dengan ACF tetapi hanya menunjukkan langsung antara nilai sekarang dengan nilai pada lag tertentu, tanpa memperhitungkan pengaruh nilai-nilai lain

  • PACF membantu mengidentifikasi lg mana yang memiliki hubungan langsung (korelasi) paling kuat

#PACF
pacf(ANOVARAKL$residuals)

library(lmtest)
bgtest(ANOVARAKL,order=1)
## 
##  Breusch-Godfrey test for serial correlation of order up to 1
## 
## data:  ANOVARAKL
## LM test = 4.2711, df = 1, p-value = 0.03877

Gunakan Breusch-Godfrey test untuk mengetahui apakah data kita benar-benar autokorelasi atau hanya bentuk eksplorasi saja

H0 : Tidak ada autokorelalsi dalam residual model regresi

H1 : Ada autokorelasi dalam residual model regresi

jika p-value<alpha = 0.05, maka tolak H0

library(lmtest)
bgtest(ANOVARAKL,order=1)
## 
##  Breusch-Godfrey test for serial correlation of order up to 1
## 
## data:  ANOVARAKL
## LM test = 4.2711, df = 1, p-value = 0.03877

Karena hasil dari uji Breusch-Godfrey p-value = 0.03877 ini lebih besar dari nilai signifikansi (alpha) = 0.05. Sehingga p-value>alpha, dapat disimpulkan bahwa ada autokorelasi dalam residual model regresi

Uji Formal

Hipotesis:

H0 : Sisaan saling bebas

H1 : Sisaan tidak saling bebas.

Durbin-Watson test

Digunakan untuk mendeteksi autokorelasi (korelasi serial) di dalam residual model regresi. Nilai Durbin-Watson (d) berkisar antara 0 dan 4.

  • nilai mendekati 2 : tidak ada autokorelasi

  • nilai mendekati 0 : ada autokorelasi (+)

  • nilai mendekati 4 : ada autokorelasi (-)

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

Hasil dari uji DW menunjukkan bahwa nilai DW = 2.9167 yang mana mendekati 3, artinya ada kecenderungan adanya autokorelasi (-) dalam residual. Kemudian, p-value = 0.3505 yang mana kurang dari nilai signifikansi (alpha) = 0.05. Maka tidak tolak H0, artinya dapat disimpulkan tidak ada autokorelasi yang signifikan dalam residual model berdasarkan taraf nyata 5%

Keaditifan

Eksplorasi

Plot interaksi

Digunakan untuk menunjukkan interaksi antara dua atau lebih variabel independen dalam memengaruhi variabel independen. Interaksi terjadi ketika efek dari satu variabel independen terhadap variabel dependen tergantung pada tingkat variabel independen lainnya

  1. identifikasi interaksi
  2. visualisasi efek
  3. membandingkan kelompok
library(ggplot2)
ggplot(data_kadar_air, aes(x = pra_treatment, y = respon, colour = kelompok)) + 
    geom_point(data = data_kadar_air, aes(y = respon)) +
    geom_line(data = data_kadar_air, aes(y = respon, group = kelompok)) + 
    theme_bw()

interaction.plot(x.factor = data_kadar_air$pra_treatment, 
                 trace.factor = data_kadar_air$kelompok, 
                 response = data_kadar_air$respon,
                 col = c("red", "green", "blue"),
                 legend = TRUE)

Karena garis - garis yang ada tidak saling berpotongan, maka terdapat kecenderungan bahwa tidak ada interaksi antara perlakuan dan kelompok

Uji Formal

Hipotesis:

H0 : Model aditif

H1 :Model tidak aditif

Uji Tukey

Digunakan untuk melakukan perbandingan ganda antara rata - rata kelompok dalam analisis sidik ragam (ANOVA). Tujuanya untuk menentukan pasangan mana dari kelompok yang memiliki perbedaan signifikan secara statistik setelah menemukan bahwa terdapat perbedaan dalam uji ANOVA.

Cara kerja :

  1. Menghitung selisih rata - rata antara setiap pasangan kelompok
  2. Menggunakan distribusi studentized range (q) untuk menentukan apakah perbedaan tersebut signifikan
  3. jika nilai q hitung > q tabel, maka perbedaan dianggap signifikan

Keunggulan :

  • menyesuaikan tingkat kesalahan sehingga lebih ketat dibandingkan uji t berulang

  • cocok untuk perbandingan semua pasangan dalam satu faktor ANOVA

Pastikan package reshape2 dan additivityTests sudah terinstal

install.packages(“reshape2”) install.packages(“additivityTests”)

install.packages("reshape2") 
install.packages("additivityTests") 
library(reshape2)
library(additivityTests)
ANOVARAKLWide = dcast(data_kadar_air,kelompok ~ pra_treatment,value.var="respon") 
Y = as.matrix(ANOVARAKLWide[-1])
tukey.test(Y,alpha=0.05)
## 
## Tukey test on 5% alpha-level:
## 
## Test statistic: 2.295 
## Critival value: 5.117 
## The additivity hypothesis cannot be rejected.

Hasil dari uji Tukey menunjukkan bahwa F-hit = 2.295 sementara F-tabel = 5.117. Sehingga F-hit < F-tabel, artinya tidak cukup bukti untuk tolak H0. Maka dapat disimpulkan bahwa model aditif pada taraf nyata 5%