Tổng quan về tập dữ liệu

Một phần của tài liệu Báo cáo bài tập lớn xác xuất thống kê Đề tài 4 (Trang 37 - 43)

Model 2: Model 2: arr_delay ~ origin + dep_delay + distance

5.1.1 Tổng quan về tập dữ liệu

Ở phần riêng chúng em sẽ thực hiện thống kê làm rõ dữ liệu và mô hình hóa dữ liệu trên tập tin SkiH- Craft1_ Dataset.csv.

Nguồn dữ liệu được lấy từ trang Machine Learning Repository - một trang web chứa rất nhiâi dataset phuc vu cho nghiên cứu về trí tuệ nhân tạo cụ thể là về Machine Learning. Sơ lược về tập dữ liệu này, đây là dữ liệu được tổng hợp lại và phân tích dựa trên quá trình người chơi tham gia chơi tựa game StarCraft. Tập bao g ồn 20 cột chứa các thông tin như số tuổi người chơi (Age), tổng thời gian chơi (TotalHours), trình độ ngươi chơi (Leaguelndex), và rất nhiềi thông số liên quan đến tốc độ xử lí trong game.

512 _ Hướng xử lí dữ liệu

Cũng như ở phần trên nhóm sẽ làm các bước như sau :

¢ Doc vào dữ liệu

* Làm sạch dữ liệu

¢ Lam rd dữ liệu

* Sử dụng mô hình hồ quy tuyến tính để phân tích các yếu tổ ảnh hưởng đến tốc độ xử lí khi chơi game.

Ở đây nhóm sẽ sử dụng biéh APM (Action Per Minute) để xét tốc độ xử lí của các ngươi chơi 52 Thực Hiện

5.2.1 Đọc vào dữ liệu

Để sử dụng lệnh read.csv ta cần install thư viện readr.

library(readr)

Skill_Craft <-read.csv("E:/Download/SkillCraft1_Dataset.csv")

5.2.2. Lam sach di liệu

Vỡ ủle data cú rất nhiềi biến nờn nhúm quyết định chỉ lấy những biến chớnh để khảo sỏt. Những biến được khảo sát là: Leaguelndex, Age, TotalHours và APM.

Sử dụng câu lệnh :

