Dalam regresi linear sederhana, tujuan utama adalah mencari hubungan linier antara variabel independen (x) dan variabel dependen (y), yang dapat diwakili oleh persamaan garis lurus. Persamaan regresi linear sederhana dapat dituliskan sebagai:

y = b0 + b1x

Di mana: - y adalah variabel dependen (variabel target) yang ingin kita prediksi, - x adalah variabel independen (fitur) yang digunakan untuk memprediksi y, - b0 adalah intersep, yaitu nilai prediksi y ketika x = 0, - b1 adalah koefisien regresi, yang menentukan kecenderungan dan pengaruh variabel independen terhadap variabel dependen.

Dalam regresi linear sederhana, tujuan kita adalah menemukan nilai optimal untuk koefisien b0 dan b1, sehingga model regresi linear memberikan perkiraan yang paling akurat untuk variabel dependen berdasarkan variabel independen yang diberikan. Dengan menggunakan teknik statistik dan metode seperti metode kuadrat terkecil, kita dapat mengestimasi nilai koefisien yang optimal untuk mencocokkan garis regresi dengan data yang ada.

Dengan memahami regresi linear sederhana, kita dapat menganalisis dan memprediksi hubungan antara variabel independen dan dependen dalam konteks yang lebih sederhana. Regresi linier sederhana adalah fondasi penting dalam pemodelan regresi yang lebih kompleks dan dapat digunakan dalam berbagai bidang, termasuk ekonomi, ilmu sosial, ilmu alam, dan lainnya.

Simple Linear Regression

Untuk regresi linear sederhana, kita menyesuaikan data sebagai persamaan linear sehingga:

library(magick)
## Linking to ImageMagick 6.9.12.3
## Enabled features: cairo, freetype, fftw, ghostscript, heic, lcms, pango, raw, rsvg, webp
## Disabled features: fontconfig, x11
inp_img <- image_read("slr.png")
plot(inp_img)

inp_img1 <- image_read("keterangan.png")
plot(inp_img1)

Bagaimana cara kita menemukan “garis terbaik” untuk regresi sederhana? Bagaimana kita mengukur “kesalahan terkecil”? Untuk mengilustrasikannya, kita akan menggunakan 100 data pertama dari dataset “Boston” yang terdapat dalam paket MASS.

inp_img2 <- image_read("simplelinearregression.png")
inp_img3 <- image_read("slr2.png")
plot(inp_img2)

plot(inp_img3)

Di R, kita bisa menggunakan fungsi head() untuk melihat 100 observasi pertama dalam dataset “Boston”. Fungsi head() ini digunakan untuk menampilkan beberapa baris teratas dari dataset.

library(MASS)

# Memuat dataset Boston
data(Boston)

