1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Nghiên cứu giải pháp xử lý bigdata sử dụng apache spark và ứng dụng hỗ trợ xây dựng dữ liệu bản đồ giao thông thông minh

113 265 2

Đ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

Định dạng
Số trang 113
Dung lượng 3,94 MB

Nội dung

CHƯƠNG 1: TỔNG QUAN CÔNG NGHỆ BIGDATA CHO BÀI TOÁN GIAO THÔNG Trong chương này tác giả giới thiệu tổng quan về Bigdata: Khái niệm, đặc trưng cùng với một số ứng dụng Bigdata tại Việt Na

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI

LUẬN VĂN THẠC SỸ

CHUYÊN NGÀNH CÔNG NGHỆ THÔNG TIN

NGHIÊN CỨU GIẢI PHÁP XỬ LÝ BIGDATA SỬ DỤNG APACHE SPARK VÀ ỨNG DỤNG HỖ TRỢ XÂY DỰNG DỮ

LIỆU BẢN ĐỒ GIAO THÔNG THÔNG MINH

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI

Trang 3

LỜI CAM ĐOAN

Tôi cam đoan đây là công trình nghiên cứu của riêng tôi

Các số liệu, kết quả nêu trong luận văn là trung thực và chƣa từng đƣợc ai công bố trong bất cứ công trình nào

TÁC GIẢ LUẬN VĂN

Trịnh Quang Đăng

Trang 4

LỜI CẢM ƠN

Đầu tiên tôi xin chân thành cảm ơn người thầy đã hướng dẫn trực tiếp tôi TS.Trương Tiến Tùng – Trường Đại học Mở Hà Nội đã tận tình giúp đỡ, động viên, định hướng, hướng dẫn tôi nghiên cứu và hoàn thành luận văn này Tôi xin cảm ơn các giảng viên trong Trường Đại học Mở Hà Nội đã giảng dạy và giúp đỡ tôi trong thời gian qua, cảm ơn sự giúp đỡ nhiệt tình của các bạn đồng nghiệp

Trong quá trình nghiên cứu của mình, mặc dự được sự hướng dẫn rất nhiệt tình, đầy trách nhiệm của TS Trương Tiến Tùng và các thầy cô giáo trong Trường Đại học Mở Hà Nội cùng với sự nỗ lực của cá nhân nhưng cũng không thể tránh được những thiếu sót Tác giả chân thành mong nhận được những ý kiến đóng góp

từ quý Thầy, Cô và các bạn bè đồng nghiệp

Trân trọng cám ơn

Trịnh Quang Đăng

Trang 5

MỤC LỤC

LỜI MỞ ĐẦU 1

CHƯƠNG 1: TỔNG QUAN CÔNG NGHỆ BIGDATA CHO BÀI TOÁN GIAO THÔNG 4

1.1 Đặt vấn đề 4

1.2 Một số nghiên cứu liên quan 4

1.3 Giới thiệu các lý thuyết liên quan 5

1.3.1 Khái niệm về Bigdata 5

1.3.2 Giới thiệu về Ngôn ngữ lập trình R, Công cụ lập trình RStudio và framework Shiny 6

1.3.3 Công nghệ dùng trong Bigdata 12

1.3.4 Sự khác biệt giữa Bigdata và dữ liệu truyền thống 14

1.4 Các đặc trưng cơ bản của Bigdata 15

1.4.1 Khối lượng dữ liệu 15

1.4.2 Tốc độ 15

1.4.3 Đa dạng 15

1.4.4 Độ tin cậy/chính xác 15

1.4.5 Giá trị 16

1.5 Kiến trúc của Bigdata 16

1.5.1 Kiểu có cấu trúc: 16

1.5.2 Kiểu nửa cấu trúc 17

1.5.3 Kiểu không cấu trúc 17

1.6 Ứng dụng Bigdata trong cuộc sống 18

1.6.1 Các lĩnh vực đang ứng dụng Bigdata 18

1.6.2 Thực tế sử dụng Bigdata tại Việt Nam 20

1.7 Giới thiệu bản đồ giao thông thông minh 21

1.8 Ứng dụng cho bản đồ thông minh 29

1.9 Kết luận chương 1 30

CHƯƠNG 2: GIẢI PHÁP APACHE SPARK VÀ ỨNG DỤNG BẢN ĐỒ THÔNG MINH 31

Trang 6

2.1 Giới thiệu về Apache Spark 31

2.2 Các tính năng của Apache Spark 31

2.3 Các thành phần lõi của Apache Spark 32

2.4 Cơ chế phân cụm của Apache Spark 33

2.5 Cơ chế xử lý dữ liệu của Apache spark 33

2.6 Xử lý dữ liệu thời gian thực trên Apache spark 35

2.7 Phân tích dữ liệu trên Apache spark 35

2.8 Hiệu năng và ứng dụng Apache Spark 35

2.9 Xử lý dữ liệu đầu vào dữ liệu giao thông 36

2.10 Phân vùng bản đồ 37

2.11 Phân vùng thời gian 38

2.12 Kết luận chương 2 65

CHƯƠNG 3: ỨNG DỤNG HỖ TRỢ XÂY DỰNG DỮ LIỆU BẢN ĐỒ GIAO THÔNG THÔNG MINH 66

3.1 Mô tả quá trình lấy dữ liệu và xử lý dữ liệu 66

3.1.1 Mô tả quá trình lấy dữ liệu 66

3.1.2 Xử lý dữ liệu 67

3.2 Phân vùng chi tiết bản đồ 71

3.3 Cài đặt chi tiết các bài toán 72

3.3.1 Bài toán Phân tích thời gian di chuyển dựa trên vùng địa lý 79

3.3.2 Bài toán mô hình hóa các đặc trưng giao thông giữa những vùng địa lý để phát hiện các vấn đề 83

3.4 Biểu diễn kết quả của các bài toán 96

3.4.1 Chi tiết về framework Shiny và cách sử dụng 96

3.4.2 Ứng dụng phân vùng giao thông 97

3.4.3 Chức năng dự đoán tình trạng giao thông 98

3.5 Kết luận chương 3 90

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 100

TÀI LIỆU THAM KHẢO 102

Trang 7

DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT

2 ANN Artifical neural network Mạng noron nhân tạo

3 CSS Cascading Style Sheets Tập tin định kiểu theo tầng

4 GPS Global Positioning System Hệ thống định vị toàn cầu

5 HTML HyperText Markup

Language

Ngôn ngữ đánh dấu siêu văn bản

6 JS JavaScript Ngôn ngữ javascrip

7 JSON JavaScript Object Notation kiểu định dạng dữ liệu trong sử

dụng văn bản thuần tuý (cặp key - value để dữ liệu )

8 KNN K –nearest neighbors K láng giềng gần nhất

web trong bảng kết quả xếp hạng tìm kiếm (SERP) của Google

Trang 8

DANH MỤC CÁC BẢNG BIỂU

Bảng 1.1: Cách khai báo các kiểu dữ liệu trong R 10

Bảng 2.1: Phân vùng thời gian cho ngày làm việc và ngày nghỉ 39

Bảng 2.2: Giá trị PageRank qua từng lần lặp 44

Bảng 2.3: Giá trị E(V) và θ của một số vùng 50

Bảng 2.4: Xử lý mẫu qua từng khoảng thời gian trong từng ngày 53

Bảng 2.5: Xử lý mẫu qua từng khoảng thời gian và liên kết các cặp vùng 54

Bảng 2.6: Lưu lượng taxi và vận tốc trung bình trên một vùng địa lý 58

Bảng 2.7: Phân loại mưa theo cấp độ 59

Bảng 2.8: Phân loại chỉ số nhiệt 60

Bảng 2.9: Phân loại điểm sương 61

Bảng 2.10: Phân loại nhiệt độ theo mức 61

Bảng 2.11: Thời tiết trong một khoảng thời gian qua từng ngày 62

Bảng 2.12: Bộ các đặc trưng và Hình thỏi thời tiết của một vùng 63

Bảng 2.13: Bộ dữ liệu các đặc trưng và thời tiết sau khi biến đổi 64

Bảng 3.1: Giải thích các thông tin trong bản ghi 67

Bảng 3.2: Xếp hạng vùng theo lượt n, trả khách trung bình trong 1 tuần 76

Bảng 3.3: Xếp hạng theo thuật toán PageRank trên toàn bộ dữ liệu 77

Bảng 3.4: Thời gian di chuyển giữa một số vùng 82

Bảng 3.5: Các cặp vùng liền kề thường xuyển xảy ra vấn đề 86

Bảng 3.6: Một số luật liên kết giữa những cặp vùng 87

Bảng 3.7: Độ chính xác của mô hình dự đoán lưu lượng sử dụng KNN 93

Bảng 3.8: Độ chính xác của mô hình dự đoán lưu lượng sử dụng RD, NB, ANN 93

Bảng 3.9: Độ chính xác của mô hình dự đoán vận tốc sử dụng KNN 94

Bảng 3.10: Độ chính xác của mô hình dự đoán vận tốc sử dụng RD, NB, ANN 94

