Kali Ini kita akan belajar tentang Analisis Regresi Parametrik Linier berganda. pada percobaan kali ini akan meneliti tentang apakah jumlah barang dan juga jarak itu mempengaruhi pengiriman barang dari satu kota ke kota lainnya. kita memiliki variable dependent (waktu pengiriman)dan variable independent nya Jumlah Unit dan Jarak. tujuannya yaitu apakah variable bebasnya berpengaruh terhadap variable terikat.

Sekarang kita coba untuk memasukan data tersebut.

waktu=c(9,24,31,35,25,16,14,9,24,27,17,37,41,11,21,17,69,10,34,46)
jml_unit=c(2,8,11,10,8,4,2,2,9,8,4,11,12,2,4,4,20,1,10,15)
jarak=c(50,120,200,100,400,240,300,312,300,41,200,33,67,90,70,130,500,200,120,200)
dataku=data.frame(waktu,jml_unit,jarak)
str(dataku)
## 'data.frame':    20 obs. of  3 variables:
##  $ waktu   : num  9 24 31 35 25 16 14 9 24 27 ...
##  $ jml_unit: num  2 8 11 10 8 4 2 2 9 8 ...
##  $ jarak   : num  50 120 200 100 400 240 300 312 300 41 ...

langkah selanjutnya kita perlu memasukan library terlebih dahulu.

library(ggplot2)
library(gridExtra)
library(zoo)
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
library(lmtest)
library(carData)
library(car)

langkah berikutnya adalah kita akan menggambarkan nya dalam plot. kita menggunakan geom point untuk membuat plot yang berbentuk titik. kemudian stat smooth untuk membantu membuat garis estimasi regresinya.

p1=ggplot(dataku,aes(x=jml_unit, y=waktu)) + geom_point()+ stat_smooth()
p2=ggplot(dataku,aes(x=jarak, y=waktu)) + geom_point()+ stat_smooth()
gridExtra::grid.arrange(p1,p2,ncol=2)
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'

dari hasil di atas dapat kita lihat korelasinya, yang dengan jumlah unit, korelasinya kuat, tapi dengan jarak korelasinya kurang kuat.

kemudian kita buat model regresinya

model=lm(waktu~jml_unit+jarak)
summary(model)
## 
## Call:
## lm(formula = waktu ~ jml_unit + jarak)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -6.740 -1.631  0.634  1.637  6.251 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 4.410771   1.616909   2.728   0.0143 *  
## jml_unit    2.891228   0.159114  18.171 1.43e-12 ***
## jarak       0.001028   0.006302   0.163   0.8724    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.394 on 17 degrees of freedom
## Multiple R-squared:  0.9541, Adjusted R-squared:  0.9487 
## F-statistic: 176.6 on 2 and 17 DF,  p-value: 4.234e-12
model2=lm(waktu~-1+jml_unit+jarak)
summary(model2)
## 
## Call:
## lm(formula = waktu ~ -1 + jml_unit + jarak)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -7.2342 -0.9085  1.8911  2.8668  7.7681 
## 
## Coefficients:
##          Estimate Std. Error t value Pr(>|t|)    
## jml_unit 3.128404   0.155282  20.147 8.49e-14 ***
## jarak    0.010262   0.006195   1.657    0.115    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.955 on 18 degrees of freedom
## Multiple R-squared:  0.984,  Adjusted R-squared:  0.9823 
## F-statistic: 554.6 on 2 and 18 DF,  p-value: < 2.2e-16

setelah mendapatkan nilai output tersebut, yang harus kita lakukan adalah uji signifikan parameter terlebih dahulu, kita lihat uji F, karena distribusinya F. kita lihat p-value nilainya <2.2e-16, berarti ada hubungan antara jumlah unit dan jarak secara simultan terhadap waktu pengiriman (Y).

Langkah Selanjutnya

Karena kita menggunakan regresi linier berganda, maka kita membutuhkan asumsi. untuk asumsi pertama kita melakukan uji normalitas.

residu=residuals(model)
qqnorm(residu)

ks.test(residu,'pnorm',0,sd(residu))
## 
##  One-sample Kolmogorov-Smirnov test
## 
## data:  residu
## D = 0.11846, p-value = 0.9109
## alternative hypothesis: two-sided

dari output tersebut, bentuk plot nya hampir 45 derajat, bisa dibilang mempunyai distribusi normal. dan hasil p-value lebih besar dari 0,05 sehingga asumsinya terpenuhi

Uji Homoskedastisitas

bptest(model)
## 
##  studentized Breusch-Pagan test
## 
## data:  model
## BP = 6.8894, df = 2, p-value = 0.03191

ujiasumsi non autokorelasi

dwtest(model)
## 
##  Durbin-Watson test
## 
## data:  model
## DW = 1.4394, p-value = 0.08398
## alternative hypothesis: true autocorrelation is greater than 0

karena kita menggunakan regresi berganda, jadi butuh uji asumsi non multikolinieritas.

vif(model)
## jml_unit    jarak 
## 1.065009 1.065009