Boston2 <-Boston[1:100,]
Boston2
##        crim    zn indus chas    nox    rm   age    dis rad tax ptratio  black
## 1   0.00632  18.0  2.31    0 0.5380 6.575  65.2 4.0900   1 296    15.3 396.90
## 2   0.02731   0.0  7.07    0 0.4690 6.421  78.9 4.9671   2 242    17.8 396.90
## 3   0.02729   0.0  7.07    0 0.4690 7.185  61.1 4.9671   2 242    17.8 392.83
## 4   0.03237   0.0  2.18    0 0.4580 6.998  45.8 6.0622   3 222    18.7 394.63
## 5   0.06905   0.0  2.18    0 0.4580 7.147  54.2 6.0622   3 222    18.7 396.90
## 6   0.02985   0.0  2.18    0 0.4580 6.430  58.7 6.0622   3 222    18.7 394.12
## 7   0.08829  12.5  7.87    0 0.5240 6.012  66.6 5.5605   5 311    15.2 395.60
## 8   0.14455  12.5  7.87    0 0.5240 6.172  96.1 5.9505   5 311    15.2 396.90
## 9   0.21124  12.5  7.87    0 0.5240 5.631 100.0 6.0821   5 311    15.2 386.63
## 10  0.17004  12.5  7.87    0 0.5240 6.004  85.9 6.5921   5 311    15.2 386.71
## 11  0.22489  12.5  7.87    0 0.5240 6.377  94.3 6.3467   5 311    15.2 392.52
## 12  0.11747  12.5  7.87    0 0.5240 6.009  82.9 6.2267   5 311    15.2 396.90
## 13  0.09378  12.5  7.87    0 0.5240 5.889  39.0 5.4509   5 311    15.2 390.50
## 14  0.62976   0.0  8.14    0 0.5380 5.949  61.8 4.7075   4 307    21.0 396.90
## 15  0.63796   0.0  8.14    0 0.5380 6.096  84.5 4.4619   4 307    21.0 380.02
## 16  0.62739   0.0  8.14    0 0.5380 5.834  56.5 4.4986   4 307    21.0 395.62
## 17  1.05393   0.0  8.14    0 0.5380 5.935  29.3 4.4986   4 307    21.0 386.85
## 18  0.78420   0.0  8.14    0 0.5380 5.990  81.7 4.2579   4 307    21.0 386.75
## 19  0.80271   0.0  8.14    0 0.5380 5.456  36.6 3.7965   4 307    21.0 288.99
## 20  0.72580   0.0  8.14    0 0.5380 5.727  69.5 3.7965   4 307    21.0 390.95
## 21  1.25179   0.0  8.14    0 0.5380 5.570  98.1 3.7979   4 307    21.0 376.57
## 22  0.85204   0.0  8.14    0 0.5380 5.965  89.2 4.0123   4 307    21.0 392.53
## 23  1.23247   0.0  8.14    0 0.5380 6.142  91.7 3.9769   4 307    21.0 396.90
## 24  0.98843   0.0  8.14    0 0.5380 5.813 100.0 4.0952   4 307    21.0 394.54
## 25  0.75026   0.0  8.14    0 0.5380 5.924  94.1 4.3996   4 307    21.0 394.33
## 26  0.84054   0.0  8.14    0 0.5380 5.599  85.7 4.4546   4 307    21.0 303.42
## 27  0.67191   0.0  8.14    0 0.5380 5.813  90.3 4.6820   4 307    21.0 376.88
## 28  0.95577   0.0  8.14    0 0.5380 6.047  88.8 4.4534   4 307    21.0 306.38
## 29  0.77299   0.0  8.14    0 0.5380 6.495  94.4 4.4547   4 307    21.0 387.94
## 30  1.00245   0.0  8.14    0 0.5380 6.674  87.3 4.2390   4 307    21.0 380.23
## 31  1.13081   0.0  8.14    0 0.5380 5.713  94.1 4.2330   4 307    21.0 360.17
## 32  1.35472   0.0  8.14    0 0.5380 6.072 100.0 4.1750   4 307    21.0 376.73
## 33  1.38799   0.0  8.14    0 0.5380 5.950  82.0 3.9900   4 307    21.0 232.60
## 34  1.15172   0.0  8.14    0 0.5380 5.701  95.0 3.7872   4 307    21.0 358.77
## 35  1.61282   0.0  8.14    0 0.5380 6.096  96.9 3.7598   4 307    21.0 248.31
## 36  0.06417   0.0  5.96    0 0.4990 5.933  68.2 3.3603   5 279    19.2 396.90
## 37  0.09744   0.0  5.96    0 0.4990 5.841  61.4 3.3779   5 279    19.2 377.56
## 38  0.08014   0.0  5.96    0 0.4990 5.850  41.5 3.9342   5 279    19.2 396.90
## 39  0.17505   0.0  5.96    0 0.4990 5.966  30.2 3.8473   5 279    19.2 393.43
## 40  0.02763  75.0  2.95    0 0.4280 6.595  21.8 5.4011   3 252    18.3 395.63
## 41  0.03359  75.0  2.95    0 0.4280 7.024  15.8 5.4011   3 252    18.3 395.62
## 42  0.12744   0.0  6.91    0 0.4480 6.770   2.9 5.7209   3 233    17.9 385.41
## 43  0.14150   0.0  6.91    0 0.4480 6.169   6.6 5.7209   3 233    17.9 383.37
## 44  0.15936   0.0  6.91    0 0.4480 6.211   6.5 5.7209   3 233    17.9 394.46
## 45  0.12269   0.0  6.91    0 0.4480 6.069  40.0 5.7209   3 233    17.9 389.39
## 46  0.17142   0.0  6.91    0 0.4480 5.682  33.8 5.1004   3 233    17.9 396.90
## 47  0.18836   0.0  6.91    0 0.4480 5.786  33.3 5.1004   3 233    17.9 396.90
## 48  0.22927   0.0  6.91    0 0.4480 6.030  85.5 5.6894   3 233    17.9 392.74
## 49  0.25387   0.0  6.91    0 0.4480 5.399  95.3 5.8700   3 233    17.9 396.90
## 50  0.21977   0.0  6.91    0 0.4480 5.602  62.0 6.0877   3 233    17.9 396.90
## 51  0.08873  21.0  5.64    0 0.4390 5.963  45.7 6.8147   4 243    16.8 395.56
## 52  0.04337  21.0  5.64    0 0.4390 6.115  63.0 6.8147   4 243    16.8 393.97
## 53  0.05360  21.0  5.64    0 0.4390 6.511  21.1 6.8147   4 243    16.8 396.90
## 54  0.04981  21.0  5.64    0 0.4390 5.998  21.4 6.8147   4 243    16.8 396.90
## 55  0.01360  75.0  4.00    0 0.4100 5.888  47.6 7.3197   3 469    21.1 396.90
## 56  0.01311  90.0  1.22    0 0.4030 7.249  21.9 8.6966   5 226    17.9 395.93
## 57  0.02055  85.0  0.74    0 0.4100 6.383  35.7 9.1876   2 313    17.3 396.90
## 58  0.01432 100.0  1.32    0 0.4110 6.816  40.5 8.3248   5 256    15.1 392.90
## 59  0.15445  25.0  5.13    0 0.4530 6.145  29.2 7.8148   8 284    19.7 390.68
## 60  0.10328  25.0  5.13    0 0.4530 5.927  47.2 6.9320   8 284    19.7 396.90
## 61  0.14932  25.0  5.13    0 0.4530 5.741  66.2 7.2254   8 284    19.7 395.11
## 62  0.17171  25.0  5.13    0 0.4530 5.966  93.4 6.8185   8 284    19.7 378.08
## 63  0.11027  25.0  5.13    0 0.4530 6.456  67.8 7.2255   8 284    19.7 396.90
## 64  0.12650  25.0  5.13    0 0.4530 6.762  43.4 7.9809   8 284    19.7 395.58
## 65  0.01951  17.5  1.38    0 0.4161 7.104  59.5 9.2229   3 216    18.6 393.24
## 66  0.03584  80.0  3.37    0 0.3980 6.290  17.8 6.6115   4 337    16.1 396.90
## 67  0.04379  80.0  3.37    0 0.3980 5.787  31.1 6.6115   4 337    16.1 396.90
## 68  0.05789  12.5  6.07    0 0.4090 5.878  21.4 6.4980   4 345    18.9 396.21
## 69  0.13554  12.5  6.07    0 0.4090 5.594  36.8 6.4980   4 345    18.9 396.90
## 70  0.12816  12.5  6.07    0 0.4090 5.885  33.0 6.4980   4 345    18.9 396.90
## 71  0.08826   0.0 10.81    0 0.4130 6.417   6.6 5.2873   4 305    19.2 383.73
## 72  0.15876   0.0 10.81    0 0.4130 5.961  17.5 5.2873   4 305    19.2 376.94
## 73  0.09164   0.0 10.81    0 0.4130 6.065   7.8 5.2873   4 305    19.2 390.91
## 74  0.19539   0.0 10.81    0 0.4130 6.245   6.2 5.2873   4 305    19.2 377.17
## 75  0.07896   0.0 12.83    0 0.4370 6.273   6.0 4.2515   5 398    18.7 394.92
## 76  0.09512   0.0 12.83    0 0.4370 6.286  45.0 4.5026   5 398    18.7 383.23
## 77  0.10153   0.0 12.83    0 0.4370 6.279  74.5 4.0522   5 398    18.7 373.66
## 78  0.08707   0.0 12.83    0 0.4370 6.140  45.8 4.0905   5 398    18.7 386.96
## 79  0.05646   0.0 12.83    0 0.4370 6.232  53.7 5.0141   5 398    18.7 386.40
## 80  0.08387   0.0 12.83    0 0.4370 5.874  36.6 4.5026   5 398    18.7 396.06
## 81  0.04113  25.0  4.86    0 0.4260 6.727  33.5 5.4007   4 281    19.0 396.90
## 82  0.04462  25.0  4.86    0 0.4260 6.619  70.4 5.4007   4 281    19.0 395.63
## 83  0.03659  25.0  4.86    0 0.4260 6.302  32.2 5.4007   4 281    19.0 396.90
## 84  0.03551  25.0  4.86    0 0.4260 6.167  46.7 5.4007   4 281    19.0 390.64
## 85  0.05059   0.0  4.49    0 0.4490 6.389  48.0 4.7794   3 247    18.5 396.90
## 86  0.05735   0.0  4.49    0 0.4490 6.630  56.1 4.4377   3 247    18.5 392.30
## 87  0.05188   0.0  4.49    0 0.4490 6.015  45.1 4.4272   3 247    18.5 395.99
## 88  0.07151   0.0  4.49    0 0.4490 6.121  56.8 3.7476   3 247    18.5 395.15
## 89  0.05660   0.0  3.41    0 0.4890 7.007  86.3 3.4217   2 270    17.8 396.90
## 90  0.05302   0.0  3.41    0 0.4890 7.079  63.1 3.4145   2 270    17.8 396.06
## 91  0.04684   0.0  3.41    0 0.4890 6.417  66.1 3.0923   2 270    17.8 392.18
## 92  0.03932   0.0  3.41    0 0.4890 6.405  73.9 3.0921   2 270    17.8 393.55
## 93  0.04203  28.0 15.04    0 0.4640 6.442  53.6 3.6659   4 270    18.2 395.01
## 94  0.02875  28.0 15.04    0 0.4640 6.211  28.9 3.6659   4 270    18.2 396.33
## 95  0.04294  28.0 15.04    0 0.4640 6.249  77.3 3.6150   4 270    18.2 396.90
## 96  0.12204   0.0  2.89    0 0.4450 6.625  57.8 3.4952   2 276    18.0 357.98
## 97  0.11504   0.0  2.89    0 0.4450 6.163  69.6 3.4952   2 276    18.0 391.83
## 98  0.12083   0.0  2.89    0 0.4450 8.069  76.0 3.4952   2 276    18.0 396.90
## 99  0.08187   0.0  2.89    0 0.4450 7.820  36.9 3.4952   2 276    18.0 393.53
## 100 0.06860   0.0  2.89    0 0.4450 7.416  62.5 3.4952   2 276    18.0 396.90
##     lstat medv
## 1    4.98 24.0
## 2    9.14 21.6
## 3    4.03 34.7
## 4    2.94 33.4
## 5    5.33 36.2
## 6    5.21 28.7
## 7   12.43 22.9
## 8   19.15 27.1
## 9   29.93 16.5
## 10  17.10 18.9
## 11  20.45 15.0
## 12  13.27 18.9
## 13  15.71 21.7
## 14   8.26 20.4
## 15  10.26 18.2
## 16   8.47 19.9
## 17   6.58 23.1
## 18  14.67 17.5
## 19  11.69 20.2
## 20  11.28 18.2
## 21  21.02 13.6
## 22  13.83 19.6
## 23  18.72 15.2
## 24  19.88 14.5
## 25  16.30 15.6
## 26  16.51 13.9
## 27  14.81 16.6
## 28  17.28 14.8
## 29  12.80 18.4
## 30  11.98 21.0
## 31  22.60 12.7
## 32  13.04 14.5
## 33  27.71 13.2
## 34  18.35 13.1
## 35  20.34 13.5
## 36   9.68 18.9
## 37  11.41 20.0
## 38   8.77 21.0
## 39  10.13 24.7
## 40   4.32 30.8
## 41   1.98 34.9
## 42   4.84 26.6
## 43   5.81 25.3
## 44   7.44 24.7
## 45   9.55 21.2
## 46  10.21 19.3
## 47  14.15 20.0
## 48  18.80 16.6
## 49  30.81 14.4
## 50  16.20 19.4
## 51  13.45 19.7
## 52   9.43 20.5
## 53   5.28 25.0
## 54   8.43 23.4
## 55  14.80 18.9
## 56   4.81 35.4
## 57   5.77 24.7
## 58   3.95 31.6
## 59   6.86 23.3
## 60   9.22 19.6
## 61  13.15 18.7
## 62  14.44 16.0
## 63   6.73 22.2
## 64   9.50 25.0
## 65   8.05 33.0
## 66   4.67 23.5
## 67  10.24 19.4
## 68   8.10 22.0
## 69  13.09 17.4
## 70   8.79 20.9
## 71   6.72 24.2
## 72   9.88 21.7
## 73   5.52 22.8
## 74   7.54 23.4
## 75   6.78 24.1
## 76   8.94 21.4
## 77  11.97 20.0
## 78  10.27 20.8
## 79  12.34 21.2
## 80   9.10 20.3
## 81   5.29 28.0
## 82   7.22 23.9
## 83   6.72 24.8
## 84   7.51 22.9
## 85   9.62 23.9
## 86   6.53 26.6
## 87  12.86 22.5
## 88   8.44 22.2
## 89   5.50 23.6
## 90   5.70 28.7
## 91   8.81 22.6
## 92   8.20 22.0
## 93   8.16 22.9
## 94   6.21 25.0
## 95  10.59 20.6
## 96   6.65 28.4
## 97  11.34 21.4
## 98   4.21 38.7
## 99   3.57 43.8
## 100  6.19 33.2