Biểu đồ 2.1: Số lượng chuyến taxi của một hãng theo ngày và thời gian 56

Biểu đồ 2.2: Vận tốc di chuyển của taxi của một hãng theo ngày và thời gian 57

Trang 9

DANH MỤC CÁC HÌNH VẼ

Hình 1.1: Thống kê các nguồn dữ liệu hiện nay 6

Hình 1.2: Giao diện Công cụ lập trình RStudio 8

Hình 1.3: Các công ty tham gia vào Bigdata 13

Hình 1.4: Mô hình SV5 15

Hình 1.5: Xếp hạng các trang theo thuật toán PageRank 26

Hình 1.6: Mô tả thuật toán K láng giếng gần nhất 23

Hình 1.7: Cây quyết định cho bài toán chơi thể thao 26

Hình 1.8: Mạng noron nhân tạo 27

Hình 2.1: Các thành phần lõi apache spark 38

Hình 2.2: Phân cụm trong apache spark 33

Hình 2.3: Sơ đồ xử lý dữ liệu 36

Hình 2.4: Sơ đồ nhập dữ liệu Error! Bookmark not defined Hình 2.5: Phân vùng bản đồ theo kích thước 10x10 và bán kính 1 km 37

Hình 2.6: Kiến trúc của bài toán xếp hạng vùng 49

Hình 2.7: Biểu diễn một số quỹ đạo trên bản đồ 41

Hình 2.8: Đồ thị có hướng G và ma trận liền kề biểu diễn 43

Hình 2.9: Kiến trúc của bài toán phân tích thời gian di chuyển 45

Hình 2.10: Kiến trúc của bài toán mô hình hóa các đặc trưng giao thông để phát hiện các vấn đề 47

Hình 2.11: Ví dụ về skyline 49

Hình 2.12: Kiến trúc của bài toán dự đoán lưu lượng và vận tốc trung bình 50

Hình 2.13: Đồ thị có hướng G và ma trận liền kề biểu diễn 51

Hình 3.1: Phân vùng bản đồ và đánh số thứ tự 71

Hình 3.2: Biểu diễn các vùng nhiều lượt trả khách 78

Hình 3.3: Một số vùng sử dụng trong bài toán Phân tích thời gian di chuyển 81

Hình 3.4: Biểu diễn một số vùng thường xuyên xảy ra vấn đề 87

Hình 3.5: Một số vùng sử dụng trong đánh giá bài toán 92

Trang 10

cơ sở hạ tầng tuy nhiên tốc độ phát triển nhanh dẫn tới cơ sở hạ tầng không thể đáp ứng được nhu cầu đi lại của người dân

Phát triển kinh tế mang lại cho người dân điều kiện sống ngày càng nâng cao, chất lượng cuộc sống ngày càng cải thiện dẫn đến nhu cầu sử dụng phương tiện

cá nhân tăng cao Cụ thể, tốc độ phát triển của phương tiện cá nhân tại Việt Nam đang diễn ra rất nhanh Riêng đối với thủ đô Hà Nội, sở giao thông vận tải Hà Nội cho biết trong năm 2018 đã có hơn 5 triệu xe máy, gần 500 nghìn ô tô và khoảng 1,2 triệu phương tiện từ các tỉnh ngoại thành tham gia giao thông Hà Nội và dự kiến đến năm 2020 sẽ có hơn 800 nghìn ô tô, hơn 6 triệu xe máy, con số này là gần 2 triệu ô tô và 7,5 triệu xe máy vào năm 2030

Sự phát triển phương tiện cá nhân đang ở mức báo động, Ủy ban nhân dân thành phố Hà Nội đã đề xuất và thực hiện nhiều giải pháp tuy nhiên chưa có giải pháp nào thực sự đem tới làn gió mới cho giao thông tại Hà Nội Nhìn qua một số giải pháp gần đây như: đổi giờ học, giờ làm việc, dự án xe bus nhanh BRT Dự án đổi giờ học, giờ làm chưa mang lại hiệu quả giảm ùn tắc rõ dệt Dự án xe bus nhanh BRT không mang lại hiệu quả cao nếu không muốn nói là thất bại Trước tình hình , chính quyền thành phố Hà Nội đã quyết định thực hiện đề án cấm xe máy Nhìn về quá khứ, các thành phố lớn của Trung Quốc cũng đã gặp tình trạng tương tự như Hà Nội hiện nay và lựa chọn giải pháp cấm phương tiện cá nhân và phát triển vận tải công cộng, điển hình như Bắc Kinh cấm xe máy từ năm 1985, Quảng Châu là 2007

và Thượng Hải là 2002

Trang 11

Trước giai đoạn thực hiện đề án cấm xe máy tác giả mong muốn có giải pháp giải quyết vấn đề trước mắt cũng như lâu dài góp phần giải quyết vấn đề giao thông tác giả mong muốn xây dựng bản đồ thông minh nhằm giúp người dùng có được những chỉ dẫn khi tham gia giao thông Bản đồ thông minh là hệ thống bản đồ có thể đưa ra những tuyến đường hợp lý nhất mà người dùng đặt trước điểm xuất phát

và đích đến, bản đồ sẽ cũng cấp tình trạng giao thông theo thời gian thực ở khu vực

đã như lưu lượng giao thông, có ách tắc do tai nạn hoặc vấn đề khác không , ngoài

ra các thông số cơ bản về tuyến đường như: biển báo, đường một hoặc hai chiều, tốc

độ cho phép…Tác giả thông qua xử lý Bigdata hệ thống sẽ thu thập và đưa cho người dùng những chỉ dẫn hợp lý Hiện nay ở trên thế giới Bigdata được xem như

sự ra đời tất yếu của quá trình bùng nổ thông tin Bigdata được đặc trưng bởi hai tính chất là: độ lớn lưu trữ và độ phức tạp, hai tính chất này luôn đi kèm với nhau, trong tính chất phức tạp cũng đặc trưng và thách thức hơn vấn đề về độ lớn của dữ liệu Nhờ vậy việc phân tích xử lý Bigdata, sẽ khiến tiết kiệm được chi phí, tăng lợi nhuận cũng như hiệu quả hoạt động Bigdata và các công nghệ phân tích có khả năng làm thay đổi hoàn toàn bộ mặt của giao thông hiện nay Tuy nhiên, tình hình khai thác Bigdata tại Việt Nam vẫn chưa thu hút được nhiều sự quan tâm, nghiên cứu Chính vì vậy việc thu thập, phân tích, xử lý Bigdata nhằm phát huy giá trị to lớn của nó là điều vô cùng quan trọng

Ứng dụng xử lý Bigdata là Apache Spark Do Apache Spark không chỉ hữu ích cho học máy mà cũng cho cả việc xử lý luồng dữ liệu hoàn chỉnh Từ cho phép thu thập dữ liệu, phân tích, xử lý Bigdata và truy xuất được các thông tin về tình trạng giao thông Tất cả cơ sở dữ liệu này sẽ được sử dụng để xây dựng ― bản đồ thông minh‖ về giao thông nhằm hỗ trợ tư vấn giúp người tham gia giao thông lựa chọn được phương án di chuyển tối ưu nhằm giảm thiểu tắc nghẽn giao thông, tiết kiệm nhiên liệu

Từ nhu cầu thực tế , học viên với sự giúp đỡ của TS Trương Tiến Tùng đã lựa chọn đề tài ―Nghiên cứu giải pháp xử lý Bigdata sử dụng Apache Spark và ứng dụng hỗ trợ xây dựng dữ liệu bản đồ giao thông thông minh‖ cho luận văn tốt nghiệp thạc sĩ của mình

Trang 12

Luận văn của Tác giả gồm có 3 chương với nội dung cơ bản sau:

Chương 1: Tổng quan công nghệ bigdata ứng dụng cho bài toán giao thông Chương 2: Giải pháp APACHE SPARK và ứng dụng bản đồ giao thông Chương 3: Ứng dụng hỗ trợ xây dựng dữ liêu bản đồ giao thông thông minh

Trang 13

CHƯƠNG 1: TỔNG QUAN CÔNG NGHỆ BIGDATA CHO BÀI TOÁN

GIAO THÔNG

Trong chương này tác giả giới thiệu tổng quan về Bigdata: Khái niệm, đặc trưng cùng với một số ứng dụng Bigdata tại Việt Nam, trên thế giới và bản đồ giao thông thông minh

1.1 Đặt vấn đề

Hiện nay, vấn đề giao thông luôn là mối quan tâm hàng đầu của các đô thị Trong những năm gần đây, các đô thị thường xuyên xảy ra tắc đường vào giờ cao điểm và nguồn gốc của vấn đề được nhận định là do cơ sở hạ tầng không đủ đáp ứng và quy hoạch thiếu hợp lý Với một quy hoạch tốt, các vấn đề về giao thông có thể được giảm thiểu giúp cải thiện tình hình giao thông trong tương lai

Đặc trưng của giao thông bao gồm những thông tin: Lưu lượng, tốc độ, thời gian và khoảng cách di chuyển và một số thông tin liên quan Những thông tin này

