Seorang content creator baru mulai membangun channel YouTube edukasi statistika. Pada awalnya jumlah subscriber bertambah sedikit. Namun setelah beberapa video mulai viral, pertumbuhan subscriber meningkat sangat cepat dari hari ke hari.

Kenaikan ini tidak lagi bersifat tetap. Misalnya di awal hanya bertambah 10 subscriber per hari, tetapi beberapa minggu kemudian bisa bertambah ratusan subscriber dalam sehari. Fenomena seperti ini menunjukkan pola pertumbuhan eksponensial, yaitu pertumbuhan yang semakin cepat seiring waktu karena perubahan terjadi secara persentase atau multiplikatif.

Oleh karena itu, regresi eksponensial digunakan untuk memodelkan hubungan antara waktu dan jumlah subscriber agar dapat diketahui pola pertumbuhannya serta digunakan untuk melakukan prediksi di masa mendatang.

Load Data

data <- read.csv("D:/Youtube/Regresi/dataexp.csv")
head(data)
##   X hari subscriber
## 1 1    1        110
## 2 2    2        119
## 3 3    3        162
## 4 4    4        131
## 5 5    5        134
## 6 6    6        175

Plot Data

plot(data$hari, data$subscriber,
     pch = 19,
     col = "blue",
     main = "Data Regresi Eksponensial",
     xlab = "Hari",
     ylab = "Subscriber")

Model Regresi Exponential

model <- lm(log(subscriber) ~ hari, data=data)
summary(model)
## 
## Call:
## lm(formula = log(subscriber) ~ hari, data = data)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.52472 -0.09706  0.00588  0.11417  0.35300 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 4.7940824  0.0302527  158.47   <2e-16 ***
## hari        0.0177197  0.0004339   40.83   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.1647 on 118 degrees of freedom
## Multiple R-squared:  0.9339, Adjusted R-squared:  0.9333 
## F-statistic:  1667 on 1 and 118 DF,  p-value: < 2.2e-16

Prediksi

# Parameter model
a <- exp(coef(model)[1])
b <- coef(model)[2]

# Prediksi
prediksi <- a * exp(b * data$hari)

Visualisasi Model

plot(data$hari, data$subscriber,
     pch = 19,
     col = "blue",
     main = "Regresi Eksponensial",
     xlab = "Hari",
     ylab = "Subscriber")

lines(data$hari,
      prediksi,
      col = "red",
      lwd = 2)