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

BÁO CÁO ĐỒ ÁN MÔN KHO DỮ LIỆU (Data Warehouse) ĐH SPKT

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 (11.34 MB, 98 trang )

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM
KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO ĐỒ ÁN
MÔN KHO DỮ LIỆU
ĐỀ TÀI: ANALYSIS OF ACCIDENT
(PHÂN TÍCH DỮ LIỆU TAI NẠN GIAO THƠNG)
Mơn học:
Lớp:
GVHD:
Thành viên nhóm:

Kho dữ liệu
DAWH430784_22_2_01
Th.S Nguyễn Văn Thành
Lê Hồng Khang - 20133050
Nguyễn Thanh Hùng - 20133045
Nguyễn Duy Thái - 20133020

TP. Hồ Chí Minh, Tháng 5 Năm 2023


LỜI CẢM ƠN

Lời mở đầu, nhóm xin gửi lời cảm ơn đến thầy Nguyễn Văn Thành (Giảng viên
hướng dẫn môn Kho dữ liệu). Thầy đã cung cấp kiến thức, chỉ bảo và đóng góp những
ý kiến quý báu giúp nhóm hồn thành được đồ án mơn học của mình. Trong thời gian
một học kỳ thực hiện đề tài, nhóm chúng em đã vận dụng những kiến thức nền tảng đã
tích lũy đồng thời kết hợp với việc học hỏi và nghiên cứu những kiến thức mới vận
dụng tối đa những gì đã thu thập được để hồn thành đề tài đồ án tốt nhất. Tuy nhiên,
trong quá trình thực hiện, nhóm chúng em khơng tránh khỏi những thiếu sót. Nhóm rất


mong nhận sự góp ý từ phía thầy nhằm rút ra những kinh nghiệm quý báu và hoàn
thiện vốn kiến thức để nhóm có thể tiếp tục hồn thành những đồ án khác trong tương
lai. Xin chân thành cảm ơn thầy !

2


MỤC LỤC
I.

TỔNG QUAN ĐỀ TÀI.....................................................................................................5
1.

Giới thiệu đề tài.............................................................................................5
1.1.

Lý do chọn đề tài...........................................................................................5

1.2.

Nội dung đề tài..............................................................................................5

1.3.

Mô tả dữ liệu gốc...........................................................................................7

1.4.

Giới thiệu công cụ sử dụng trong đồ án.......................................................11


2.

Xử lý dữ liệu................................................................................................13
2.1.

Quá trình xử lý.............................................................................................13

2.2.

Dữ liệu sau khi xử lí....................................................................................17

3.

II.

Thiết kế kho dữ liệu.....................................................................................19
3.1.

Lược đồ hình bơng tuyết (snowflake schema).............................................19

3.2.

Bảng FACT..................................................................................................19

3.3.

Bảng DIM....................................................................................................20

XÂY DỰNG KHO DỮ LIỆU (SSIS).............................................................................25
1.


Mơ tả chủ đề................................................................................................25

2.

Q trình SSIS.............................................................................................25

III.

2.1.

Đổ dữ liệu từ file csv vào extenal source.....................................................25

2.2.

Đổ dữ liệu từ extenal source vào stage........................................................32

2.3.

Quá trình đổ stage vào DWH......................................................................56

PHÂN TÍCH KHO DỮ LIỆU (SSAS)........................................................................79

1.

Tạo project SSAS........................................................................................79

2.

Tạo Data Source..........................................................................................79


3.

Tạo Data Source View.................................................................................81

4.

Tạo Cube......................................................................................................82

5.

Chỉnh sửa các bảng DIM.............................................................................85

6.

Chạy tiến trình để Deployment....................................................................87

7.

Thực hiện các câu truy vấn sử dụng SSAS..................................................88

8.

Sử dụng Power BI để trực quan hóa dữ liệu................................................94

IV.

KẾT LUẬN...................................................................................................................97

1.


Kết quả đạt được..........................................................................................97

2.

Những hạn chế.............................................................................................97

3.

Bảng phân công nhiệm vụ...........................................................................97

3


4.

Tài liệu tham khảo.......................................................................................99

4


I.

TỔNG QUAN ĐỀ TÀI

1. Giới thiệu đề tài
1.1.

Lý do chọn đề tài


