Tên: Mai Huy

MSSV: 43.01.104.065

Số thứ tự: 08

Câu a)

# Load dataset Auto
data("Auto")
# na.omit dùng để xoá đi những dòng có dữ liệu bị mất ( missing data)
Auto = na.omit(Auto)
# attach dùng để khiến cho những biến feature trong dữ liệu có sẵn trong Rstudio theo tên
attach(Auto)
The following objects are masked from Auto (pos = 3):

    acceleration, cylinders, displacement, horsepower, mpg,
    name, origin, weight, year

The following objects are masked from Auto (pos = 4):

    acceleration, cylinders, displacement, horsepower, mpg,
    name, origin, weight, year

The following objects are masked from Auto (pos = 5):

    acceleration, cylinders, displacement, horsepower, mpg,
    name, origin, weight, year

The following objects are masked from Auto (pos = 6):

    acceleration, cylinders, displacement, horsepower, mpg,
    name, origin, weight, year

The following objects are masked from Auto (pos = 7):

    acceleration, cylinders, displacement, horsepower, mpg,
    name, origin, weight, year

The following objects are masked from Auto (pos = 8):

    acceleration, cylinders, displacement, horsepower, mpg,
    name, origin, weight, year
# Dựa trên output ta thấy dự đoán định tính là cột:name, nhưng cũng có thể thấy là cột origin cũng là định tính nhưng do được mã hoá nên data đọc thuộc tính này dưới dạng định lượng(số học), còn định lượng là những cột còn lại

# Hàm str dùng để hiển thị cấu trúc thông tin của dữ liệu
library("ISLR")
str(Auto)
'data.frame':   392 obs. of  9 variables:
 $ mpg         : num  18 15 18 16 17 15 14 14 14 15 ...
 $ cylinders   : num  8 8 8 8 8 8 8 8 8 8 ...
 $ displacement: num  307 350 318 304 302 429 454 440 455 390 ...
 $ horsepower  : num  130 165 150 150 140 198 220 215 225 190 ...
 $ weight      : num  3504 3693 3436 3433 3449 ...
 $ acceleration: num  12 11.5 11 12 10.5 10 9 8.5 10 8.5 ...
 $ year        : num  70 70 70 70 70 70 70 70 70 70 ...
 $ origin      : num  1 1 1 1 1 1 1 1 1 1 ...
 $ name        : Factor w/ 304 levels "amc ambassador brougham",..: 49 36 231 14 161 141 54 223 241 2 ...
#as.factor() dùng để chuyển giá trị định lượng origin thành định tính
origin= as.factor(origin)

Câu b)

# Các giá trị định lượng gồm 7 biến đầu tiên của dữ liệu khi loại trừ cột name và origin
#Kích cỡ của 7 giá trị định lượng khi xét theo cột
apply(Auto[,1:7], 2, range)
      mpg cylinders displacement horsepower weight acceleration
[1,]  9.0         3           68         46   1613          8.0
[2,] 46.6         8          455        230   5140         24.8
     year
[1,]   70
[2,]   82

Câu c)

#Trung bình 7 giá trị định lượng xét theo cột
apply(Auto[,1:7], 2, mean)
         mpg    cylinders displacement   horsepower       weight 
   23.445918     5.471939   194.411990   104.469388  2977.584184 
acceleration         year 
   15.541327    75.979592 
#Độ lệch chuẩn 7 giá trị định lượng xét theo cột
apply(Auto[,1:7], 2, sd)
         mpg    cylinders displacement   horsepower       weight 
    7.805007     1.705783   104.644004    38.491160   849.402560 
acceleration         year 
    2.758864     3.683737 

Câu d)

# Lấy tất cả các dòng ngoại trừ dòng 10->85, xét 7 cột giá trị định lượng
#Kích cỡ (range) của 7 giá trị định lượng xét theo cột
apply(Auto[-c(10:85),1:7], 2, range)
      mpg cylinders displacement horsepower weight acceleration
[1,] 11.0         3           68         46   1649          8.5
[2,] 46.6         8          455        230   4997         24.8
     year
[1,]   70
[2,]   82
#Trung bình (mean) của 7 giá trị định lượng xét theo cột
apply(Auto[-c(10:85),1:7], 2, mean)
         mpg    cylinders displacement   horsepower       weight 
   24.404430     5.373418   187.240506   100.721519  2935.971519 
acceleration         year 
   15.726899    77.145570 
#Độ lệch chuẩn của 7 giá trị định lượng xét theo cột
apply(Auto[-c(10:85),1:7], 2, sd)
         mpg    cylinders displacement   horsepower       weight 
    7.867283     1.654179    99.678367    35.708853   811.300208 
acceleration         year 
    2.693721     3.106217 

