1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo bài tập lớn môn xác suất và thống kê mt2013

14 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Phõn tớch phương sai 2 nhõn tố cú lặp
Tác giả Thể. Nguyễn Kiều Dung, Nguyễn Thành Đạt, Hồ Trọng Nhõn, Đổ Văn Bõng, Giản Đình Thỏi, Nguyễn Hữu Thọ
Trường học Trường Đại Học Bách Khoa
Chuyên ngành Xác Suất Và Thống Kê
Thể loại Bài Tập Lớn
Năm xuất bản 2023
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 14
Dung lượng 2,82 MB

Nội dung

DAI HOC QUOC GIA THANH PHO HO CHi MINH TRUGNG DAI HOC BACH KHOA KHOA KHOA HOC VA KI THUAT MAY TINH BAO CAO BAI TAP LGN MON XAC SUAT VA THONG KE MT2013 NHÓM MT11 - ĐỀ TÀI 05 Giảng viên

Trang 1

DAI HOC QUOC GIA THANH PHO HO CHi MINH TRUGNG DAI HOC BACH KHOA KHOA KHOA HOC VA KI THUAT MAY TINH

BAO CAO BAI TAP LGN

MON XAC SUAT VA THONG KE (MT2013)

NHÓM MT11 - ĐỀ TÀI 05

Giảng viên hướng dẫn: Thể Nguyễn Kiều Dung

Sinh viên thực hiện: Nguyễn Thành Đạt - LOI 2111018

Hồ Trọng Nhân - LII 2111899

Đổ Văn Bâng - LII 2110813 Giản Đình Thái - L08 2112278 Nguyễn Hữu Thọ - L09 2114911 THANH PHO HO CHi MINH, THANG 4 NAM 2023

Trang 2

4 Khoa Khoa Hoc & Kỹ Thuật Máy Tính

Muc luc

1 Tiêu đề ảnh

2_ Danh sách thành viên và khối lượng công việc

3_ CƠ SỞ LÝ THUYẾT

3.1 Phân tích phương sai 2 nhân tố có lặp

4 HOAT DONG 2

41 Thực hiện

411 7 Đọc dữ lệu cv

41.2 Làm sạch dữ lệu cv

41.3 Làm rõ dữ lệu La

Trang 3

< Khoa Khoa Hoc & Kỹ Thuật Máy Tính

1 Tiêu đề ảnh

Tiêu đề ảnh

4.1.1 Kết qua sau khi đọc dữ liệu và xem 3 dòng đầu của tập dữ lệu 5

4.1.2 Kết quả kiểm tra dữ liệu trong rawlData c2 6

4.1.3 Kết quả xử lý đữ liệu (l) ee 7

4.1.4 Kết quả xử lý dit liu (2) 2 ee 8

4.1.5 D6 thi OccupancyRate cia BHMBCCMKTO01 theo thời gian 9

4.1.6 Đồ thị OccupancyRate cia tat ca bai dé xe trong ngay «6 10

4.1.7 D6 thi trang binh OccupancyRate cha cic bai d6 xe en 11

4.1.8 Đồ thị trung bình OeeupaneyRate theo ngày trong năm 12

4.1.9 Đồ thi trang binh OccupancyRate ng&y trong tUẦn cu cv 13

Trang 4

< Khoa Khoa Hoc & Kỹ Thuật Máy Tính

2_ Danh sách thành viên và khối lượng công việc

No | Họ và tên thành viên | Mã số sinh viên | Công việc | Phần trăm công việc

1 D6 Văn Bang 2110813 100%

2 Gian Dinh Thai 2112278 100%

3 Hồ Trọng Nhân 2111899 100%

4 Nguyễn Thành Đạt 2111018 100%

5 Nguyễn Hữu Thọ 2114911 100%

Trang 5

Khoa Khoa Học & Kỹ Thuật Máy Tính

3 CƠ SỞ LÝ THUYET

3.1 Phân tích phương sai 2 nhân tố có lặp

Phân tích nhằm đánh giá sự ảnh hưởng của 2 nhân tố (yếu tố ) A và B trên các giá trị quan

