Pendahuluan

Regresi linear adalah metode statistik yang digunakan untuk memodelkan hubungan antara satu variabel dependen (dependent variable) dan satu atau lebih variabel independen (independent variables) dengan persamaan linear (Kutner et al., 2005). Analisis ini bertujuan untuk memprediksi nilai variabel dependen berdasarkan variabel independen serta menguji signifikansi hubungan antara keduanya.

Tipe/Jenis

Contoh Soal dan Penerapan

Contoh 1:
Seorang manajer pemasaran ingin mengetahui hubungan antara biaya promosi (dalam ribu rupiah) dengan volume penjualan (dalam ribu unit). Data selama 20 periode dicatat seperti pada tabel berikut.

Penyelesaian:

# Data input
biaya_promosi <- c(12000, 13500, 12750, 12600, 14850, 15200, 15750, 16800, 18450, 17900,
                   18250, 16480, 17500, 19560, 19000, 20450, 22650, 21400, 22900, 23500)

volume_penjualan <- c(56000, 62430, 60850, 61300, 65825, 66354, 65260, 68798, 70470, 65200,
                      68000, 64200, 65300, 69562, 68750, 70256, 72351, 70287, 73564, 75642)

# Membuat model regresi
model <- lm(volume_penjualan ~ biaya_promosi)

# Ringkasan hasil regresi
summary(model)

# 1. Singular Value Decomposition (SVD)

# Buat matriks X (termasuk intercept)
X <- cbind(1, biaya_promosi)
Y <- volume_penjualan

# Lakukan SVD
svd_result <- svd(X)
print("Hasil SVD:")
svd_result

# 2. Gradient Descent untuk regresi linear sederhana

# Normalisasi data (biar stabil)
x <- scale(biaya_promosi)
y <- scale(volume_penjualan)

# Inisialisasi parameter
alpha <- 0.05    
epochs <- 1000
n <- length(y)

# Inisialisasi koefisien
b0 <- 0
b1 <- 0

# Gradient descent
for (i in 1:epochs) {
  y_pred <- b0 + b1 * x
  error <- y_pred - y
  grad_b0 <- (2/n) * sum(error)
  grad_b1 <- (2/n) * sum(error * x)
  b0 <- b0 - alpha * grad_b0
  b1 <- b1 - alpha * grad_b1
}

cat("Hasil Gradient Descent:\n")
cat("Intercept (b0):", b0, "\n")
cat("Slope (b1):", b1, "\n")

∑ 𝑋 = 361,590

∑ 𝑌 = 1,370,799

∑ 𝑋^2 = 6,936,590,000

∑ 𝑋 𝑌 = 24,875,886,920

n=20

Y=a+bX dengan: \(b=\frac{n \sum XY - \sum X \sum Y}{n \sum X^2 - (\sum X)^2}\)

\(b = \frac{20(24,875,886,920) - (361,590)(1,370,799)}{20(6,936,590,000) - (361,590)^2}\) \(b=1.2585\) \(a= \frac{\sum Y - b \sum X}{n}\) \(a=\frac{1,370,799 - 1.2585 \times 361,590}{20}\) a≈44,902.65

Y=44,902.65+1.2585X

Persamaan regresi linear sederhana Y=44,902.65+1.2585X menunjukkan bahwa terdapat hubungan positif antara biaya promosi dan volume penjualan. Dalam model ini, intersep sebesar 44.902,65 mengindikasikan bahwa jika tidak ada biaya promosi yang dikeluarkan (X = 0), maka volume penjualan tetap diperkirakan sebesar 44.902,65 unit. Meskipun secara praktis promosi tidak mungkin nol, angka ini menggambarkan dasar atau titik awal penjualan tanpa promosi. Sementara itu, koefisien regresi sebesar 1.2585 berarti bahwa setiap penambahan Rp1 dalam biaya promosi akan meningkatkan volume penjualan sebesar 1,2585 unit. Hal ini menunjukkan bahwa promosi memberikan dampak positif terhadap penjualan.

Implikasi dari model ini cukup penting bagi pengambilan keputusan manajerial, khususnya dalam merencanakan anggaran pemasaran. Misalnya, jika perusahaan menambah biaya promosi sebesar Rp20.000, maka penjualan diperkirakan meningkat sebesar 25.170 unit, sehingga total volume penjualan mencapai sekitar 70.073 unit. Ini memungkinkan perusahaan untuk merancang strategi promosi yang lebih efektif berdasarkan proyeksi penjualan. Namun, model ini memiliki keterbatasan karena hanya melibatkan satu variabel bebas, yaitu biaya promosi, padahal dalam kenyataannya penjualan juga dipengaruhi oleh faktor lain seperti harga, kualitas produk, dan kondisi pasar. Oleh karena itu, sebelum mengambil keputusan lebih lanjut, penting untuk mengevaluasi kecocokan model melalui nilai R-squared, uji signifikansi statistik, serta asumsi-asumsi klasik regresi.

Contoh 2:
Diberikan data harga saham perusahaan dari tahun 1990–2007 beserta rasio keuangan PER (%) dan ROI (%). Tentukan model regresi linear berganda yang dapat digunakan untuk memprediksi Harga Saham (Y) berdasarkan variabel bebas PER (X₁) dan ROI (X₂).
Penyelesaian:

