Analisis regresi adalah alat statistik yang sangat banyak digunakan untuk membangun model hubungan antara dua variabel. Salah satu variabel tersebut disebut variabel prediktor yang nilainya dikumpulkan melalui eksperimen. Variabel lainnya disebut variabel respon yang nilainya diturunkan dari variabel prediktor.
Dalam Regresi Linier kedua variabel ini dihubungkan melalui suatu persamaan, di mana eksponen (pangkat) dari kedua variabel ini adalah 1. Secara matematis, hubungan linier merepresentasikan garis lurus jika diplot sebagai grafik. Hubungan non-linier di mana eksponen variabel apa pun tidak sama dengan 1 membuat kurva.
Persamaan matematika umum untuk regresi linier adalah –
y = ax + b
Deskripsi :
y
adalah variabel respon.
x
adalah variabel prediktor.
a
dan b
adalah konstanta yang disebut koefisien.
Section Artikel
Contoh sederhana dari regresi adalah memprediksi berat badan seseorang saat tinggi badannya diketahui. Untuk melakukan ini kita perlu memiliki hubungan antara tinggi dan berat badan seseorang.
Langkah-langkah untuk menciptakan hubungan tersebut adalah :
lm()
di R.predict()
di R.Di bawah ini adalah contoh data yang mewakili pengamatan :
# Values of height
151, 174, 138, 186, 128, 136, 179, 163, 152, 131
# Values of weight.
63, 81, 56, 91, 47, 57, 76, 72, 62, 48
Fungsi im()
digunakan untuk menciptakan model hubungan antara prediktor dan variabel respon.
Sintaks dasar untuk fungsi lm()
dalam regresi linier adalah –
lm(formula,data)
Deskripsi :
formula
adalah simbol yang mempresentasikan hubungan antara x dan y.
data
adalah vektor di mana rumus akan diterapkan.
x <- c(151, 174, 138, 186, 128, 136, 179, 163, 152, 131) y <- c(63, 81, 56, 91, 47, 57, 76, 72, 62, 48) # terapkan fungsi im(). relation <- lm(y~x) print(relation)
Output :
Call:
lm(formula = y ~ x)
Coefficients:
(Intercept) x
-38.4551 0.6746
x <- c(151, 174, 138, 186, 128, 136, 179, 163, 152, 131) y <- c(63, 81, 56, 91, 47, 57, 76, 72, 62, 48) # terapkan fungsi im(). relation <- lm(y~x) print(summary(relation))
Output :
Call:
lm(formula = y ~ x)
Residuals:
Min 1Q Median 3Q Max
-6.3002 -1.6629 0.0412 1.8944 3.9775
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -38.45509 8.04901 -4.778 0.00139 **
x 0.67461 0.05191 12.997 1.16e-06 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 3.253 on 8 degrees of freedom
Multiple R-squared: 0.9548, Adjusted R-squared: 0.9491
F-statistic: 168.9 on 1 and 8 DF, p-value: 1.164e-06
Sintaks dasar untuk predict()
dalam regresi linier adalah :
predict(object, newdata)
Deskripsi:
object
adalah rumus yang sudah dibuat menggunakan fungsi lm()
.
newdata
adalah vektor yang berisi nilai baru untuk variabel prediktor.
# Vektor prediktor. x <- c(151, 174, 138, 186, 128, 136, 179, 163, 152, 131) # Vektor respon y <- c(63, 81, 56, 91, 47, 57, 76, 72, 62, 48) # Terapkan fungsi im(). relation <- lm(y~x) # Temukan berat seseorang dengan tinggi 170. a <- data.frame(x = 170) result <- predict(relation,a) print(result)
Output :
1
76.22869
# Buat variabel prediktor dan respons. x <- c(151, 174, 138, 186, 128, 136, 179, 163, 152, 131) y <- c(63, 81, 56, 91, 47, 57, 76, 72, 62, 48) relation <- lm(y~x) # Beri nama file chart png(file = "linearregression.png") # Plot grafiknya. plot(y,x,col = "blue",main = "Height & Weight Regression", abline(lm(x~y)),cex = 1.3,pch = 16,xlab = "Weight in Kg",ylab = "Height in cm") # Simpan file. dev.off()
Output :