Analisis Regresi Linear Berganda

Data

Seorang peneliti ingin menganalisis faktor-faktor yang mempengaruhi nilai ujian mahasiswa (y). Nilai ujian dipengaruhi oleh :

  • X1 = jumlah belajar (jam/minggu)

  • X2 = tingkat kehadiran (%)

Peneliti mengumpulkan data dari 10 mahasiswa

No Y X1 X2
1 65 2 60
2 70 3 65
3 75 4 70
4 80 5 75
5 85 6 80
6 78 5 72
7 72 3 68
8 90 7 85
9 88 6 83
10 95 8 90

Pertanyaan

Berikut adalah pertanyaan berdasarkan data yang telak diberikan :

  1. Estimasikan model regresi linear berganda menggunakan metode OLS berbasis matriks dan interpretasikan hasilnya?
  2. Hitung Uji-F dan Uji t secara manual dan interpretasikan hasilnya
  3. Hitung nilai

Pengerjaan Studi Kasus

Model Regresi Linear

Berikut adalah model regresi linear yang akan digunakan :

\[Y_i = \beta_0 + \beta_1 X_{1i} + \beta_2 X_{2i} + \varepsilon_i\]

Pendugaan parameter menggunakan Metode Kuadrat Terkecil (MKT/OLS)