bị ảnh hưởng bởi những yếu tố bên ngoài như các sự kiện đặc biệt hay do thời tiết Mỗi thay đổi đều có thể dẫn đến các vấn đề trong giao thông như trời năng nóng hay trời mưa Để thực hiện, yêu cầu tiên quyết là phải thu thập dữ liệu Dữ liệu có thể thu thập thông qua hai hướng chính là dữ liệu từ thiết bị giám sát hành trình hoặc thông qua camera giám sát giao thông Tuy nhiên đối với camera giám sát giao thông, việc trích xuất được các thông tin như tốc độ và khoảng cách di chuyển là không thể thu thập thông qua thiết bị giám sát hành trình Ngoài ra sau khi đã thu thập được dữ liệu, cần phải xử lý dữ liệu để xác định tốc độ, lưu lượng, thời gian, khoảng cách di chuyển để phát hiện những điểm nóng, dự đoán tình trạng giao thông dựa trên những thông tin thu thập được, xác định những thay đổi do các yếu

tố bên ngoài, phục vụ cho việc phát hiện vấn đề và đưa ra hướng phải quyết phù hợp

1.2 Một số nghiên cứu liên quan

Tài liệu trình bày một trong những nghiên cứu trong lĩnh vưc giao thông [15] , nghiên cứu bao gồm nhiều bài toán giải quyết các vấn đề như: Giao thông thông minh Nghiên cứu tiến hành chia bản đồ thành nhiều vùng dựa trên các trục đường lớn và nhỏ phân chia các tuyến phố, từ dữ liệu taxi để tính toàn mật độ xe,

Trang 14

tốc độ và khoảng cách di chuyển giữa những cặp vùng nhằm đánh giá giao thông giữa cặp vùng và tìm ra những khu vực quy hoạch không hợp lý

Dựa trên dữ liệu taxi thu thập được ở Hà Nội một nhóm tác giả đã thực hiện nghiên cứu để thực hiện một số bài toán như: Phân tích, dự báo các chuyến taxi sử dụng dữ liệu bổ sung (bao gồm các điểm đến ưa thích, điều kiện thời tiết) từ đã ước tính nhu cầu taxi; khám phá mối quan hệ giữa lưu lượng taxi và hoạt động của điện thoại di động, xác định khoảng thời gian và không gian tối ưu; nghiên cứu về mối quan hệ giữa dữ liệu đô thị bằng cách kiểm tra sự tương tác giữa tính di động của taxi, điều kiện khí hậu và mức độ tập trung của khí thải để ước tính nồng độ các chất gây ô nhiễm trong không khí

1.3 Giới thiệu các lý thuyết liên quan:

1.3.1 Khái niệm về Bigdata

Bigdata là một thuật ngữ dùng để mô tả các bộ dữ liệu có kích thước rất lớn, khả năng phát triển nhanh, rất khó thu thập, lưu trữ, quản lý và phân tích với các Công cụ thống kê hay ứng dụng cơ sở dữ liệu truyền thống Bigdata rất quan trọng với các tổ chức, doanh nghiệp Dữ liệu ngày một lớn và nhiều sẽ giúp các phân tích càng chính xác hơn Việc phân tích chính xác này sẽ giúp doanh nghiệp đưa ra các quyết định giúp tăng hiệu quả sản xuất, giảm rủi ro và chi phí [1]

Một số nhóm kiểu Bigdata:

Hình 1.1 Thống kê các nguồn dữ liệu hiện nay

Trang 15

Thứ nhất là dữ liệu của các hệ thống doanh nghiệp truyền thống bao gồm các

dữ liệu từ hệ thống CRM, các giao dịch của hệ thống ERP, các dữ liệu kế toán…

Thứ hai là dữ liệu máy tạo ra/ Dữ liệu từ các thiết bị cảm biến: Bao gồm CDR, các dữ liệu ghi log thiết bị, …

Thứ ba là dữ liệu mạng xã hội (Social data): bao gồm các dữ liệu được sinh

ra từ quá trình sử dụng mạng xã hội của người dùng như: Hình ảnh, video, thông tin trên Facebook, Twitter, …

1.3.2 Giới thiệu về Ngôn ngữ lập trình R, Công cụ lập trình RStudio và framework Shiny

1.3.2.1 Giới thiệu về Ngôn ngữ lập trình R

R là một hệ thống cho tính toán thống kê và đồ họa R bao gồm một ngôn ngữ và một Runtime environment với đồ họa, trình sửa lỗi, truy nhập vào một số chức năng hệ thống và chạy các chương trình đã được lưu trữ

R được viết bởi Ross Ihaka và Robert Gentleman tại Phòng Thống kê của Đại học Auckland ở New Zealand, thiết kế của R bị ảnh hưởng lớn từ S và Scheme Ngoài ra vì là Ngôn ngữ lập trình Mã nguồn mở nên R cũng có sự ng góp lớn tới từ các cá nhân.R hỗ trợ nhiều hệ điều hành khác nhau như: Unix, Windows, Mac R thân thiện hơn đối với một số ngôn ngữ khác và nên sử dụng kết hợp với công cụ lập trình RStudio

Trang 16

1.3.2.2 Cài đặt R và Rstudio

Để cài đặt R, truy nhập vào trang chủ của R [28], chọn hệ điều hành, tiếp theo lựa chọn base cho lần cài đặt đầu tiên sau chọn download, sau khi download, chạy bộ cài để hoàn tất cài đặt ban đầu Sau khi cài đặt, nếu thành công sẽ xuất hiện icon mang chữ ―R‖ trong danh sách chương trình

Cài môi trường: Sau khi cài đặt xong R, cần phải cài đặt môi trường bằng cách

Chuột phải vào My Computer chọn Properties

Chọn Advanced system settings

Chọn Ok và hoàn tất cài đặt biến môi trường

RStudio là một bộ các công cụ tích hợp được thiết kế để làm việc với R hiệu quả hơn Nó bao gồm một trình soạn thảo, trình kiểm tra cú pháp, hỗ trợ chạy Mã trực tiếp và một loạt các Công cụ để vẽ, lưu vết lịch sử, gỡ lỗi và quản lý không gian nhớ RStudio là phần mềm miễn phí cho cá nhân sử dụng Để cài đặt, truy nhập trang web của phần mềm [29], lựa chọn phiên bản Desktop Non-commerical Sau khi hoàn tất cài đặt, giao diện người dùng của RStudio như hình 1.2

Trang 17

Hình 1.2 : Giao diện Công cụ lập trình RStudio

Phía trên cùng là phần thư mục hiện tại, người dùng có thể xem bằng câu lệnh getwd() hoặc thay đổi bằng câu lệnh setwd(―địa chỉ‖)

Phía dưới là thanh công cụ, người dùng có thể lựa chọn các hành động như tạo dự án mới, tạo mới tập tin, chỉnh sửa và làm một số hành động khác

Phía dưới bên trái là cửa số Console, người dùng có thể gõ câu lệnh đơn giản sau dấu nhắc ―>‖ và R sẽ thực hiện lệnh và trả về kết quả

Phía trên bên trái là cửa sổ Script, người dùng có thể viết câu lệnh vào đây và lưu lại, ngoài ra để chạy trực tiếp câu lệnh từ cửa sổ này, người dùng chọn vào một dũng và chọn Run hoặc bụi đen và chọn Run nếu muốn chạy một phần nào

Phía trên bên phải là phần Environment hiện danh sách những biến đã khởi tạo hoặc được lưu (R có hỗ trợ lưu giá trị các biến đã khởi tạo trước trong 1 file gọi

là Rdata trong cùng 1 thư mục và có thể tiếp tục sử dụng cho những lần sau) và History là lịch sử những câu lệnh mà người dùng đã chạy

Phía dưới bên phải Files là phần hỗ trợ hiển thị bao gồm: Danh sách file trong thư mục được trỏ đến, biểu đồ, các gói đã cài đặt, hỗ trợ, xem giá trị các biến lớn

Trang 18

1.3.2.3 Các kiểu dữ liệu, cách khai báo trong R

Các kiểu dữ liệu:

Khác với một số ngôn ngữ lập trình thông dụng như C, C++ hay Java, các biến trong R không cần khai báo kiểu dữ liệu, các biến được gán như một Object và tùy vào giá trị của biến mà biến được xác định kiểu dữ liệu khác nhau Trong R có 6 kiểu dữ liệu cơ bản

Logical: Dữ liệu kiểu Logic (TRUE/FALSE)

Numberic: Dữ liệu kiểu số (1.2, 0.5, …)

Integer: Dữ liệu kiểu số nguyên (1,2, …)

Complex: Dữ liệu kiểu số thực (1+2i, 3+2i, …)

Character: Dữ liệu kiểu chuỗi (―Hello‖, ―World‖, …)

Raw: Dữ liệu kiểu byte (00 00, 48 65 6c 6c 6f, … ), mặc định là hệ 16

Dựa trên 6 loại dữ liệu nguyên thủy, R có một số cấu trúc dữ liệu

