Đề tài nghiên cứu trước hết tìm hiểu kiến thức nền tảng về khai phá dữ liệu, sau đó tìm hiểu sâu các kỹ thuật khai phá dữ liệu tiên tiến đang nhận được nhiều sự quan tâm của cộng đồng nghiên cứu trên thế giới, qua đó đề xuất vận dụng phương pháp và công cụ khai phá dữ liệu phù hợp với tập dữ liệu dịch cúm do Google Flu Trends công bố.
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
HOÀNG VĂN TIẾN
KHAI PHÁ DỮ LIỆU VÀ ỨNG DỤNG TRONG
Y TẾ DỰ PHÒNG
Ngành: Công nghệ thông tin
Chuyên ngành: Quản lý Hệ thống thông tin
Mã số: 8480205.01
LUẬN VĂN THẠC SĨ NGÀNH CÔNG NGHỆ THÔNG TIN
Trang 2
i
LỜI CAM ĐOAN
Luận văn “Khai phá dữ liệu và ứng dụng trong y tế dự phòng” đánh dấu cho những thành quả, kiến thức của tôi đã tiếp thu được trong quá trình rèn luyện, học tập và nghiên cứu tại Trường Đại học Công nghệ - Đại học Quốc gia Hà Nội Tôi xin cam đoan các nội dung được trình bày trong luận văn này được xây dựng, hoàn thành bằng chính quá trình nghiên cứu của bản thân và dưới sự hướng dẫn của thầy giáo TS Đặng Thanh Hải
Trong quá trình làm luận văn này, tôi đã tham khảo một số tài liệu từ nhiều nguồn khác nhau, các nội dung tham khảo đều được trích dẫn rõ ràng Nếu có điều gì không trung thực, tôi xin chịu mọi hình thức kỷ luật theo đúng quy định
Hà Nội, ngày tháng năm 2018
Học viên
Hoàng Văn Tiến
Trang 3Đặc biệt, tôi xin gửi lời cám ơn chân thành nhất đến TS Đặng Thanh Hải, người đã hướng dẫn tôi trong suốt quá trình thực hiện luận văn này Nhờ sự hướng dẫn và chỉ bảo tận tình của Thầy, tôi đã có được những kiến thức và kinh nghiệm quý báu về cách xác định vấn đề nghiên cứu, phương pháp nghiên cứu, trình bày kết quả và hoàn thành luận văn của mình
Cuối cùng, tôi xin gửi lời cám ơn tới toàn thể gia đình, bạn bè và đồng nghiệp đã luôn quan tâm, ủng hộ và động viên, giúp tôi có nghị lực phấn đấu để hoàn thành tốt luận văn
Hà Nội, ngày tháng năm 2018
Học viên
Hoàng Văn Tiến
Trang 4iii
TÓM TẮT NỘI DUNG
Phân tích và dự báo từ lâu đã được ứng dụng trong mọi lĩnh vực nhằm đưa ra những định hướng, chiến lược phát triển trong tương lai Ngành Y tế không đứng ngoài xu thế đó, đặc biệt là dự báo dịch bệnh truyền nhiễm từ lâu đã được các nhà khoa học quan tâm nghiên cứu và ngày càng phát triển Phân tích và dự báo dịch bệnh truyền nhiễm được quan tâm vì những lợi ích rất lớn nó mang lại trong công tác phòng ngừa dịch bệnh Phân tích và dự báo diễn biến của dịch bệnh giúp chúng ta chủ động trong công tác phòng ngừa, nhằm giảm thiểu những tổn hại do dịch bệnh gây ra Việc xác định được chu kỳ diễn biến của dịch bệnh truyền nhiễm dựa trên các yếu tố thời gian, khí hậu và vùng địa lý rất được quan tâm Nắm bắt chu kỳ diễn biến của dịch bệnh, đưa ra dự báo và lên phương án ứng phó, khoanh vùng, dập dịch nhanh, không để lây lan là hết sức quan trọng góp phần hạn chế tối đa hậu quả của dịch bệnh gây ra cho con người
Đề tài nghiên cứu trước hết tìm hiểu kiến thức nền tảng về khai phá dữ liệu, sau đó tìm hiểu sâu các kỹ thuật khai phá dữ liệu tiên tiến đang nhận được nhiều
sự quan tâm của cộng đồng nghiên cứu trên thế giới, qua đó đề xuất vận dụng phương pháp và công cụ khai phá dữ liệu phù hợp với tập dữ liệu dịch cúm do Google Flu Trends công bố Google Flu Trends là dịch vụ của Tập đoàn Google, cung cấp số liệu ước tính về dịch cúm tại hơn 25 quốc gia, thông qua việc tổng hợp các truy vấn tìm kiếm trên www.google.com, thông qua đó cố gắng đưa ra dự báo chính xác về dịch cúm
Đề xuất lựa chọn phương pháp khai phá dữ liệu phù hợp trên tập dữ liệu dịch bệnh cúm do Google Flu Trends công bố, tìm ra chu kỳ diễn biến của dịch, đưa
ra các dự báo và hỗ trợ định hướng hoạt động y tế dự phòng theo từng thời điểm trong năm, nhằm có những chính sách và biện pháp phù hợp để hạn chế thiệt hại của dịch bệnh gây ra
Trang 5MỞ ĐẦU
Ngày nay, con người đang phải đối mặt với tình hình dịch bệnh lây nhiễm hoành hành, bùng phát một cách nhanh chóng Dịch bệnh ngày càng diễn biến phức tạp về phạm vi và chủng loại Thực tế đó, đòi hỏi công tác y tế dự phòng cần phải được đẩy mạnh, nâng cao nhằm khoanh vùng và hạn chế sự lây lan của dịch bệnh Công tác giám sát dịch bệnh lây nhiễm, phân tích và dự báo phục vụ
ra quyết định ngày càng trở nên quan trọng và cần được đẩy mạnh
Chính từ sự cấp thiết đó, học viên đã chọn đề tài “Khai phá dữ liệu và ứng
dụng trong y tế dự phòng” làm luận văn thạc sĩ của mình, nhằm góp phần công
sức nhỏ bé cho lĩnh vực y tế dự phòng có thêm một số giải pháp phân tích, dự báo hiệu quả dịch bệnh truyền nhiễm hiện nay Nội dung luận văn tập trung vào những phần sau:
Chương 1: Giới thiệu về lĩnh vực y tế dự phòng
Trong chương này giới thiệu tổng quan về lĩnh vực y tế dự phòng, lịch sử
hình thành và phát triển của y tế dự phòng
Chương 2: Các phương pháp và công cụ khai phá dữ liệu
Nội dung tại chương này xoay quanh khái niệm, tính chất cơ bản của các phương pháp khai phá dữ liệu phổ biến hiện nay Qua đó, đề xuất một phương pháp và công cụ phù hợp khai phá tập dữ liệu dịch bệnh cúm
Chương 3: Phương pháp phân tích và dự báo với chuỗi dữ liệu thời gian
Đi sâu vào kỹ thuật phân tích chuỗi dữ liệu chuỗi thời gian (time series data)
và áp dụng kỹ thuật này với tập dữ liệu dịch bệnh cúm do Google Flu Trends công bố trên mô hình ARIMA
Chương 4: Thực nghiệm và đánh giá
Phân tích và đưa ra kết quả dự báo dựa trên tập dữ liệu Google Flu Trends công bố dịch bệnh cúm, sử dụng các phương pháp phân tích chuỗi dữ liệu thời gian và công cụ khai phá dữ liệu
Trang 6v
MỤC LỤC
CHƯƠNG 1: GIỚI THIỆU VỀ LĨNH VỰC Y TẾ DỰ PHÒNG 1
1.1 Giới thiệu về y tế dự phòng 1
1.2 Dịch bệnh 1
1.3 Dự báo dịch bệnh trong lĩnh vực y tế dự phòng 1
1.4 Thực trạng nghiên cứu dự báo trong y tế dự phòng 1
1.5 Mục tiêu nghiên cứu 2
CHƯƠNG 2: CÁC PHƯƠNG PHÁP VÀ CÔNG CỤ KHAI PHÁ DỮ LIỆU 3
2.1 Khai phá dữ liệu 3
2.2 Các kỹ thuật khai phá dữ liệu 3
2.3 Dữ liệu chuỗi thời gian (time series data) 5
2.4 Các công cụ, phần mềm hỗ trợ khai phá dữ liệu 5
Tóm tắt chương 2 6
CHƯƠNG 3 PHƯƠNG PHÁP PHÂN TÍCH VÀ DỰ BÁO 7
VỚI CHUỖI DỮ LIỆU THỜI GIAN 7
3.1 Dữ liệu chuỗi thời gian 7
3.2 Tính dừng của dữ liệu chuỗi thời gian 8
3.3 Mô hình ARIMA 10
Tóm tắt chương 3 11
CHƯƠNG 4 THỰC NGHIỆM VÀ ĐÁNH GIÁ 12
4.1 Mô hình thực nghiệm 12
4.2 Mục đích thực nghiệm 12
4.3 Tập dữ liệu Google Flu Trends 12
4.4 Môi trường, cấu hình hệ thống và công cụ 13
4.5 Kết quả thực nghiệm 13
4.6 Đánh giá kết quả 20
Tóm tắt chương 4 20
KẾT LUẬN 21
1 Các kết quả đạt được 21
2 Hướng nghiên cứu tiếp theo 21
TÀI LIỆU THAM KHẢO 22
Tiếng Việt 22
Tiếng Anh 22
Trang 7DANH MỤC CÁC HÌNH VẼ
Hình 2.1 Các bước khai phá dữ liệu 3
Hình 2.2 Tuyến tính hồi quy với một dự đoán duy nhất 4
Hình 2.3 Mô hình hồi quy phi tuyến tính 4
Hình 2.4 Giao diện phần mềm weka 5
Hình 2.5 Giao diện SPSS 6
Hình 2.6 Giao diện phần mềm R 6
Hình 3.1 Số liệu diễn biến cúm phía Nam Châu phi từ năm 2006 - 2015 7
Hình 3.2 Biểu diễn xu hướng giảm của dữ liệu 7
Hình 3.3 Biểu diễn thay đổi chuỗi thời gian theo từng khoảng thời gian 7
Hình 3.4 Biểu diễn chu kỳ chuỗi thời gian 8
Hình 3.5 Sơ đồ chuỗi thời gian với định lượng Y(t) theo thời gian t 8
Hình 3.6 Các bước chính trong phương pháp Box‐Jenkins 11
Hình 4.1 Biểu đồ so sánh dữ liệu dự báo của Google Flu Trends và Trung tâm kiểm soát và phòng ngừa các chứng bệnh của Mỹ 12
Hình 4.2 Mẫu dữ liệu bệnh cúm của 25 nước trên thế giới được tổng hợp từ 2003 đến 2015 13
Hình 4.3 Cài đặt gói thư viện 14
Hình 4.4 Nạp dữ liệu 14
Hình 4.5 Tập dữ liệu cúm của Argentina 14
Hình 4.6 Tập dữ liệu cúm của Argentina năm 2004 15
Hình 4.7 Diễn biến cúm năm 2004 của Argentina theo tháng 15
Hình 4.8 Dữ liệu cúm của năm 2004 Argentina được làm sạch 15
Hình 4.9 Diễn biến cúm Argentina năm 2014 được làm sạch 16
Hình 4.10 Biểu đồ bệnh cúm của Argentina với dữ liệu được làm mịn 16
Hình 4.11 Sơ đồ dữ liệu được phân tách theo thành phần tính thời vụ, xu hướng và chu kỳ 16
Hình 4.12 Mô hình ACF 17
Hình 4.13 Mô hình PACF 17
Hình 4.14 Mô hình kiểm tra với d = 1 17
Hình 4.15 Mô hình ACF với d = 1 18
Hình 4.16 Mô hình PACF với d = 1 18
Hình 4.17 Mô hình ARIMA (1, 1, 1) 18
Hình 4.18 Mô hình ARIMA (1, 1, 7) 19
Hình 4.19 Mô hình dự báo với hệ số (1, 1, 1) 19
Hình 4.20 Mô hình dự báo 19
Hình 4.21 Mô hình dự báo ARIMA (0, 2, 0)(0, 0, 1)(7) 20
Hình 4.22 Diễn biến dịch bệnh thực tế tại Argentina từ năm 2003 đến 2015 20
Trang 8vii
DANH MỤC CÁC BẢNG BIỂU
Bảng 1 Cấu hình phần cứng 13 Bảng 2 Các công cụ, phần mềm sử dụng 13
Trang 9DANH MỤC VIẾT TẮT
1 ARIMA Autoregressive integrated
4 BI Business intelligence Thông minh nghiệp vụ
7 AR Autoregressive Tự hồi quy
8 MA Moving average Trung bình trượt
9 ARMA Autoregressive moving
average Trung bình trượt tự hồi quy
10 GDP Gross domestic product Tổng sản phẩm quốc nội
11 CDC Centers for disease
control and prevention
Trung tâm kiểm soát và phòng ngừa dịch bệnh
Trang 10ix
DANH SÁCH CÁC THUẬT NGỮ
1 Ebola Bệnh do virus Ebola
2 MERS-CoV Hội chứng hô hấp Trung Đông
3 H5N1, H7N9, H5N6,
H9N2, H5N8
Virus cúm gia cầm H5N1, H7N9, H5N6, H9N2, H5N8
4 Internet Mạng Internet
5 Petabybe Đơn vị lưu trữ trên máy tính
6 HD Độ phân giải cao hay độ nét cao
7 CPU Bộ vi xử lý trung tâm
8 RAM Bộ nhớ truy cập ngẫu nhiên
Trang 11CHƯƠNG 1: GIỚI THIỆU VỀ LĨNH VỰC Y TẾ DỰ PHÒNG 1.1 Giới thiệu về y tế dự phòng
Y tế dự phòng là lĩnh vực y tế thực hiện các biện pháp giám sát, dự báo, phòng ngừa và kiểm soát dịch bệnh [9]
1.1.1 Lịch sử phát triển của y tế dự phòng
Hippocrates, một bác sĩ người Hy Lạp ở Thế kỷ thứ 5 trước Công nguyên,
đã phân loại các nguyên nhân gây bệnh thành những khía cạnh có liên quan đến mùa, khí hậu, và điều kiện bên ngoài và những nguyên nhân như thức ăn, chế độ luyện tập và thói quen không bình thường của mỗi cá nhân [5] Kỷ nguyên hiện đại trong y học dự phòng được mở ra vào giữa Thế kỷ 19 với sự khám phá của Louis Pasteur về vai trò của các vi khuẩn sống như là nguyên nhân gây ra bệnh nhiễm trùng [9]
1.1.2 Những vai trò của lĩnh vực y tế dự phòng
Lĩnh vực y tế dự phòng có những vai trò cụ thể sau: Giám sát, phát hiện sớm các bệnh truyền nhiễm, các nguồn bệnh chưa rõ nguyên nhân [1]; Tổ chức thực hiện các biện pháp phòng, chống và kiểm soát dịch bệnh [1]; Quản lý dữ liệu và cung cấp thông tin rộng rãi cho xã hội về các bệnh và dịch bệnh truyền nhiễm [1]; Phòng, chống bệnh không lây nhiễm, bệnh xã hội [1]; Giám sát và phòng, chống bệnh không lây nhiễm, bệnh xã hội [1]; Thực hiện các hoạt động phòng, chống yếu tố nguy cơ bệnh không lây nhiễm; triển khai các hoạt động phòng, chống tác hại của lạm dụng rượu bia và đồ uống có cồn khác [1]; Thực hiện và kiểm tra, giám sát hoạt động phòng, chống bệnh không lây nhiễm, bệnh xã hội; thống kê, báo cáo, xây dựng và quản lý cơ sở dữ liệu về bệnh không lây nhiễm, bệnh xã hội [1]; Nghiên cứu, phát triển và sử dụng vắc xin, sinh phẩm y tế hỗ trợ phòng ngừa các bệnh truyền nhiễm một cách chủ động [1]; Hướng dẫn, kiểm tra việc sử dụng vắc xin, sinh phẩm y tế và an toàn tiêm chủng [1]
1.4 Thực trạng nghiên cứu dự báo trong y tế dự phòng
Qua tham khảo, nhận thấy các phương pháp dự báo dịch bệnh ban đầu đều
Trang 122
dựa trên mô hình lan truyền dịch bệnh, điển hình cho tư tưởng này là mô hình SIR Mức độ lan truyền dịch bệnh được xác định như sau:
1.5 Mục tiêu nghiên cứu
Nghiên cứu tổng quan các phương pháp, kỹ thuật khai phá dữ liệu và tiến hành thực nghiệm, lựa chọn phương pháp thích hợp với tập dữ liệu dịch bệnh truyền nhiễm
Tóm tắt Chương 1
Chương 1 đã giới thiệu tổng quan các vấn đề của dịch bệnh truyền nhiễm, lịch sử hình thành, phát triển của y tế dự phòng và thực trạng diễn biến dịch bệnh truyền nhiễm hiện nay Chương 2 của luận văn sẽ trình bày các phương pháp và công cụ phổ biến hiện nay phục vụ khai thác dữ liệu, đề xuất lựa chọn một phương pháp phù hợp nhằm xử lý, phân tích và dự báo tập dữ liệu về dịch bệnh cúm do Google Flu Trends cung cấp
Trang 13CHƯƠNG 2: CÁC PHƯƠNG PHÁP VÀ CÔNG CỤ
KHAI PHÁ DỮ LIỆU 2.1 Khai phá dữ liệu
2.1.1 Khái niệm
Khai phá dữ liệu là quá trình trích xuất thông tin bên trong bộ dữ liệu lớn
để xác định các mẫu và thiết lập các mối quan hệ để giải quyết các vấn đề thông qua phân tích dữ liệu [6] Khai phá dữ liệu bao gồm 5 bước sau:
Hình 2.1 Các bước khai phá dữ liệu 2.1.2 Ưu điểm của khai phá dữ liệu với các phương pháp khác
2.1.2.1 Học máy (machine learning)
Các phương pháp trong máy học cần được phát triển để phù hợp với các yêu cầu và thách thức của khai phá dữ liệu Trong học máy, thuật ngữ cơ sở dữ liệu là nói tới một tập các mẫu dữ liệu được lưu trong một tệp
2.1.2.2 Phương pháp hệ chuyên gia
Các hệ chuyên gia sẽ nắm bắt các tri thức trong một bài toán cụ thể Các
kỹ thuật thu thập giúp các chuyên gia trong việc khai thác tri thức, mỗi phương pháp là kỹ thuật xây dựng các tập luật
2.1.3 Những khó khăn trong khai phá dữ liệu
Khi khai phá dữ liệu gặp phải những thách thức sau đây: Cơ sở dữ liệu lớn; vấn đề over-fitting; dữ liệu và tri thức được cập nhật, thay đổi; dữ liệu thiếu và nhiễu; tích hợp với hệ thống
2.2 Các kỹ thuật khai phá dữ liệu
2.2.1 Hồi quy (Regression)
2.2.1.1 Hồi quy tuyến tính (linear regression)
Trang 144
Hình 2.2 Tuyến tính hồi quy với một dự đoán duy nhất
Hồi quy tuyến tính với một dự báo đơn có thể được biểu diễn bằng phương trình:
2.2.1.2 Hồi quy tuyến tính đa biến
Hồi quy tuyến tính đa biến đề cập đến hồi quy tuyến tính với hai hoặc nhiều biến dự đoán (𝑥1, 𝑥2, … , 𝑥𝑛) Khi sử dụng nhiều dự đoán, đường hồi quy không thể được hiển thị trong không gian hai chiều
𝑦 = 𝜃1+ 𝜃2𝑥1+ 𝜃3𝑥2+ … … … + 𝜃𝑛𝑥𝑛−1+ 𝑒 (1.3)
2.2.1.3 Hồi quy phi tuyến
Bình thường mối quan hệ giữa x và y không phải luôn được xấp xỉ bằng một đường thẳng
Hình 2.3 Mô hình hồi quy phi tuyến tính 2.2.1.4 Hồi quy phi tuyến đa biến
Hồi quy phi tuyến tính đa biến đề cập đến hồi quy phi tuyến với hai hoặc nhiều yếu tố dự đoán (𝑥1, 𝑥2, … , 𝑥𝑛)
Trang 152.2.2 Kết hợp (Association)
Kỹ thuật của phương pháp là phát hiện và tìm ra trong tập dữ liệu cần khai phá những mối liên hệ giữa các giá trị [11] Đầu ra của phương pháp là luật kết hợp tìm được từ tập dữ liệu ban đầu [11]
2.2.3 Phân lớp (Classification)
Phân lớp là một kỹ thuật khai phá dữ liệu mà gán các mục trong một bộ dữ liệu để nhằm mục tiêu phân loại [11] Mục tiêu của phân lớp là dự đoán chính xác lớp mục tiêu cho từng trường hợp dữ liệu
2.2.4 Phân cụm (Clustering)
Phân cụm là kỹ thuật tìm ra các cụm dữ liệu có đặc điểm tương tự nhau trong tập dữ liệu cần khai phá Các thành viên của một cụm giống nhau hơn so với các thành viên của các cụm khác
2.3 Dữ liệu chuỗi thời gian (time series data)
Chúng ta có thể hiểu chuỗi dữ liệu thời gian là một dãy các giá trị phụ thuộc vào các mốc thời gian, việc phân tích dữ liệu chuỗi thời gian chính là việc tìm ra mối liên hệ giữa P và tương ứng với giá trị 𝑥(𝑡), ta có công thức như sau: 𝑃 → 𝑥(𝑡)
2.4 Các công cụ, phần mềm hỗ trợ khai phá dữ liệu
2.4.1 Phân tích số liệu bằng phần mềm Weka
Weka (viết tắt của Waikato Environment for Knowledge Analysis) là một công cụ khai thác dữ liệu ban đầu được phát triển tại Đại học Waikato tại New Zealand [12]
Hình 2.4 Giao diện phần mềm weka 2.4.2 Giới thiệu về SPSS (Statistical Product and Services Solutions)
SPSS là phần mềm phục vụ thống kê, với một bộ thư viện lớn các thuật toán học máy, phân tích văn bản, nguồn mở, tích hợp dễ dàng với những dữ liệu lớn [13]
Trang 166
Hình 2.5 Giao diện SPSS 2.4.3 Phân tích số liệu bằng R
R là một phần mềm được sử dụng cho phân tích dữ liệu, thống kê và vẽ biểu đồ [14] R là ngôn ngữ lập trình đa năng, có thể sử dụng cho nhiều mục đích, tính toán, giải trí, phân tích thống kê phức tạp [14]
Hình 2.6 Giao diện phần mềm R Tóm tắt chương 2
Chương 2 giới thiệu các phương pháp và công cụ phục vụ khai phá dữ liệu Bên cạnh đó, cũng đã đề cập đến chuỗi dữ liệu thời gian để chúng ta hiểu bản chất của chuỗi dữ liệu thời gian Chương 3 đi sâu phân tích phương pháp phân tích hồi quy với chuỗi dữ liệu thời gian làm cơ sở cho việc thực nghiệm
Trang 17CHƯƠNG 3 PHƯƠNG PHÁP PHÂN TÍCH VÀ DỰ BÁO
VỚI CHUỖI DỮ LIỆU THỜI GIAN 3.1 Dữ liệu chuỗi thời gian
Dữ liệu chuỗi thời gian là một dãy giá trị phép đo trên cùng một đối tượng được ghi nhận theo thời gian [10]
Hình 3.1 Số liệu diễn biến cúm phía Nam Châu phi từ năm 2006 - 2015
Dữ liệu chuỗi thời gian có các thành phần cơ bản như:
Hình 3.2 Biểu diễn xu hướng giảm của dữ liệu
- Thành phần xu hướng: để chỉ xu hướng tăng hay giảm của dữ liệu
Hình 3.3 Biểu diễn thay đổi chuỗi thời gian theo từng khoảng thời gian