Data Nilai Ujian 10 Siswa

knitr::include_graphics("C:/Users/ACER/Pictures/Screenshots/Screenshot 2026-04-01 074612.png")

X1 = c(2,3,4,5,6,5,3,7,6,8) # Variabell jumlah jam belajar
X2 = c(60,65,70,75,80,72,68,85,83,90)# Variabel tingkat keadiran
Y = c(65,70,75,80,85,78,72,90,88,95) # Nilai ujian

Data ini digunakan untuk melihat apakah terdapat pengaruh antara 2 variabel independen, yaitu :

Dilakukannya analisis terhadap dua variabel independen tersebut dengan tujuan untuk melihat apakah terdapat pengaruh terhadap variabel Y yang menyatakan nilai ujian dari 10 siswa tersebut.

Pertanyaan dan Jawaban

1. Estimasikan model regresi linier berganda menggunakan metode OLS berbasis matriks dan interpretasikan hasilnya?

Jawab :

Model OLS

\[Y=β0​+β1​X1​+β2​X2​+ε\]

# Bentuk matriks
X <- cbind(1, X1, X2)
Y <- matrix(Y, ncol = 1) # Mengubah matriks Y menjadi matriks kolom 

# OLS dengan langkah manual
beta <- solve(t(X) %*% X) %*% t(X) %*% Y
beta
##          [,1]
##    16.1360113
## X1  1.1698379
## X2  0.7744891

Pada soal pertama ini diminta untuk melakukan estimasi terhadap data yang diberikan dengan metode Ordinary Least Square (OLS).

Variabel X merupakan kode untuk membentuk matriks design. selanjutnya variabel Y adalah kode untuk mengubah bentuk matriks Y menjadi matriks kolom.

setelah melakukan estimasi terhadap variabel data dengan metode Ordinary Least Square (OLS), diperoleh hasil sebagai berikut :

  • Intercept sebesar 16,14 (Approksimasi). Artinya nilai Y akan bernilai 16,14 ketika nilai variabel X = 0

  • Nilai \({\beta}_0\) sebesar 1,17 (Approksimasi), artinya apabila waktu lama jam belajar bertambah 1 jam/minggu, maka nilai ujian naik sekitar 1,17 poin, dengan nilai dari X2 konstan.

  • Nilai \({\beta}_2\) sebesar 0,78 (Approksimasi). Artinya, apabila jumlah kehadiran bertamabah 1 persen, maka nilai ujian naik sebesar 0,78 poin, dengan nilai X1 konstan.

2. itung Uji F dan uji t secara manual dan interpretasikan hasilnya?

Jawab :

Untuk menghitung atau melaukan uji F (Simultan) dan uji T (Parsial) secara manual, terdapat langkah - langkah seperti berikut :

# Matriks

X1 = c(2,3,4,5,6,5,3,7,6,8) # Variabell jumlah jam belajar
X2 = c(60,65,70,75,80,72,68,85,83,90)# Variabel tingkat keadiran
Y = c(65,70,75,80,85,78,72,90,88,95) # Nilai ujian

X <- cbind(1, X1, X2)
Y <- matrix(Y, ncol = 1)

n <- length(Y)
k <- 2
  1. Membuat matriks dengan data yang telah diberikan
# Menentuka beta
beta <- solve(t(X)%*%X) %*% t(X) %*% Y
beta
##          [,1]
##    16.1360113
## X1  1.1698379
## X2  0.7744891
  1. Menentukan \({\beta}\) dengan cara manual, fungsi solve adalah untuk melakukan invers terhadap \(X^TX\)
# Menghitung Y duga 
Y_hat <- X %*% beta
  1. Menghitung \(\hat{{Y}}\) dengan cara manual
# Menghitung residual
residual <- Y - Y_hat
  1. Menghitung residual dengan mengurangkan nilai Y dengan nilai \(\hat{{Y}}\)
#Menghitung SSE
SSE <- sum(residual^2)
  1. Menghitung SSE dengan menjumlahkan nilai residual yang di kuadratkan.
