Regresi Polynomial

Regresi Polinomial Ordo Kedua, Satu Variabel

Data 1

Data yang digunakan adalah data persneling baru (X), dan konsumsi bahan bakar dalam km per liter (Y) sebagai berikut.

X<-c(35,35,40,40,45,45,50,50,55,55,60,60)
Y<-c(22,20,28,31,37,38,41,39,34,37,27,30)

data1 <-data.frame(X, Y) #membuat dataframe

Model Regresi Linier Sederhana

model1<-lm(Y~X)
summary(model1)
## 
## Call:
## lm(formula = Y ~ X)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -9.143 -5.929  0.500  5.914  8.171 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)
## (Intercept)  16.2571    10.4963   1.549    0.152
## X             0.3314     0.2175   1.524    0.159
## 
## Residual standard error: 6.433 on 10 degrees of freedom
## Multiple R-squared:  0.1885, Adjusted R-squared:  0.1073 
## F-statistic: 2.322 on 1 and 10 DF,  p-value: 0.1585
plot(X,Y)
abline(model1,lwd=3,col="red")

Berdasarkan scatterplot di atas dapat disimpulkan bahwa model regresi linier sederhana kurang sesuai digunakan untuk memodelan data, karena pada plot terdapat pola melengkung.

cor(data1, use="complete.obs", method="pearson")
##           X         Y
## X 1.0000000 0.4341191
## Y 0.4341191 1.0000000

Model Regresi Polynomial

Persamaan Regresi

#cara 1
model2a<-lm(Y~X+I(X^2))
summary(model2a)
## 
## Call:
## lm(formula = Y ~ X + I(X^2))
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -3.03214 -0.58929  0.03393  1.10893  2.10000 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -1.826e+02  1.768e+01  -10.33 2.73e-06 ***
## X            8.983e+00  7.616e-01   11.80 8.91e-07 ***
## I(X^2)      -9.107e-02  7.993e-03  -11.39 1.20e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.727 on 9 degrees of freedom
## Multiple R-squared:  0.9474, Adjusted R-squared:  0.9357 
## F-statistic: 81.03 on 2 and 9 DF,  p-value: 1.757e-06
#cara 2
Xsqr<-X^2
model2b<-lm(Y~X+Xsqr)
summary(model2b)
## 
## Call:
## lm(formula = Y ~ X + Xsqr)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -3.03214 -0.58929  0.03393  1.10893  2.10000 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -1.826e+02  1.768e+01  -10.33 2.73e-06 ***
## X            8.983e+00  7.616e-01   11.80 8.91e-07 ***
## Xsqr        -9.107e-02  7.993e-03  -11.39 1.20e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.727 on 9 degrees of freedom
## Multiple R-squared:  0.9474, Adjusted R-squared:  0.9357 
## F-statistic: 81.03 on 2 and 9 DF,  p-value: 1.757e-06
#cara 3
model2c<-lm(Y~poly(X,degree=2,raw=T)) #orthogonal polynomials raw=F
summary(model2c)
## 
## Call:
## lm(formula = Y ~ poly(X, degree = 2, raw = T))
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -3.03214 -0.58929  0.03393  1.10893  2.10000 
## 
## Coefficients:
##                                 Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                   -1.826e+02  1.768e+01  -10.33 2.73e-06 ***
## poly(X, degree = 2, raw = T)1  8.983e+00  7.616e-01   11.80 8.91e-07 ***
## poly(X, degree = 2, raw = T)2 -9.107e-02  7.993e-03  -11.39 1.20e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.727 on 9 degrees of freedom
## Multiple R-squared:  0.9474, Adjusted R-squared:  0.9357 
## F-statistic: 81.03 on 2 and 9 DF,  p-value: 1.757e-06
  • Berdasarkan hasil di atas diperoleh Koefisien determinasi (R^2) = 94,74% yang berarti bahwa keragaman Yi bisa diturunkan sampai 94,74% bila hubungan polinomial kuadratik terhadap Xi dimasukkan ke dalam model.

  • Selanjutnya dilakukan pengujian Apakah β2 Sama dengan Nol (menyelidiki apakah suku kuadratik dipertahankan/dikeluarkan dari model). Hasil pengujiannya adalah sebagai berikut:

Perbandingan Model Polynomial dengan Linier

H0: tidak ada perbedaan antara kedua model

H1: model regresi polynomial lebih baik

#perbandingan model dengan partial F-test 
anova(model1,model2c)
## Analysis of Variance Table
## 
## Model 1: Y ~ X
## Model 2: Y ~ poly(X, degree = 2, raw = T)
##   Res.Df    RSS Df Sum of Sq      F    Pr(>F)    
## 1     10 413.89                                  
## 2      9  26.83  1    387.05 129.82 1.196e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Berdasarkan hasil pengujian di atas dapat disimpulkan bahwa H0 ditolak karena p-value kurang dari alpha (0.05), sehingga model regresi polynomial lebih baik dibandingkan dengan model regresi linier.

Model Kubik dengan Data 1

model3<-lm(Y~poly(X,degree=3,raw=T)) 
#orthogonal polynomials raw=F

