Ancova

Uiwang Nur Thoriq

2025-09-07

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

Analisis peragam (ANCOVA) merupakan gabungan analisis regresi dan analisis ragam (ANOVA). Analisis peragam digunakan ketika dalam percobaan terdapat peubah konkomitan/penyerta/kovariat yang diduga berpengaruh terhadap peubah respon selain dari perlakuan yang dicobakan. Analisis peragam digunakan untuk mengendalikan galat percobaan, meningkatkan ketepatan, dan menyesuaikan atau mengoreksi rata-rata perlakuan dari peubah konkomitannya.

Model Linear

RAL

\[ y_{ij}=\mu+\tau_i+\beta(x_{ij}-\bar{x}_{..})+ε_{ij} \]

\(Y_{ij}\) = Pengamatan dari peubah respon pada perlakuan ke-i dan ulangan ke-j.
\(x_{ij}\) = Pengukuran peubah konkomitan yang bersesuaiaan dengan \(y_{ij}\).
\(\mu\) = rataan umum
\(\tau_i\) = pengaruh perlakuan ke-i.
\(\beta\) = koefisien regresi yang mengindikasikan ketergantugan \(y_{ij}\) terhadap \(x_{ij}\).
\(ε_{ij}\) = komponen acak.

RAKL

\[ y_{ij}=\mu+\tau_i+\rho_j+\beta(x_{ij}-\bar{x}_{..})+ε_{ij} \]

\(y_{ij}\) = Pengamatan dari peubah respon pada perlakuan ke-i dan kelompok ke-j.
\(x_{ij}\) = Pengukuran peubah konkomitan yang bersesuaiaan dengan \(y_{ij}\).
\(\mu\) = rataan umum.
\(\tau_i\) = pengaruh perlakuan ke-i.
\(\rho_j\) = pengaruh kelompok ke-j.
\(\beta\) = koefisien regresi yang mengindikasikan ketergantugan \(y_{ij}\) terhadap \(x_{ij}\).
\(ε_{ij}\) = komponen acak.

RBSL

\[ y_{ijk}=\mu+\tau_i+\rho_j+\gamma_k+\beta(x_{ijk}-\bar{x}_{..})+ε_{ijk} \]

\(y_{ijk}\) = Pengamatan dari peubah respon pada perlakuan ke-i, baris ke-j, dan kolom ke-k.
\(x_{ijk}\) = Pengukuran peubah konkomitan yang bersesuaiaan dengan \(y_{ijk}\).
\(\mu\) = rataan umum.
\(\tau_i\) = pengaruh perlakuan ke-i.
\(\rho_j\) = pengaruh baris ke-j.
\(\gamma_k\) = pengaruh kolom ke-k.
\(\beta\) = koefisien regresi yang mengindikasikan ketergantugan \(y_{ijk}\) terhadap \(x_{ijk}\).
\(ε_{ijk}\) = komponen acak.

Hipotesis

Pengaruh faktor:

\(H_0\) : \(\tau_1=\tau_2=...=\tau_i=0\) (Faktor tidak berpengaruh terhadap respon).

\(H_1\) : Minimal ada satu i dimana \(\tau_i≠0\).

Pengaruh peubah penyerta:

\(H_0\) : \(\beta=0\) (Peubah penyerta tidak berpengaruh terhadap respon).

\(H_1\) : \(\beta≠0\) (Peubah penyerta berpengaruh terhadap respon).

Asumsi

  1. Peubah X bersifat tetap, diukur tanpa kesalahan, dan bebas dari perlakuan.
  2. Hubungan antara X dan Y harus linier dan bebas dari perlakuan dan kelompok percobaan.
  3. Koefesien regresi untuk setiap perlakuan adalah sama, dan tidak sama dengan nol.
  4. Galat percobaan harus bersifat acak, menyebar secara bebas dan normal dengan nilai tengah = 0 dan ragam = \(\sigma^2\).
  5. \(\sum{\tau_i}=0\) (untuk \(H_0\) estimable).

