Tugas Mandiri PML P6
Studi Kasus
Seorang peneliti ingin menganalisis faktor-faktor yang mempengaruhi nilai ujian mahasiswa (\(Y\)). Diduga bahwa nilai ujian dipengaruhi oleh:
\(X_1\) = jumlah jam belajar (jam/minggu)
\(X_2\) = tingkat kehadiran (%)
Peneliti mengumpulkan data dari 10 mahasiswa sebagai berikut:
# Input Data
data <- data.frame(
No = 1:10,
Y = c(65, 70, 75, 80, 85, 78, 72, 90, 88, 95),
X1 = c(2, 3, 4, 5, 6, 5, 3, 7, 6, 8),
X2 = c(60, 65, 70, 75, 80, 72, 68, 85, 83, 90)
)
print(data)## No Y X1 X2
## 1 1 65 2 60
## 2 2 70 3 65
## 3 3 75 4 70
## 4 4 80 5 75
## 5 5 85 6 80
## 6 6 78 5 72
## 7 7 72 3 68
## 8 8 90 7 85
## 9 9 88 6 83
## 10 10 95 8 90
PERTANYAAN
- Estimasikan model regresi linier berganda menggunakan metode OLS berbasis matriks dan interpretasikan hasilnya!
- Hitung uji F dan uji t secara manual dan interpretasikan hasilnya!
- Hitung nilai \(R^2\) dan Adjusted \(R^2\) secara manual dan interpretasikan hasilnya!
- Bandingkan hasil nomor 1-3 dengan fungsi lm!
- Prediksi nilai ujian mahasiswa jika jumlah jam belajar 1 jam/minggu namun kehadirannya 100%
Estimasi Model Regresi Linier Berganda
Model regresi linier berganda dengan metode Ordinary Least Squares (OLS) dalam bentuk matriks digunakan untuk menjelaskan hubungan antara satu variabel dependen dengan beberapa variabel independen secara bersamaan. Model ini dapat dinyatakan sebagai \(\mathbf{Y} = \mathbf{X}\boldsymbol{\beta} + \boldsymbol{\varepsilon}\), di mana \(\mathbf{Y}\) merupakan vektor pengamatan variabel respon, \(\mathbf{X}\) adalah matriks yang berisi konstanta dan variabel penjelas, \(\boldsymbol{\beta}\) adalah vektor parameter yang ingin diestimasi, dan \(\boldsymbol{\varepsilon}\) adalah vektor error. Metode OLS bertujuan untuk menentukan nilai parameter yang meminimalkan jumlah kuadrat selisih antara nilai aktual dan nilai prediksi. Dengan pendekatan aljabar matriks, diperoleh estimator parameter yaitu \(\hat{\boldsymbol{\beta}} = (\mathbf{X}'\mathbf{X})^{-1}\mathbf{X}'\mathbf{Y}\), dengan syarat bahwa matriks \(\mathbf{X}'\mathbf{X}\) dapat diinvers.
# Membentuk Matriks
X <- as.matrix(cbind(1, data$X1, data$X2))
Y <- as.matrix(data$Y)
# Menghitung Beta
beta_hat <- solve(t(X) %*% X) %*% t(X) %*% Y
colnames(beta_hat) <- "Estimasi"
rownames(beta_hat) <- c("Intercept (b0)", "Jam Belajar (b1)", "Kehadiran (b2)")
print(beta_hat)## Estimasi
## Intercept (b0) 16.1360113
## Jam Belajar (b1) 1.1698379
## Kehadiran (b2) 0.7744891
Model regresi linier berganda yang didapat adalah:
\[ \hat{Y} = 16.136 + 1.1698X_1 + 0.7745X_2 \]
Nilai intercept sebesar 16.136 mengindikasikan bahwa ketika jam belajar dan kehadiran bernilai nol, maka nilai prediksi \(Y\) berada pada angka 16.136 satuan. Koefisien regresi untuk variabel jumlah jam belajar (\(X_1\)) sebesar 1.1698 menunjukkan bahwa setiap kenaikan satu jam/minggu jam belajar, dengan kehadiran tetap, akan diikuti peningkatan nilai \(Y\) sebesar 1.1698 satuan. Di sisi lain, koefisien tingkat kehadiran (\(X_2\)) sebesar 0.7745 berarti bahwa setiap penambahan 1% kehadiran, dengan jam belajar konstan, akan meningkatkan nilai \(Y\) sebesar 0.7745 satuan.
Uji-F
Sebelum melakukan pengujian secara parsial, terlebih dahulu dilakukan pengujian simultan melalui Uji-F. Pengujian ini bertujuan untuk mengetahui apakah variabel independen, yaitu jumlah jam belajar (\(X_1\)) dan tingkat kehadiran (\(X_2\)), secara bersama-sama berpengaruh terhadap variabel dependen, yaitu nilai ujian mahasiswa (\(Y\)).
n <- nrow(data)
k <- 2 # jumlah variabel independen
Y_hat <- X %*% beta_hat
e <- Y - Y_hat # Residual
SSR <- sum((Y_hat - mean(Y))^2)
SSE <- sum(e^2)
SST <- sum((Y - mean(Y))^2)
# Uji F
MS_reg <- SSR / k
MS_err <- SSE / (n - k - 1)
F_stat <- MS_reg / MS_err
print(F_stat)## [1] 5172.116
Berikut adalah uji hipotesisinya:
1. Hipotesis
\(H_0: \beta_1 = \beta_2 = 0\)
\(H_1: \text{minimal ada satu } \beta_i \neq 0\)
2. Taraf Signifikansi
\(\alpha=5\%\)
3. Daerah Kritis
Tolak \(H_0\) jika \(F-hitung\) > \(F-tabel=4.74\)
4. Keputusan
Karena nilai \(F-hitung=5172.116\) > \(F-tabel=4.74\) maka diputuskan tolak \(H_0\)
5. Kesimpulan
Secara bersama-sama variabel jumlah jam belajar (\(X_1\)) dan tingkat kehdiran (\(X_2\)) memiliki pengaruh yang signifikan terhadap nilai ujian mahasiswa (\(Y\)). Oleh karena itu, model regresi yang digunakan dinilai mampu menjelaskan hubungan antara variabel independen dan variabel dependen secara keseluruhan.
Uji-t
Uji-t merupakan metode pengujian yang digunakan untuk menilai pengaruh setiap variabel independen secara individu terhadap variabel dependen. Dengan uji ini, dapat diketahui apakah masing-masing variabel bebas, seperti jumlah jam belajar (\(X_1\)) dan tingkat kehadiran (\(X_2\)), memberikan pengaruh yang signifikan secara parsial terhadap nilai ujian mahasiswa (\(Y\)).
# Uji t
var_covar <- as.numeric(MS_err) * solve(t(X) %*% X)
se_beta <- sqrt(diag(var_covar))
t_stat <- beta_hat / se_beta
print(t_stat)## Estimasi
## Intercept (b0) 5.688154
## Jam Belajar (b1) 4.201468
## Kehadiran (b2) 13.900261
Uji hipotesis untuk \(X_1\):
1. Hipotesis
\(H_0: \beta_1 = 0\)
\(H_1:\beta_1 \neq 0\)
2. Taraf Signifikansi
\(\alpha=5\%\)
3. Daerah Kritis
Tolak \(H_0\) jika \(t-hitung\) > \(t-tabel=2.365\)
4. Keputusan
Karena nilai \(t-hitung=4.201468\) > \(t-tabel=2.365\) maka diputuskan tolak \(H_0\)
5. Kesimpulan
Berdasarkan keputusan, variabel jumlah jam belajar (\(X_1\)) memiliki pengaruh yang signifikan terhadap nilai ujian mahasiswa (\(Y\)).
Uji hipotesis untuk \(X_2\):
1. Hipotesis
\(H_0: \beta_2 = 0\)
\(H_1:\beta_2 \neq 0\)
2. Taraf Signifikansi
\(\alpha=5\%\)
3. Daerah Kritis
Tolak \(H_0\) jika \(t-hitung\) > \(t-tabel=2.365\)
4. Keputusan
Karena nilai \(t-hitung=13.900261\) > \(t-tabel=2.365\) maka diputuskan tolak \(H_0\)
5. Kesimpulan
Berdasarkan keputusan, variabel tingkat kehadiran (\(X_2\)) memiliki pengaruh yang signifikan terhadap nilai ujian mahasiswa (\(Y\)).
Koefisien Determinansi
Koefisien determinasi \(R^2\) digunakan untuk mengukur seberapa besar variasi pada variabel dependen yang mampu dijelaskan oleh variabel independen dalam model, dengan nilai berkisar antara 0 hingga 1, di mana nilai yang lebih tinggi menunjukkan model yang lebih baik. Sedangkan Adjusted \(R^2\) merupakan nilai yang telah disesuaikan dengan jumlah variabel dan ukuran sampel, sehingga memberikan gambaran yang lebih tepat karena mengoreksi kecenderungan \(R^2\) yang meningkat setiap kali variabel baru ditambahkan, meskipun tidak semuanya berpengaruh signifikan.
## [1] 0.9993238
## [1] 0.9991305
Nilai \(R^2\) sebesar 0.9993 menunjukkan bahwa sekitar 99.93% variasi pada nilai ujian mahasiswa (\(Y\)) mampu dijelaskan oleh variabel jumlah jam belajar (\(X_1\)) dan tingkat kehadiran (\(X_2\)) yang terdapat dalam model, sedangkan sisanya sebesar 00.07% dijelaskan oleh faktor lain di luar model.
Adapun Adjusted \(R^2\) sebesar 0.9991 menunjukkan bahwa setelah memperhitungkan jumlah variabel yang digunakan, sekitar 99.91% pada nilai ujian mahasiswa (\(Y\)) masih dapat dijelaskan oleh model. Nilai ini dianggap lebih representatif karena telah disesuaikan dengan kompleksitas model yang digunakan.
Fungsi lm
Fungsi lm() dalam R digunakan untuk menyusun dan mengestimasi model regresi linier, baik yang melibatkan satu maupun beberapa variabel bebas. Fungsi ini menggunakan pendekatan Ordinary Least Squares (OLS), yaitu menentukan parameter model dengan cara meminimalkan jumlah kuadrat selisih antara nilai observasi dan nilai hasil prediksi. Penulisannya umumnya berbentuk lm(formula, data), di mana formula menunjukkan hubungan antara variabel respon dan variabel penjelas (misalnya \(y\) ~ \(x_1\) + \(x_2\)), sedangkan data merupakan dataset yang digunakan. Output dari fungsi ini adalah sebuah objek model yang berisi berbagai informasi, seperti koefisien regresi, residual, nilai prediksi, serta ukuran kesesuaian model. Objek tersebut dapat dianalisis lebih lanjut menggunakan fungsi lain, seperti summary() untuk melihat ringkasan hasil estimasi, anova() untuk analisis varians, dan predict() untuk melakukan prediksi.
##
## Call:
## lm(formula = Y ~ X1 + X2, data = data)
##
## 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
Hasil perhitungan manual dan penggunaan fungsi lm()
menghasilkan output yang sama. Dari perhitungan manual dengan pendekatan
matriks \((\mathbf{X}'\mathbf{X})^{-1}\mathbf{X}'\mathbf{Y}\),
diperoleh nilai koefisien regresi berupa intercept 16.136, koefisien
(\(X_1\)) sebesar 1.1698, dan koefisien
(\(X_2\)) sebesar 0.7745, yang sesuai
dengan hasil dari fungsi lm(). Selain itu, nilai uji
statistik seperti \(t-hitung\), \(F-hitung\) (5172.116), serta nilai \(R^2\) (0.9993) dan Adjusted \(R^2\) (0.9991) juga menunjukkan kesamaan.
Perbedaan utama terletak pada prosesnya, di mana metode manual
membutuhkan langkah perhitungan yang lebih panjang dan detail, sedangkan
fungsi lm() dapat langsung memberikan hasil secara otomatis
dan lebih lengkap, sehingga lebih praktis dan efisien untuk
digunakan.
Prediksi Nilai Ujian
# Prediksi Nilai Ujian
prediksi_baru <- beta_hat[1] + (beta_hat[2] * 1) + (beta_hat[3] * 100)
cat("Prediksi nilai ujian untuk 1 jam belajar dan 100% kehadiran adalah:", prediksi_baru)## Prediksi nilai ujian untuk 1 jam belajar dan 100% kehadiran adalah: 94.75476
Berdasarkan persamaan regresi yang telah dibentuk, dilakukan estimasi nilai ujian untuk kondisi jam belajar sebesar 1 jam/minggu dan tingkat kehadiran 100%. Dari hasil perhitungan diperoleh nilai prediksi sebesar 94.75476. Artinya, jika seseorang belajar selama 1 jam dan memiliki kehadiran penuh, maka nilai ujian yang diperkirakan berada di kisaran 94.75. Nilai ini diperoleh dengan memasukkan \(X_1=1\) dan \(X_2=100\) ke dalam model regresi, sehingga mencerminkan hasil prediksi berdasarkan pola hubungan dalam data.