Ngày nay xã hội phát triển thì nhu cầu về cơ sở vật chất của con người ngày càng
tăng. Đối với chuyện đi lại cũng thế, ngày nay nhu cầu đi lại ngày càng nhiều. Chính vì
thế mà tình trạng gia thơng ngày nay khá phức tạp, nó là vấn đề nghiêm trọng ảnh
hưởng đến sức khỏe và tính mạng của cá nhân. Việc phân tích dữ liệu tai nạn giao
thơng có thể giúp chúng ta hiểu rõ hơn về tình hình tai nạn giao thơng hiện tại, từ đó đề
xuất các giải pháp cải thiện để giảm thiểu số vụ tai nạn và giảm thiểu tổn thất con
người và tài sản.
Tai nạn giao thông cũng ảnh hưởng đến kinh tế và tài chính của các quốc gia. Các
chi phí liên quan đến tai nạn giao thơng, bao gồm chi phí y tế, bảo hiểm, chi phí sửa
chữa và thay thế phương tiện và nhiều chi phí khác, đều ảnh hưởng đến tài chính cá
nhân và của quốc gia.
Phân tích dữ liệu tai nạn giao thơng cũng có thể cung cấp thông tin giá trị cho các
nhà lãnh đạo và quyết định chính sách. Dữ liệu có thể giúp các nhà quản lý địa phương
và quốc gia hiểu rõ hơn về các ngun nhân và mơ hình tai nạn giao thơng, từ đó đưa
ra quyết định chính sách phù hợp để giảm thiểu số vụ tai nạn.
Cuối cùng, phân tích dữ liệu tai nạn giao thơng cũng có thể giúp đưa ra các giải
pháp và công nghệ mới để giảm thiểu số vụ tai nạn và tăng cường an tồn giao thơng.
Các cơng nghệ như xe tự lái, các hệ thống cảnh báo động, v.v. đều có thể được phát
triển dựa trên dữ liệu tai nạn giao thông và các thơng tin liên quan đến an tồn giao
thơng.
1.2.

Nội dung đề tài

Nhóm chúng em sử dụng 2 tập dữ liệu để thực hiện
Một bộ dữ liệu mô tả về tai nạn xe hơi trên toàn quốc , bao gồm 49 tiểu bang của
Hoa Kỳ được lấy trên trang web www.kaggle.com . Tập dữ liệu US_Accidents (20165


2021) là một tập dữ liệu lớn về các tai nạn giao thông xảy ra trên đường cao tốc và

đường phố tại Hoa Kỳ. Tập dữ liệu này bao gồm hơn 4 triệu bản ghi về các tai nạn giao
thông trên toàn quốc từ năm 2016 đến năm 2021, được thu thập từ nhiều nguồn khác
nhau, bao gồm các cảnh sát, trạm thu phí, báo cáo của người dùng, và các nguồn thông
tin khác.
Mỗi bản ghi trong tập dữ liệu này chứa thông tin chi tiết về các tai nạn giao
thông, bao gồm địa điểm, thời gian, điều kiện thời tiết, tình trạng đường, loại xe, số
lượng và tính chất của các phương tiện tham gia, và mức độ nghiêm trọng của các
thương vong. Tập dữ liệu này cũng cung cấp thơng tin về địa lý, bao gồm vị trí địa lý
của các tai nạn, cũng như các thông tin về địa lý khác như tên tiểu bang, thành phố, mã
bưu chính, v.v.
Link Dataset: />
Bộ dữ liệu thứ hai chi tiết về tai nạn đường bộ và các phương tiện liên quan ở
Vương quốc Anh (2005-2017).
Dataset này gồm 1488981 dòng và có 24 thuộc tính.
6


Link Dataset: />
1.3.

Mô tả dữ liệu gốc

Tập dữ liệu Accident.csv
STT
1
2

Tên thuộc tính
ID
Severity


3
4
5
6
7
8

Start_Time
End_Time
Start_Lat
Start_Lng
End_Lat
End_Lng

Ý nghĩa
ID duy nhất của tai nạn giao thơng.
Mức độ nghiêm trọng của tai nạn, được
đánh giá từ 1 đến 4, với 1 là mức độ
nghiêm trọng thấp nhất và 4 là mức độ
nghiêm trọng cao nhất.
Thời gian bắt đầu của tai nạn.
Thời gian kết thúc của tai nạn.
Vĩ độ của vị trí bắt đầu của tai nạn.
Kinh độ của vị trí bắt đầu của tai nạn.
Vĩ độ của vị trí kết thúc của tai nạn.
Kinh độ của vị trí kết thúc của tai nạn.
7