# Menghitung SST 
(SST <- sum((Y - mean(Y))^2))
## [1] 831.6
  1. Menghitung SST dengan menjumlahkan hasil dari pengurangan Y dengan mean Y yang di kuadratkan
# Menghitung SSR
(SSR <- SST - SSE)
## [1] 831.0376
  1. menghitung SSR dengan mengurangkan SST dengan SSE
  • Uji F (simultan)

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

Dengan hipotesis sebagai berikut :

  1. (tidak terdapat pengaruh) \[H_0∶\ \beta_1\ =\beta_2= 0\]

  2. (Terdapat pengaruh)

\[H_1∶minimal\ ada\ satu\ \beta_i\ \ne0\]

(SST <- sum((Y - mean(Y))^2))
## [1] 831.6
  1. Menghitung SST secara manual
(SSR <- SST - SSE)
## [1] 831.0376
  1. Menghitung SST dengan mengurangkan SST dengan SSE
F_hit <- (SSR/k) / (SSE/(n-k-1))
F_hit
## [1] 5172.116

Melihat dan membandingkan dengan nilai P-value

pf(5172.116, df1=2, df2=7, lower.tail=FALSE)
## [1] 8.042128e-12

Setelah dilakukan uji F (simultan), diperoleh hasil, yaitu :

  • Nilai F hitung sebesar 5172,116

  • Nilai p-value sebesar \(8,04\ \times{10}^{-12}\) (sangat kecil)

Nilai F hitung > P-value, sehingga \(H_0\) ditolak. Artinya variabel X1 dan X2 secara bersama - sama berpengaruh signifikan terhadap nilai ujian siswa.

A. Uji T (Parsial)

\[\sigma^2=\ \frac{SSE}{\left(n-k\right)}\]

Dalam uji T terdapat hipotesis untuk menentukan apakah variabel independen pengaruh signfikan terhadap variabel dependen, sebagai berikut :

  1. Jam belajar/minggu
  • (tidak berpengaruh)

\[H_0∶\ \beta_1\ =0\]

  • (berpengaruh)

\[H_1∶\ \beta_1\ \neq0\]

  1. Kehadiran
  • (tidak berpengaruh)

\[H_0∶\ \beta_2\ =0\]

  • (berpengaruh)

\[H_1∶\ \beta_2\ \neq0\]

#  Variansi Error
(sigma2 <- SSE/(n-k-1))
## [1] 0.08033827
# Varians koefisien
(var_beta <- sigma2 * solve(t(X)%*%X))
##                        X1          X2
##     8.0472918  0.76212839 -0.15740223
## X1  0.7621284  0.07752633 -0.01526748
## X2 -0.1574022 -0.01526748  0.00310445
# Standar error
SE <- sqrt(diag(var_beta))
SE
##                    X1         X2 
## 2.83677490 0.27843551 0.05571759
  • uji T (parsial)
t_hit <- beta / SE
t_hit
##         [,1]
##     5.688154
## X1  4.201468
## X2 13.900261
p_value_t <- 2 * pt(abs(t_hit), df=n-k-1, lower.tail=FALSE)
p_value_t
##            [,1]
##    7.444177e-04
## X1 4.028204e-03
## X2 2.357834e-06

Berdasarkan hasil tersebut dapat disimpulkan bahwa :

  • Nilai intercept sebesar 5,69 (Approksimasi), dengan nilai P-value sebesar 0,0007,44 di mana nilai P-value sangat kecil bahkan kurang dari 0,01, sehingga intercept berbeda dari nol secara statistik.

  • Nilai \(\beta_1\) sebesar 4,20 dengan nilai P-value sebesar 0,0040 di mana nilai P-value sangat kecil dan bahkan lebih kecil dari 0,01, sehingga variabel X1 (lama jam belajar/minggu) berpengaruh signifikan terhadap nilai ujian.

  • Nilai \(\beta_2\) sebesar 13,90 dan nilai P-value sebesar 0,0000024 (Approksimasi). nilai p-value sangat kecil < 0,01 sehingga dapat disimpulkan bahwa variabel X2 (kehadiran) berpengaruh signifikan terhadap nilai ujian siswa.

