Faktorial 2^k

Uiwang Nur Thoriq

2025-09-06

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

Rancangan Faktorial \(2^k\) merupakan kasus khusus pada rancangan faktorial dimana rancangan ini terdiri dari beberapa faktor (2 atau lebih) dengan masing-masing taraf dari faktor yang dicobakan sebanyak 2. Rancangan ini membutuhkan sedikit satuan percobaan untuk faktor yang dipelajari.

Apabila faktornya kuantitatif, level dari masing-masing faktor ditandai sebagai min(-) untuk taraf minimum dan max(+) untuk taraf maksimum. Hal ini dikarenakan hanya terdapat 2 taraf pada masing-masing faktor.

Studi Kasus

Sebuah router digunakan untuk memotong lokasi notches pada papan sirkuit. Tingkat getaran pada permukaan papan dianggap sebagai sumber variasi dimensi notches. Ada 2 faktor yang diduga memengaruhi getaran: ukuran bit (A) dan kecepatan potong (B). Dua ukuran bit ( \(\frac{1}{16}\) dan \(\frac{1}{8}\)) dan dua kecepatan (40 dan 90 rpm) dipilih. Empat papan dipotong pada setiap rangkaian. Respon yang diukur adalah getaran yang diukur sebagai vektor resultan dari tiga akselerator pada setiap papan sirkuit uji.

Import Data

library(readxl)
Data2k<-read_xlsx("D:/Rancob/DataFull.xlsx",sheet="Faktorial-2^k")
Data2k
## # A tibble: 16 × 6
##         A     B Coded.A Coded.B Ulangan Getaran
##     <dbl> <dbl>   <dbl>   <dbl>   <dbl>   <dbl>
##  1 0.0625    40      -1      -1       1    18.2
##  2 0.0625    40      -1      -1       2    18.9
##  3 0.0625    40      -1      -1       3    12.9
##  4 0.0625    40      -1      -1       4    14.4
##  5 0.125     40       1      -1       1    27.2
##  6 0.125     40       1      -1       2    24  
##  7 0.125     40       1      -1       3    22.4
##  8 0.125     40       1      -1       4    22.5
##  9 0.0625    90      -1       1       1    15.9
## 10 0.0625    90      -1       1       2    14.5
## 11 0.0625    90      -1       1       3    15.1
## 12 0.0625    90      -1       1       4    14.2
## 13 0.125     90       1       1       1    41  
## 14 0.125     90       1       1       2    43.9
## 15 0.125     90       1       1       3    36.3
## 16 0.125     90       1       1       4    39.9

ANOVA

Data2k$FacCodedA<-as.factor(Data2k$Coded.A)
Data2k$FacCodedB<-as.factor(Data2k$Coded.B)
Data2k
## # A tibble: 16 × 8
##         A     B Coded.A Coded.B Ulangan Getaran FacCodedA FacCodedB
##     <dbl> <dbl>   <dbl>   <dbl>   <dbl>   <dbl> <fct>     <fct>    
##  1 0.0625    40      -1      -1       1    18.2 -1        -1       
##  2 0.0625    40      -1      -1       2    18.9 -1        -1       
##  3 0.0625    40      -1      -1       3    12.9 -1        -1       
##  4 0.0625    40      -1      -1       4    14.4 -1        -1       
##  5 0.125     40       1      -1       1    27.2 1         -1       
##  6 0.125     40       1      -1       2    24   1         -1       
##  7 0.125     40       1      -1       3    22.4 1         -1       
##  8 0.125     40       1      -1       4    22.5 1         -1       
##  9 0.0625    90      -1       1       1    15.9 -1        1        
## 10 0.0625    90      -1       1       2    14.5 -1        1        
## 11 0.0625    90      -1       1       3    15.1 -1        1        
## 12 0.0625    90      -1       1       4    14.2 -1        1        
## 13 0.125     90       1       1       1    41   1         1        
## 14 0.125     90       1       1       2    43.9 1         1        
## 15 0.125     90       1       1       3    36.3 1         1        
## 16 0.125     90       1       1       4    39.9 1         1
Anova2k<-aov(Getaran~FacCodedA*FacCodedB,data=Data2k)
summary(Anova2k)
##                     Df Sum Sq Mean Sq F value   Pr(>F)    
## FacCodedA            1 1107.2  1107.2  185.25 1.17e-08 ***
## FacCodedB            1  227.3   227.3   38.02 4.83e-05 ***
## FacCodedA:FacCodedB  1  303.6   303.6   50.80 1.20e-05 ***
## Residuals           12   71.7     6.0                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Hasil ANOVA menunjukkan bahwa terdapat perbedaan baik pada pengaruh ukuran bit, pengaruh kecepatan potong, dan interaksi ukuran bit dengan kecepatan potong pada taraf nyata 5%.

Pemodelan dengan Regresi

Mengubah Taraf Asal ke Taraf Coded

