Tugas 2 Pengantar Model Linier
Input data dan membuat data frame
(data<- data.frame(
nilai_UAS = c(65,70,75,80,85,78,72,90,88,95),
Jam_Belajar_Perminggu = c(2,3,4,5,6,5,3,7,6,8),
Tingkat_Kehadiran = c(60,65,70,75,80,72,68,85,83,90)
))## nilai_UAS Jam_Belajar_Perminggu Tingkat_Kehadiran
## 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
1. Estimasi Model
Ambil variabel dari data
Membuat Matriks X (menambahkan kolom intersep/1)
Estimasi OLS
## [,1]
## 16.1360113
## X1 1.1698379
## X2 0.7744891
## (Intercept) X1 X2
## 16.1360113 1.1698379 0.7744891
Keterangan:
- t() : transpose,
- %*% : perkalian matriks,
- solve() : invers.
Rumus OLS: \[ \beta = (X^T X)^{-1} X^T Y \]
Interpretasi:
Berdasarkan hasil estimasi parameter menggunakan metode Ordinary Least Squares (OLS), diperoleh model regresi yang sudah dibulatkan hasilnya yaitu sebagai berikut:
\[ Y = 16.14 + 1.17X_1 + 0.77X_2 \]
dengan:
- \(Y\) = nilai UAS
- \(X_1\) = Jam Belajar (jam/minggu)
- \(X_2\) = Tingkat Kehadiran (%)
Interpretasi dari model regresi tersebut adalah sebagai berikut:
Intersep (\(\beta_0\) = 16.14): Nilai intersep sebesar 16.14 menunjukkan bahwa ketika variabel Jam Belajar dan Tingkat Kehadiran bernilai nol, maka nilai UAS diprediksi sebesar 16.14. Namun, nilai ini kurang memiliki makna praktis karena kondisi tersebut tidak realistis dalam konteks data.
Koefisien Jam Belajar (\(\beta_1\) = 1.17): Koefisien sebesar 1.17 menunjukkan bahwa setiap kenaikan 1 satujan jam/minggu, akan meningkatkan nilai UAS sebesar 1.17, dengan asumsi variabel tingkat kehadiran tetap. Hal ini menunjukkan bahwa jam belajar memiliki pengaruh positif terhadap nilai UAS.
Koefisien Tingkat Kehadiran (\(\beta_2\) = 0.77): Koefisien sebesar 0.77 menunjukkan bahwa setiap kenaikan 1% tingkat kehadiran akan meningkatkan nilai UAS sebesar 0.77, dengan asumsi variabel Jam Belajar tetap. Hal ini menunjukkan bahwa tingkat kehadiran juga memiliki pengaruh positif terhadap nilai UAS.
Secara keseluruhan, variabel Jam Belajar dan Tingkat Kehadiran berpengaruh positif terhadap nilai UAS. Selain itu, variabel Jam Belajar memiliki pengaruh yang lebih besar dibandingkan Tingkat Kehadiran dalam meningkatkan nilai UAS.
2. Uji F dan Uji t Manual
a. Fungsi Uji t (Parsial)
uji_t_manual <- function(model, alpha = 0.05) {
beta <- coef(model)
se <- summary(model)$coefficients[,2]
t_hit <- b / se
n <- length(model$fitted.values)
k <- length(b) - 1
t_tabel <- qt(1 - alpha/2, df = n - k - 1)
keputusan <- abs(t_hit) > t_tabel
hasil <- data.frame(
Koefisien = b,
Std_Error = se,
t_hitung = t_hit,
t_tabel = t_tabel,
Keputusan = keputusan
)
return(hasil)
}
uji_t_manual(model)## Koefisien Std_Error t_hitung t_tabel Keputusan
## 16.1360113 2.83677490 5.688154 2.364624 TRUE
## X1 1.1698379 0.27843551 4.201468 2.364624 TRUE
## X2 0.7744891 0.05571759 13.900261 2.364624 TRUE
Interpretasi:
Rumus statistik uji t untuk masing-masing parameter adalah:
\[ t = \frac{\beta_i}{SE(\beta_i)} \]
dengan:
- \(\beta_i\) = koefisien regresi ke-i
- \(SE(\beta_i)\) = standar error koefisien ke-i
Kriteria pengujian:
- Tolak \(H_0\) jika \(|t_{hitung}| > t_{tabel}\)
- Terima \(H_0\) jika \(|t_{hitung}| \leq t_{tabel}\)
Berdasarkan hasil perhitungan, diperoleh nilai \(t_{hitung}\) untuk masing-masing parameter sebagai berikut:
- Intersep = 5.69
- Jam Belajar (\(X_1\)) = 4.20
- Tingkat Kehadiran (\(X_2\)) = 13.90
Dengan,
- taraf signifikansi : \(\alpha =
0.05\), dan
- derajat bebas : \(df = 7\),
Maka diperoleh nilai \(t_{tabel} = 2.364\).
Karena hasil dari seluruh nilai \(|t_{hitung}| > t_{tabel}\), maka dapat disimpulkan bahwa:
- Variabel jam belajar berpengaruh signifikan terhadap nilai UAS, dan
- Variabel tingkat kehadiran berpengaruh signifikan terhadap nilai UAS
b. Fungsi Uji F (Simultan)
uji_f_manual <- function(model, alpha = 0.05) {
R2 <- summary(model)$r.squared
n <- length(model$fitted.values)
k <- length(coef(model)) - 1
F_hit <- (R2 / k) / ((1 - R2) / (n - k - 1))
F_tabel <- qf(1 - alpha, df1 = k, df2 = n - k - 1)
keputusan <- F_hit > F_tabel
hasil <- data.frame(
F_hitung = F_hit,
F_tabel = F_tabel,
Keputusan = keputusan
)
return(hasil)
}
uji_f_manual(model)## F_hitung F_tabel Keputusan
## 1 5172.116 4.737414 TRUE
Intepretasi:
Rumus statistik uji F adalah:
\[ F = \frac{R^2 / k}{(1 - R^2) / (n - k - 1)} \]
dengan:
- \(R^2\) = koefisien determinasi
- \(k\) = jumlah variabel independen
- \(n\) = jumlah observasi
Kriteria pengujian:
- Tolak \(H_0\) jika \(F_{hitung} > F_{tabel}\)
- Terima \(H_0\) jika \(F_{hitung} \leq F_{tabel}\)
Diperoleh nilai:
- \(F_{hitung} = 5172.12\), dan
- \(F_{tabel} = 4.737\),
- taraf signifikansi :\(\alpha = 0.05\).
Karena \(F_{hitung} > F_{tabel}\), maka dapat disimpulkan bahwa model regresi secara keseluruhan signifikan.Hal ini berarti bahwa variabel jam beljar dan tingkat kehadiran secara bersama-sama berpengaruh terhadap nilai UAS.
3. Hitung Manual R² dan Adjusted R²
r2_manual <- function(model) {
# Ambil data
Y <- model$model[[1]]
Y_pred <- model$fitted.values
n <- length(Y)
k <- length(coef(model)) - 1
# Rata-rata
Y_bar <- mean(Y)
# Komponen
SST <- sum((Y - Y_bar)^2)
SSE <- sum((Y - Y_pred)^2)
SSR <- sum((Y_pred - Y_bar)^2)
# R2
R2 <- 1 - (SSE / SST)
# Adjusted R2
Adj_R2 <- 1 - ((SSE/(n - k - 1)) / (SST/(n - 1)))
hasil <- data.frame(
SST = SST,
SSE = SSE,
SSR = SSR,
R2 = R2,
Adjusted_R2 = Adj_R2
)
print(hasil)
}
r2_manual(model)## SST SSE SSR R2 Adjusted_R2
## 1 831.6 0.5623679 831.0376 0.9993238 0.9991305
Interpretasi
Koefisien determinasi (\(R^2\)) dihitung dengan rumus:
\[ R^2 = \frac{SSR}{SST} = 1 - \frac{SSE}{SST} \]
dengan:
- \(SST = \sum (Y_i - \bar{Y})^2\) (Total Sum of Squares)
- \(SSE = \sum (Y_i - \hat{Y}_i)^2\) (Error Sum of Squares)
- \(SSR = \sum (\hat{Y}_i - \bar{Y})^2\) (Regression Sum of Squares)
Sedangkan Adjusted \(R^2\) dihitung dengan rumus:
\[ Adjusted\ R^2 = 1 - \frac{SSE/(n - k - 1)}{SST/(n - 1)} \]
dengan:
- \(n\) = jumlah observasi
- \(k\) = jumlah variabel independen
Hasil Perhitungan
Berdasarkan hasil perhitungan diperoleh:
- \(SST = 831.6\)
- \(SSE = 0.5624\)
- \(SSR = 831.0376\)
Sehingga:
\[ R^2 = 0.9993 \]
\[ Adjusted\ R^2 = 0.9991 \]
Nilai \(R^2\) sebesar 0.9993 menunjukkan bahwa sebesar 99.93% variasi nilai UAS dapat dijelaskan oleh variabel jam belajar dan tingkat kehadiran.
Sisanya sebesar 0.07% dijelaskan oleh variabel lain di luar model yang tidak dimasukkan dalam penelitian.
Nilai Adjusted \(R^2\) sebesar 0.9991 menunjukkan bahwa setelah disesuaikan dengan jumlah variabel independen dan jumlah observasi, model masih mampu menjelaskan sebesar 99.91% variasi nilai UAS.
Karena nilai \(R^2\) dan Adjusted \(R^2\) sangat mendekati 1, maka model regresi memiliki kemampuan yang sangat baik dalam menjelaskan variasi nilai UAS.
Hal ini juga menunjukkan bahwa model yang dibangun memiliki tingkat kecocokan (goodness of fit) yang sangat tinggi terhadap data.
4. Perbandingan dengan Fungsi lm()
Untuk memverifikasi hasil perhitungan manual, digunakan fungsi
lm() pada R sebagai berikut:
##
## Call:
## lm(formula = nilai_UAS ~ Jam_Belajar_Perminggu + Tingkat_Kehadiran,
## 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 ***
## Jam_Belajar_Perminggu 1.16984 0.27844 4.201 0.004028 **
## Tingkat_Kehadiran 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
## (Intercept) Jam_Belajar_Perminggu Tingkat_Kehadiran
## 16.1360113 1.1698379 0.7744891
Hasil Uji t dan Uji F
## (Intercept) Jam_Belajar_Perminggu Tingkat_Kehadiran
## 5.688154 4.201468 13.900261
## value
## 5172.116
Koefisien Determinasi
## [1] 0.9993238
## [1] 0.9991305
Penjelasan:
Berdasarkan hasil yang diperoleh dari fungsi lm(),
diketahui bahwa:
Nilai koefisien regresi yang dihasilkan sama dengan hasil perhitungan manual, yaitu:
- Intersep = 16.14
- Jam Belajar (\(X_1\)) = 1.17
- Tingkat Kehadiran (\(X_2\)) = 0.77
Nilai \(t_{hitung}\) untuk masing-masing variabel juga sama dengan hasil perhitungan manual, sehingga dapat disimpulkan bahwa semua variabel independen berpengaruh signifikan terhadap variabel dependen.
Nilai \(F_{hitung}\) yang diperoleh sangat besar dan lebih besar dari \(F_{tabel}\), sehingga model regresi secara keseluruhan signifikan.
Nilai \(R^2\) dan Adjusted \(R^2\) yang mendekati 1 menunjukkan bahwa model memiliki kemampuan yang sangat baik dalam menjelaskan variasi nilai UAS.
Dengan demikian, hasil perhitungan manual yang dilakukan sebelumnya
telah sesuai dengan hasil yang diperoleh menggunakan fungsi
lm() pada R.
5. Prediksi Nilai Ujian
Q: Prediksi nilai UAS jika jumlah jam belajar 1 jam/minggu, dengan kehadiran 100% adalah?
A: Pada prediksi nilai UAS ini, saya lakukan menggunakan dua pendekatan, yaitu menggunakan model langsung dari hasil estimasi R dan menggunakan model yang telah dibulatkan.
1. Menggunakan Model dari Hasil Estimasi R
prediksi <- function(model, X1, X2) {
beta <- coef(model)
Y_pred <- beta[1] + beta[2]*X1 + beta[3]*X2
return(Y_pred)
}
prediksi(model, 1, 100)## (Intercept)
## 94.75476
Fungsi prediksi() menggunakan koefisien hasil estimasi
dari model regresi yang diperoleh melalui fungsi lm().
Nilai koefisien diambil menggunakan coef(model), kemudian
digunakan untuk menghitung nilai prediksi berdasarkan persamaan
regresi.
Pendekatan ini menghasilkan prediksi yang lebih akurat karena menggunakan nilai koefisien asli tanpa pembulatan.
2. Menggunakan Model yang Telah Dibulatkan
## [1] 94.31
Fungsi prediksi_langsung() menggunakan model regresi
yang telah dibulatkan hingga dua angka desimal. Perhitungan dilakukan
secara langsung dengan mensubstitusikan nilai variabel ke dalam
persamaan regresi.
Pendekatan ini lebih sederhana dan mudah digunakan, namun hasilnya sedikit kurang presisi dibandingkan dengan menggunakan koefisien asli dari model.
Interpretasi:
Untuk melakukan prediksi nilai UAS, digunakan model regresi yang telah diperoleh, yaitu:
\[ Y = 16.14 + 1.17X_1 + 0.77X_2 \]
Diketahui:
- \(X_1 = 1\) (jumlah jam belajar perminggu)
- \(X_2 = 100\) (tingkat kehadiran 100%)
Maka prediksi nilai UAS adalah:
\[ Y = 16.14 + 1.17(1) + 0.77(100) \]
\[ Y = 16.14 + 1.17 + 77 \]
\[ Y = 94.31 \]
Sehingga, nilai UAS yang diprediksi adalah sebesar 94.31.
Kesimpulan:
Kedua metode menghasilkan nilai prediksi yang hampir sama. Namun, penggunaan model dari hasil estimasi R lebih disarankan karena memberikan hasil yang lebih akurat, sedangkan model yang telah dibulatkan lebih praktis untuk perhitungan manual secara tertulis.