Kemudian kita menggunakan fungsi lm() untuk menyesuaikan data ke garis regresi linear:

fit2 <-lm(medv~rm,data=Boston2)

Variabel respons harus berada di sisi kiri dari tanda ~ dan variabel penjelas harus berada di sisi kanan dalam fungsi lm(). Sekarang variabel “fit2” akan berisi semua hasil dari fungsi lm(). Gunakan fungsi summary() untuk melihat hasilnya:

summary(fit2);
## 
## Call:
## lm(formula = medv ~ rm, data = Boston2)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -8.7668 -1.9506  0.3969  2.2360  5.8490 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -41.4283     4.0616  -10.20   <2e-16 ***
## rm           10.2235     0.6495   15.74   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.172 on 98 degrees of freedom
## Multiple R-squared:  0.7166, Adjusted R-squared:  0.7137 
## F-statistic: 247.8 on 1 and 98 DF,  p-value: < 2.2e-16

Bagian yang paling penting yang harus difokuskan adalah perkiraan nilai beta1 dan beta0:

Yaitu pada bagian ini :

Coefficients: Estimate Std.ErrortvaluePr(>|t|) (Intercept) -41.42834.0616-10.20<2e-16 rm 10.2235 0.649515.74<2e-16 — Signif. codes:0 ’0.001**’0.01 ’0.05*.’0.1’1

inp_img4 <- image_read("slr3.png")
plot(inp_img4)

Untuk memplotkan di gambar yang ditunjukkan oleh gambar 7.1, kita dapat menggunakan package ggplot 2, seperti berikut:

library(ggplot2)
library(ggthemes)
require(ggplot2)
require(ggthemes)
fit2 <- lm(medv ~ rm, data=Boston2)
ggplot2 <- ggplot()+
  geom_point(aes(x =Boston2$rm,y=fit2$fitted.values),shape=1,
alpha =0.2)+geom_line(data=fortify(fit2),
aes(x =rm,y=.fitted),color="green")+
geom_segment(aes(x =Boston2$rm,xend=Boston2$rm,
y =fit2$fitted.values,yend=Boston2$medv))+
geom_point(data =Boston2,aes(x=rm,y=medv),color="red")+
theme_tufte()
ggplot2

Di atas ini adalah output yang akan ditampilkan pad gambar 7.1 di atas.