3. Hitung nilai R² dan Adjusted R² secara manual dan interpretasikan hasilnya?

Jawab :

  1. Menghitung Y duga \(\hat{{Y}}\)
(Y_duga <- X %*% beta)
##           [,1]
##  [1,] 64.94503
##  [2,] 69.98732
##  [3,] 75.02960
##  [4,] 80.07188
##  [5,] 85.11416
##  [6,] 77.74841
##  [7,] 72.31078
##  [8,] 90.15645
##  [9,] 87.43763
## [10,] 95.19873
  1. Menghitung \(R^2\)
R2 <- SSR / SST
R2
## [1] 0.9993238

Setelah dilakukan perhitungan nilai \(R^2\) nya adalah 0,9993238 artinya 90% variasi nilai ujian dapat dijelaskan oleh variabel X1 dan X2 dan 10% selainnya dijelaskan oleh vaktor lain diluar model.

  1. Menghitung Adjusted \(R^2\)
n <- length(Y)
k <- 2

Adj_R2 <- 1 - ((SSE/(n-k-1)) / (SST/(n-1)))
Adj_R2
## [1] 0.9991305

Berdasarkan nilai Adjusted \(R^2\) yang diperoleh sebesar 0,9991305. nilai ini merupakan nilai koreksi dari \(R^2\), sehingga nilai bisa berubah nai atau turun ketika variabel dianggap berpengaruh.

Nilai dari Adjusted ketepatannya dianggap lebih baik dari nilai \(R^2\).

4. Bandingkan hasil no 1 s.d 3 dengan fungsi lm.

Jawab :

library(lmtest)
## Loading required package: zoo
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
Data_ujian <- data.frame(
  X1 = c(2,3,4,5,6,5,3,7,6,8), # Variabell jumlah jam belajar
  X2 = c(60,65,70,75,80,72,68,85,83,90),# Variabel tingkat keadiran
  Y = c(65,70,75,80,85,78,72,90,88,95) # Nilai ujian
)

no_13 <- lm(Y ~ X1 +X2, data = Data_ujian)
summary(no_13)
## 
## Call:
## lm(formula = Y ~ X1 + X2, data = Data_ujian)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.31078 -0.14588 -0.05074  0.04440  0.56237 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 16.13601    2.83677   5.688 0.000744 ***
## X1           1.16984    0.27844   4.201 0.004028 ** 
## X2           0.77449    0.05572  13.900 2.36e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2834 on 7 degrees of freedom
## Multiple R-squared:  0.9993, Adjusted R-squared:  0.9991 
## F-statistic:  5172 on 2 and 7 DF,  p-value: 8.042e-12

Perbandingan yang terlihat diantaranya adalah :

  • Untuk metode manual ketelitian angka dibelakang nol yang lebih teliti dan apabila menggunakan fungsi lm angka di belakang nol sudah dilakukan pembulatan (Approksimasi).

  • Apabila menggunkan metode manual, maka hanya akan diperoleh nilai spesifik yang diingnkan, namun jika menggunakan metode dari fungsi lm, maka output yang dihasilkan akan berupa ringkasan beberapa nilai lainnya.

sedangkan nilai output yang dihasilkan bernilai sama

5. Prediksikan nilai ujian mahasiswa jika jumlah jam belajar 1 jam/minggu namun kehadirannya 100%?

Jawab :

# Model yang sudah di buat
model <- lm(Y ~ X1 + X2)

# Data untuk prediksi
new_data <- data.frame(X1 = 1, X2 = 100)

# Prediksi
predict(model, newdata = new_data)
##        1 
## 94.75476

Berdasarkan hasil yang diperoleh, nilai tersebut dengan X1 bertambah 1 jam dan X2 100 persen kehadiran, maka nilai \(\hat{{Y}}\) yang diperoleh adalah sebesar 94.75476. Dengan demikian, tingkat kehadiran sangat berpengaruh terhadap nilai ujian siswa.