9
10
11
12
13

Distance(mi)
Description
Number
Street
Side

14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31


City
County
State
Zipcode
Country
Timezone
Airport_Code
Weather_Timestamp
Temperature(F)
Wind_Chill(F)
Humidity(%)
Pressure(in)
Visibility(mi)
Wind_Direction
Wind_Speed(mph)
Precipitation(in)
Weather_Condition
Amenity

32
33
34
35
36
37
38
39

Bump

Crossing
Give_Way
Junction
No_Exit
Railway
Roundabout
Station

40
41

Stop
Traffic_Calming

42
43
44

Traffic_Signal
Turning_Loop
Sunrise_Sunset

Khoảng cách của tai nạn tính bằng dặm.
Mơ tả về vụ tai nạn.
Số nhà gần vị trí tai nạn.
Tên đường gần vị trí tai nạn.
Vị trí của tai nạn trên đường (trái, phải
hoặc giữa).
Tên thành phố gần vị trí tai nạn.
Tên quận gần vị trí tai nạn.

Tên tiểu bang gần vị trí tai nạn.
Mã bưu chính gần vị trí tai nạn.
Tên quốc gia.
Múi giờ địa phương của vị trí tai nạn.
Mã sân bay gần vị trí tai nạn.
Thời gian thu thập thơng tin thời tiết.
Nhiệt độ tính bằng độ Fahrenheit.
Nhiệt độ gió tính bằng độ Fahrenheit.
Độ ẩm tính bằng phần trăm.
Áp suất khí quyển tính bằng inches.
Tầm nhìn tính bằng dặm.
Hướng gió.
Tốc độ gió tính bằng dặm/giờ.
Lượng mưa tính bằng inches.
Điều kiện thời tiết.
Có đối tượng tiện ích (như cây cối, đèn
đường, cây cầu...) đang gây cản trở trên
đường khơng.
Có chướng ngại vật trên đường khơng.
Có đường giao nhau khơng.
Có phải đường ưu tiên hay khơng.
Có đường giao nhau khơng.
Có đường cụt khơng.
Có đường sắt qua đường khơng.
Có vịng xuyến khơng.
Có trạm xăng, trạm thu phí hay nhà ga
trên đường khơng.
Có dấu STOP trên đường khơng.
Có biện pháp hạn chế tốc độ trên đường
khơng.

Có đèn giao thơng khơng.
Có lối rẽ hay khơng.
Tình trạng ánh sáng mặt trời (mặt trời
8


45

Civil_Twilight

46
47

Nautical_Twilight
Astronomical_Twilight

mọc hoặc mặt trời lặn).
Tình trạng ánh sáng dân sự (hồng hơn
hoặc bình minh).
Tình trạng ánh sáng hàng hải.
Tình trạng ánh sáng thiên văn học.

Tập dữ liệu Vehicle_Information.csv
STT
1

Tên thuộc tính
Accident_Index

2

3
4
5

Age_Band_of_Driver
Age_of_Vehicle
Driver_Home_Area_Type
Driver_IMD_Decile

6
7
8
9
10
11
12
13
14
15
16

Engine_Capacity_.CC.
Hit_Object_in_Carriageway
Hit_Object_off_Carriageway
Journey_Purpose_of_Driver
Junction_Location
make
model
Propulsion_Code
Sex_of_Driver

Skidding_and_Overturning
Towing_and_Articulation

17
18
19

Vehicle_Leaving_Carriageway
Vehicle_Location.Restricted_Lan
e
Vehicle_Manoeuvre

20

Vehicle_Reference

21
22
23
24

Vehicle_Type
Was_Vehicle_Left_Hand_Drive
X1st_Point_of_Impact
Year

Ý nghĩa
Mã định danh duy nhất cho mỗi vụ tai
nạn.
Nhóm tuổi của tài xế.