Câu e)

# Pairs() dùng để tạo ra ma trận đồ thị phân tán của 7 giá trị định lượng trong dữ liệu 
pairs(Auto[,1:7])

# Ta thấy các giá trị trong dữ liệu có mối quan hệ tuyến tính với nhau ví dụ như là mpg x cylinders, horsepower x weight, mpg x weight và displacement x acceleration
#Biểu đồ phân tán của các biến  dữ liệu với các dữ liệu cột được chia thành cửa sổ 2x2 bằng cách sử dụng hàm mfrow=c(2,2)
par(mfrow=c(2,2))
plot(displacement, acceleration)
plot(weight, horsepower)
plot(cylinders, mpg)
plot(weight, mpg)

Câu f)

#Biểu đồ phân tán của các biến  dữ liệu với các dữ liệu cột được chia thành cửa sổ 3x2 bằng cách sử dụng hàm mfrow=c(3,2)
par(mfrow=c(3,2))
# Biểu biểu đồ phân tán của mpg với các biến định lượng còn lại của data với mpg là trục x và các biến còn lại là trục y
for(i in names(Auto[, c(2:7)])){
  plot(mpg, get(i), ylab=i)
}

Ta thấy thông qua biểu đồ phân tán thì mpg có một mối tương quan nào đó với các giá trị đinh lượng còn lại

# Mô hình multy-linear regression cho cả những biến định tính và định lượng
model <- lm(mpg ~ cylinders+year+weight+horsepower+displacement+acceleration+origin, data= Auto)
# Hàm anova tính toán và phân tích dựa trên phương sai và độ lệch của dữ liệu
anova(model)
Analysis of Variance Table

Response: mpg
              Df  Sum Sq Mean Sq   F value    Pr(>F)    
cylinders      1 14403.1 14403.1 1300.6838 < 2.2e-16 ***
year           1  2629.2  2629.2  237.4301 < 2.2e-16 ***
weight         1  2222.7  2222.7  200.7267 < 2.2e-16 ***
horsepower     1     1.6     1.6    0.1446    0.7039    
displacement   1    10.8    10.8    0.9756    0.3239    
acceleration   1     8.2     8.2    0.7443    0.3888    
origin         1   291.1   291.1   26.2912 4.666e-07 ***
Residuals    384  4252.2    11.1                        
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Dựa trên dữ liệu của bảng anova, ta thấy những biến như horsepower, displacement, acceleration (không có ’*’) không có nhiều ý nghĩa trong việc dự đoán mpg