Studi Kasus RAL

Suatu percobaan di bidang industri ingin memperlajari pengaruh mesin terhadap respons kekuatan serat yang dihasilkan yang dipergunakan dalam industri tekstil. Terdapat tiga perlakuan mesin yang dirancang dengan RAL, masing-masing diulang 5 kali. Telah diketahui bahwa kekuatan serat yang dihasilkan juga tergantung pada diameter serat tersebut. Untuk itu, dalam percobaan ini digunakan peubah penyerta (X) yaitu diameter serat yang dihasilkan. Respon kekuatan serat yang dihasilkan (Y) diukur dalam satuan tertentu. Diameter serat (X) diukur dalam \(10^{-3}\) cm.

Import Data

library(readxl)
DataANCOVA<-read_xlsx("D:/Rancob/DataFull.xlsx",sheet="Ancova")
DataANCOVA
## # A tibble: 15 × 3
##    Mesin Kekuatan Diameter
##    <dbl>    <dbl>    <dbl>
##  1     1       36       20
##  2     1       41       25
##  3     1       39       24
##  4     1       42       25
##  5     1       49       32
##  6     2       40       22
##  7     2       48       28
##  8     2       39       22
##  9     2       45       30
## 10     2       44       28
## 11     3       35       21
## 12     3       37       23
## 13     3       42       26
## 14     3       34       21
## 15     3       32       15

ANCOVA

DataANCOVA$Mesin<-as.factor(DataANCOVA$Mesin)
DataANCOVA$Mesin<-relevel(DataANCOVA$Mesin,3)
Modelawal<-aov(Kekuatan~Mesin+Diameter,data=DataANCOVA)
library(car)
ModelAncova<-Anova(Modelawal,type="III")
ModelAncova
## Anova Table (Type III tests)
## 
## Response: Kekuatan
##              Sum Sq Df F value    Pr(>F)    
## (Intercept)  99.636  1 39.1623 6.191e-05 ***
## Mesin        13.284  2  2.6106    0.1181    
## Diameter    178.014  1 69.9694 4.264e-06 ***
## Residuals    27.986 11                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Asumsi Koefesien Regresi Kovariat Tidak Sama dengan Nol

Modellm<-lm(Kekuatan~Mesin+Diameter,data=DataANCOVA)
summary(Modellm)
## 
## Call:
## lm(formula = Kekuatan ~ Mesin + Diameter, data = DataANCOVA)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.0160 -0.9586 -0.3841  0.9518  2.8920 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   15.775      2.521   6.258 6.19e-05 ***
## Mesin1         1.584      1.107   1.431   0.1803    
## Mesin2         2.621      1.148   2.283   0.0433 *  
## Diameter       0.954      0.114   8.365 4.26e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.595 on 11 degrees of freedom
## Multiple R-squared:  0.9192, Adjusted R-squared:  0.8972 
## F-statistic: 41.72 on 3 and 11 DF,  p-value: 2.665e-06
Modellm$coefficients[4]
##  Diameter 
## 0.9539877

Pada hasil analisis regresi dapat dilihat bahwa peubah penyerta (diameter) berpengaruh signifikan terhadap kekuatan serat pada taraf nyata 5%, sehingga asumsi ini terpenuhi.

Asumsi Hubungan Linear X dan Y

plot(y=DataANCOVA$Kekuatan,x=DataANCOVA$Diameter,xlab = "Diameter Serat",ylab="Kekuatan Serat")
cor(DataANCOVA$Kekuatan,DataANCOVA$Diameter)
## [1] 0.938542
library(ggplot2)

ggplot(DataANCOVA, aes(x=Diameter, y=Kekuatan, colour = Mesin)) + geom_point(size = 3) + geom_smooth(method = "lm", aes(fill = Mesin), alpha = 0.1) + theme(legend.position="top")