summary(model3)
## 
## Call:
## lm(formula = Y ~ poly(X, degree = 3, raw = T))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.5675 -0.7907  0.2560  1.1419  1.8492 
## 
## Coefficients:
##                                 Estimate Std. Error t value Pr(>|t|)
## (Intercept)                   -73.912698 125.695542  -0.588    0.573
## poly(X, degree = 3, raw = T)1   1.848677   8.204499   0.225    0.827
## poly(X, degree = 3, raw = T)2   0.061984   0.175416   0.353    0.733
## poly(X, degree = 3, raw = T)3  -0.001074   0.001230  -0.873    0.408
## 
## Residual standard error: 1.75 on 8 degrees of freedom
## Multiple R-squared:  0.952,  Adjusted R-squared:  0.934 
## F-statistic: 52.85 on 3 and 8 DF,  p-value: 1.284e-05

Regresi Polinomial Ordo Kedua, Dua Variabel Bebas

Data

X1<-c(0.6,1,1.4,0.6,1,1,1,1.4,0.6,1,1.4)

X2<-c(10,10,10,20,20,20,20,20,30,30,30)

Y<-c(150,86,49,288,157,131,184,109,279,235,224)

X1sqr<-X1^2

X2sqr<-X2^2

data2<-cbind(Y,X1,X2,X1sqr,X2sqr)

Korelasi X1 vs X1^2 dan X2 vs X2^2

cor(data2)
##                Y            X1        X2       X1sqr         X2sqr
## Y      1.0000000 -5.555349e-01 0.7512159 -0.52853036  7.370880e-01
## X1    -0.5555349  1.000000e+00 0.0000000  0.99103121 -4.162449e-18
## X2     0.7512159  0.000000e+00 1.0000000  0.00000000  9.860911e-01
## X1sqr -0.5285304  9.910312e-01 0.0000000  1.00000000  5.922710e-03
## X2sqr  0.7370880 -4.162449e-18 0.9860911  0.00592271  1.000000e+00

Korelasi X1 vs X1^2 dan X2 vs X2^2 memiliki nilai yang mendekati 1 sehingga dapat disimpulkan bahwa apabila dimodelkan dengan regresi polinomial akan menyebabkan permasalahan multikolinearitas, sehingga perlu dilakukan transformasi untuk mengatasi permasalahan ini.

Transformasi

xbar1<-mean(X1)
xbar2<-mean(X2)
X1t<-(X1-xbar1)/0.4
X2t<-(X2-xbar2)/10

Persamaan Regresi Polynomial

modelpoly<-lm(Y~X1t+X2t+I(X1t^2)+I(X2t^2)+I(X1t*X2t))
summary(modelpoly)
## 
## Call:
## lm(formula = Y ~ X1t + X2t + I(X1t^2) + I(X2t^2) + I(X1t * X2t))
## 
## Residuals:
##       1       2       3       4       5       6       7       8       9      10 
## -21.465   9.263  12.202  41.930  -5.842 -31.842  21.158 -25.404 -20.465   7.263 
##      11 
##  13.202 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)    162.84      16.61   9.805 0.000188 ***
## X1t            -55.83      13.22  -4.224 0.008292 ** 
## X2t             75.50      13.22   5.712 0.002297 ** 
## I(X1t^2)        27.39      20.34   1.347 0.235856    
## I(X2t^2)       -10.61      20.34  -0.521 0.624352    
## I(X1t * X2t)    11.50      16.19   0.710 0.509184    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 32.37 on 5 degrees of freedom
## Multiple R-squared:  0.9135, Adjusted R-squared:  0.8271 
## F-statistic: 10.57 on 5 and 5 DF,  p-value: 0.01086

Uji Ketidakcocokan pada Model Polynomial

library(alr3)
pureErrorAnova(modelpoly)
## Analysis of Variance Table
## 
## Response: Y
##              Df Sum Sq Mean Sq F value  Pr(>F)  
## X1t           1  18704   18704 26.6315 0.03556 *
## X2t           1  34202   34202 48.6970 0.01992 *
## I(X1t^2)      1   1646    1646  2.3436 0.26546  
## I(X2t^2)      1    285     285  0.4057 0.58935  
## I(X1t * X2t)  1    529     529  0.7532 0.47696  
## Residuals     5   5240    1048                  
##  Lack of fit  3   3836    1279  1.8205 0.37378  
##  Pure Error   2   1405     702                  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Kesimpulan: Model regresi polinomial cocok untuk digunakan.

Pengujian Parameter

ANOVA Model Polynomial (X1, X2, X1^2, X2^2, dan X1*X2)

anova(modelpoly)
## Analysis of Variance Table
## 
## Response: Y
##              Df Sum Sq Mean Sq F value   Pr(>F)   
## X1t           1  18704   18704 17.8460 0.008292 **
## X2t           1  34202   34202 32.6323 0.002297 **
## I(X1t^2)      1   1646    1646  1.5704 0.265552   
## I(X2t^2)      1    285     285  0.2719 0.624352   
## I(X1t * X2t)  1    529     529  0.5047 0.509184   
## Residuals     5   5240    1048                    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

ANOVA Model Polynomial (X1, X2, X1^2, X2^2)

modelpoly1<-lm(Y~X1t+X2t+I(X1t^2)+I(X2t^2))
anova(modelpoly1)
## Analysis of Variance Table
## 
## Response: Y
##           Df Sum Sq Mean Sq F value    Pr(>F)    
## X1t        1  18704   18704 19.4516 0.0045174 ** 
## X2t        1  34202   34202 35.5683 0.0009955 ***
## I(X1t^2)   1   1646    1646  1.7117 0.2386411    
## I(X2t^2)   1    285     285  0.2963 0.6058250    
## Residuals  6   5769     962                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1