Uji Lanjut (Kontras Orthogonal dan Polinomial Orthogonal)

Author

Muhammad Syafiq

Dasar Teori

1. Konsep Kontras

Kontras adalah kombinasi linier dari rata-rata perlakuan:

\[ C = \sum_{i=1}^{t} a_i \bar{Y}_i \]

dengan syarat:

\[ \sum_{i=1}^{t} a_i = 0 \]

Tujuan dari kontras adalah untuk membandingkan rata-rata antar kelompok (perlakuan) secara spesifik.


2. Kontras Ortogonal

Dua kontras dikatakan ortogonal apabila:

\[ \sum_{i=1}^{t} a_i b_i = 0 \]

Artinya, kedua kontras tersebut tidak saling berkorelasi, sehingga masing-masing menguji perbedaan yang independen antar perlakuan.

Contoh:

Misalkan terdapat 4 perlakuan ( A_1, A_2, A_3, A_4 ).
Beberapa contoh kontras dan interpretasinya:

Kontras Koefisien Interpretasi
( C_1 ) (1, 1, -1, -1) Bandingkan dua kelompok pertama vs dua kelompok terakhir
( C_2 ) (1, -1, 1, -1) Bandingkan kombinasi silang
( C_3 ) (1, -1, -1, 1) Bandingkan kelompok ekstrem

Jika:

\[ \sum_{i=1}^{t} a_i b_i = 0 \]

maka ( C_1 ) dan ( C_2 ) ortogonal.


3. Kontras Polinomial Ortogonal

Kontras polinomial ortogonal digunakan ketika perlakuan bersifat kuantitatif berurutan, seperti dosis pupuk, waktu, suhu, atau umur tanaman.

Tujuan: melihat pola perubahan (tren) respons terhadap faktor kuantitatif.

  • Linear: respon meningkat secara konstan
    \[ Y = \beta_0 + \beta_1 X \]
  • Kuadratik: respon naik lalu turun (ada titik optimum)
    \[ Y = \beta_0 + \beta_1 X + \beta_2 X^2 \]
  • Kubik: pola naik???turun lebih dari satu kali
    \[ Y = \beta_0 + \beta_1 X + \beta_2 X^2 + \beta_3 X^3 \]

Koefisien kontras polinomial ortogonal dapat diperoleh dari tabel atau dihitung otomatis menggunakan fungsi contr.poly() di R.


Contoh Praktik di R

Praktik 1: Kontras Ortogonal

#______Kontras Ortogonal_____#

# Input data 1
Varietas <- factor(rep(LETTERS[1:4], each = 6))
Hasil <- c(25.1, 17.2, 26.4, 16.1, 22.2, 15.9, 
           40.2, 35.3, 32.0, 36.5, 43.3, 37.1,
           18.3, 22.6, 25.9, 15.1, 11.4, 23.7,
           28.0, 28.6, 33.2, 31.7, 30.3, 27.6)
data1 <- data.frame(Varietas, Hasil)
str(data1)
'data.frame':   24 obs. of  2 variables:
 $ Varietas: Factor w/ 4 levels "A","B","C","D": 1 1 1 1 1 1 2 2 2 2 ...
 $ Hasil   : num  25.1 17.2 26.4 16.1 22.2 15.9 40.2 35.3 32 36.5 ...
# Analisis ANOVA
anova1 <- aov(Hasil ~ Varietas, data = data1)
summary(anova1)
            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
# Definisi kontras ortogonal
contrasts(data1$Varietas) <- cbind(c(3, -1, -1, -1),
                                   c(0, 1, -1, 0),
                                   c(0, 1, 1, -2))
contrasts(data1$Varietas)
  [,1] [,2] [,3]
A    3    0    0
B   -1    1    1
C   -1   -1    1
D   -1    0   -2
# Analisis dengan kontras
anova_1 <- aov(Hasil ~ Varietas, data = data1)

# Uji kontras ortogonal
summary.aov(anova_1, split = list(Varietas = list(
  "A vs BCD" = 1,
  "B vs C" = 2,
  "BC vs D" = 3
)))
                     Df Sum Sq Mean Sq F value   Pr(>F)    
Varietas              3 1291.0   430.3  23.458 9.32e-07 ***
  Varietas: A vs BCD  1  321.3   321.3  17.515 0.000456 ***
  Varietas: B vs C    1  961.2   961.2  52.399 5.27e-07 ***
  Varietas: BC vs D   1    8.4     8.4   0.458 0.506106    