LS0tDQp0aXRsZTogIkLDoGkgdOG6rXAgMiINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQoNCiMjIyBUw6puOiBNYWkgSHV5DQojIyMgTVNTVjogNDMuMDEuMTA0LjA2NQ0KIyMjIFPhu5EgdGjhu6kgdOG7sTogMDgNCg0KIyBDw6J1IGEpDQoNCmBgYHtyfQ0KIyBMb2FkIGRhdGFzZXQgQXV0bw0KZGF0YSgiQXV0byIpDQojIG5hLm9taXQgZMO5bmcgxJHhu4MgeG/DoSDEkWkgbmjhu69uZyBkw7JuZyBjw7MgZOG7ryBsaeG7h3UgYuG7iyBt4bqldCAoIG1pc3NpbmcgZGF0YSkNCkF1dG8gPSBuYS5vbWl0KEF1dG8pDQojIGF0dGFjaCBkw7luZyDEkeG7gyBraGnhur9uIGNobyBuaOG7r25nIGJp4bq/biBmZWF0dXJlIHRyb25nIGThu68gbGnhu4d1IGPDsyBz4bq1biB0cm9uZyBSc3R1ZGlvIHRoZW8gdMOqbg0KYXR0YWNoKEF1dG8pDQojIEThu7FhIHRyw6puIG91dHB1dCB0YSB0aOG6pXkgZOG7sSDEkW/DoW4gxJHhu4tuaCB0w61uaCBsw6AgY+G7mXQ6bmFtZSwgbmjGsG5nIGPFqW5nIGPDsyB0aOG7gyB0aOG6pXkgbMOgIGPhu5l0IG9yaWdpbiBjxaluZyBsw6AgxJHhu4tuaCB0w61uaCBuaMawbmcgZG8gxJHGsOG7o2MgbcOjIGhvw6EgbsOqbiBkYXRhIMSR4buNYyB0aHXhu5ljIHTDrW5oIG7DoHkgZMaw4bubaSBk4bqhbmcgxJHhu4tuaCBsxrDhu6NuZyhz4buRIGjhu41jKSwgY8OybiDEkeG7i25oIGzGsOG7o25nIGzDoCBuaOG7r25nIGPhu5l0IGPDsm4gbOG6oWkNCg0KIyBIw6BtIHN0ciBkw7luZyDEkeG7gyBoaeG7g24gdGjhu4sgY+G6pXUgdHLDumMgdGjDtG5nIHRpbiBj4bunYSBk4buvIGxp4buHdQ0KbGlicmFyeSgiSVNMUiIpDQpzdHIoQXV0bykNCiNhcy5mYWN0b3IoKSBkw7luZyDEkeG7gyBjaHV54buDbiBnacOhIHRy4buLIMSR4buLbmggbMaw4bujbmcgb3JpZ2luIHRow6BuaCDEkeG7i25oIHTDrW5oDQpvcmlnaW49IGFzLmZhY3RvcihvcmlnaW4pDQpgYGANCg0KIyBDw6J1IGIpDQoNCmBgYHtyfQ0KIyBDw6FjIGdpw6EgdHLhu4sgxJHhu4tuaCBsxrDhu6NuZyBn4buTbSA3IGJp4bq/biDEkeG6p3UgdGnDqm4gY+G7p2EgZOG7ryBsaeG7h3Uga2hpIGxv4bqhaSB0cuG7qyBj4buZdCBuYW1lIHbDoCBvcmlnaW4NCiNLw61jaCBj4buhIGPhu6dhIDcgZ2nDoSB0cuG7iyDEkeG7i25oIGzGsOG7o25nIGtoaSB4w6l0IHRoZW8gY+G7mXQNCmFwcGx5KEF1dG9bLDE6N10sIDIsIHJhbmdlKQ0KYGBgDQoNCiMgQ8OidSBjKQ0KDQpgYGB7cn0NCiNUcnVuZyBiw6xuaCA3IGdpw6EgdHLhu4sgxJHhu4tuaCBsxrDhu6NuZyB4w6l0IHRoZW8gY+G7mXQNCmFwcGx5KEF1dG9bLDE6N10sIDIsIG1lYW4pDQojxJDhu5kgbOG7h2NoIGNodeG6qW4gNyBnacOhIHRy4buLIMSR4buLbmggbMaw4bujbmcgeMOpdCB0aGVvIGPhu5l0DQphcHBseShBdXRvWywxOjddLCAyLCBzZCkNCmBgYA0KIA0KIyBDw6J1IGQpDQoNCmBgYHtyfQ0KIyBM4bqleSB04bqldCBj4bqjIGPDoWMgZMOybmcgbmdv4bqhaSB0cuG7qyBkw7JuZyAxMC0+ODUsIHjDqXQgNyBj4buZdCBnacOhIHRy4buLIMSR4buLbmggbMaw4bujbmcNCiNLw61jaCBj4buhIChyYW5nZSkgY+G7p2EgNyBnacOhIHRy4buLIMSR4buLbmggbMaw4bujbmcgeMOpdCB0aGVvIGPhu5l0DQphcHBseShBdXRvWy1jKDEwOjg1KSwxOjddLCAyLCByYW5nZSkNCiNUcnVuZyBiw6xuaCAobWVhbikgY+G7p2EgNyBnacOhIHRy4buLIMSR4buLbmggbMaw4bujbmcgeMOpdCB0aGVvIGPhu5l0DQphcHBseShBdXRvWy1jKDEwOjg1KSwxOjddLCAyLCBtZWFuKQ0KI8SQ4buZIGzhu4djaCBjaHXhuqluIGPhu6dhIDcgZ2nDoSB0cuG7iyDEkeG7i25oIGzGsOG7o25nIHjDqXQgdGhlbyBj4buZdA0KYXBwbHkoQXV0b1stYygxMDo4NSksMTo3XSwgMiwgc2QpDQpgYGANCg0KIyBDw6J1IGUpDQoNCmBgYHtyfQ0KIyBQYWlycygpIGTDuW5nIMSR4buDIHThuqFvIHJhIG1hIHRy4bqtbiDEkeG7kyB0aOG7iyBwaMOibiB0w6FuIGPhu6dhIDcgZ2nDoSB0cuG7iyDEkeG7i25oIGzGsOG7o25nIHRyb25nIGThu68gbGnhu4d1IA0KcGFpcnMoQXV0b1ssMTo3XSkNCmBgYA0KYGBge3J9DQojIFRhIHRo4bqleSBjw6FjIGdpw6EgdHLhu4sgdHJvbmcgZOG7ryBsaeG7h3UgY8OzIG3hu5FpIHF1YW4gaOG7hyB0dXnhur9uIHTDrW5oIHbhu5tpIG5oYXUgdsOtIGThu6UgbmjGsCBsw6AgbXBnIHggY3lsaW5kZXJzLCBob3JzZXBvd2VyIHggd2VpZ2h0LCBtcGcgeCB3ZWlnaHQgdsOgIGRpc3BsYWNlbWVudCB4IGFjY2VsZXJhdGlvbg0KI0Jp4buDdSDEkeG7kyBwaMOibiB0w6FuIGPhu6dhIGPDoWMgYmnhur9uICBk4buvIGxp4buHdSB24bubaSBjw6FjIGThu68gbGnhu4d1IGPhu5l0IMSRxrDhu6NjIGNoaWEgdGjDoG5oIGPhu61hIHPhu5UgMngyIGLhurFuZyBjw6FjaCBz4butIGThu6VuZyBow6BtIG1mcm93PWMoMiwyKQ0KcGFyKG1mcm93PWMoMiwyKSkNCnBsb3QoZGlzcGxhY2VtZW50LCBhY2NlbGVyYXRpb24pDQpwbG90KHdlaWdodCwgaG9yc2Vwb3dlcikNCnBsb3QoY3lsaW5kZXJzLCBtcGcpDQpwbG90KHdlaWdodCwgbXBnKQ0KYGBgDQoNCiMjIEPDonUgZikNCg0KYGBge3J9DQojQmnhu4N1IMSR4buTIHBow6JuIHTDoW4gY+G7p2EgY8OhYyBiaeG6v24gIGThu68gbGnhu4d1IHbhu5tpIGPDoWMgZOG7ryBsaeG7h3UgY+G7mXQgxJHGsOG7o2MgY2hpYSB0aMOgbmggY+G7rWEgc+G7lSAzeDIgYuG6sW5nIGPDoWNoIHPhu60gZOG7pW5nIGjDoG0gbWZyb3c9YygzLDIpDQpwYXIobWZyb3c9YygzLDIpKQ0KIyBCaeG7g3UgYmnhu4N1IMSR4buTIHBow6JuIHTDoW4gY+G7p2EgbXBnIHbhu5tpIGPDoWMgYmnhur9uIMSR4buLbmggbMaw4bujbmcgY8OybiBs4bqhaSBj4bunYSBkYXRhIHbhu5tpIG1wZyBsw6AgdHLhu6VjIHggdsOgIGPDoWMgYmnhur9uIGPDsm4gbOG6oWkgbMOgIHRy4bulYyB5DQpmb3IoaSBpbiBuYW1lcyhBdXRvWywgYygyOjcpXSkpew0KICBwbG90KG1wZywgZ2V0KGkpLCB5bGFiPWkpDQp9DQpgYGANCg0KIyMjIFRhIHRo4bqleSB0aMO0bmcgcXVhIGJp4buDdSDEkeG7kyBwaMOibiB0w6FuIHRow6wgbXBnIGPDsyBt4buZdCBt4buRaSB0xrDGoW5nIHF1YW4gbsOgbyDEkcOzIHbhu5tpIGPDoWMgZ2nDoSB0cuG7iyDEkWluaCBsxrDhu6NuZyBjw7JuIGzhuqFpDQoNCmBgYHtyfQ0KIyBNw7QgaMOsbmggbXVsdHktbGluZWFyIHJlZ3Jlc3Npb24gY2hvIGPhuqMgbmjhu69uZyBiaeG6v24gxJHhu4tuaCB0w61uaCB2w6AgxJHhu4tuaCBsxrDhu6NuZw0KbW9kZWwgPC0gbG0obXBnIH4gY3lsaW5kZXJzK3llYXIrd2VpZ2h0K2hvcnNlcG93ZXIrZGlzcGxhY2VtZW50K2FjY2VsZXJhdGlvbitvcmlnaW4sIGRhdGE9IEF1dG8pDQojIEjDoG0gYW5vdmEgdMOtbmggdG/DoW4gdsOgIHBow6JuIHTDrWNoIGThu7FhIHRyw6puIHBoxrDGoW5nIHNhaSB2w6AgxJHhu5kgbOG7h2NoIGPhu6dhIGThu68gbGnhu4d1DQphbm92YShtb2RlbCkNCg0KYGBgDQoNCiMjIyBE4buxYSB0csOqbiBk4buvIGxp4buHdSBj4bunYSBi4bqjbmcgYW5vdmEsIHRhIHRo4bqleSBuaOG7r25nIGJp4bq/biBuaMawIGhvcnNlcG93ZXIsIGRpc3BsYWNlbWVudCwgYWNjZWxlcmF0aW9uIChraMO0bmcgY8OzICcqJykga2jDtG5nIGPDsyBuaGnhu4F1IMO9IG5naMSpYSB0cm9uZyB2aeG7h2MgZOG7sSDEkW/DoW4gbXBnDQo=