Dapat dilihat pada plot bahwa peubah penyerta dan respon memiliki hubungan linear yang kuat, dengan nilai korelasi \(0.938542\). Selain itu peubah penyerta dan respon memiliki hubungan linear di tiap perlakuan.

Asumsi Koefisien Regresi untuk Setiap Perlakuan adalah Sama dan Peubah X Bebas dari Perlakuan

Anova(aov(Kekuatan~Mesin*Diameter,data=DataANCOVA),type="III")
## Anova Table (Type III tests)
## 
## Response: Kekuatan
##                Sum Sq Df F value   Pr(>F)   
## (Intercept)    43.800  1 15.6126 0.003348 **
## Mesin           2.664  2  0.4748 0.636731   
## Diameter       48.395  1 17.2506 0.002472 **
## Mesin:Diameter  2.737  2  0.4878 0.629290   
## Residuals      25.249  9                    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Pada hasil dapat terlihat bahwa interaksi antara peubah penyerta dan faktor yang dicobakan tidak signifikan, sehingga asumsi koefisien regresi untuk setiap perlakuan adalah sama terpenuhi serta peubah X penyerta bebas dari perlakuan.

Uji Asumsi Sisaan

Normalitas Sisaan

shapiro.test(Modelawal$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  Modelawal$residuals
## W = 0.96159, p-value = 0.7201

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

Ragam Sisaan Homogen

bartlett.test(Kekuatan~Mesin,data=DataANCOVA)
## 
##  Bartlett test of homogeneity of variances
## 
## data:  Kekuatan by Mesin
## Bartlett's K-squared = 0.32008, df = 2, p-value = 0.8521

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

Sisaan saling bebas

library(snpar)
runs.test(Modelawal$residuals,exact=T,alternative ="two.sided")
## 
##  Exact runs test
## 
## data:  Modelawal$residuals
## Runs = 8, p-value = 0.9728
## alternative hypothesis: two.sided

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

Adjusted Mean

Rata-rata dari masing-masing perlakuan kemudian dikoreksi menggunakan peubah penyerta (diameter):

library(rstatix)
adj_means <- emmeans_test(data = DataANCOVA, formula = Kekuatan ~ Mesin, covariate = Diameter)
Adj<-get_emmeans(adj_means)
Adj
## # A tibble: 3 × 8
##   Diameter Mesin emmean    se    df conf.low conf.high method      
##      <dbl> <fct>  <dbl> <dbl> <dbl>    <dbl>     <dbl> <chr>       
## 1     24.1 3       38.8 0.788    11     37.1      40.5 Emmeans test
## 2     24.1 1       40.4 0.724    11     38.8      42.0 Emmeans test
## 3     24.1 2       41.4 0.744    11     39.8      43.1 Emmeans test

Uji Lanjut Nilai Tengah Perlakuan Terkoreksi (Adjusted Mean)

library(dplyr)
library(emmeans)
pwc <- DataANCOVA %>% 
  emmeans_test(
    Kekuatan ~ Mesin, covariate = Diameter,
    p.adjust.method = "bonferroni"
    )
pwc
## # A tibble: 3 × 9
##   term           .y.     group1 group2    df statistic      p p.adj p.adj.signif
## * <chr>          <chr>   <chr>  <chr>  <dbl>     <dbl>  <dbl> <dbl> <chr>       
## 1 Diameter*Mesin Kekuat… 3      1         11     -1.43 0.180  0.541 ns          
## 2 Diameter*Mesin Kekuat… 3      2         11     -2.28 0.0433 0.130 ns          
## 3 Diameter*Mesin Kekuat… 1      2         11     -1.02 0.328  0.984 ns

Dari hasil uji lanjut bonferroni, \(p-value_{adj} > \alpha = 0.05\) sehingga tidak ada nilai tengah perlakuan yang berbeda nyata, hasil ini sesuai dengan hasil uji ancova dimana tidak ada perbedaan pengaruh perlakuan mesin terhadap kekuatan serat yang dihasilkan.