Tuổi của phương tiện.
Loại khu vực sinh sống của tài xế.
Hạng của tài xế trong chỉ số đa dạng và
bình đẳng.
Dung tích động cơ của phương tiện.
Vật thể bị va chạm trên đường.
Vật thể bị va chạm ngoài đường.
Mục đích của chuyến đi của tài xế.
Vị trí của phương tiện tại điểm giao nhau
Mã động cơ của phương tiện
Giới tính của tài xế.
Tình trạng trượt hay lật của phương tiện.
Loại phương tiện được kéo hoặc có phần
nối khác.
Phương tiện rời khỏi đường.
Vị trí của phương tiện trên đường, nếu
có.
Hành động của phương tiện trước khi
xảy ra tai nạn.
Mã định danh cho mỗi phương tiện liên
quan đến vụ tai nạn.
Loại phương tiện.
Phương tiện có lái bên trái hay khơng.
Điểm đầu tiên của va chạm.
Năm xảy ra tai nạn

9


1.4.



Giới thiệu cơng cụ sử dụng trong đồ án
Tổng quan về Visual Studio 2019

Visual Studio 2019 là một môi trường phát triển tích hợp (IDE) được phát triển
bởi Microsoft. Nó cung cấp cho các nhà phát triển một công cụ để phát triển các ứng
dụng trên nhiều nền tảng, bao gồm Windows, iOS, Android và các nền tảng web.
Visual Studio 2019 có nhiều tính năng và cơng cụ hỗ trợ cho việc phát triển phần
mềm, bao gồm một trình biên tập mã, trình gỡ lỗi, hỗ trợ cho các ngơn ngữ lập trình
khác nhau như C++, C#, Python, JavaScript, TypeScript và nhiều ngơn ngữ khác.
Ngồi ra, Visual Studio 2019 cung cấp các công cụ hỗ trợ cho quản lý mã nguồn,
kiểm thử và triển khai ứng dụng. Nó cũng hỗ trợ tích hợp với các cơng cụ quản lý dự
án và hệ thống kiểm soát phiên bản, cho phép các nhà phát triển làm việc cùng nhau
trên các dự án phức tạp.
Visual Studio 2019 cũng có một cộng đồng rộng lớn với các tài liệu hướng dẫn,
các phần mở rộng và các bài đánh giá từ các nhà phát triển khác nhau, giúp các nhà
phát triển tìm kiếm giải pháp và trao đổi kinh nghiệm một cách dễ dàng.
Tóm lại, Visual Studio 2019 là một nền tảng phát triển phần mềm đầy đủ tính
năng và hỗ trợ nhiều nền tảng, giúp các nhà phát triển phát triển ứng dụng hiệu quả và
dễ dàng quản lý các dự án phức tạp.
 Tổng quan về SQL Server 2019
SQL Server 2019 là một hệ quản trị cơ sở dữ liệu quan hệ được phát triển bởi
Microsoft. Nó cung cấp một nền tảng để lưu trữ, quản lý và truy xuất dữ liệu cho các
ứng dụng và hệ thống thông tin doanh nghiệp.
SQL Server 2019 bao gồm nhiều tính năng mới và cải tiến, bao gồm hỗ trợ cho
các tính năng AI (trí tuệ nhân tạo) và lưu trữ dữ liệu trên các nền tảng khác nhau, bao
gồm Windows, Linux và các môi trường đám mây như Azure và AWS.
Nó cũng cung cấp các công cụ hỗ trợ cho quản lý cơ sở dữ liệu, bao gồm các
công cụ quản lý và giám sát hiệu suất, công cụ sao lưu và phục hồi dữ liệu, và công cụ

quản lý bảo mật.
10


SQL Server 2019 cũng cung cấp tính năng tăng cường an ninh, bao gồm mã hóa
dữ liệu và cơ chế kiểm soát truy cập để bảo vệ dữ liệu quan trọng của doanh nghiệp.
Ngồi ra, SQL Server 2019 cịn hỗ trợ các tính năng mới và cải tiến cho việc phân
tích dữ liệu, bao gồm khả năng trích xuất dữ liệu từ các nguồn khác nhau và hỗ trợ tích
hợp với các cơng cụ phân tích và trực quan hóa dữ liệu.
Tóm lại, SQL Server 2019 là một hệ quản trị cơ sở dữ liệu quan hệ mạnh mẽ và
đầy tính năng, cung cấp các cơng cụ quản lý, bảo mật và phân tích dữ liệu để hỗ trợ
cho các ứng dụng và hệ thống thông tin doanh nghiệp.

11


2. Xử lý dữ liệu
2.1.

Quá trình xử lý

Tập dữ liệu vehicle.csv
-

Xử lí giá trị rỗng Age_Band_of_Driver

-

Xử lí giá trị rỗng Age_of_Vehicle


