1 Kasus

Akan dilakukan analisis pengaruh IQ dan tingkat kehadiran mahasiswa terhadap nilai Ujian Akhir Semester (UAS). Dengan data yang akan diuji tersiri dari 10 mahasiswa sebagai sampel. Pendekatan yang diguakan yaitu regresi linier berganda, dengan:
Akan dilakukan analisis pengaruh IQ dan tingkat kehadiran mahasiswa terhadap nilai Ujian Akhir Semester (UAS). Dengan data yang akan diuji tersiri dari 10 mahasiswa sebagai sampel. Pendekatan yang diguakan yaitu regresi linier berganda, dengan:
  • Variabel dependen (Y): Nilai UAS

  • Variabel independen (X): kehadirah sebagai (X1) dan IQ sebagai (X2)

2 Penyelesaian

  • Pemodelan Regresi Berganda

    1. Input Data di R

      # Data
      IQ <- c(110,120,115,130,110,120,120,125,110,120)
      Kehadiran <- c(60,70,75,80,80,90,95,95,100,100)
      Nilai <- c(65,70,75,75,80,80,85,95,90,98)
      
      data <- data.frame(IQ, Kehadiran, Nilai)
      data
      ##     IQ Kehadiran Nilai
      ## 1  110        60    65
      ## 2  120        70    70
      ## 3  115        75    75
      ## 4  130        80    75
      ## 5  110        80    80
      ## 6  120        90    80
      ## 7  120        95    85
      ## 8  125        95    95
      ## 9  110       100    90
      ## 10 120       100    98
    1. Hitung Manual (Metode Matriks)

      Model yang digunakan:

      ​

      Dengan rumus estimator:

      # Membentuk matriks X (tambahkan intercept)
      X <- cbind(1, data$Kehadiran, data$IQ)
      
      # Matriks Y
      Y <- matrix(data$Nilai, ncol = 1)
      
      # Hitung beta
      beta <- solve(t(X) %*% X) %*% t(X) %*% Y
      
      beta
      ##            [,1]
      ## [1,] 23.0544545
      ## [2,]  0.7372330
      ## [3,] -0.0343275

      Secara perhitungan manual model yang di dapatkan yaitu:

      Y = 23.0544545 + 0.7372330 (Kehadiran) - 0.0343275 (IQ)

      Intersep sebesar 23.05 merupakan nilai prediksi UAS ketika variabel kehadiran dan IQ bernilai nol, meskipun kondisi ini tidak selalu memiliki makna praktis dalam konteks data. Setiap kenaikan satu satuan kehadiran maka nilai naik sekitar 0.737 poin dengan asumsi IQ tetap. Lalu Koefisien IQ bernilai negatif sebesar -0.034, yang menunjukkan arah hubungan negatif.

    2. Bandingkan dengan Fungsi lm()

      model <- lm(Nilai ~ Kehadiran + IQ, data = data)
      summary(model)
      ## 
      ## Call:
      ## lm(formula = Nilai ~ Kehadiran + IQ, data = data)
      ## 
      ## Residuals:
      ##     Min      1Q  Median      3Q     Max 
      ## -5.2861 -2.8939  0.0296  1.6791  6.1993 
      ## 
      ## Coefficients:
      ##             Estimate Std. Error t value Pr(>|t|)    
      ## (Intercept) 23.05445   25.57161   0.902 0.397247    
      ## Kehadiran    0.73723    0.10918   6.752 0.000264 ***
      ## IQ          -0.03433    0.22051  -0.156 0.880686    
      ## ---
      ## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
      ## 
      ## Residual standard error: 4.346 on 7 degrees of freedom
      ## Multiple R-squared:  0.8719, Adjusted R-squared:  0.8353 
      ## F-statistic: 23.82 on 2 and 7 DF,  p-value: 0.0007523
      # Tabel Perbandingan
      # Koefisien manual (hasil dari beta)
      beta_manual <- as.numeric(beta)
      
      # Koefisien dari lm()
      beta_lm <- coef(model)
      
      # Nama variabel
      variabel <- c("Intercept", "Kehadiran", "IQ")
      
      # Buat data frame perbandingan
      perbandingan <- data.frame(
        Variabel = variabel,
        Manual = round(beta_manual, 6),
        lm = round(beta_lm, 6),
        Selisih = round(beta_manual - beta_lm, 10)
      )
      
      # Tampilkan tabel
      perbandingan
      ##              Variabel    Manual        lm Selisih
      ## (Intercept) Intercept 23.054454 23.054454       0
      ## Kehadiran   Kehadiran  0.737233  0.737233       0
      ## IQ                 IQ -0.034327 -0.034327       0

      Model manual dan lm() menghasilkan koefisien yang sama, ini membuktikan perhitungan manual valid dan fungsi lm() bekerja dengan baik.

  • Uji F

    Pada uji F akan di uji

    1. Hitung Manual

      # Prediksi
      Y_hat <- X %*% beta
      
      # Total Sum of Squares
      SST <- sum((Y - mean(Y))^2)
      
      # Regression Sum of Squares
      SSR <- sum((Y_hat - mean(Y))^2)
      
      # Error Sum of Squares
      SSE <- sum((Y - Y_hat)^2)
      
      # Jumlah variabel & sampel
      k <- 2
      n <- 10
      
      # Hitung F
      F_hit <- (SSR/k) / (SSE/(n - k - 1))
      F_hit
      ## [1] 23.82303
    2. Gunakan model lm

      summary(model)
      ## 
      ## Call:
      ## lm(formula = Nilai ~ Kehadiran + IQ, data = data)
      ## 
      ## Residuals:
      ##     Min      1Q  Median      3Q     Max 
      ## -5.2861 -2.8939  0.0296  1.6791  6.1993 
      ## 
      ## Coefficients:
      ##             Estimate Std. Error t value Pr(>|t|)    
      ## (Intercept) 23.05445   25.57161   0.902 0.397247    
      ## Kehadiran    0.73723    0.10918   6.752 0.000264 ***
      ## IQ          -0.03433    0.22051  -0.156 0.880686    
      ## ---
      ## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
      ## 
      ## Residual standard error: 4.346 on 7 degrees of freedom
      ## Multiple R-squared:  0.8719, Adjusted R-squared:  0.8353 
      ## F-statistic: 23.82 on 2 and 7 DF,  p-value: 0.0007523
      anova(model)
      ## Analysis of Variance Table
      ## 
      ## Response: Nilai
      ##           Df Sum Sq Mean Sq F value    Pr(>F)    
      ## Kehadiran  1 899.43  899.43 47.6218 0.0002312 ***
      ## IQ         1   0.46    0.46  0.0242 0.8806861    
      ## Residuals  7 132.21   18.89                      
      ## ---
      ## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
    3. Keputusan

      Dari setiap perhitungan yang dilakukan didapatkan

      • F hitung (manual) = 23.82303

      • Dari lm():

        1. F-statistic = 23.82
        2. p-value = 0.0007523
        3. df = (2, 7)

      Karna nilai p-value = 0.0007523 lebih kecil dari nilai alpha = 0.05, maka Tolak H0. Dari F tabel yang di peroleh F(0.05; 2, 7) = 4.47, nilai F tabel ini jauh lebih kecil dibanfingkan dengan nilai F hitung = 23.82, Maka H0 ditolak. Hal ini menunjukkan bahwa secara simultan variabel kehadiran dan IQ berpengaruh signifikan terhadap nilai UAS. Dengan demikian, model regresi yang digunakan layak untuk menjelaskan hubungan antara variabel independen dan dependen.

  • Uji T

    1. Cara Manual

      # Varians error
      sigma2 <- SSE / (n - k - 1)
      
      # Varians beta
      var_beta <- sigma2 * solve(t(X) %*% X)
      
      # Standard error
      se_beta <- sqrt(diag(var_beta))
      
      # t hitung
      t_hit <- beta / se_beta
      t_hit
      ##            [,1]
      ## [1,]  0.9015644
      ## [2,]  6.7524718
      ## [3,] -0.1556715
    2. Ambil dari summary(model)

      summary(model)
      ## 
      ## Call:
      ## lm(formula = Nilai ~ Kehadiran + IQ, data = data)
      ## 
      ## Residuals:
      ##     Min      1Q  Median      3Q     Max 
      ## -5.2861 -2.8939  0.0296  1.6791  6.1993 
      ## 
      ## Coefficients:
      ##             Estimate Std. Error t value Pr(>|t|)    
      ## (Intercept) 23.05445   25.57161   0.902 0.397247    
      ## Kehadiran    0.73723    0.10918   6.752 0.000264 ***
      ## IQ          -0.03433    0.22051  -0.156 0.880686    
      ## ---
      ## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
      ## 
      ## Residual standard error: 4.346 on 7 degrees of freedom
      ## Multiple R-squared:  0.8719, Adjusted R-squared:  0.8353 
      ## F-statistic: 23.82 on 2 and 7 DF,  p-value: 0.0007523
    3. Derajat Bebas

    4. Keputusan Uji

      p-value < alpha -> Tolak H0

      p-value > alpha -> Gagal Tolak H0

      Diketahui nilai alpha sebesar 0.05 (dua arah) dan df sebesar 7, maka nilai T tabel t(0.025; 7) sebesar 2.365.

      # Ambil hasil summary
      hasil <- summary(model)$coefficients
      
      # Ambil hanya variabel X1 dan X2
      hasil_var <- hasil[c("Kehadiran", "IQ"), ]
      
      # Parameter
      alpha <- 0.05
      df <- n - k - 1
      t_tabel <- qt(1 - alpha/2, df)
      
      # Buat tabel gabungan
      uji_t_gabungan <- data.frame(
        Variabel = rownames(hasil_var),
        t_hitung = round(hasil_var[, "t value"], 3),
        t_tabel = round(t_tabel, 3),
        p_value = round(hasil_var[, "Pr(>|t|)"], 6),
        Keputusan_t = ifelse(abs(hasil_var[, "t value"]) > t_tabel,
                             "Tolak H0",
                             "Gagal Tolak H0"),
        Keputusan_p = ifelse(hasil_var[, "Pr(>|t|)"] < alpha,
                             "Tolak H0",
                             "Gagal Tolak H0")
      )
      
      # Tampilkan
      uji_t_gabungan
      ##            Variabel t_hitung t_tabel  p_value    Keputusan_t    Keputusan_p
      ## Kehadiran Kehadiran    6.752   2.365 0.000264       Tolak H0       Tolak H0
      ## IQ               IQ   -0.156   2.365 0.880686 Gagal Tolak H0 Gagal Tolak H0

      Baik pendekatan melalui T tabel maupun p-value sepakatt memberikan keputusan yang sama, kehadirah menjadi variabel berpengruh signifikan terhadap nilai UAS, sedangkan IQ menjad variabel yang tidak memberikan pengaruh terhadap nilai UAS.

  • Koefisien determinasi (R²)

    Gunakan rumus:

    R2 <- SSR / SST
    R2
    ## [1] 0.8719029
    summary(model)$r.squared
    ## [1] 0.8719029

    Berdasarkan hasil perhitungan diperoleh nilai koefisien determinasi (R²) sebesar 0.8719, yang menunjukkan bahwa sebesar 87.19% variasi nilai UAS dapat dijelaskan oleh variabel kehadiran dan IQ, sedangkan sisanya sebesar 12.81% dijelaskan oleh faktor lain di luar model.

  • Uji Asumsi Klasik

    1. Uji Normalitas Residual

      res <- residuals(model)
      
      shapiro.test(res)
      ## 
      ##  Shapiro-Wilk normality test
      ## 
      ## data:  res
      ## W = 0.95125, p-value = 0.6833
      # Visualisasi
      qqnorm(res)
      qqline(res, col="red")

      Nilai p-value yang dihasilkan dari uji Shapiro-Wilk sebesar 0.6833 dimana lebih besar dari nilai alpha 0.05 dari hasil ini maka residual berdistribusi normal.

      Untuk Q-Q plot, grafik menghasilkan titik-titik yang mengikuti garis diagonal, dan tidak terlihat adanya pola aneh maka distribusi residual mendekati normal.

    2. Uji Homoskedastisitas

      library(lmtest)
      ## Loading required package: zoo
      ## 
      ## Attaching package: 'zoo'
      ## The following objects are masked from 'package:base':
      ## 
      ##     as.Date, as.Date.numeric
      bptest(model)
      ## 
      ##  studentized Breusch-Pagan test
      ## 
      ## data:  model
      ## BP = 5.905, df = 2, p-value = 0.05221
      # Plot
      plot(fitted(model), res)
      abline(h=0, col="red")

      Berdasarkan uji Breusch-Pagan diperoleh p-value sebesar 0.05221 (> 0.05), sehingga tidak terdapat cukup bukti adanya heteroskedastisitas. Hal ini didukung oleh grafik scatterplot antara residual dan nilai prediksi yang menunjukkan penyebaran acak tanpa pola tertentu. Dengan demikian, asumsi homoskedastisitas dapat dianggap terpenuhi. Namun nilai p-value yang mendekati batas signifikansi menunjukkan bahwa meskipun tidak terdapat bukti kuat adanya heteroskedastisitas, indikasi awal tetap perlu diperhatikan

    3. Uji Multikolinearitas

      library(car)
      ## Loading required package: carData
      vif(model)
      ## Kehadiran        IQ 
      ##  1.055571  1.055571

      Berdasarkan hasil uji multikolinearitas menggunakan Variance Inflation Factor (VIF), diperoleh nilai VIF untuk variabel kehadiran dan IQ masing-masing sebesar 1.055571 (< 10). Hal ini menunjukkan bahwa tidak terdapat multikolinearitas antar variabel independen dalam model regresi.

    4. Uji Autokorelasi

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

      Berdasarkan uji Durbin-Watson diperoleh nilai DW sebesar 2.594 dengan p-value sebesar 0.8013 (> 0.05), sehingga tidak terdapat autokorelasi dalam model regresi. Dengan demikian, asumsi independensi residual terpenuhi.

  • Kesimpulan

    Berdasarkan hasil analisis regresi linier berganda yang telah dilakukan, diperoleh model:

    Y = 23.0544545 + 0.7372330 (Kehadiran) - 0.0343275 (IQ)

    Hasil perhitungan manual dan menggunakan fungsi lm() menunjukkan koefisien yang sama, sehingga dapat disimpulkan bahwa perhitungan manual telah dilakukan dengan benar.

    Berdasarkan uji F, diperoleh bahwa model regresi secara simultan signifikan, yang berarti variabel kehadiran dan IQ secara bersama-sama berpengaruh terhadap nilai UAS. Namun, berdasarkan uji t, hanya variabel kehadiran yang berpengaruh signifikan terhadap nilai UAS, sedangkan variabel IQ tidak menunjukkan pengaruh yang signifikan.

    Nilai koefisien determinasi (R²) sebesar 0.8719 menunjukkan bahwa sebesar 87.19% variasi nilai UAS dapat dijelaskan oleh variabel kehadiran dan IQ, sedangkan sisanya sebesar 12.81% dipengaruhi oleh faktor lain di luar model.

    Berdasarkan uji asumsi klasik, model regresi telah memenuhi asumsi normalitas, tidak terjadi multikolinearitas, tidak terdapat autokorelasi, dan tidak terdapat indikasi heteroskedastisitas, sehingga model dapat dianggap layak digunakan.