Seorang mahasiswa sedang belajar coding menggunakan R setiap hari. Pada minggu pertama kemampuan meningkat sangat cepat karena banyak hal baru dipelajari. Namun setelah beberapa bulan, peningkatan kemampuan mulai melambat karena materi semakin sulit dan proses belajar menjadi lebih kompleks. Pola seperti ini sering membentuk hubungan logaritmik, yaitu meningkat cepat di awal lalu perlahan melandai.

Load Data

data <- read.csv("D:/Youtube/Regresi/dataloga.csv")
head(data)
##   X jam_belajar skor
## 1 1           1   43
## 2 2           2   57
## 3 3           3   70
## 4 4           4   70
## 5 5           5   74
## 6 6           6   83

Plot Data

plot(data$jam_belajar,data$skor,
     pch = 19,
     col = "blue",
     xlab = "Jam Belajar",
     ylab = "Skor")

Model Linear-Log

lnlog <- lm(data$skor~log(data$jam_belajar))
summary(lnlog)
## 
## Call:
## lm(formula = data$skor ~ log(data$jam_belajar))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -7.9356 -1.9702 -0.3231  1.8380  7.8427 
## 
## Coefficients:
##                       Estimate Std. Error t value Pr(>|t|)    
## (Intercept)            45.7048     1.2283   37.21   <2e-16 ***
## log(data$jam_belajar)  17.8248     0.3128   56.99   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.194 on 118 degrees of freedom
## Multiple R-squared:  0.9649, Adjusted R-squared:  0.9646 
## F-statistic:  3248 on 1 and 118 DF,  p-value: < 2.2e-16

Model Log-Linear

logln <- lm(log(data$skor)~data$jam_belajar)
summary(logln)
## 
## Call:
## lm(formula = log(data$skor) ~ data$jam_belajar)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.71144 -0.03999  0.01956  0.06248  0.14458 
## 
## Coefficients:
##                   Estimate Std. Error t value Pr(>|t|)    
## (Intercept)      4.4684870  0.0193978  230.36   <2e-16 ***
## data$jam_belajar 0.0041528  0.0002782   14.93   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.1056 on 118 degrees of freedom
## Multiple R-squared:  0.6537, Adjusted R-squared:  0.6508 
## F-statistic: 222.8 on 1 and 118 DF,  p-value: < 2.2e-16

Model Log-Log

loglog <- lm(log(data$skor)~log(data$jam_belajar))
summary(loglog)
## 
## Call:
## lm(formula = log(data$skor) ~ log(data$jam_belajar))
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.24979 -0.02046  0.00108  0.02349  0.08906 
## 
## Coefficients:
##                       Estimate Std. Error t value Pr(>|t|)    
## (Intercept)           4.010987   0.015839  253.24   <2e-16 ***
## log(data$jam_belajar) 0.185773   0.004033   46.06   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.04118 on 118 degrees of freedom
## Multiple R-squared:  0.9473, Adjusted R-squared:  0.9469 
## F-statistic:  2122 on 1 and 118 DF,  p-value: < 2.2e-16

Prediksi

Ylnlog <- predict(lnlog)
Ylogln <- exp(predict(logln))
Yloglog <- exp(predict(loglog))

Visualisasi

plot(data$jam_belajar,
     data$skor,
     pch = 19,
     col = "blue",
     xlab = "Jam Belajar",
     ylab = "Skor")

lines(data$jam_belajar,
      Ylnlog,
      col = "red",
      lwd = 3)

lines(data$jam_belajar,
      Ylogln,
      col = "green",
      lwd = 3)

lines(data$jam_belajar,
      Yloglog,
      col = "pink",
      lwd = 3)