Tải bản đầy đủ (.docx) (15 trang)

Bài tập lớn: Ngôn Ngữ Lập Trình R Cho Phân Tích Dữ Liệu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (336.79 KB, 15 trang )

TRƯỜNG ĐẠI HỌC MỎ ĐỊA CHẤT
BỘ MÔN HỆ THỐNG THÔNG TIN

TIỂU LUẬN MƠN HỌC

NGƠN NGỮ LẬP TRÌNH R CHO
PHÂN TÍCH DỮ LIỆU - 7080232

Họ và tên: Vũ Anh Quân
Mã số sinh viên: 1821051009
Lớp: DCCTHT63B
Cán bộ giảng dạy: Vũ Lan Phương

Hà Nội - 2021


Data story: SURVIVAL OF PASSENGERS ON
THE TITANIC
"Mỗi dữ liệu đều có một câu chuyện để kể. Các con số dựa vào bạn để đưa ra một tiếng
nói rõ ràng và thuyết phục cho câu chuyện" - Stephen Few.

GIỚI THIỆU CHUNG
Vào đầu những năm 1900, việc buôn bán hành khách xuyên Đại Tây Dương mang lại
lợi nhuận cao và có tính cạnh tranh. Các hãng tàu đang cạnh tranh để vận chuyển những du
khách và người nhập cư giàu có. Vì vậy, J. Bruce Ismay và William Pirrie đã nghĩ ra một kế
hoạch xây dựng một lớp tàu chở hàng lớn được biết đến vì sự thoải mái thay vì tốc độ của
chúng. Một trong số đó là RMS Titanic (Royal Mail Ship đầy đủ là Titanic). Tàu Titanic có
quán ăn hạng nhất rộng lớn, thang máy và hồ bơi. Các tiện nghi hạng hai của nó có thể so
sánh với các tính năng hạng nhất trên các con tàu khác. Và các dịch vụ hạng ba của nó, mặc
dù khiêm tốn, vẫn được ghi nhận vì sự thoải mái tương đối của chúng.
Vụ đắm tàu Titanic là một sự kiện nổi tiếng, và những cuốn sách mới vẫn đang được