Residuals            20  366.9    18.3                     
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Interpretasi

  • Kontras A vs BCD membandingkan varietas A terhadap gabungan B, C, dan D.

  • Kontras B vs C membandingkan dua varietas di tengah.

  • Kontras BC vs D membandingkan dua varietas tengah dengan varietas D.

  • Kontras dengan p-value < 0.05 berarti perbedaannya signifikan.

Praktik 2: Polinomial Ortogonal

#_*****Polinomial Ortogonal*****#

# Input data 2

kerapatan <- factor(rep(c(10, 20, 30, 40, 50), each = 3))
hasil <- c(12.2, 11.4, 12.4,
16.0, 15.5, 16.5,
18.6, 20.2, 18.2,
17.6, 19.3, 17.1,
18.0, 16.4, 16.6)
data2 <- data.frame(kerapatan, hasil)
str(data2)
'data.frame':   15 obs. of  2 variables:
 $ kerapatan: Factor w/ 5 levels "10","20","30",..: 1 1 1 2 2 2 3 3 3 4 ...
 $ hasil    : num  12.2 11.4 12.4 16 15.5 16.5 18.6 20.2 18.2 17.6 ...
# Analisis ANOVA

anova2 <- aov(hasil ~ kerapatan, data = data2)
summary(anova2)
            Df Sum Sq Mean Sq F value   Pr(>F)    
kerapatan    4  87.60  21.900   29.28 1.69e-05 ***
Residuals   10   7.48   0.748                     
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Definisi kontras polinomial manual

contrasts(data2$kerapatan) <- cbind(
c(-2, -1, 0, 1, 2),   # Linear
c(2, -1, -2, -1, 2),  # Kuadratik
c(-1, 2, 0, -2, 1),   # Kubik
c(1, -4, 6, -4, 1)    # Kuartik
)
contrasts(data2$kerapatan)
   [,1] [,2] [,3] [,4]
10   -2    2   -1    1
20   -1   -1    2   -4
30    0   -2    0    6
40    1   -1   -2   -4
50    2    2    1    1
# Analisis dengan kontras polinomial

anova_2 <- aov(hasil ~ kerapatan, data = data2)
summary.aov(anova_2, split = list(kerapatan = list(
"Linear" = 1,
"Kuadratik" = 2,
"Kubik" = 3,
"Kuartik" = 4
)))
                       Df Sum Sq Mean Sq F value   Pr(>F)    
kerapatan               4  87.60   21.90  29.278 1.69e-05 ***
  kerapatan: Linear     1  43.20   43.20  57.754 1.84e-05 ***
  kerapatan: Kuadratik  1  42.00   42.00  56.150 2.08e-05 ***
  kerapatan: Kubik      1   0.30    0.30   0.401    0.541    
  kerapatan: Kuartik    1   2.10    2.10   2.807    0.125    
Residuals              10   7.48    0.75                     
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Atau gunakan fungsi otomatis

contrasts(data2$kerapatan) <- contr.poly(5)
summary.aov(anova_2, split = list(kerapatan = list(
"Linear" = 1,
"Kuadratik" = 2,
"Kubik" = 3,
"Kuartik" = 4
)))
                       Df Sum Sq Mean Sq F value   Pr(>F)    
kerapatan               4  87.60   21.90  29.278 1.69e-05 ***
  kerapatan: Linear     1  43.20   43.20  57.754 1.84e-05 ***
  kerapatan: Kuadratik  1  42.00   42.00  56.150 2.08e-05 ***
  kerapatan: Kubik      1   0.30    0.30   0.401    0.541    
  kerapatan: Kuartik    1   2.10    2.10   2.807    0.125    
Residuals              10   7.48    0.75                     
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Interpretasi

  • Jika Linear signifikan, maka ada tren kenaikan atau penurunan hasil seiring peningkatan kerapatan.

  • Jika Kuadratik signifikan, maka terdapat titik maksimum atau minimum (respon naik lalu turun).

  • Jika Kubik atau Kuartik signifikan, maka pola perubahan hasil lebih kompleks.

Referensi

  • Montgomery, D. C. (2017). Design and Analysis of Experiments. Wiley.

  • Koutsoyiannis, A. (1977). Theory of Econometrics. Macmillan.

  • Gaspersz, V. (1991). Teknik Analisis dalam Penelitian Percobaan. Tarsito.