sát ø¿¿, mỗi mức ((œ¡, b;) đều có sự lặp lại r lần thí nghiệm và ta cần khảo sát thêm sự tương

tac (interaction term) x4; giữa 2 nhân tố A va B

e Mẫu điều tra:

Xiu

e Xử lý mẫu: Tính tổng hàng 7;„„ — » Xijk, tong cot Tejx = » Lijk

Xu Xa Xiai

x Xa: Xi„3

a : : : =D x14

XiIr Xi XImr

xy Xo Xam3

xn xa Xâu

x, Xe? Xamt

Xn Xea ›

e Các tổng bình phương cần tính: » đã k

ra bảng công thức:

» SOT eis » Ties từ đó suy

4 tị

Trang 6

4 Khoa Khoa Hoc & Kỹ Thuật Máy Tính

` , T

Sk „

SSA = mrŠ”(x„« — x }=-_——-——

mr — nữ

yr

SSB = nr }(x., -x)? = ; nr mr

VỆ VI} KH „,

SSE = SST - SSA - SSB - SSAB = xả -

aja

4 HOAT DONG 2

4.1 Thực hiện

4.1.1 Đọc dữ liệu

read_data <—function (){

rawData<-read csv ( paste0 (getwd (), "/dataset csv "))

cat ("duc lieu_gom_" ,ncol{rawData) ,"_thuoc tinh vac",

nrow(rawData) —1," thong tin" ,"\n") print (head (rawData ,3))

return (rawData)

Kết quả thu được:

du lieu gom 4 thuoc tinh va 35716 quan sat

SystemCodeNumber Capacity Occupancy LastUpdated

Hình 4.1.1: Kết quả sau khi doc dit liéu va xem 3 dong dau của tập dữ liệu

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

clean_datba <— function(rawData){

before_ clean<=nrow(rawData)

parkingData<—rawData

if (any(is.na(parkingData))) {

Trang 7

< Khoa Khoa Hoc & Kỹ Thuật Máy Tính

parkingData<na omit (data)

}

parkingData <— parkingData|parkingData$Occupancy >= 0, |

parkingData <— parkingData|parkingData$Occupancy <=

parkingData$Capacity, | parkingData <— parkingData|parkingData$Capacity >= 0, |

parkingData <— parkingData|!duplicated({parkingData), |

fault rows=before clean — nrow( parkingData)

cat( "5o hang du lieu bi loi :",

fault rows,",chiem ",fault rows/before_ cleanx100,

return(parkingData)

"Anh" )

Kết quả thu được:

so hang du lieu bi loi : 601 ,chiem 1.682672 % Hinh 4.1.2: Két qua kiém tra dit liéu trong rawData

Nhận xét: Ta nhận thấy không có quan sát nào bị khuyết nhưng c6 quan sAt c6 Occupancy

âm, lớn hơn Capacity hoặc quan sát bị lặp Ta lựa chọn xóa các quan sát này và lưu vào

parkingData

4.1.3 Làm rõ dữ liệu

Tạo thêm một số giá trị quan sát:

visual_datal <=function(parkingData){

parkingData8OccupancyRate<—

parkingData$Occupancy / parkingData$Capacity*100 parkingData$LastUpdated <— as.POSIXct( parkingData$LastUpdated ,

format = "AY-Yn-Ad_ YH: AZM %S " ) parkingData$Date <— format ( parkingData$LastUpdated ,

format = "⁄4W- mm 4d") parkingData$Time <— format(parkingData8LastUpdated,

format = "“H:%M%S") parkingData$Date <— as Date(parkingData#Date)

parkingData$Weekday <— weekdays{ parkingData$Date ,

abbreviate = TRUE) print (head (parkingData ,3))

return(parkingData)

Ta tạo thêm các cột OccupaneyRate, tách riêng ngày và giờ, thêm cột ngày trong tuần

(Week) để đễ quan sát cũng như sử dụng trong các mô hình Kết quả như sau

Trang 8

< Khoa Khoa Hoc & Kỹ Thuật Máy Tính

SystemcodeNumber Capacity Occupancy LastUpdated OccupancyRate

1 BHMBCCMKT01 577 61 2016-10-04 07:59:42 10 57192

2 BHMBCCMKT01 577 64 2016-10-04 08:25:42 11.09185

3 BHMBCCMKTO1 577 80 2016-10-04 08:59:42 13 86482

Date Time weekday

1 2016-10-04 07:59:42 Tue

2 2016-10-04 08:25:42 Tue

3 2016-10-04 08:59:42 Tue

Hình 4.1.3: Kết quả xử lý dữ liệu (1) Thống kê mõ tả: Thực hiện tính các giá trị thống kê mô tả cho các biến apaecitu, Oceupane, Occupancy Rate Xuất kết quả dưới dạng bảng:

num_stats <— function(x) {

stats <— c(mean = mean(x),

sd = sd(x), min = min(x),

Ql = quantile{x, probs = 0.25), median = median(x),

Q3 = quantile(x, probs = 0.75), max = max(x))

return( stats)

}

my summary <— function(df) {

num cols <— sapply(df, is numeric)

stats df < data.frame(t(sapply(df[num_cols], num_stats)))

Kết quả thu duge:

mean sd min Q1.25 median Q3.75 max Capacity 140792 118301 220.00 577.00 862.00 200900 4675.00 Occupancy 645.35 660.53 0.00 210.00 450.00 79900 4327.00 OccupancyRate 48.98 26.68 0.00 25.61 46.94 71.19 100.00

Thống kê thời gian địa điểm: Số lượng bãi đỗ xe thu thập, số quan sát mỗi bãi xe và thời

gian thu thập:

visual data2 <— function(đdf)

nums_sysbem <— length(unique( df8SystemCodeNumber )) min date <— format(min(df8LastUpdated), "2X-#m⁄d_⁄4H:⁄M %8") max date <— format (max(df§LastUpdated), "%Y-#4n %1 %4H:%M%S") cat( "du_lieu ,duoc_,ghi nhan ,tai_.", nums system,

"bai do xe \n")

cat( "du lieu ,duoc_,ghi_nhan_tu”, min date,

"den", max date, "\n") print (table ( parkingData$SystemCodeNumber) )

Trang 9

Khoa Khoa Học & Kỹ Thuật Máy Tính

Kết quả thu thập được:

du Tieu duoc ghỉ nhan tai 30 bai do xe

du lieu duoc ghi nhan tu 2016-10-04 07:46:28 den 2016-12-19 16:30: 35

BHMBCCMKT01 BHMBCCPST01 BHMBCCSNHO1

BHMBRCBRGOL BHMBRCBRGO2 BHMBRCBRGO3

BHMEURBRDO1 BHMEURBRD02 BHMMBMMBXO1

BHMNCPLDH01 BHMNCPNHS01 BHMNCPNSTOL

BHMNCPRANOL Broad Street Bull Ring

NIA North NIA South others-CCCPS105a

Others-CCCPS133 Others-CCCPS135a Others-cccPs202

Oothers-CCCPS98 Shopping

1307 1307

Hình 4.1.4: Kết quả xử lý dữ liệu (2)

BHMBCCTHLO1

1067 BHMBRTARCO1

88 BHMNCPHSTO1

1301 BHMNCPPL S01

1253 NIA Car Parks

1199 Others-CCCPS119a

1307 others-cCCCPS8

1307

Thống kê số dữ liệu cho từng ngày trong tuần của bãi đỗ xe

parkingData_counts <— with(parkingData ,

table (SystemCodeNumber, We print (head( parkingData_counts ,10)) ekday ))

Kết quả thu được có dạng:

Fri Mon Sat Sun Thu Tue Wed BHMBCCMKTOIL 177 198 180 178 180 197 197 BHMBCCPSTOI 177 198 178 178 180 179 179 BHMBCCSNHOI 177 178 180 178 180 189 196 BHMBCCTHLO1 145 171 138 138 140 175 160 BHMBRCBRGO1 149 169 129 138 158 174 176 BHMBRCBRGO2 157 180 148 146 162 178 179 BHMBRCBRGO3 159 180 162 160 162 178 179 BHMBRTARC01 18 0 18 18 0 17 17 BHMEURBRDOL 177 198 180 178 179 197 197 BHMEURBRDO2 177 198 180 142 179 197 197

Các đồ thị

Vẽ đồ thị eeupaneyRRate của một bãi đỗ xe theo thời gian trong ngày:

Trang 10

< Khoa Khoa Hoc & Kỹ Thuật Máy Tính

plot_one <— function(parkingData, sys_code) {

parkingData_subset <— subset (parkingData,

SystemCodeNumber == sys_code) parkingData_subset$Time < as.POSIXct(parkingData_subset$Time,

format = "YH:%M%S") plot_ syscode<—ggplot(parkingData_ subset,

aes(x = Time, y = OccupancyRate)) + geom_point() +

labs(title = paste("Occupancy _Rate_of",

sys code, "Car Park Over_Time") ,

x = "Time", y = "Occupancy Rate (%)") + scale _x datetime(date_ labels = "ZH:%M", date_breaks = "1 lhour")+

theme_bw()

print (plot_syscode)

}

plot_one(parkingData , unique( parkingData$SystemCodeNumber ) [1] }

Kết quả thu được:

Occupancy Rate of BHMBCCMKT01 Car Park Over Time

» e

*

75 ° “ › $ :

œ -° -ả ? $ % °° +4

8 a £ uc, Sf 4

tn: §

°

08:00 09:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:

Time

Hình 4.1.5: Đồ thị ÓeeupaneyRate của BHMIDBCCMKTOI theo thời gian

Vẽ đồ thị eeupaneyRRate của tất cả bãi đỗ xe theo thời gian trong ngày:

Trang 11

> 4 Khoa Khoa Hoc & Kỹ Thuật Máy Tính

plot_all < function(data) {

data$Time <— as POSIXct(data$Time,

plot_all_syscode<-ggplot (data,

format = "YH:%M:%S" )

= SystemCodeNumber )) +

aes(x = Time, y = OccupancyRate, color

geom_point() +

labs(title = "Occupancy Rate of Car Parks Over_Time" ,

x = "Time", y = "Occupancy _ Rate (9%

scale _x datetime(date labels = "%4H:%M",

theme_bw()

print (plot_all_syscode)

oy") +

}

date breaks = "1_hour") +

Kết quả thu duge:

Occupancy Rate of Car Parks Over Time

100*

SystemCodeNumber

® BHMBCCMKTO1

s BHMBCCPSTO1

© BHMBCCSNHO1

® BHMBCCTHLO1

s BHMBRCBRGO1

© BHMBRCBRGO2

© BHMBRCBRGO3

s BHMBRTARCO1

s BHMEURBRDO1

® BHMEURBRDO2

s BHMMBMMBX01

® BHMNCPHSTO1

® BHMNCPLDHO1

© BHMNCPNHSO1

® BHMNCPNSTO1

751

50+

257 08:00 09:00 10:00 11:00 12:00 13:00 14:00 15:00 18:00 17:00

Time

BHMNCPPL S01 BHMNCPRAN01 Broad Street Bull Ring NIA Car Parks NIA North NIA South Others-CCCPS105a Others-CCCPS119a Others-CCCPS133 Others-CCCPS135a Others-CCCPS202 Others-CCCPS8 Cthers-CCCPS98 Shopping

Hình 4.1.6: Đồ thị OccupancyRate cha tat ca bai dé xe trong ngay

Vẽ đồ thị trung bình Occupancy Rate cha các bãi đỗ xe:

plot_mean_rate<function ( parkingData) {

Trang 12

> 4 Khoa Khoa Hoc & Kỹ Thuật Máy Tính

# Tình trung bình occupancy rate theo moi car park

parkingData_mean <— aggregate( parkingData$OccupancyRate ,

by = list (SystemCodeNumber = parkingData$SystemCodeNumber ) FUN = mean)

# Ve bieu do cot voi gia tri trung binhk occupancy rate

plot_mean <— ggplot (parkingData_mean,

aes(x = SystemCodeNumber, y = x)) + geom_col( fill = "steelblue") +

labs(title = "Average Occupancy Rate by Car Park" ,

x = "CarJPark", y = "Mean Occupancy Rate") + theme_bw() +

coord flip ()

print (plot_mean a

Kết quả thu duge:

Average Occupancy Rate by Car Park

Shopping>

Others-CCCPS98 >

Others-CCCPS8 ~ Others-CCCPS202 >

Others-CCCPS135a+

Others-CCCPS1337 Others-CCCPS119a-

NIA South>

NIA North>

NIA Car Parks~

Bull Ring~

Broad Street*

BHMNCPRANO1 =

BHMNCPNST01~

BHMNCPNHS01~

BHMNCPHST01~

BHMMBMMBX01 = BHMEURBRDO2 >

BHMBRTARCO1 = BHMBRCBRGO3-~

BHMBRCBRGO2- BHMBCCTHLO1 = BHMBCCSNHO1 - BHMBCCPST01 ~ BHMBCCMKT01 =

Mean Occupancy Rate

Hình 4.1.7: Đồ thị trung bình OeeupaneyRate của các bãi đỗ xe

Vẽ đồ thị trung bình OccupancyRate theo ngay trong nim:

Trang 13

< Khoa Khoa Hoc & Kỹ Thuật Máy Tính

plot_avg_occ_by_date<function(parkingData){

avg occ by dabe <— aggregate(OccupancyRate ~ Date,

data = parkingData, FUN = mean)

my plot<—ggplot(avg occ by date,

aes(x = Date, y = OccupancyRate)) + geom line() +

getitle("Average Occupancy by date")+

labs(x = "date", y = "Average Occupancy Rate")

print (my_plot)

}

Kết quả thu duge:

Average Occupancy by date

60-

® 50-

t

œ

oC

c

&

5

Q

3

Ò

Đ40-

_

®

<

30-

date

Hình 4.1.8: Đồ thị trung bình OeeupaneyRate theo ngày trong năm

Vẽ đồ thị trung bình OccupancyRate theo ngay trong nim:

plot avg occ by weekday <— function(parkingData) {

# Create a factor variable of the weekdays in the correct order

Trang 14

> 4 Khoa Khoa Hoc & Kỹ Thuật Máy Tính

weekdays ordered <— factor (parkingData$Weekday ,

levels = c({"Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"))

# Create the box plot

my_ plot < ggplot(parkingData,

aes(x = weekdays ordered, y = OccupancyRate)) + geom_boxplot( fill = "steelblue", color = "black") +

getitle ("Average occupancy by weekday") +

xlab ("Weekday") +

ylab("Average_occupancy")

print (my_plot)

Kết quả thu duge:

Average occupancy by weekday

Weekday

Hinh 4.1.9: Dé thi trung binh OccupancyRate ngay trong tuan

Ngày đăng: 22/07/2024, 17:29

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w