Pengubahan taraf dari taraf asal ke taraf coded dapat menggunakan formula berikut:
\[ x_{cod} = \frac{x_0 - \frac{x_{max} + x_{min}}{2}}{\frac{x_{max} - x_{min}}{2}} \] Keterangan:
\(x_{cod}\): Nilai taraf dalam coded value
\(x_{max}\): Nilai taraf asal maksimum
\(x_{min}\): Nilai taraf asal minimum
\(x_0\): Nilai taraf yang akan diubah ke coded value

Taraf Coded

ModelCoded<-lm(Getaran~Coded.A+Coded.B+Coded.A:Coded.B,data=Data2k)
summary(ModelCoded)
## 
## Call:
## lm(formula = Getaran ~ Coded.A + Coded.B + Coded.A:Coded.B, data = Data2k)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -3.975 -1.550 -0.200  1.256  3.625 
## 
## Coefficients:
##                 Estimate Std. Error t value Pr(>|t|)    
## (Intercept)      23.8313     0.6112  38.991 5.22e-14 ***
## Coded.A           8.3187     0.6112  13.611 1.17e-08 ***
## Coded.B           3.7687     0.6112   6.166 4.83e-05 ***
## Coded.A:Coded.B   4.3562     0.6112   7.127 1.20e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.445 on 12 degrees of freedom
## Multiple R-squared:  0.9581, Adjusted R-squared:  0.9476 
## F-statistic: 91.36 on 3 and 12 DF,  p-value: 1.569e-08

Pada model didapatkan hasil bahwa intercept dan ketiga peubah penjelas signifikan pada taraf nyata 5%. Didapatkan pula nilai RSE yang relatif kecil yaitu sebesar 2.445 dan nilai \(R^2\) yang cenderung besar yaitu sebesar 95.81%.

Taraf Asal

ModelAsli<-lm(Getaran~A+B+A:B,data=Data2k)
summary(ModelAsli)
## 
## Call:
## lm(formula = Getaran ~ A + B + A:B, data = Data2k)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -3.975 -1.550 -0.200  1.256  3.625 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  23.05500    5.38404   4.282 0.001065 ** 
## A           -96.24000   54.48261  -1.766 0.102725    
## B            -0.37200    0.07731  -4.812 0.000425 ***
## A:B           5.57600    0.78232   7.127  1.2e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.445 on 12 degrees of freedom
## Multiple R-squared:  0.9581, Adjusted R-squared:  0.9476 
## F-statistic: 91.36 on 3 and 12 DF,  p-value: 1.569e-08

Pada model didapatkan hasil bahwa intercept dan dua peubah penjelas signifikan pada taraf nyata 5%. Didapatkan pula nilai RSE yang relatif kecil yaitu sebesar 2.445 dan nilai \(R^2\) yang cenderung besar yaitu sebesar 95.81%.

Pada hasil model dengan Coded Peubah dan Peubah Asli, terdapat perbedaan model hasil pada signifikansi pengaruh peubah penjelas ke respon. Hal ini dikarenakan adanya perbedaan pada matriks \(X'X\). Selain itu juga diduga adanya multikolinearitas yang memengaruhi hal tersebut karena adanya peubah interaksi pada model.

Cek Nilai VIF

library(car)
vif(ModelAsli)
##     A     B   A:B 
##  7.76 10.00 16.76

Residual Plot (Plot Sisaan)

Model Taraf Asal

qqnorm(ModelAsli$residuals)
qqline(ModelAsli$residuals, col="red")

plot(Data2k$Getaran,ModelAsli$residuals, 
xlab="Getaran", ylab="residuals")
abline(h=0, col='red')

Model Taraf Coded

qqnorm(ModelCoded$residuals)
qqline(ModelCoded$residuals, col="blue")

plot(Data2k$Getaran,ModelCoded$residuals, 
xlab="Getaran", ylab="residuals")
abline(h=0, col='blue')

Contour Plot

2D

library(rsm)
par(mfrow=c(1,2))
contour(ModelCoded,~Coded.A+Coded.B+Coded.A:Coded.B,
        image = TRUE,
        xlabs = c("Ukuran Bit","Kecepatan Potong"))

contour(ModelAsli,~A+B+A:B,
        image = TRUE,
        xlabs = c("Ukuran Bit","Kecepatan Potong"))

3D

par(mfrow=c(1,2))
persp(ModelCoded, ~Coded.A+Coded.B+Coded.A:Coded.B, col=terrain.colors(50),
      contours="color" ,zlab="Getaran",
      xlabs=c("UB", "KP"))
persp(ModelAsli, ~A+B+A:B, col=terrain.colors(50),
      contours="color" ,zlab="Getaran",
      xlabs=c("UB", "KP"))

Meskipun model regresinya berbeda, namun dapat dilihat pada plot contour bahwa prediksi nilai yang dihasilkan sama.