NIM : 220605110070

KELAS : A

MATKUL : LINEAR ALGEBRA

DOSEN PENGAMPU : Prof.Dr.Suhartono,M.Kom

JURUSAN : TEKNIK INFORMATIKA

LEMBAGA : UNIVERSITAS ISLAM NEGERI MAULANA MALIK IBRAHIM MALANG

Kita akan menggunakan set data ” dari paket MASS di R. Set data Set data ” berisi 506 pengamatan dari rumah-rumah di daerah Boston dan memiliki 14 variabel seperti yang ditunjukkan pada Tabel 7.1. Data set ini berasal dari Harrison dan Rubinfeld [20]. Dalam R, untuk mengunggah set data ini, Anda perlu mengunggah paket MASS:Kita akan menggunakan set data ” dari paket MASS di R. Set data Set data ” berisi 506 pengamatan dari rumah-rumah di daerah Boston dan memiliki 14 variabel seperti yang ditunjukkan pada Tabel 7.1. Data set ini berasal dari Harrison dan Rubinfeld [20]. Dalam R, untuk mengunggah set data ini, Anda perlu mengunggah paket MASS:

library(MASS)
data(Boston)
Boston2 <- Boston[1:100,]
fit2 <- lm(medv ~ rm, data=Boston2)
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

==================== Simple Linear Regression ========================

Dari fungsi lm() kita dapatkan dari fungsi lm() bahwa β1 = 10.2235; β0 = -41.4283: Ini berarti bahwa median harga rumah dapat diperkirakan dengan Harga rumah = 10:2235 - Jumlah kamar - 41:4283: Jadi, misalnya, jika sebuah rumah memiliki enam kamar tidur, maka perkiraan harga rumahnya adalah Harga rumah = 10:2235 - (6) - 41:4283 = 19:9127: Dengan demikian, estimasi harga rumah adalah $19.9127. Untuk memplot pada gambar yang ditunjukkan pada Gambar 7.1, kita dapat menggunakan paket ggplot2:

require(ggplot2)
## Loading required package: ggplot2
## Warning: package 'ggplot2' was built under R version 4.2.3
require(ggthemes)
## Loading required package: ggthemes
## Warning: package 'ggthemes' was built under R version 4.2.3
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

====================== Multiple Linear Regression ==========================

Secara intuitif, jumlah ini adalah jumlah kuadrat panjang garis hitam untuk setiap pengamatan. Jika nilai ini kecil, maka itu berarti kesalahan total kecil untuk mencocokkan data dengan garis linier. Untuk menunjukkan apa yang terjadi secara visual, kami mengambil 50 titik data pertama pertama dalam kumpulan data “. Kemudian kita cocokkan data tersebut dengan dua variabel penjelas,

fit3 <- lm(medv ~ crim + zn + indus + rm + age + dis + tax + rad,
data=Boston2)
summary(fit3)
## 
## Call:
## lm(formula = medv ~ crim + zn + indus + rm + age + dis + tax + 
##     rad, data = Boston2)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.5135 -1.3478 -0.2007  1.1933  8.1711 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -2.054e+01  4.515e+00  -4.549 1.66e-05 ***
## crim        -2.130e+00  7.378e-01  -2.887  0.00486 ** 
## zn          -4.792e-04  1.321e-02  -0.036  0.97113    
## indus       -1.893e-01  9.849e-02  -1.922  0.05770 .  
## rm           8.322e+00  5.424e-01  15.342  < 2e-16 ***
## age         -6.504e-02  9.905e-03  -6.566 3.12e-09 ***
## dis         -1.700e-01  2.378e-01  -0.715  0.47663    
## tax         -8.882e-03  5.834e-03  -1.522  0.13138    
## rad         -1.404e-02  2.022e-01  -0.069  0.94479    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.204 on 91 degrees of freedom
## Multiple R-squared:  0.873,  Adjusted R-squared:  0.8618 
## F-statistic: 78.16 on 8 and 91 DF,  p-value: < 2.2e-16

Untuk menggambar seperti yang ditunjukkan pada Gambar 7.2, kita dapat menggunakan paket rgl: Pertama kita unggah semua paket yang diperlukan:

library(rgl)
## Warning: package 'rgl' was built under R version 4.2.2
library(ggplot2)
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.2.3
## 
## Attaching package: 'dplyr'
## The following object is masked from 'package:MASS':
## 
##     select
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(gridExtra)
## Warning: package 'gridExtra' was built under R version 4.2.3
## 
## Attaching package: 'gridExtra'
## The following object is masked from 'package:dplyr':
## 
##     combine
library(scatterplot3d)
## Warning: package 'scatterplot3d' was built under R version 4.2.3
library(FactoClass)
## Warning: package 'FactoClass' was built under R version 4.2.3
## Loading required package: ade4
## Warning: package 'ade4' was built under R version 4.2.3
## Loading required package: ggrepel
## Warning: package 'ggrepel' was built under R version 4.2.3
## Loading required package: xtable
library(MASS)
Boston2 <- Boston[1:50,]
fit3 <- lm(medv ~ rm +age, data=Boston2)
sp <- scatterplot3d::scatterplot3d(Boston2$rm,
Boston2$age,
Boston2$medv,
angle = 45)
sp$plane3d(fit3, lty.box = "solid")#,
# polygon_args = list(col = rgb(.1, .2, .7, .5)) # Fill color
orig <- sp$xyz.convert(Boston2$rm,
Boston2$age,
Boston2$medv)
plane <- sp$xyz.convert(Boston2$rm,
Boston2$age, fitted(fit3))
i.negpos <- 1 + (resid(fit3) > 0)
segments(orig$x, orig$y, plane$x, plane$y,
col = c("blue", "red")[i.negpos],
lty = 1) # (2:1)[i.negpos]

Kita akan menggunakan kumpulan data ” dari situs web http: //faculty.marshall.usc.edu/gareth-james/ISL/Advertising.csv. Ini set data ini digunakan dalam [24]. Variabel “menyimpan jumlah uang yang dihabiskan untuk iklan TV. Variabel” menyimpan jumlah uang yang dihabiskan untuk iklan radio. Variabel ” menyimpan jumlah uang yang dihabiskan untuk iklan surat kabar. Variabel terakhir adalah “, yang menyimpan jumlah uang yang mereka selesaikan untuk produk mereka. Sekarang pertanyaannya adalah, iklan mana yang berguna dan mana yang tidak berguna untuk penjualan mereka.