Regresi linier adalah salah satu model statistik tertua dan landasan untuk model lainnya. Regresi linier menggunakan alat dari aljabar linier agar sesuai dengan masukan kumpulan data dengan bidang linier. Dalam banyak situasi, kami ingin memprediksi beberapa nilai berdasarkan informasi lainnya. Misalnya kita ingin membeli sebuah rumah dan kami mengirimkan penawaran ke penjual, kami mencoba untuk mendapatkan “tebakan terbaik” untuk harga terbaik yang ditawarkan berdasarkan informasi lain, seperti luas persegi rumah, lokasi rumah, dll.

Regresi linier adalah yang paling sederhana model untuk memprediksi atau menebak harga rumah untuk situasi ini. Di mesin pembelajaran, regresi linier adalah model pembelajaran yang diawasi dan dalam statistik, regresi linier adalah model statistik inferensial.

The Kumpulan data “Boston” berisi 506 pengamatan rumah di wilayah Boston dan memiliki 14 variabel seperti yang ditunjukkan pada Tabel 7.1. Kumpulan data ini dari Harrison dan Rubinfeld [20]. Di R, untuk mengunggah kumpulan data ini, Anda perlu mengunggah paket MASS:

library(MASS)
data(Boston)

Secara intuitif, jumlah ini adalah jumlah kuadrat panjang garis hitam untuk masing-masing garis pengamatan. Jika nilai ini kecil, berarti kesalahan totalnya kecil untuk menyesuaikan data dengan garis linier. Karena kita tidak mengetahui β1 dan β0 yang sebenarnya, kita akan memperkirakan β1 dan β0 dengan mencari garis “terbaik”. Biarkan βˆ1 menjadi perkiraan β1 dan misalkan βˆ0 menjadi perkiraan β0. Kemudian kita mendapatkan βˆ1 dan βˆ0 dengan meminimalkan Persamaan (7.2).
Metode ini juga disebut metode kuadrat terkecil. Di R kita bisa menggunakan fungsi lm(). “lm” ini adalah singkatan dari “Model Linear”. Mari kita lihat 100 pengamatan pertama dalam kumpulan data “Boston”:

Boston2 <- Boston[1:100,]

Kemudian gunakan fungsi lm() untuk menyesuaikan data dengan garis regresi linier:

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

Variabel respons harus berada di sisi kiri tanda ∼ dan variabel penjelas harus berada di sisi kanan dalam fungsi lm(). Sekarang variabel “fit2” berisi semua hasil dari fungsi lm(). Gunakan ringkasan() berfungsi untuk melihat apa yang kita miliki:

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
require(ggplot2)
## Loading required package: ggplot2
## Warning: package 'ggplot2' was built under R version 4.2.3
require(ggthemes)
## Loading required package: ggthemes
## Warning in library(package, lib.loc = lib.loc, character.only = TRUE,
## logical.return = TRUE, : there is no package called 'ggthemes'
fit2 <- lm(medv ~ rm, data=Boston2)