# Data
harga_saham <- c(8300,7500,8950,8250,9000,8750,10000,8200,8300,10900,
                 12800,9450,13000,8000,6500,9000,7600,10200)
per <- c(4.90,3.28,5.05,4.00,5.97,4.24,8.00,7.45,7.47,12.68,
         14.45,10.50,17.24,15.56,10.85,16.56,13.24,16.98)
roi <- c(6.47,3.14,5.00,4.75,6.23,6.03,8.75,7.72,8.00,10.40,
         12.42,8.62,12.07,5.83,5.20,8.53,7.37,9.38)

# Data frame
df <- data.frame(harga_saham, per, roi)

# Model regresi bawaan R
model <- lm(harga_saham ~ per + roi, data = df)
summary(model)

# Matriks X dan Y
X <- cbind(1, per, roi)        # Tambahkan intercept (kolom 1)
Y <- matrix(harga_saham, ncol = 1)

### 1. Estimasi Koefisien dengan Normal Equation
XtX <- t(X) %*% X
XtY <- t(X) %*% Y
B_normal <- solve(XtX) %*% XtY

colnames(B_normal) <- c("Koefisien")
rownames(B_normal) <- c("Intercept", "PER", "ROI")
print("Koefisien dengan metode normal equation:")
print(B_normal)

### 2. Estimasi Koefisien dengan SVD
svd_X <- svd(X)
B_svd <- svd_X$v %*% diag(1 / svd_X$d) %*% t(svd_X$u) %*% Y

colnames(B_svd) <- c("Koefisien")
rownames(B_svd) <- c("Intercept", "PER", "ROI")
print("Koefisien dengan metode SVD:")
print(B_svd)

### 3. Gradient Descent Manual
gradient_descent <- function(X, Y, alpha = 0.0001, iter = 10000) {
  m <- nrow(X)
  n <- ncol(X)
  beta <- matrix(0, nrow = n, ncol = 1)
  
  for (i in 1:iter) {
    y_pred <- X %*% beta
    error <- y_pred - Y
    gradient <- (t(X) %*% error) / m
    beta <- beta - alpha * gradient
  }
  return(beta)
}

B_gd <- gradient_descent(X, Y, alpha = 0.0001, iter = 100000)

colnames(B_gd) <- c("Koefisien")
rownames(B_gd) <- c("Intercept", "PER", "ROI")
print("Koefisien dengan metode Gradient Descent:")
print(B_gd)

Terdapat 2 cara untuk menghitung model regresi linear berganda yaitu dengan menggunakan ~lm dan menggunakan matriks. kedua cara menghasilkan output yang sama yaitu

Y=4662.49-74⋅481PER+692⋅106ROI

Y=4662.49-74⋅481X1+692⋅106X2

Y=4662.49-74⋅481X1+692⋅106X2 menunjukkan hubungan antara harga saham (Y) dengan dua variabel independen, yaitu PER (X₁) dan ROI (X₂). Intersep sebesar 4.662,49 mengindikasikan bahwa jika PER dan ROI sama dengan nol, maka harga saham diperkirakan sebesar Rp4.662,49. Secara praktis, ini hanya representasi matematis karena nilai PER dan ROI tidak mungkin nol dalam konteks pasar saham nyata.

Koefisien untuk PER bernilai negatif, yaitu -74,481. Ini berarti bahwa setiap kenaikan satu satuan persen dalam PER (Price to Earning Ratio), dengan ROI tetap, justru akan menurunkan harga saham sebesar Rp74,48. Hal ini bisa diartikan bahwa pasar mungkin menganggap kenaikan PER sebagai sinyal valuasi saham yang terlalu tinggi, sehingga berpotensi mengurangi minat beli.

Sebaliknya, koefisien ROI (Return on Investment) bernilai positif dan cukup besar, yaitu 692,106. Ini menunjukkan bahwa setiap kenaikan ROI sebesar 1% akan meningkatkan harga saham sekitar Rp692,11, dengan asumsi PER tetap. Hal ini mengindikasikan bahwa ROI dipandang sebagai indikator kinerja perusahaan yang kuat oleh pasar, sehingga berdampak positif terhadap harga saham.

Implikasi dari model ini bagi investor dan manajer keuangan adalah bahwa perusahaan sebaiknya lebih fokus pada peningkatan efisiensi dan profitabilitas (ROI) dibandingkan hanya mengejar rasio PER. Selain itu, model ini juga dapat digunakan untuk memprediksi harga saham berdasarkan nilai PER dan ROI suatu perusahaan, meskipun tetap perlu diperhatikan asumsi regresi klasik dan faktor-faktor lain yang mungkin belum dimasukkan dalam model.

Interpretasi

Nomor 1.

Y=44,902.65+1.2585X

dengan Y adalah volume penjualan dan X adalah biaya promosi.

Nomor 2.

Y=4,662.49−74.481X1​+692.106X2​

dengan Y adalah harga saham, X1​ adalah PER, dan X2​ adalah ROI.

Referensi