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)