SkillCraft<- Skill_ Craft[,c("LeagueIndex","Age","TotalHours", "APM”)]

Tạo ra data frame mới có tên SkillCraft chỉ chứa các cột là biến chúng ta quan tâm

Tiếp đến chúng ta sẽ tìm các dữ liệu Na để xử lí. Tuy nhiên trong dataset nay không sử dụng kí hiệu Na mà lại dùng dấu ˆ?'. Thế nên ta sẽ thay các giá trị là °?” thành NA rỗ in ra số giá trị Na của từng cột Sử dụng lệnh:

Skill CraftS$LeagueIndex[SkillCraft$LeagueIndex == "2"}<-NA

#Thay Thế ? là NA

SkillCraftSAge[SkillCraft$Age == "?"]<-NA

SkillCraft$TotalHours[SkillCraft$TotalHours == "?"]|<-NA

Bài tập lớn môn Xác xuất thống kê - Niên khóa 2021-2022 Trang 37/ 43

a Truong Dai Hoc Bách Khoa s3ằ Đại học quốc gia tp Hồ Chớ Minh

SkillCraftSAPM[SkillCraft$APM == "?"]<-NA appl y(is.na(SkillCraft), 2, sum)

#tong hop Na

LeagueIndex ` Age “TotalHours APM

0 55 57 0

>

Kết quả cho thầ các biến Age và TotalHours có lần lượt là 55 và 57 giá trị Na. Vì số lượng chiếm không nhi ầi 3% nên nhóm quyết định xóa ra khỏi data frame.

SkillCraft<-na.omit(SkillCraft)

apply(s.na(SKHICraft), 2, sum)

LeagueTndex Age TotalHours APM

0 0 0

>

Kiếm tra kiểu đữ liệu nhóm thấy rằng biến Age và TotalHours đang ở kiểu char do dé c%h phai duoc chuyén sang kiểu num để có thể phân tích tiếp

$ LeagueIndex: int 5543321744

$ Age : chr "27" "23" "30" "19"...

$ TotalHours : chr "3000" "5000" "200" "400"

$ APM : num 144 129 70 108 123

str(Skill Craft)

Skill Craft$A ge<-as.numeric(SkillCraftSA ge)

Skill Craft$TotalHours<-as.numeric(SkillCraft$TotalHours)

str(SkillCraft)

$ LeagueIndex: int 5543321744

$ Age : num 27 23 30 19 32 27 21 17 20 18

$ TotalHours : num 3000 5000 200 400 500

$ APM : num 144 129 70 108 123

Tiếp đến ta cần khảo sát va xử lí những giá trị outlier. Khi kiểm tra outliers của biến TotalHours nhóm nhận thấy có những giá trị quá cao như l 000 000, 25 000, 20 000, 18 000,... là số giờ chơi của người chơi. Nhận thấy đây là những con số bất hợp lí nhóm quyết định xóa ra khỏi data frame những số lớn hơn 5000 giờ ( 208 ngày chơi liên tục)

boxplot(SkillCraftSTotalHours, horizontal = TRUE)

Bài tập lớn môn Xác xuất thống kê - Niên khóa 2021-2022 Trang 38/ 43

ê Trưởng Đại Học Bách Khoa

>a Dai hoc quốc gia tp Hồ Chí Minh

So gio choi

© 5

I T T I Ĩ T

0e+00 4e+05 8e+05

boxplot(SkillCraft$TotalHours, main = "So gio choi"horizontal = TRUE) SkillCraft <- subset(SkillCraft, TotalHours < 5000)

boxplot(SkillCraft$TotalHours, main = "So gio choi" horizontal = TRUE)

So gio choi

t-{ | }----+commmmonom o °

I I I I I

0 1000 2000 3000 4000

5.2.3 Mô tả dữ liệu

Dùng lệnh summary để xem được mô tả dữ liệu đầ đủ

summary(SkillCraft)

> summary (Skillcraft)

LeagueIndex Age TotalHours

Min. :1.000 Min. :16.00 Min. : 3.0

1st Qu.:3.000 Ist Qu.:19.00 1st Qu.: 300.0 Median :4.000 Median :21.00 Median : 500.0

Mean :4.118 Mean :21.66 Mean : 626.1

3rd Qu.:5.000 3rd Qu.:24.00 3rd Qu.: 800.0

Max. :7.000 Max. :44.00 Max. :4000.0

APM M1n. : 22.06 1st Qu.: 79.13 Median :107.04 Mean :114.39 3rd Qu.:139.98 Max. :389.83

Bài tập lớn môn Xác xuất thống kê - Niên khóa 2021-2022 Trang 39/ 43

ê Trưởng Đại Học Bách Khoa + Đại học quốc gia tp Hồ Chí Minh

Nhận xét:

Số người chơi có bậc rank là 4 chiếm nhiI nhất

Đa phần người chơi ở lứa tuổi 21, người chơi có tuổi cao nhất là 44 và độ tuổi nhỏ nhất chơi tựa game nay la 16

Đa phần người chơi đành hơn 600 giờ để chơi game, người chơi game ít nhất chỉ là 3 tiếng và người choi nhi nhất là 4000 tiếng

Đa số người chơi có tốc độ xử lí trong game là 114 hành động trên phút, người thấp nhất là 22 và cao nhất là 389

5.24 Xay dung mô hình hồ quy tuyến tính

Dùng lệnh pairs để vẽ biểu đồ tương quan giữa các biến

pairs(SkillCraft)

5 2 2 0 “0 4 100 2% 300 400

or aT Tames oe Lee

Y326905609696665 thnnnnnninesttbì S8556667.6E š a Se962Eseskossesessi quince occsee:s 6 | | '&mmmmmmmmmmsdĂẨ& 6 )ÿ |7 Leaguelndex O099999000006000666660 © 1= `... 0 © 0 ° —_. - Loo

ơ SII kia

s3, a

8 ; s

wie | * % g4

8+ Age

8 ơ1 | ị $

8+ ị °

2 :

° oo % ẹ L

2 + 3 th °

vs... Hi: il 0990916 Ui TotalHours „L8 F

LÍ — is

2

gS s

84 : 8

81... | ` ° APM

ĐẤT i : :

s1 8. .

| | ii lini.

2 3 4 5 6 7 4000

Theo biểu đồ tương quan ta thấy các biến đầu có sự phụ thuộc vào nhau

Sử dụng rcorr (thuộc thư viện Hmisc) để đưa ra ma trận tương quan và mức ý nghĩa của các yếu tế với nhau rcorr(as.matrix(SkillCraft))

Bài tập lớn môn Xác xuất thống kê - Niên khóa 2021-2022 Trang 40/ 43

pr Truong Dai Hoc Bách Khoa

>a Dai hoc quốc gia tp Hồ Chí Minh

LeagueTndex A ge TotalHours APM

LeagueIndex 1.00 -0.13 0.44 0.62

Age -0.13 1.00 -0.04 -0.21

TotalHours 0.44 -0.04 1.00 0.37

APM 0.62 -0.21 0.37 1.00

n= 3325

Pp

LeagueIndex Age TotalHours APM

LeagueIndex 0.0000 0.0000 0.0000

Age 0.0000 0.0202 0.0000

TotalHours 0.0000 0.0202 0.0000

APM 0.0000 0.0000 0.0000

Từ ma trận tương quan ta thấy các chỉ sO d@ nam trong khodng t? -1 dén 1 va bang giá trị P tất cả các giá tị đồi nhỏ hơn 0.05 tức là các yếu tố đầâi có ý nghĩa thống kê

Xây dựng mô hình hồ quy

Chia dữ liệu thành 2 phần (sử dụng thư viện caTools):

‹ 2/3 số lượng dữ liệu để xây dựng mô hình

‹ 1⁄3 số lượng dữ liệu để kiểm định lại mô hình

set.seed(123)

split = sample.split(SkillCraftSAPM, SplitRatio = 2/3)

Vi ham sample.split) 14 mét ham ngẫu nhiên nên phải sử dụng set.seed để tránh sự khác nhau dữ các máy khi xài cùng đoạn code này

Tách mẫu ban đầi thành 2 mẫu: xây dựng và kiểm định

xaydung = subset(SkillCraft, split == TRUE) kiemdinh = subset(SkillCraft, split == FALSE)

Xây dựng mô hình

Dùng mẫu xây dựng đã tạo và hàm lIm(Q) để xây dựng mô hình cho biến APM dựa vào các biến khác trong mẫu

moHinh = lm(APM~., data = xaydung) summary(moHinh)

Bài tập lớn môn Xác xuất thống kê - Niên khóa 2021-2022 Trang 41/ 43

a Truong Dai Hoc Bách Khoa s3ằ Đại học quốc gia tp Hồ Chớ Minh

Ý nghĩa của bảng số summary

* Estimate: Hệ số Beta của mô hình hồ quy

ô Std. Error: Độ lệch chuẩn ước lượng của hệ số Beta tương ứng et value = Estimate/Std. Error: gia tri t trong kiém dinh gia thiết

Nếu t có giá trị tuyệt đối lớn hơn giá trị tới han thi hệ số beta có ý nghĩa thống kê

* Pr(lt): giá trị p-value trong kiểm định Họ : Beta =0, H; : Beta =0

Bên cạnh các hàng yếu tố bảng số có những dấu "*" tức là các yếu tế đó mang ý nghĩa thống kê. Trong trưởng hợp này tất cả các yếu tố có trong mô hình đồi mang ý nghĩa (giống với kết luận phía trên)

R? của mô hình bằng 0.4214

Tìm R2 của dự báo theo mẫu kiển định

dubao_kiemdinh = predict(moHinh, kiemdinh)

RSS_kiemdinh = sum((dubao_kiemdinh - kiemdinh$APM)^2) TSS_kiemdinh = sum((mean(xaydung$A PM)-kiemdinh$APM)‘2) R2_kiemdinh = 1|- RSS_kiemdinh/TSS_kiemdinh

Tim duoc R? cia dự báo theo mẫu kiểm định là 0.4106 xấp xỉ với R? cha mô hình suy ra mô hình không bị overfitting

Bài tập lớn môn Xác xuất thống kê - Niên khóa 2021-2022 Trang 42/ 43

Một phần của tài liệu Báo cáo bài tập lớn xác xuất thống kê Đề tài 4 (Trang 37 - 43)

Tải bản đầy đủ (PDF)

(43 trang)