\[\hat{\boldsymbol{\beta}} = (X'X)^{-1} X'Y\]

1. Estimasikan Model Regresi Linier Berganda Menggunakan Metode OLS Berbasis Matriks dan Interpretasikan Hasilnya?

#1. Input data
Y<- matrix(c(77,79,82,83,85,88,90,93), ncol=1)
X1 <- c(1,2,1,2,1,2,1,2)
X2 <- c(160,160,165,165,170,170,175,175)
# Matriks X (dengan intercept)
X <- cbind(1, X1, X2)
X ; Y
##        X1  X2
## [1,] 1  1 160
## [2,] 1  2 160
## [3,] 1  1 165
## [4,] 1  2 165
## [5,] 1  1 170
## [6,] 1  2 170
## [7,] 1  1 175
## [8,] 1  2 175
##      [,1]
## [1,]   77
## [2,]   79
## [3,]   82
## [4,]   83
## [5,]   85
## [6,]   88
## [7,]   90
## [8,]   93
#2. Estimasi Parameter OLS
# Estimasi beta
beta_top <- solve(t(X) %*% X) %*% t(X) %*% Y
beta_top
##       [,1]
##    -67.825
## X1   2.250
## X2   0.890
# Hasil Estimasi
beta0<-beta_top[1]
beta1<-beta_top[2]
beta2<-beta_top[3]
beta0
## [1] -67.825
beta1 
## [1] 2.25
beta2
## [1] 0.89

Model yang terbentuk :

\[ \hat{y}=16.14+1.17X_1+0.77X_2 \]

Interpretasi

  • \(\beta_0 = 16.14 (Intercept)\) : Jika nilai X1 (jumlah belajar) dan X2 (tingkat kehadiran) bernilai 0, maka nilai ujian mahasiswa akan berkisar 16.14 poin
  • \(\beta_1=1.16\) : Setiap kenaikan 1 jam belajar akan meningkatkan nilai ujian sekitar 1.16 poin
  • \(\beta_2=09\) : Setiap kenaikan 1% kehadiran akan meningkatkan nilai ujian mahasiswa sekitar 0.77 poin

2. Hitung Uji F dan Uji t Secara Manual dan Interpretasikan Hasilnya!

#Prediksi
Y_pred<-X%*%beta_top

#Residual
e<-Y-Y_pred

#Rata-rata Y
Y_mean<-mean(Y)

#SST
SST<-sum((Y-Y_mean)^2)

#SSE
SSE<- sum(e^2)

#SSR
SSR<-SST-SSE

SST;  SSE; SSR
## [1] 209.875
## [1] 1.725
## [1] 208.15

Uji-F

Untuk melakukan Uji-F (Simultan) :

\[ F = \frac{SSR/k}{SSE/(n-k-1)} \]

Hipotesis

  • \(H_0 : \beta_1= \beta_2 = 0\) (Model tidak signifikan)

  • \(H_1\) minimal satu \(\beta_j \neq 0\)

n<-nrow(X)
k<-2
#F Hitung
F_hit<-(SSR/k)/(SSE/(n-k-1))
F_hit
## [1] 301.6667
#F tabel
F_tabel<-qf(0.95,df1=k,df2=n-k-1)
p_f<-pf(F_hit,df1=k,df2=n-k-1,lower.tail = FALSE)
F_tabel
## [1] 5.786135
p_f
## [1] 6.124505e-06
#Keputusan
if(F_hit > F_tabel){
  cat("Keputusan : Tolak H0\n")
  cat(paste("Karena F_Hitung(",round(F_hit,3),")> F_tabel(",round(F_tabel,3),")\n"))
  cat("Kesimpulan:\n")
  cat("Secara bersamaan, variabel jam belajar (X1) dan tingkat kehadiran (X2) berpengaruh signifikan terhadap nilai ujian (Y)")
}else{
  cat("Keputusan : Gagal Tolak H0\n")
}
## Keputusan : Tolak H0
## Karena F_Hitung( 301.667 )> F_tabel( 5.786 )
## Kesimpulan:
## Secara bersamaan, variabel jam belajar (X1) dan tingkat kehadiran (X2) berpengaruh signifikan terhadap nilai ujian (Y)

Interpretasi

  • F hitung > F tabel, variabel X1 dan X2 secara simultan berpengaruh terhadap variabel Y

  • p value bernilai < 0.05, maka model signifikan

Uji-t

#Varians-Kovarians matrix
var_beta<-(SSE/(n-k-1))*solve(t(X)%*%X)

#Standar Error
se<-sqrt(diag(var_beta))

rumus statistik t :

\[ t = \frac{\beta}{SE(\beta)} \]

#t hitung
t_hit<-beta_top/se
t_hit
##          [,1]
##    -10.840022
## X1   5.417363
## X2  23.957995
#t tabel
t_tabel<-qt(0.975,df=n-k-1)
t_tabel
## [1] 2.570582
#p value
p_t<-2*pt(abs(t_hit),df=n-k-1,lower.tail = FALSE)
p_t
##            [,1]
##    1.159705e-04
## X1 2.901267e-03
## X2 2.360363e-06

Interpretasi :

  • Semua nilai t-hitung > t tabel, maka tolak H0 ( \(\beta_j\ne 0\) (Variabel Xj tidak berpengaruh signifikan secara partial))

  • X1 dan X2 berpengaruh secara individu terhadap Y

3. Hitung nilai \(R^2\) dan Adjusted \(R^2\) secara manual dan interpretasikan hasilnya

Rumus \(R^2\)

\[ R^2 =\frac{SSR}{SST} \]

Rumus Adjusted \(R^2\)

Adjusted \(R^2\)

\[ R^2=1-\frac{SSE/(n-k-1)}{SST/(n-1)} \]

#R Square 
R2<-SSR/SST
R2
## [1] 0.9917808
#Adjusted R Square
Adj_R2<-1-((SSE/(n-k-1))/(SST/(n-1)))
Adj_R2
## [1] 0.9884932

Interpretasi \(R^2\) :

  • Sekitar 99% variasi nilai ujian mahasiswa (Y) dapat dijelaskan oleh variabel jumlah belajar (X1) dan tingkat kehadiran (X2)

  • Sisanya dipengaruhi oleh faktor lain

  • Nilai ini cenderung meningkat jika ditambahkannya variabel lain

Interpretasi Adjusted \(R^2\) :

  • Sekitar 99% variasi nilai ujian tetap dapat dijelaskan oleh masing-masing variabel prediktor

  • Model akan memiliki hasil yang baik walaupun sudah dikoreksi terhadap jumlah variabel

4. Bandingkan Hasil Manual (1-3) dengan function lm

model<-lm(Y~X1+X2)
summary(model)
## 
## Call:
## lm(formula = Y ~ X1 + X2)
## 
## Residuals:
##      1      2      3      4      5      6      7      8 
##  0.175 -0.075  0.725 -0.525 -0.725  0.025 -0.175  0.575 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -67.82500    6.25691 -10.840 0.000116 ***
## X1            2.25000    0.41533   5.417 0.002901 ** 
## X2            0.89000    0.03715  23.958 2.36e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.5874 on 5 degrees of freedom
## Multiple R-squared:  0.9918, Adjusted R-squared:  0.9885 
## F-statistic: 301.7 on 2 and 5 DF,  p-value: 6.125e-06

Hasil

  • Memiliki koefisien yang sama dengan metode matriks

  • Memiliki hasil yang sama dalam nilai F-hitung dan t

  • Perhitungan manual terbukti valid

5. Prediksikan Nilai Ujian Mahasiswa Jika Jumlah Jam Belajar 1 Jam/Minggu namun Kehadiran 100%?

Diketahui

  • X1 = 1

  • X2 = 100

X_baru<-matrix(c(1,1,100),nrow=1)
Y_pred<-X_baru%*%beta_top
Y_pred
##        [,1]
## [1,] 23.425

Hasil:

Nilai mahasiswa yang memiliki jam belajar 1 jam/minggu namun dengan tingkat kehadiran 100% adalah 94,75476

Kesimpulan

  • Hasil model regresi linier berganda terbukti signifikan

  • Variabel jam belajar (X1) dan tingkat kehadiran (X2) berpengaruh positif terhadap nilai ujian mahasiswa (Y)

  • Model memiliki akurasi ( \(R^2\) =0.99) yang termasuk akurasi yang cukup tingi