d Tinh gia trị các thống kê mô tả cỡ mẫu, trung bình, độ lệch chuẩn, min, max, các điểm tứ phân vị của thời gian khởi hành trễ biến dep_delay của từng hãng hàng không carrier.. Dựa trên
Trang 1ĐẠI HỌC QUOC GIA THANH PHO Ha CHi MINH
TRUONG DAI HOC BACH KHOA
000
BAO CAO BAI TAP LaN SO 2
XAC SUAT THONG KE
DNOEDN GVHD: Nguyễn Kiều Dung
Thực Hiện: Nhóm 24, Khoa Cơ khí
3 | Đỗ Ngọc Thành Danh 1912838 | L17A Co Điện Tử
6 Phạm Hồng Hiệp 1911183 | L17A Cơ Điện Tử
7 | Nguyễn Ngọc Trường Sơn 1911980 | L17A Cơ Khí
Trang 2MUC LUC D:/000:00 S11 1
1 Nhạp, làm sạch dữ liệu, thực hiện các thọng kê mô tạ - 5à nh nreierree 1
2 Phân tích phương sai mọt nhân kỌ - nh trhnHhHhHhrtHrk 8
Trang 3PHAN CHUNG
Tập tin flights.rda cung cấp thông tin về 162049 chuyến bay đã khởi hành từ hai sân
bay lớn của vùng Tây bắc Thái Bình Dương của Mỹ, SEA ở Seattle và PDX ở Portland
trong năm 2014 Dữ liệu cung cấp bởi Văn phòng Thống kê Vận tải Mỹ
(https://www.transtats.bts.gov/) Dữ liệu này được dùng để phân tích các nguyên
nhân gây ra sự khởi hành trễ hoặc hoãn các chuyến bay Chi tiết về bộ dữ liệu như sau:
Tổng số chuyến bay được thống kê: 162049
Tổng số biển: 16
Mô tả các biến chính:
— year, month, day: ngày khởi hành của mỗi chuyến bay
— carrier: tén cua hãng hàng không
— origin va dest: tên sân bay đi và đến
— dep_time và arr_time: thời gian cất cánh và hạ cánh
— dep_ delay và arr_ delay: chênh lệch (phút) giữa thời gian cất/hạ cánh thực tế với thời gian cất/ha cánh in trong vé
— distance: khoang cách giữa hai sân bay (dặm)
1 Nhạp, làm sạch dữ liệu, thực hiện các thọng kê mô tạ
(a) Doc dữ liệu từ tập tin flights.rda
4 2014 1 1 2 2 600 -23 «US N547UW 46 PDX art 2 2262 9
Trang 4(b) Hãy tạo một data.frame mới, đặt tên là newFlights, chỉ chứa các biến chúng ta cần quan tam la: carrier, origin, dep_time, arr_time, dep_delay và arr_ delay
Từ câu hỏi này về sau, mọợi yêu cầu xử lý đều được thực hiện trên data.frame newFlights này
Showing 1 to 10 of 162,049 entries, 6 total columns
(c) Trong cac bién dang xét, có một số biến chứa nhiều giả trị khuyết (NA - Not Available) Hay in bang thống kê giá trị khuyết đối với từng biến Hãy đề xuất một phương pháp để xử lý những giá trị khuyết này
— Thống kê giá trị khuyết với từng biến
[ freq.na(newFlights) ]
Trang 5missing % arr_delay 1301 1 arr_time 988 1 dep_time 857 1 dep_delay 857 1
origin 00
— Đề xuất phương pháp: Dựa vào kết quả thu được ở bảng thống kê tỷ lệ giá
trị khuyết với từng biến, ta nhận thấy các biến arr delay, arr_time,
dep_ time, dep_ delay có nhiều giá trị khuyết Ta cần xử lí các giá trị khuyết
đó, các phương pháp thường dùng như:
© Deletetion (Xóa): Thường được dùng khi xác suất bị khuyết giá trị là như nhau cho tất cả các quan sát Có thể xóa tất cả các quan sát bị khuyết giả trị hoặc chỉ xóa những quan sát khuyết giả trị mà ta cần quan tâm Mean/Mode/Median Imputation: điền vào các giá trị bị khuyết bằng giá
trị ước tính của nó Sử dụng các mối quan hệ đã biết được xác định trong
các quan sát hợp lệ của tập dữ liệu để hỗ trợ cho việc ước tính
Prediciton Model: Tạo mô hình dự đoán để ước tính các giá trị bị khuyết thiếu
KNN Imputation: các giá trị bị thiếu của một quan sát được gán bằng
cách sử dụng một số quan sát đã cho giống nhất với quan sát có giả trị
Trang 6(d) Tinh gia trị các thống kê mô tả (cỡ mẫu, trung bình, độ lệch chuẩn, min, max,
các điểm tứ phân vị) của thời gian khởi hành trễ (biến dep_delay) của từng hãng hàng không (carrier) Xuất kết quả ra dưới dạng bảng
statistical_description = cbind(tapply(newFlightsSdep_delay, newFlightsScarrier, length),
tapply(newFlightsSdep_delay, newFlightsScarrier, mean), tapply(newFlightsSdep_delay, newFlightsScarrier, sd), tapply(newFlightsSdep_delay, newFlightsScarrier, min), tapply(newFlightsSdep_delay, newFlightsScarrier, quantile, probs=0.25), tapply(newFlightsSdep_delay, newFlightsScarrier, quantile, probs=0.5), tapply(newFlightsSdep_delay, newFlightsScarrier, quantile, probs=0.75))
{ {
tapply(newFlightsSdep_delay, newFlightsScarrier, max),
{ {
colnames(statistical_description) = c("sample","mean", "sd", "min", "max", "q25",
DL 16637 4.778806 29.24961 -19 886 -4 -2 4 r9 2683 10.149832 41.03238 -20 815 -6 -2 11
Trang 7(e) Vẽ đồ thị boxplot cho thời gian khởi hành trễ dep_delay tương ứng với từng hãng hàng không carrier
(f) Ta sé quan sat thay có rất nhiều diém outliers trén cac đồ thị boxplot vừa vẽ
(đối với biến dep_ delay) Hãy sử dụng khoảng tứ phan vi (interquartile range)
để loại bỏ các điểm outlier này và vẽ lại các đồ thị boxplot cho dep_ delay Dựa trên đồ thị boxplot, cho nhận xét về thời gian khởi hành trễ của từng hãng hàng
không
©_ Lưu dữ liệu biển dep_ delay theo từng hãng hàng không
Trang 8
AA = filter(newFlights, carrier == "AA")
AS = filter(newFlights, carrier == "AS")
B6 = filter(newFlights, carrier == "B6")
DL = filter(newFlights, carrier == "DL")
F9 = filter(newFlights, carrier == "F9")
HA = filter(newFlights, carrier == "HA")
OO = filter(newFlights, carrier == "OO")
UA = filter(newFlights, carrier == ""UA")
US = filter(newFlights, carrier =="US")
Trang 9Nhân xét thời gian khởi hành trễ dựa trên đồ thị boxplot:
Hãng hàng không AA: Thời gian khởi hành có trung vị nhỏ hơn 0 và giá
trị Q3 hơn 0 không đáng kể, tức là gân 75% chuyến bay có thời gian khởi
hành sớm hơn in trên vé, khoảng IOR hẹp cho thấy thời gian khởi hành
ổn định
Hãng hàng không AS: Thời gian khởi hành có giá trị Q3 nhỏ hơn 0, tức
la hon 75% chuyến bay có thời gian khởi hành sớm hơn in trên vé,
khoảng IỌR hẹp cho thấy thời gian khởi hành ổn định
Hãng hàng không B6: Thời gian khởi hành có trung vị như AA và A5, tức là hơn 50% chuyển bay sớm hơn thời gian in trên vé, nhưng Q3>0
đáng kể hơn và IOR lớn hơn của AA và AS nên có thể nói thời gian khởi
hành của B6 ít ổn định hơn
Hang hang khong DL: Thoi gian khởi hành có IQR hẹp, trung vị nhỏ
hơn 0 và Q3>0 không đáng kể, chứng tỏ DL có thời gian khởi hành ổn định, gần 75% số chuyển bay sớm hơn thời gian in trên vé
Hãng hàng không F9: Mặc dù thời gian khởi hành có trung vị nhỏ hơn
0, tức hơn 50% số chuyển bay khởi hành sớm hơn dự kiến nhưng khoảng
IQR khả lớn, nên có thể kết luận thời gian khởi hành của F9 ít ổn định
Trang 10— Hãng hàng không HA: Thời gian khởi hành có Q3<0, tức là hơn 75% số
chuyển bay khởi hành sớm hơn thời gian in trên vẽ, khoảng IQR hẹp nên có thể kết luận thời gian khởi hành của HA ổn định
— Hãng hàng không OO: Thời gian khởi hành có đặc điểm tương đồng
như HA
— Tiãng hàng không ỦA: Thời gian khởi hành có trung vị nhỏ hơn 0, tức
là hơn 50% số chuyến bay khởi hành sớm hơn dự kiến, tuy Q3>0 nhưng IOR tương đối hẹp nên thời gian khởi hành của UA được xem là ổn định
— Hãng hàng không ỦS: Thời gian khởi hành có Q3<0 nên hơn 75% số
chuyển bay khởi hành sớm hơn dự kiến, khoảng IOR hẹp nên có thể kết
luận thời gian khởi hang của hãng US ổn định
— Hiãng hàng không VX: Thời gian khởi hành có khoảng IQOR, O1 và Q3
tương tự US nhưng có trung vị lớn hơn ỦS, nên phần lớn các chuyến bay của VX trễ hơn US nhưng cả 2 hãng đều có tính ổn định như nhau
— Hang hang khong WN: Thoi gian khởi hành có trung vị lớn hơn 0, tức
là hơn 50% số chuyển bay trễ hơn so với thời gian in trên vé, khoảng
IOR lớn chứng tỏ hãng WN có thời gian khởi hành không ốn định
2 Phan tích phương sai mọt nhân to
Ta quan tâm đến việc kiểm định rằng liệu có sự khác biệt về thời gian khởi hành
trễ trung bình giữa các hãng hàng không đối với các chuyến bay khởi hành từ
Portland trong năm 2014 hay không?
(a) Hãy giải thích tại sao ta cân dùng phân tích phương sai để trả lời cho câu hỏi
trên Xác định biển phụ thuộc và các nhân tố (hay các biến độc lập)
yếu tố nguyên nhân (định tính) Do đó, ta cần phân tích phương sai để
trả lòi cho câu hỏi trên
o Theo yêu câu đề bài, biến phụ thuộc là dep_delay, biển độc lập (các
nhân tố) là carrier
Trang 11(b) Phát biểu các giả thuyết và đối thuyết bằng lời và công thức toán Nêu các giả
định cần kiểm tra của mô hình
— Các giả định cần kiểm tra của mô hình:
o_ Các tổng thể có phân phối chuẩn (với trung bình tương ứng là a1; 2; ;
au chưa biết)
o_ Các tổng thể có phương sai bằng nhau
o_ Các mẫu quan sát được lấy độc lập
(c) Thực hiện kiểm tra các giả định của mô hình (giả định về phân phối chuẩn, tính
đồng nhất của các phương sai)
— Giả định về phân phối chuẩn:
©_ Trước hết cần lọc dữ liệu các chuyển bay khởi hành từ sân bay PDX, sau
đó sử dụng đồ thị QQ-plot để kiểm tra giả định về phân phối chuẩn
data_PDxX = filter(data_no_outliers, origin == 'PDX')
qplot(sample = dep_delay, data = data_PDxX, facets = ~ carrier)
Trang 12Hình trên bao gồm hình của 11 đồ thị QQ về thời gian khởi hành trễ của
các hãng hàng không Đối với mỗi đồ thị, trục tung là định lượng của mẫu, trục hoành là định lượng theo lý thuyết phân phối chuẩn Các chấm đen trong đồ thị nếu xếp thành đường xiên phải một góc 45 độ so với trục hoành thì dữ liệu đó có thỏa giả định về phân phối chuẩn Một cách trực quan ta thấy, các đồ thị trên đều xiên phải nhưng góc xiên
chưa thực sự là 45 độ và có 1 vài hãng hàng không thì đồ thị bị bẻ cong
khá nhiều Tuy nhiên, ta có thể sử dụng định luật giới hạn trung tâm,
nếu một tập mẫu đủ lớn với kích thước trên 30, dạng của phân phối mẫu sẽ gần giống nhất với một phân phối chuẩn, ngay cả khi sự phân
bố bị lệch nhiều
Như vậy giả định về phân phối chuẩn của tập dữ liệu được thỏa mãn định về tính đồng nhất các phương sai:
Phương pháp: sử dụng kiểm định Levene để kiểm tra tính đồng nhất
của phương sai,
Đặt giả thiết:
- H›: phương sai của các nhóm so sánh là bằng nhau
- Hi: ton tại ít nhất 2 nhóm có phương sai khác nhau
Trang 13
o_ Ta cần lập bảng thống kê phương sai thời gian khởi hành trễ đối với các
DL 22.28977 F9 10425379
o_ Hầu như phương sai các hãng không chênh lệch nhau nhiều (trừ cá biệt
1 vài hãng) nên ta vẫn tiến hành phân tích ANOVA một nhân tố, (d) Thực hiện phân tích ANOVA một nhân tố Trình bày bảng phân tích phương
sai Cho kết luận
Trang 14— Kết luận: Có sự khác biệt về thời gian khởi hành trễ trung bình giữa các hãng hàng không đối với các chuyến bay khởi hành từ Portland trong năm
2014
12
Trang 15PHAN RIENG
Đề tài: “Hiệu suat năng lượng của tòa nha”
Dữ liệu sử dụng được lấy từ UCI Machine Learning Repository, cụ thể ở đường dẫn:
https://archive.ics.uci.edu/ml/datasets/Energy-+efficiency
Tap dữ liệu bao gồm 768 mẫu với 8 đặc tính ban đầu dùng để dự đoán 2 đặc tính có
gia trị thực, được lưu với tên 8ENB2012_data.csv’
Các biến trong dữ liệu:
o_ XI: Độ nhỏ gọn tương đối
Y2: Công suất làm mát
Phương pháp lí thuyết: Hồi quy tuyến tính bội
Các bước thực hiện:
1 Đọc dữ liệu (import data)
Lam sach die liéu (data cleaning)
Lam ro dit liéu (data visualization)
Xây dựng các mô hình hồi quy tuyến tính (Fitting linear regression models)
Trang 16Showing 1 to 10 of 1,296 entries, 12 total columns
2 Lam sach dit liéu
(a) Dùng lệnh tùy ý để trích ra một dữ liệu con đặt tên là analytic_data chỉ bao
gồm các biến chính trong phần giới thiệu dữ liệu, tức là loại bỏ cột X và X.1
analytic_ data = subset{root_ data, select = -c{X, X.1))
Showing 1 to 10 of 1,296 entries, 10 total columns
(b) `Kiểm tra đữ liệu khuyết
Thống kê giá trị khuyết:
freq.na(analytic_ data)
Kết quả
14
Trang 17ane % missing X1 528 41 x2 528 41 x3 528 41 X4 528 41 x5 528 41 X6 528 41 X7 528 41 x8 528 41 Y1 528 41 Y2 528 41
Loại bỏ những hàng chứa giả trị khuyết, chỉ giữ lại những hàng đầy đủ giá trị của
các cột, lưu dữ liệu mới vào analytic_data
Showing 1 to 10 of 768 entries, 10 total columns
Và không còn giá trị khuyết nào trong tập dữ liệu
- Biến liên tục: Y1, Y2
- Biến phân loại: X1, X2, X3, X4, X5, X6, X7, X8
(cQ_ Đối với các biến liên tục, tính các giá trị thống kê mô tả bao gôm: trung bình,
trung vị, độ lệch chuẩn, giá trị lớn nhất và giá trị nhỏ nhất Xuất kết quả dưới
dạng bảng
15
Trang 18- Trung binh: mean()
y_visualization = data.frame(mean, median, sd, max, min)
rownames(y_ visualization) = c{ Cong suat suoi am {Y1}, 'Cong suat lam mat (Y2}) colnames{y_visualization) = c('Tr.binh’, 'Tr.vi', ‘Do lech chuan’, 'Gtln’, 'Gtnn}
16
Trang 19^ _Tr.binh Tr.vi Do lech chuan Gtin
Cong suat suoi am (Y1) 22.30720 18,95 10.090196 43.10
Cong suat lam mat (Y2) 24.58776 22.08 9.513306 48.03
Gtnn
6.01
10.90
(d) Đối với các biến phân loại, lập bang thống kê số lượng cho từng nhóm
- _ Độ nhỏ gọn tương đối (XI):
count(analytic_ data, 'X1')
> count(analytic_data, 'X1') X1 freq
Trang 21boxplot(Y1~X1, main = 'Y1~X1', xlab = 'X1', ylab = 'Y1', data = analytic_data)
boxplot(Y2~X1, main = 'Y2~X1', xlab = 'X1', ylab = 'Y2', data = analytic_ data)
Trang 22Y1
- X2
boxplot(Y1~X2, main = 'Y1~X2', xlab = 'X2', ylab = 'Y1', data = analytic_data)
boxplot(Y2~X2, main = 'Y2~X2', xlab = 'X2', ylab = 'Y2', data = analytic_data)
boxplot(Y1~X3, main = 'Y1~X3’, xlab = 'X3', ylab = 'Y1', data = analytic_ data)
boxplot(Y2~X3, main = 'Y2~X3', xlab = 'X3', ylab = 'Y2', data = analytic_data)