xuất bản về nó. Nhiều sự thật nổi tiếng - từ tỷ lệ hành khách hạng nhất đến chính sách “phụ
nữ và trẻ em trên hết” và thực tế là chính sách đó khơng hồn tồn thành cơng trong việc cứu
phụ nữ và trẻ em ở khoang hạng ba - được phản ánh qua sự sống còn mức giá cho các hạng
hành khách khác nhau. Những dữ liệu này ban đầu được thu thập bởi Hội đồng Thương mại
Anh trong cuộc điều tra của họ về vụ chìm tàu. Lưu ý rằng khơng có sự thống nhất hồn
tồn giữa các nguồn chính về số lượng chính xác trên tàu, được cứu hoặc bị mất. Đặc biệt là
nhờ bộ phim rất thành công "Titanic", những năm qua chứng kiến sự quan tâm của công
chúng đối với tàu Titanic. Dữ liệu rất chi tiết về các hành khách hiện có sẵn trên Internet, tại
các trang web như Encyclopedia Titanica ( />Trong bài viết này, tơi sẽ thực hiện một số phân tích dữ liệu cơ bản, sau đó là một số kỹ thuật
tính năng và cuối cùng sử dụng một số mơ hình phổ biến để dự đoán. Bắt đầu nào.

1


Dataset
Trong bộ dữ liệu chuẩn datasets của R cung cấp cho ta một tập dữ liệu có tên là Titanic, Bộ
dữ liệu này cung cấp thông tin về số phận của hành khách trong chuyến đi đầu tiên gây tử
vong của tàu biển 'Titanic', được tóm tắt theo tình trạng kinh tế (giai cấp), giới tính, tuổi tác
và sự sống cịn.

Dữ liệu Titanic có những gì?
Trước hết chúng ta sẽ xem trong tập dữ liệu Titanic có những gì, và việc đầu tiên chúng ta
cần làm là load dữ liệu bằng cách sử dụng hàm data()
data(Titanic)

Để có thể xem tập dữ liệu Titanic ta dùng hàm head():
head(Titanic) #Take a look at the head of the data frame

2



, , Age = Child, Survived = No
Sex
Class

Male Female

1st

0

0

2nd

0

0

3rd

35

17

Crew

0

0


, , Age = Adult, Survived = No
Sex
Class

Male Female

1st

118

4

2nd

154

13

3rd

387

89

Crew

670

3


, , Age = Child, Survived = Yes
Sex
Class

Male Female

1st

5

1

2nd

11

13

3rd

13

14

Crew

0

0


, , Age = Adult, Survived = Yes
Sex
Class

Male Female

1st

57

140

2nd

14

80

3rd

75

76

Crew

192

20


Một mảng 4 chiều là kết quả của việc lập bảng chéo 2201 quan sát trên 4 biến. Các biến và
mức độ của chúng như sau:

No Name
1 Class

Levels
1st, 2nd, 3rd, Crew
3


2 Sex
Male, Female
3 Age
Child, Adult
4 Survived No, Yes
-

Class: một yếu tố xác định hạng cho hành khách hoặc loại dịch vụ trên tàu cho các

-

thành viên phi hành đoàn.
 1st = Upper
 2nd = Middle
 3rd = Lower
Sex: một yếu tố với cấp độ Nam và Nữ
Age: Biến này cung cấp thông tin về tuổi của hành khách
một yếu tố có hai cấp độ (No và Yes) xác định liệu người đó có sống sót sau vụ chìm

tàu hay khơng.

Nếu tơi chỉ muốn các kích thước của dữ liệu, chúng tơi có thể làm:
dim(Titanic)
[1] 4 2 2 2

Phân loại hành khách
Hãy bắt đầu bằng cách khám phá các khía cạnh khác nhau của 2201 hành khách trong tập dữ
liệu của tơi.
Trước tiên, hãy xem xét sự phân chia giới tính:
count(Titanic, Sex)
[1] Female

470

[2] Male

1731

4


Cả bảng và biểu đồ thanh của tôi đều cho tôi biết rằng số nam giới trong tập dữ liệu của
tôi gần gấp đôi so với phụ nữ.

Độ tuổi của hành khách
Bây giờ chúng ta hãy tạo một hình dung để nắm được độ tuổi của các hành khách trên tàu
Titanic. Biểu đồ là một cách phổ biến để hình dung sự phân bố của một biến liên tục. Tạo
biểu đồ là một sửa đổi đơn giản của các ví dụ trước đó của tơi, nơi tơi tạo các biểu đồ
barplots.

ggplot(Titanic) +
geom_histogram(aes(x = Age), bins = 35)

5


Có vẻ như giá trị phổ biến nhất của tuổi tác là hơn 20 tuổi một chút. Chúng ta có thể tính
tốn rõ ràng độ tuổi mean và median như sau:
mean(Titanic$Age, na.rm = TRUE)
[1] 29.88113
median(Titanic$Age, na.rm = TRUE)
[1] 28

Có bao nhiêu người sống sót?
Bây giờ giờ chúng ta sẽ xem sét sự sống sót trên tàu Titanic:
count(Titanic, Survived)
[1] No 1484
[2] Yes 711

6


ggplot(titanic) +
geom_bar(aes(x = Survived))

Tôi thấy rằng Khoảng 60% hành khách đã chết.

Sinh tồn như một chức năng của Age
ggplot(Titanic, aes(x=Age, fill=factor(Survived))) +
geom_histogram(bins=30)+

facet_grid(.~Sex)+
ggtitle("Age vs Survived")+
scale_fill_discrete(name="Survived")

7


Như chúng ta có thể thấy, khả năng sống sót của nữ giới lớn hơn khả năng sống sót của nam
giới. Nam giới dưới 18 tuổi có tỷ lệ sống sót đáng kể.
ggplot(Titanic, aes(Sex, fill = factor(Survived))) +
geom_bar(position = 'fill')+
xlab("Sex") +
ylab("Frequency") +
scale_fill_discrete(name = "Survived") +
ggtitle("Sex vs Survived")

8


Biểu đồ này minh họa rằng phụ nữ có tỷ lệ sống sót là ~ 75%, trong khi nam giới có tỷ lệ
sống sót < 25%.

Sinh tồn như một chức năng của Class
ggplot(Titanic, aes(x=Pclass, fill=factor(Survived))) +
geom_bar(position="fill")+
ylab("Frequency")+
scale_fill_discrete(name="Survived")+
ggtitle("Class vs Survived")

9



Từ cốt truyện này, chúng ta có thể quan sát thấy rằng hành khách trên khoang hạng nhất có
tỷ lệ sống sót hơn 50%. Hành khách hạng 2 có tỷ lệ sống sót gần 50%. Đối với hành khách
hạng 3, tỷ lệ sống sót chỉ là 25%.

Box plots
Một cách khác để xem dữ liệu là sử dụng một con số tóm tắt được gọi là "biểu đồ hộp". Đầu
tiên là biểu đồ boxplot đơn giản, liên quan đến tuổi tác và sự sống còn:
Titanic %>%
filter(!is.na(age)) %>%
ggplot() +
geom_boxplot(aes(Suvived, Age))

10


Biểu đồ hộp mô tả thông tin về giá trị trung bình (đường dày ở giữa), phần tư thứ nhất và
phần tư thứ ba (giá trị 25% thấp hơn, giá trị 75% trên) và các giá trị ngoại lệ. Từ biểu đồ đơn
giản này, có vẻ như khơng có sự khác biệt lớn trong phân bổ độ tuổi của hành khách sống và
chết.
Bây giờ chúng ta xem xét sơ đồ hộp cho sự sống cịn theo độ tuổi, có điều kiện về giới tính.
Titanic %>%
filter(!is.na(age)) %>%
ggplot() +
geom_boxplot(aes(Suvived, Age, Fill = Sex))
facet_wrap(~sex)

11



Ở đây chúng ta bắt đầu thấy một mơ hình thú vị hơn. Khi so sánh các hành khách nam, độ
tuổi trung bình của những người sống sót dường như trẻ hơn một chút so với những người
đã chết. Tuy nhiên, khi so sánh các hành khách nữ thì có vẻ như mơ hình ngược lại đang
diễn ra.

12


Kết luận
Đối với hành khách nữ, hạng vé dường như có ảnh hưởng mạnh mẽ đến mối quan hệ
giữa tuổi tác và sự sống cịn. Tơi thấy rằng hầu hết tất cả các nữ hành khách trên khoang
hạng nhất đều sống sót, và mối quan hệ giữa tuổi tác và khả năng sống sót do đó khơng bằng
phẳng. Các hành khách nữ trên khoang hạng hai cũng khá giống nhau, mặc dù xác suất sống
sót của những hành khách lớn tuổi nhất có giảm một chút. Lưu ý rằng xác suất sống sót nói
chung ở các độ tuổi thấp hơn khi so sánh hành khách hạng nhất và hạng ba.

13


Tài liệu tham khảo:
1. Titanic {datasets}, Survival of passengers on the Titanic,
/>2. Paul M. Magwene, Data story: Women and childenn first on the Titanic,
/>3. Jyoti Singh, Survival of passengers on the Titanic,
/>
14




×