Vectors: Vector lưu trữ danh sách các dữ liệu cùng kiểu

Lists: Tương tự vector nhưng có thể lưu trữ các kiểu dữ liệu khác nhau Matrices: Ma trận, là một mảng 2 chiều, các dữ liệu phải cùng kiểu

Arrays: Mảng lưu trữ các dữ liệu cùng kiểu, tuy nhiên có thể có nhiều chiều

mà không giới hạn ở 2 như ma trận

Factors: Được tạo ra từ vector, lưu trữ vector cùng với giá trị riêng biệt Data Frames: Lưu trữ dữ liệu dưới dạng bảng Mỗi cột là một kiểu dữ liệu khác nhau, data frame được tạo từ một danh sách các vector có độ dài bằng nhau

Bảng 1.1 biểu diễn cách khai báo các kiểu dữ liệu trong R

Trang 19

Bảng 1.1: Cách khai báo các kiểu dữ liệu trong R

Vectors vector <- c('green', 'red', 'purple')

Lists list <- list (TRUE, 1.2, 5, 'Hello')

Matrices matrix <- matrix(c(1:9), nrow=3, ncol=3)

Arrays array <- array(c('green','red'),dim = c(2,2,2))

Factors vector <- c('green', 'red', 'yellow', 'orange', 'red', 'yellow',

'orange') factor <- factor(vector) DataFrames studentList <- data.frame(

name = c("Nguyen Van A", "Tran Van B"), gender = c("Male", "Male‖),

age = c(22, 24) )

Một số phép toán và hàm trong R

Để gán giá trị cho một biến trong R, có thể sử dụng ký tự = hoặc <- Khi phát triển R, ký tự <- dùng để gán giá trị cho biến trong R, sau này ký tự = được chấp nhận để gán giá trị cho biến Tuy nhiên, ký tự = không được chấp nhận rộng rãi bởi

ký tự = thường được sử dụng trong việc truyền tham số của các hàm

Các phép cộng, trừ, nhân, chia trong R sử dụng toán tử ―+‖, ―-―, ―*‖, ―/‖ Phép lũy thừa sử dụng toán tử ―^‖ và chia lấy phần dư sử dụng ―%%‖

Để ép kiểu dữ liệu trong R, sử dụng cú pháp as, ví dụ muốn ộp kiểu biến x sang integer sử dụng as.integer(x)

Ngoài ra R có phân biệt biến global và biến local, nếu một biến đã được khai báo là global, sử dụng <- để thay đổi giá trị của biến global trong phạm vi thực hiện

Trang 20

(như trong một function), để thay đổi giá trị của biến trong toàn bộ phiên sử dụng

<<-

R cung cấp một số hàm đọc dữ liệu từ file như đọc vào 1 data frame (read.csv), đọc vào 1 bảng(read.table), đọc vào 1 bảng và chuyển sang data frame (read.delim), read.socket(), read.Line() … Để ghi dữ liệu, sử dụng một số hàm như: write(), write.csv(), write.table() …

R có thể làm nhiều thống kê và phân tích dữ liệu, và có hỗ trợ cài đặt các gói được cung cấp Để cài đặt một gói sử dụng có pháp install.packages(―package name‖)

Hàm trong R được định nghĩa bằng có pháp: functionName <- function (arg1, arg2, …)

Ngoài ra, RStudio cũng hỗ trợ làm việc trên nhiều phần khác nhau, mỗi phần sẽ hoạt động riêng biệt và không ảnh hưởng tới nhau, để làm việc trên một phiên khác, lựa chọn Session, New Session, để lấy thông tin của phiên hiện tại sử dụng câu lệnh SessionInfo()

Giới thiệu về framework Shiny:

Shiny là một framework được phát triển và tích hợp sẵn trong RStudio thông qua package Shiny Shiny giúp dễ dàng xây dựng các ứng dụng web tự động tương tác với R thông qua XmlHttpRequest, các ứng dụng có thể hoạt động độc lập hoặc nhúng vào các ứng dụng khác, mở rộng với CSS, htmlwidgets và JavaScript

Để sử dụng framework Shiny, trước tiên phải cài đặt gói bằng câu lệnh: install.packages(―shiny‖) Đối với RStudio, sử dụng bằng cách chọn File, New Project, New Directory, Shiny Web Application, đặt tên cho web app và chọn Create Project Sau khi hoàn tất sẽ xuất hiện 2 file server.R và ui.R tương ứng với server xử lý và giao diện UI

Đánh giá ưu, nhược điểm của R

Ưu điểm

R là phần mềm Mã nguồn mở, cho phép sử dụng và sửa đổi, R không hạn chế về giấy phép và quyền tác giả

Trang 21

R kết hợp tất cả các thống kê, mô hình và Phân tích, cung cấp một Ngôn ngữ toàn diện để quản lý và thao tác dữ liệu Công nghệ và ý tưởng mới thường được xuất hiện lần đầu tiên trong R

Khả năng đồ họa của R cũng vượt trội so, đã được đánh giá bởi US Food and Drug Administration [2]

R cung cấp hơn 4800 gói từ nhiều chủ đề như kinh tế lượng, Xử lý dữ liệu, phân tích không gian, khoa học Công nghệ

R có một cộng đồng lớn với hơn 2 triệu thành viên, nhiều công ty đã chấp nhận R như một ngôn ngữ thống kê góp phần phát triển nhanh chóng cho ngôn ngữ này

Nhược điểm

R được phát triển bởi các nhà thống kê nên không có có pháp nhất quán

R không chú ý tới việc quản lý bộ nhớ vì vậy tiêu tốn tương đối nhiều tài nguyên trong quá trình làm việc

1.3.3 Công nghệ dùng trong Bigdata

Bigdata là nhu cầu đang tăng trưởng lớn đến nỗi Software AG, Oracle, IBM, Microsoft, SAP, EMC, HP và Dell đã chi hơn 15 tỉ USD cho các công ty chuyên về quản LÝ và phân tích dữ liệu Năm 2010, ngành công nghiệp Bigdata có giá trị hơn

100 tỉ USD và đang tăng nhanh với tốc độ 10% mỗi năm, nhanh gấp đôi so với tổng ngành phần mềm nói chung [5]

Trang 22

Hình 1.3 Một số Công ty có tham gia vào Bigdata Bigdata cần đến các kĩ thuật khai thác thông tin rất đặc biệt do tính chất khổng lồ và phức tạp của nó Năm 2011, tập đoàn phân tích McKinsey đề xuất những công nghệ có thể dùng với Bigdata bao gồm crowsourcing (tận dụng nguồn lực từ nhiều thiết bị điện toán trên toàn cầu để cùng nhau xử lý dữ liệu), các thuật toán về gen và di truyền, những biện pháp machine learning (các hệ thống có khả năng học hỏi từ dữ liệu cũng được gọi là máy học, một nhánh của trí tuệ nhân tạo),

xử lý ngôn ngữ tự nhiên (giống như Siri hay Google Voice Search, nhưng cao cấp hơn), xử lý tín hiệu, mô phỏng, phân tích chuỗi thời gian, mô hình hóa, kết hợp các server mạnh lại với nhau

Ngoài ra, các cơ sở dữ liệu hỗ trợ xử lý dữ liệu song song, ứng dụng hoạt động dựa trên hành động tìm kiếm, file hệ thống dạng rời rạc, các hệ thống điện toán đám mây (bao gồm ứng dụng, nguồn lực tính toán cũng như không gian lưu trữ) và bản thân Internet cũng là những công cụ đắc lực phục vụ cho công tác nghiên cứu và trích xuất thông tin từ ―Bigdata‖ Hiện nay cũng có vài cơ sở dữ liệu theo dạng quan hệ (bảng) có khả năng chứa hàng petabyte dữ liệu, chúng cũng có thể tải, quản lý, sao lưu và tối ưu hóa cách sử dụng Bigdata nữa

Những người làm việc với Bigdata thường khó khăn với các hệ thống lưu trữ

dữ liệu tốc độ chậm, do vậy họ cần những loại ổ lưu trữ nào có thể gắn trực tiếp vào máy tính (cũng như ổ cứng gắn trong máy tính vậy) Ổ đã có thể là SSD cho đến

Trang 23

các đĩa SATA nằm trong một lưới lưu trữ cỡ lớn Những người này nhìn vào ổ NAS hay hệ thống lưu trữ mạng SAN với góc nhìn rằng những thứ này quá phức tạp, đắt

và chậm Những tính chất nói trên không phù hợp cho hệ thống dùng để phân tích Bigdata vốn nhắm đến hiệu năng cao, tận dụng hạ tầng thông dụng và chi phí thấp Ngoài ra, việc phân tích Bigdata cũng cần phải được áp dụng theo thời gian thực hoặc cận thời gian thực, thế nên độ trễ cần phải được loại bỏ bất kỳ khi nào và bất

kỳ nơi nào có thể [4]

1.3.4 Sự khác biệt giữa Bigdata và dữ liệu truyền thống

Bigdata khác với dữ liệu truyền thống ở 4 điểm cơ bản: Dữ liệu đa dạng hơn; lưu trữ lớn hơn; truy vấn nhanh hơn; độ chính xác cao hơn [1]

- Dữ liệu đa dạng hơn: Khi khai thác dữ liệu truyền thống, ta thường phải trả lời các câu hỏi: Dữ liệu lấy ra kiểu gỡ, định dạng dữ liệu như thế nào nhưng đối với Bigdata ta không phải trả lời các câu hỏi trên Hay nói cách khác khi khai thác, phân tích Bigdata ta không cần quan tâm đến kiểu dữ liệu và định dạng của chúng, điều quan tâm là giá trị mà dữ liệu mang lại có đáp ứng được cho công việc hiện tại và tương lai hay không

- Lưu trữ Bigdata hơn: Lưu trữ dữ liệu truyền thống vô cùng phức tạp và luôn đặt ra câu hỏi lưu như thế nào, dung lượng kho lưu trữ bao nhiêu là đủ, gắn kèm với câu hỏi đã là chi phí đầu tư tương ứng Công nghệ lưu trữ Bigdata hiện nay

đã phần nào có thể giải quyết được vấn đề trên nhờ những công nghệ lưu trữ đám mây, phân phối lưu trữ dữ liệu phân tán và có thể kết hợp các dữ liệu phân tán lại với nhau một cách chính xác và xử lý nhanh trong thời gian thực

- Truy vấn dữ liệu nhanh hơn: Bigdata được cập nhật liên tục, trong khi kho

dữ liệu truyền thống không được cập nhật liên tục và trong tình trạng không theo dõi thường xuyên gây ra tình trạng lỗi cấu trúc truy vấn dẫn đến không tìm kiếm được thông tin đáp ứng theo yêu cầu

- Độ chính xác cao hơn: Bigdata khi đưa vào sử dụng thường được kiểm định lại dữ liệu với những điều kiện chặt chẽ, số lượng thông tin được kiểm tra thông thường rất lớn, và đảm bảo về nguồn lấy dữ liệu không có sự tác động của con người vào thay đổi số liệu thu thập

Trang 24

1.4 Các đặc trưng cơ bản của Bigdata

Theo Khái niệm của Gartner (công ty nghiên cứu Công nghệ Thông tin hàng đầu thế giới) về mô hình ―5Vs‖ - năm tính chất quan trọng nói lên Bigdata [3], [5]:

Hình 1.4 Mô hình 5Vs của Bigdata

1.4.1 Khối lượng dữ liệu

Bigdata là tập hợp dữ liệu có dung lượng lưu trữ vượt mức đảm đương của những ứng dụng và công cụ truyền thống Kích cỡ của Bigdata đang từng ngày tăng lên, và tính đến năm 2012 thì nó có thể nằm trong khoảng vài chục terabyte cho đến nhiều petabyte (1 petabyte = 1024 terabyte) chỉ cho một tập hợp dữ liệu mà thôi

1.4.2 Tốc độ

Dung lượng gia tăng của dữ liệu rất nhanh và tốc độ xử lý đang tiến tới thời gian thực Các ứng dụng phổ biến trên lĩnh vực Internet, Tài chính, Ngân hàng, Hàng không, Quân sự, Y tế – Sức khỏe ngày hôm nay phần lớn Bigdata được xử lý thời gian thực Công nghệ xử lý Bigdata ngày một tiên tiến cho phép xử lý tức thì trước khi chúng được lưu trữ vào cơ sở dữ liệu

1.4.4 Độ tin cậy/chính xác

Một trong những Tính chất phức tạp nhất của Bigdata là độ chính xác của dữ liệu Với xu hướng công cụ dùng cho việc giao tiếp, chia sẻ thông tin trên nền

Trang 25

tảng internet và truyền thông mạng xã hội ngày nay và sự gia tăng mạnh mẽ tính tương tác và chia sẻ của người dùng thiết bị di động làm cho bức tranh xác định về

độ tin cậy và chính xác của dữ liệu ngày một khó khăn hơn Bài toán phân tích và loại bỏ dữ liệu thiếu chính xác và nhiễu đang là tính chất quan trọng của Bigdata

1.4.5 Giá trị

Giá trị thông tin là tính chất quan trọng nhất của xu hướng công nghệ Bigdata Ở đây doanh nghiệp phải hoạch định được những giá trị thông tin hữu ích của Bigdata cho vấn đề, bài toán hoặc mô hình hoạt động kinh doanh của mình Có thể nói việc đầu tiên là phải xác định được tính chất ―Value‖ thì mới nên bắt tay vào Bigdata

Những năm gần đây, Việt Nam đang ngày càng gia tăng tốc độ phát triển và hội nhập với các xu hướng công nghệ thế giới Với hơn 30 triệu người dùng Internet

và hơn 15 triệu ngươi dùng Mobile Internet làm cho Việt Nam đang đứng trước một

cơ hội vô cùng lớn về khai thác Bigdata Sẽ có những doanh nghiệp Việt Nam khai thác thành công Bigdata với doanh số hàng trăm triệu USD trong vòng 5 năm tới Đặc biệt, giai đoạn 2014-2016, xu hướng Mobile và lượng người dùng Internet 3G

sẽ tiếp tục tăng mạnh Các dịch vụ kết nối OTT (Over-the-top) và truyền thông xã hội ng góp hơn 80% phương thức giao tiếp online, video online và nội dung số mobile Điều này góp phần đẩy mạnh xu hướng truyền thông số đa phương tiện, đa màn Hình (PC, smartphone , tablet, smart TV) sẽ bùng nổ với độ phủ hơn 50% dân

số Việt Nam Việt Nam là một kho ―vàng‖ dữ liệu vô cùng lớn cho việc ứng dụng Bigdata

1.5 Kiến trúc của Bigdata

Bigdata có thể tìm thấy theo 3 kiểu cấu trúc sau:

- Kiểu có cấu trúc

- Kiểu không có cấu trúc

- Kiểu nửa cấu trúc

1.5.1 Kiểu có cấu trúc

Nhiều dữ liệu có thể được lưu trữ được truy cập và xử lý trong dạng khuôn mẫu của định dạng nào đã đều được gọi là dữ liệu được cấu trúc Thời gian trước

Trang 26

đây trong lĩnh vực khoa học máy tính có thể kiểu cấu trúc thành công hơn trong một

số loại dữ liệu Trong thời gian trước đây, thành công trong lĩnh vực khoa học máy tính phát triển kỹ thuật định dạng dữ liệu ở dạng hiệu quả cho việc khai thác Tuy nhiên ngày nay chúng ta có thể nhìn thấy kích thước dữ liệu cần quản lý ngày càng tăng nhanh và có kích thước khổng lồ tới hàng zettabyte

1.5.2 Kiểu nửa cấu trúc

Kiểu nửa cấu trúc có thể bao gồm cả các forms dữ liệu Chúng ta có thể thấy

dữ liệu bán cấu trúc như một mẫu nhưng nó không được định nghĩa với bảng với mối quan hệ như hệ quản trị quan hệ dữ liệu quan hệ DBMS Ví dụ của dụ của dữ liệu bán cấu trúc là dữ liệu được thể hiện trong file XML

Ví dụ về dữ liệu nửa cấu trúc (Demi-Structured Data) :

1.5.3 Kiểu không cấu trúc

Mọi dữ liệu không có khuôn mẫu là kiểu dữ liệu không cấu trúc Hơn nữa khi kích thước trở lên khổng lồ dữ liệu không cấu trúc đặt ra những thách thức trong

Trang 27

việc xử lý và nhận được giá trị từ nó Ví dụ về dữ liệu không cấu trúc như sau, sự hỗn tạp về nguồn dữ liệu bao gồm kết nối của các file text đơn giản, ảnh, video, … Ngày nay các tổ chức nắm trong tay một lượng Bigdata có giá trị nhưng rất không may, họ không biết cách nào để khai thác được nó do các dữ liệu này vẫn ở dạng thô, phần lớn không có cấu trúc, hoặc định dạng nào

1.6 Ứng dụng Bigdata trong cuộc sống

1.6.1 Các lĩnh vực đang ứng dụng Bigdata

Mọi khía cạnh trong đời sống đều sẽ bị ảnh hưởng bởi Bigdata Dưới đây các ứng dụng Bigdata được sử dụng phổ biến nhất cũng như tạo ra được những lợi ích cao nhất trong một số lĩnh vực [1]:

Sự hiểu biết và khách hàng mục tiêu (Internet, Mobile và Digital Marketing): Đây là một trong những lĩnh vực lớn nhất và được công bố công khai nhất cách Bigdata được sử dụng ngày nay Ở đây, Bigdata được sử dụng để hiểu rõ hơn về khách hàng và hành vi cũng như sở thích của họ Các công ty đều mong muốn mở rộng tập hợp dữ liệu truyền thống với các dữ liệu truyền thông xã hội, trình duyệt web cũng như phân tích văn bản và dữ liệu cảm biến để có được một bức tranh hoàn chỉnh hơn về khách hàng của họ Trong nhiều trường hợp, mục tiêu lớn hơn là

để tạo ra mô hình dự báo

Sự hiểu biết và tối ưu hóa quy trình kinh doanh: Bigdata cũng ngày càng được sử dụng để tối ưu hóa quy trình kinh doanh Các nhà bán lẻ có thể tối ưu hóa giá cả và lượng hàng hóa của họ dựa trên các dự đoán được tạo ra từ dữ liệu phương tiện truyền thông xã hội, xu hướng tìm kiếm web và dự báo thời tiết Một quy trình kinh doanh với rất nhiều Phân tích Bigdata là chuỗi cung ứng hoặc cung cấp lộ trình tối ưu hóa Ở đây, cảm biến nhận dạng tần số vụ tuyến định vị và địa lý được sử dụng để theo dõi hàng hóa, phương tiện giao hàng và các tuyến đường tối ưu bằng cách tích hợp dữ liệu giao thông trực tiếp

Định lượng cá nhân và tối ưu hóa hiệu suất: Bigdata không chỉ dành cho các Công ty và chính phủ mà cũng cho từng cá nhân Ngày nay ta có thể được hưởng lợi

từ dữ liệu được tạo ra từ các thiết bị đeo như đồng hồ thông minh hoặc vòng đeo tay thông minh

Trang 28

Cải thiện chăm sóc sức khỏe và y tế Công: Khả năng tính toán, phân tích Bigdata cho phép giải mã toàn bộ chuỗi DNA trong vài phút và tìm ra những phương pháp chữa trị mới, nhằm hiểu rõ hơn cũng như dự đoán mô hình bệnh Các thử nghiệm lâm sàng trong tương lai sẽ không bị giới hạn bởi kích thước mẫu nhỏ

mà sẽ có khả năng bao quát tất cả mọi người cho phép theo dõi, dự đoán sự phát triển của dịch bệnh và sự bùng phát dịch bệnh

- Cải thiện hiệu suất thể thao: Hầu hết các môn thể thao hiện đại đều áp dụng Phân tích Bigdata Ta sử dụng phân tích video để theo dõi hiệu suất của mỗi cầu thủ trong bóng đá hoặc bóng chày, và công nghệ cảm biến trong các thiết bị thể thao như bóng rổ hay các câu lạc bộ golf cho phép có được thông tin phản hồi (thông qua điện thoại thông minh và các máy chủ điện toán đám mây) về hiệu suất thi đấu của mình và làm thế nào để cải thiện nó

- Nâng cao khoa học và nghiên cứu: khoa học và nghiên cứu hiện đang biến đổi rất nhanh bởi các khả năng mới mà Bigdata mang lại Lấy ví dụ, CERN, phòng thí nghiệm vật lý hạt nhân Thụy Sĩ với chiếc máy gia tốc hạt lớn nhất và mạnh nhất thế giới, Large Hadron Collider Với những thí nghiệm để mở khóa những bí mật của

vũ trụ, cách hình thành và vận hành ra sao, đã tạo ra một lượng lớn dữ liệu

- Tối ưu hóa hiệu suất máy móc và thiết bị: Phân tích Bigdata giúp máy móc và thiết bị trở nên thông minh và độc lập hơn Ví dụ, các Công cụ Bigdata được sử dụng để vận hành xe hơi tự lái của Google Toyota Prius được trang bị máy ảnh, GPS cũng như các máy tính mạnh mẽ và bộ cảm biến để lái xe an toàn trên đường

mà không có sự can thiệp của con người

- Cải thiện an ninh và thực thi pháp luật: Bigdata được áp dụng rất nhiều trong việc cải thiện an ninh và cho phép thực thi pháp luật Cơ quan An ninh Quốc gia Mỹ (NSA) sử dụng Phân tích Bigdata để chống âm mưu khủng bố (và có thể gián điệp trên toàn cầu) Các đơn vị khác sử dụng kỹ thuật Bigdata để phát hiện và ngăn chặn các cuộc tấn Công không gian mạng Lực lượng cảnh sát sử dụng các Công cụ Bigdata để bắt tội phạm và thậm chí dự đoán hoạt động tội phạm, và những Công ty thẻ tín dụng sử dụng Bigdata dùng nó để phát hiện các giao dịch gian lận

Trang 29

- Cải thiện và tối ưu hóa các thành phố, quốc gia: Cho phép các thành phố tối ưu hóa luồng giao thông dựa trên thông tin giao thông trong thời gian thực cũng như

dữ liệu trên các phương tiện truyền thông xã hội và dữ liệu thời tiết Một số thành phố đang thực hiện thí điểm Phân tích Bigdata với mục đích biến mình thành thành phố thông minh, nơi mà cơ sở hạ tầng giao thông và các quy trình tiện ích đều được kết nối với nhau Nơi một chiếc xe buýt sẽ chờ một đoàn tàu đến trễ và nơi tín hiệu giao thông dự đoán khối lượng giao thông và hoạt động để giảm thiểu ùn tắc

- Kinh doanh tài chính: Thể loại cuối cùng về ứng dụng Bigdata đến từ các giao dịch tài chính Tần số giao dịch cao (HFT) là một lĩnh vực nơi Bigdata được sử dụng rất nhiều ngày nay Ở đây, thuật toán Bigdata được sử dụng để đưa ra các quyết định giao dịch Ngày nay, phần lớn các giao dịch cổ phiếu diễn ra thông qua các thuật toán dữ liệu dựa ngày càng nhiều vào tín hiệu tài khoản từ các mạng truyền thông xã hội và các trang web tin tức để đưa ra quyết định mua và bán trong từng giây

1.6.2 Thực tế sử dụng Bigdata tại Việt Nam

Hiện tại, cách mạng công nghiệp lần thứ 4 là một thuật ngữ được mô tả về một nền công nghiệp thông minh với sự phát triển vượt bậc của nhiều công nghệ, có thể thay đổi mô thức sản xuất trên quy mô toàn cầu Cục Thương mại điện tử và Công nghệ thông tin (Bộ Công Thương) cho biết, Cách mạng công nghiệp lần thứ 4 đang và sẽ là xu thế lớn có tác động đến phát triển kinh tế - xã hội của tất cả các quốc gia Trong , một trong những công nghệ quan trọng phải được kể đến là Bigdata Bigdata sẽ là yếu tố cốt lõi để sử dụng và phát triển Internet vạn vật (IoT)

và trí tuệ nhân tạo (AI) Do , cách thu thập và khai thác Bigdata sẽ tạo ra điểm khác biệt giữa các doanh nghiệp hoạt động trên thị trường [3]

Tuy nhiên, tình hình khai thác Bigdata tại Việt Nam vẫn chưa thu hút được nhiều sự chú ý Phần lớn các doanh nghiệp sở hữu khối lượng Bigdata hàng đầu Việt Nam chưa tư duy về dữ liệu, chính vì vậy cần trang bị thông tin để có thể tái cấu trúc hệ thống, thiết lập cơ sở hạ tầng thông tin, thu thập, xử lý, để dữ liệu Bigdata phát huy giá trị to lớn của nó Trong bối cảnh hiện nay, điểm quan trọng mà các doanh nghiệp Việt Nam cần tập trung để có thể khai thác được giá trị của

Trang 30

Bigdata là cần phát triển một ―tư duy phân tích dữ liệu‖, nuôi dưỡng một ―văn hóa

dữ liệu‖ trong doanh nghiệp Điều này là một nhiệm vụ khó khăn

1.7 Giới thiệu bản đồ giao thông thông minh

1.7.1 Giới thiệu bài toán và một số thuật toán áp dụng

1.7.1.1 Bài toán [17]

Như đã giới thiệu trước có rất nhiều bài toán trong lĩnh vực xử lý dữ liệu giao thông Tuy nhiên trong Luận văn, các bài toán sẽ được tiến hành dựa trên dữ liệu GPS của taxi Sử dụng những thông tin thu thập về dữ liệu hành trình, luận văn tập trung vào những bài toán sau:

Bài toán 1: Xếp hạng các vùng địa lý dựa trên lưu lượng xe và thuật toán PageRank: Bài toán này sẽ giúp việc xác định những khu vực tiềm năng để có thể giúp việc điều chỉnh số lượng xe taxi tại từng khu vực sao cho hợp lý nhất

Bài toán 2: Phân tích thời gian di chuyển dựa trên các vùng địa lý: Bài toán này sẽ trợ giúp việc Tính toán thời gian di chuyển giữa những vùng địa lý theo từng khoảng thời gian, giúp tài xế có thể xác định được khoảng thời gian di chuyển cần thiết

Bài toán 3: Mô hình hóa các đặc trưng giao thông giữa những vùng địa lý để phát hiện các vấn đề: Bài toán này sẽ dựa trên các đặc trưng giao thông giữa những vùng bao gồm: Lưu lượng, tốc độ, khoảng cách phải di chuyển để phát hiện các vùng có tình trạng giao thông tệ nhất, dựa trên danh sách những vùng có tình trạng giao thông tệ qua mỗi ngày, xử lý mẫu sử dụng thuật toán Apriori để tìm ra những cặp vùng thường xuyên xảy ra vấn đề cũng như mối quan hệ tương quan hay nhân quả của từng cặp vùng

Bài toán 4: Dự đoán lưu lượng và tốc độ trung bình dựa trên dữ liệu GPS và thời tiết: Bài toán này sẽ xây dựng bộ lưu lượng và vận tốc của taxi qua từng vùng kết hợp với các yếu tố thời tiết Áp dụng các thuật toán học máy bao gồm: K láng giềng gần nhất, Rừng ngẫu nhiên, mạng bayes và mạng noron nhân tạo giúp dự đoán đặc trưng giao thông của từng vùng bao gồm: Lưu lượng taxi và tốc độ di

Trang 31

chuyển qua mỗi vùng trong từng khoảng thời gia từ đánh giá mô hình và biểu diễn kết quả

1.7.1.2 Một số thuật toán áp dụng

1 Thuật toán PageRank [17]

PageRank là thuật toán phân tích các liên kết được dùng trong Google Search để xếp hạng các trang web Thuật toán sẽ tính giá trị cho mỗi thành phần trong một tập hợp, giá trị xếp hạng sẽ đánh giá mức quan trọng của từng thành phần Trong Luận văn, thuật toán PageRank sẽ được sử dụng để xếp hạng các vùng

Giá trị PageRank Hình thành từ thuật toán dựa trên đồ thị, các trang web được coi như là một đỉnh trong đồ thị và các liên kết được coi là các cạnh Giá trị PageRank của một trang phụ thuộc vào số lượng và giá trị của các trang mà có liên kết đến trang đó

PageRank được sử dụng để xếp hạng các trang web dựa trên số lượng siêu liên kết đến một trang Khi bắt đầu, sự phân bố xác suất được chia đều cho tất cả các thành phần trong danh sách các trang Sau quá trình lặp khi độ lệch đạt tới một mức chấp nhận được thì quá trình lặp kết thúc, giá trị của mỗi trang sẽ được tính toán PageRank được tính như Công thức 1.1 [22]

( )

( ) 1

( )

( )

j i

j

p j M p i

PR P d

là damping factor (xác suất người dùng đang lướt web và click vào một trang ngẫu nhiên)

Hình 1.5 biểu diễn một ví dụ về xếp hạng, trang B được liên kết từ nhiều trang nên có PageRank cao nhất, trang C chỉ được liên kết từ trang B nhưng do trang B chỉ liên kết tới trang C nên C cũng có PageRank cao

Trang 32

Hình 1.5: Xếp hạng các trang theo thuật toán PageRank [17]

2 Thuật toán K láng giềng gần nhất (K – Nearest Neighbors - KNN)

KNN là một thuật toán phổ biến trong lĩnh vực khoa học dữ liệu, sử dụng để phân lớp đối tượng dựa vào mức tương đồng với các đối tượng trong tập huấn luyện (hay khoảng cách khi biểu diễn) Đối tượng sẽ được phân lớp dựa vào việc xét k đối tượng gần nhất với nó với k là một số nguyên được xác định trước

Các bước thực hiện của thuật toán:

Xác định tham số k

Tính khoảng cách giữa đối tượng cần phân lớp tới các đối tượng trong tập huấn luyện

Chọn k đối tương gần nhất với đối tượng cần phân lớp

Dựa vào k đối tượng đã chọn, xác định lớp chiếm đa số và đối tượng sẽ được phân vào lớp này

Có một số cách để tính khoảng cách giữa 2 điểm X=(x1,x2,…,xn) và Y=(y1,y2,…,yn).trong thuật toán như

Trang 33

Hình 1.6: Mô tả thuật toán K láng giếng gần nhất [17]

Áp dụng cho bài toán phân lớp, các dữ kiện đầu vào gồm có:

Tập dữ liệu đầu vào đã được vector hóa dưới dạng X=(x1,x2,…,xn)

Ci: Phân lớp i, với i={1,2,…,m)

Các thuộc tính độc lập điều kiện theo từng cặp

Trang 34

P(Ci|X) là xác suất thuộc lớp i khi biết trước mẫu X

P(Ci) là xác suất thuộc Phân lớp i

P(xk|Ci) là xác suất thuộc tính thứ k mang giá trị xk khi đã biết X thuộc Phân lớp i

Các bước thực hiện thuật toán:

Huấn luyện NB dựa vào tập dữ liệu, Tính P(Ci) và P(xk|Ci)

Phân lớp Xnew =(x1,x2,…,xn), ta cân tính xác suất thuộc từng phân lớp khi

đã biết trước Xnew.Xnew đ ược gán vào lớp có xác suát lớn nhất theo công thức sau [17]

Cây quyết định là một cấu trúc duyệt dạng cây, nhận vào một bộ giá trị thuộc tính mô tả một đối tượng hay một tình huống và trả về một giá trị rời rạc Trên cây quyết định, mỗi nút không phải lá thì tương ứng với một phép kiểm tra thuộc tính, dưới nút đó tương ứng với một giá trị của thuộc tính hay kết quả của phép thử Cuối cùng ở nút lá, giá trị thu được trong đó là nhãn Phân loại

Để xác định nhãn cho một ví dụ nào đó, ta cho ví dụ bắt đầu từ gốc về phía ngọn Tại mỗi nút, thuộc tính tương ứng với nút được kiểm tra, tùy theo giá trị của

Trang 35

thuộc tính đó mà chọn nhánh tương ứng Thực hiện quá trình này cho tới khi tới nút cuối cùng và kết quả là nhãn của ví dụ

Hình 1.7: Cây quyết định cho bài toán chơi thể thao [17]

Hình 1.7 biểu diễn cây quyết định dưới dạng hình ảnh Trong ví dụ trên, ban đầu sẽ là nhân tố OUTLOOK được xét đến, nếu OUTLOOK là overcast thì nhãn là Play, nếu OUTLOOK là Sunny sẽ xột tiếp đến HUMIDITY, nếu OUTLOOK là Sunny và HUMIDITY <= 70 thì nhãn là

Play và Don’t Play nếu HUMIDITY > 70

Mạng nơ-ron nhân tạo (Artifical neural networks – ANN)

Mạng nơ-ron nhân tạo dựa trên nguyên lý hệ thống thần kinh của con người

và động vật bậc cao Mạng nơ-ron bao gồm nhóm các nơ-ron nhân tạo nối với nhau,

xử lý thông tin bằng cách truyền theo các kết nối và Tính giá trị mới tại các nút

Tại mỗi nút có một hàm cho phép trả ra kết quả dựa trên dầu vào Nhờ việc

sử dụng nhiều nút với những hàm xử lý riêng tại từng nút, mạng noron nhân tạo cho phép xây dựng những hàm đích phức tạp để ánh xạ tin hiệu đầu vào thành kết quả đầu ra

Trang 36

Hình 1.8: Mạng noron nhân tạo [17]

Như trong Hình 1.8, tổ chức mạng noron trong đó một số nút nhận tín hiệu từ ngoài, một số nút trả tín hiệu ra ngoài, các nút có thể truyền dữ liệu tới nút khác

5 Thuật toán Apriori

Apriori là thuật toán dùng để Xử lý tần suất bộ các mục và luật liên kết Thuật toán xác định các mục thường xuyên xuất hiện và mở rộng chúng Tần suất xuất hiện của bộ các mục được xác định và có thể sử dụng để tạo ra các luật liên kết làm nổi bật xu hướng

Thuật toán Apriori đưa ra một số định nghĩa:

Item-set: Bộ những mục được xác định bởi I={i1,i2,…,in} trong đó n là số mục

Transaction: Bao gồm tập hợp các bộ Item-set, ký hiệu là T

K-itemset: Item-set bao gồm k mục

Minimum support: Điều kiện cần đáp ứng bởi các mục đề ra để có thể tiến hành xử lý tập các mục kế tiếp Minimum support có thể được xem là điều kiện để loại bỏ các tập không phổ biến

Support: Độ phổ biến của nhóm item X

Trang 37

( ) ( )

( )

count X Support X

length T

(1.8) Với count(X) là số lần xuất hiện của X và length(T) là tổng số itemset/chiều dài của T

Tập phổ biến: Tập những item thỏa Mãn Minimum support

Assocation rule: Luật kết hợp với bộ 2 hoặc nhiều hơn itemset, xác định khả năng xảy ra của một item khỏ khi một itemset xuất hiện

Mức hỗ trợ: Độ bổ phiến của một nhóm đối tượng

( )

count X Y Support X Y

Độ tin cậy: Cho biết khả năng xảy ra của Y khi xuất hiện X

( )

Support X Y Confidence X Y

Support X

 

(1.10) Các bước thực hiện thuật toán Apriori:

Đầu tiên, xác định các tập K-itemset đơn giản nhất với độ dài là 1

Tính mức Support của mỗi item

Loại bỏ các item có Support nhỏ hơn minimum support

Tăng độ dài của K-itemset lên và tiếp tục lặp lại bước 2 cho tới khi không tìm thấy itemset nào nữa

Với mỗi frequence itemset, thu được các tập con S của I

Với mỗi tập con S, sinh ra các luật nếu Confidence và Support lớn hơn ngưỡng đã xác định trước

1.7.1.3 Khó khăn và thách thức

Như đã nói ở phần trên, bài toán mang nhiều ý nghĩa tuy nhiên khó khăn và thách thức cũng không ít, trong quá trình làm việc, một số khó khăn đã xuất hiện

Thứ nhất, việc thu thập dữ liệu là không dễ Dữ liệu đầu vào có thể thu thập

từ dữ liệu GPS của xe ô tô Tuy nhiên hiện nay chỉ những xe mang hình thức kinh

Trang 38

doanh, vận tải mới phải lặp đặt thiết bị, những dữ liệu này không được công khai

và chỉ được lưu trữ ở doanh nghiệp và cục Quản lý Không chỉ vậy, những dữ liệu này cũng mang tính cá nhân bao gồm cả chiến lược kinh doanh của những doanh nghiệp nên không dễ dàng để có thể thu thập Trong luận văn, dữ liệu được lấy từ

dữ liệu taxi của một doanh nghiệp và hoàn toàn là dữ liệu thật

Thứ hai, dữ liệu GPS gửi về liên tục nên số lượng là rất lớn Hơn nữa những

dữ liệu này cũng bao gồm cả những giá trị bị khuyết thiếu cũng với nhiễu trong quá trình truyền dữ liệu nên phải xử lý những dữ liệu này

Thứ ba, các yếu tố ngoại cảnh cũng ảnh hướng tới luồng giao thông, việc lấy thông tin của các yếu tố này cũng không dễ dàng, bao gồm cả bản đồ và dữ liệu về thời tiết trong quá khứ cùng với cách thức xử lý thông tin này

Thứ tư, lượng Bigdata dẫn tới việc tối ưu mã nguồn để cải thiện hiệu năng trong quá trình thực hiện

1.7.2 Giới thiệu về bản đồ thông minh

Bản đồ thông minh là một phần trong hệ thống giao thông thông minh tác giả mong muốn bản đồ thông minh sẽ giúp đưa ra những thông tin hữu ích với người dùng khi tham gia giao thông : thông tin về tuyến đường tối ưu ( gợi ý ) tức là đoạn đường đã đang có lưu lượng giao thông, ùn tắc như thế nào, biển báo, tốc độ cho phép, đường ngược chiều… Ngoài ra nó cũng giúp các nhà quản lý nắm rõ hành vi của các đối tượng tham gia giao thông

1.8 Ứng dụng cho bản đồ thông minh

Tác giả mong muốn đưa ra hệ thống bản đồ thông minh mang lại cho người dùng những thông tin hữu ích khi tham gia giao thông :

- Dựa vào điểm đầu cuối mà người dùng đưa ra , hệ thống sẽ đưa ra tuyến đường tối

ưu cho người dùng ( tuyến đường tối ưu sẽ thay đổi theo thời gian thực , tùy theo những yếu tố thay đổi của tình hình giao thông )

- Cảnh báo nếu người dùng đi sai làn đường, sai biển báo, quá tốc độ, cảnh báo nếu

đi làn đang xảy ra tai nạn, kẹt xe

- Có thể cho người dùng xem trước các tuyến đường sẽ đi ( nếu không đi theo chỉ

Trang 39

- Người dùng có thể phản hồi lại các hiện tượng khi tham gia giao thông như: tai nạn, sự cố bất ngờ trên đường

- Ứng dụng sẽ cung cấp thông tin về thời tiết, tra cứu tuyến xe buýt…

1.9 Kết luận chương 1

Cùng với sự bùng nổ của Công nghệ số, Bigdata đã và đang trở thành xu thế công nghệ mới mà các doanh nghiệp cần nắm bắt để phát triển Nội dung của chương làm

rõ định nghĩa Bigdata, các đặc trưng và hiện trạng ứng dụng khai thác xử lý Từ đó

đề xuất sử dụng Công nghệ Apache Spark để xây dựng hệ thống bản đồ thông minh Nội dung của chương 2 tác giả sẽ đi sâu vào tìm hiểu Công nghệ Apache Spark

Trang 40

CHƯƠNG 2 GIẢI PHÁP APACHE SPARK VÀ ỨNG DỤNG BẢN ĐỒ

GIAO THÔNG

Nội dung trình bày chi tiết về Công nghệ xử lý Bigdata: Apache Spark

Giới thiệu Apache Spark , cách thức Apache Spark xử lý Bigdata ứng dụng bản đồ giao thông

2.1 Giới thiệu về Apache Spark

Apache Spark là một hệ thống mở được phát triển sơ khởi vào năm 2009 bởi AMPLab tại đại học California Sau này, Spark đã được trao cho Apache Software Foundation vào năm 2013 và được phát triển cho đến nay Nó cho phép xây dựng các mô hình dự đoán nhanh chóng với việc tính toán được thực hiện trên một nhóm các máy tính, có thể tính toán cùng lúc trên toàn bộ tập dữ liệu mà không cần phải trích xuất mẫu tính toán thử nghiệm Tốc độ xử lý của apache spark có được do việc tính toán được thực hiện cùng lúc trên nhiều máy khác nhau Đồng thời việc tính toán được thực hiện ở bộ nhớ trong (in-memories) hay thực hiện hoàn toàn trên RAM

2.2 Các tính năng của Apache Spark

- Spark as a Service: Giao diện REST ( kiểu kiến trúc được sử dụng trong giao tiếp các máy tính) để quản lý (submit, start, stop, xem trạng thái) spark job, spark context

- Tăng tốc, giảm độ trễ thực thi job xuống mức chỉ tính bằng giây bằng cách tạo sẵn spark context cho các job dùng chung

- Stop job đang chạy bằng cách stop spark context

- Bỏ bước upload gói jar lúc start job làm cho job được start nhanh hơn

- Cung cấp hai cơ chế chạy job đồng bộ và bất đồng bộ

- Cho phép cache RDD theo tên , tăng tính chia sẻ và sử dụng lại RDD giữa các job

- Hỗ trợ viết spark job bằng cú pháp SQL

- Dễ dàng tích hợp với các công cụ báo cáo như: Business Intelligence, Analytics, Data Integration Tools

Ngày đăng: 17/09/2019, 23:23

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Eric M.Laflamme, Paul J.Ossenbruggen, Effect of time-of-day and day-of- the-week on congestion duration and breakdown, Science Direct, Volume 1, pp 31- 40 (2017) Khác
[2] Graham Williams, Data Mining with Rattle and R: The Art of Excavating Data for Knowledge Discovery, pp 15, Springer Science+Business Media, LLC 2011, New York, United State, 2011 Khác
[5] Jochen Hipp, Ulrich Gỹntzer, Gholamreza Nakhaeizadeh, Algorithms for association rule mining — a general survey and comparison, ACM SIGKDD Explorations Newsletter, Volume 2 Issue 1, pp 58-64, 2000 Khác
[6] Ju Sam Oh, Yong Un Shim, Yoon Ho Cho, Effect of weather conditions to traffic flow on freeway, KSCE Journal of Civil Engineering, Volume 6, pp 413-420 (2002) Khác
[7] Luchao Cao, Latita Thakali, Liping Fu, Garrett Donaher, Effect of Weather and Road Surface Conditions on Traffic Speed of Rural Highways, Annual Meeting of the Transportation Research Board, Washington, United States on January 13-17, 2013 Khác
[8] Marco Veloso, Santi Phithakkitnukoon, Carlos Bento, Pedro d’Orey, Mining Taxi Data for Describing City in the Context of Mobility, Sociality, and Environment, IEEE Intelligent Transportation Systems Conference, Rio de Janeiro, Brazil on November, 2016 Khác
[9] Mostofa Kamal Nasir, M. A. Kalam, B. M. Masum, Rafidah Md. Noor, Reduction of Fuel Consumption and Exhaust Pollutant Using Intelligent Transport System, The Scientific World Journal, Volume 2014 (2014) Khác
[10] Nordiana Mashros, Johnnie Ben- Edigbe, Sitti Asmah Hassan, Norhidayah Abdul Hassan, Nor Zurairahetty Mohd Yunus, Impact of Rainfall Condition on Traffic Flow and Speed: A Case Study in Johor and Terengganu, Jurnal Teknologi, Volume 70 (2014) Khác
[11] Stephan, Donal Kossmann, Konrad Stocker, The skyline operator, Proceedings of the 17th International Conference on Data Engineering, Washington, United States on April 02 – 06, 2001 Khác
[14] Nguyễn Thanh Phương - Nghiên cứu công nghệ Bigdata và ứng dụng giám sát, cảnh báo cước viễn thông tại tổng công ty viễn thông Viettel , Tổng công ty Viettel, 2017 Khác
[15] Đỗ Duy Hiệp – Khai phá dữ liệu GPS của taxi cho một bài toán giao thông, Học viện bưu chính viễn thông, 2017 Khác
[16] Hanel - Giải pháp giao thông thông minh trên nền bản đồ số, 2017 Các website tham khảo Khác

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w