12


-

Xử lí giá trị rỗng Driver_Home_Area_Type

-

Xử lí giá trị rỗng Sex_of_Driver

-

Xử lí giá trị rỗng Junction_Location

13


Tập dữ liệu Accident.csv
-

Thay thế các ngày có giá trị bị thiếu . Ví dụ ngày chính xác “ 3/25/2016 16:36 ”
thì ngày trong tập dữ liệu bị thiếu mất “3/25/2016” chỉ cịn “16:36”. Nhóm sử
dụng random để lấy ra ngày bất kì phù hợp với dữ liệu.

-

Thêm các cột Road_Surface_Conditions (điều kiện mặt đường), Road_Type
(loại đường), Special_Conditions_at_Site (điều kiện ), Speed_limit,
Number_of_Casualties


14


-

Thay thế các giá trị bị thiếu bằng phương pháp random với các cột Temperature,
Wind_Chill, Humidity, Pressure, Wind_Speed, Precipitation

15


2.2.

Dữ liệu sau khi xử lí

Tập dữ liệu Accident

Hình 2.2.1

Hình 2.2.2

16


Tập dữ liệu vehicle

Hình 2.2.3

Hình 2.2.4


17


3. Thiết kế kho dữ liệu
3.1.

Lược đồ hình bơng tuyết (snowflake schema)

Mơ hình Diagram

Hình 1

3.2.
STT
1
2
3
4
5
6
7
8
9
10
11
12

Bảng FACT


Tên thuộc tính
ID
LocationKey
DateKey
TwilightKey
RoadFeatureKey
WeatherKey
DriverKey
SpeedLimitKey
VehicleKey
Distance(mi)
Number_of_Casualtie
s
Severity

Kiểu
Varchar
Int
Nvarchar
Int
Int
Int
Int
Int
Int
Float
Int

Ràng buộc
Primary key

Foreign key
Foreign key
Foreign key
Foreign key
Foreign key
Foreign key
Foreign key
Foreign key

Int
18


13

Start_Time_Accident
3.3. Bảng DIM


STT
1
2
3
4
5
6
7
8
9


Kiểu
Nvarchar
Datetime
Int
Int
Int
Int
Int
Int
Int

Ràng buộc
Primary key

Kiểu
Int
Varchar
Varchar
Varchar
Int
Varchar
Varchar

Ràng buộc
Primary key

Kiểu
Int
Varchar
Int

Varchar
Varchar
Varchar
Varchar
Varchar
Varchar
Varchar

Ràng buộc
Primary key

DimDriver

Tên thuộc tính
DriverKey
ID
Age_Band_of_Driver
Sex_of_Driver
Driver_IMD_Decile
Driver_Home_Area_Type
Journey_Purpose_of_Drive
r


STT
1
2
3
4
5

6
7
8
9
10

DimDate

Tên thuộc tính
DateKey
FullDate
Year
Quarter
Month
Day
Hour
Minute
Weekday


STT
1
2
3
4
5
6
7

Datetime


DimLocation

Tên thuộc tính
LocationKey
ID
Number
Street
Side
City
County
State
Zipcode
Country

19



STT
1
2
3
4
5
6
7
8
9
10

11
12
13
14
15

Tên thuộc tính
RoadFeatureKey
ID
Amenity
Bump
Crossing
Give_Way
Junction
No_Exit
Railway
Roundabout
Station
Stop
Traffic_Calming
Traffic_Signal
Turning_Loop


STT
1
2

STT
1

2
3

STT
1

Kiểu
Varchar
Varchar

Ràng buộc
Primary key

Kiểu
Varchar
Varchar

Ràng buộc
Primary key

Kiểu
Int
Varchar
Int

Ràng buộc
Primary key

Kiểu
Int


Ràng buộc
Primary key

DimSpeedLimit

Tên thuộc tính
Primary key
ID
Speed_limit


Ràng buộc
Primary key
Foreign key

DimRoadType

Tên thuộc tính
ID
Road_Type


Kiểu
Int
Varchar
Bit
Bit
Bit
Bit

Bit
Bit
Bit
Bit
Bit
Bit
Bit
Bit
Bit

DimRoadSurfaceCondition

Tên thuộc tính
ID
Road_Surface_Conditions


STT
1
2

DimRoadFeature

DimTwilight

Tên thuộc tính
TwilightKey

20




×