HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

63
ĐẠ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 LUẬN VĂN THẠC SĨ NGÀNH CÔNG NGHỆ THÔNG TIN GIÁO VIÊN HƯỚNG DẪN Đặng Thanh Hải Hà Nội - 2018

Transcript of HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

Page 1: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

ĐẠ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

LUẬN VĂN THẠC SĨ NGÀNH CÔNG NGHỆ THÔNG TIN

GIÁO VIÊN HƯỚNG DẪN

Đặng Thanh Hải

Hà Nội - 2018

Page 2: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

ĐẠ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

NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. ĐẶNG THANH HẢI

Hà Nội - 2018

Page 3: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

xi

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 02 tháng 10 năm 2018

Học viên

Hoàng Văn Tiến

Page 4: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

xii

LỜI CÁM ƠN

Lời đầu tiên, tôi xin gửi lời cám ơn đến Thầy Cô giáo tại trường Đại học Công

nghệ - Đại học Quốc gia Hà Nội nói chung và Thầy Cô giáo trong bộ môn Hệ thống

thông tin và Khoa Công nghệ thông tin - Trường Đại học Công nghệ - Đại học Quốc

gia Hà Nội đã nhiệt tình giảng dạy, truyền đạt những kiến thức, kinh nghiệm quý báu

trong suốt thời gian tôi học tập tại trường.

Đặ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 02 tháng 10 năm 2018

Học viên

Hoàng Văn Tiến

Page 5: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

xiii

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. Năm

2008, Google Flu Trends được Google.org lần đầu tiên đưa ra để giúp dự báo sự bùng

phát dịch cúm của 25 nước trên thế giới.

Đề 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.

Page 6: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

xiv

MỞ ĐẦ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. Một số bệnh dịch trước đây chỉ lưu

hành rải rác ở Tây Phi như Ebola, MERS-CoV từ Trung Đông, vv… thì hiện nay đã

lan rộng nhiều quốc gia trên thế giới, kể cả các quốc gia phát triển có hệ thống y tế dự

phòng tiên tiến và có bề dày kinh nghiệm ứng phó với dịch bệnh truyền nhiễm. Sự

phát triển của dịch bệnh không những gia tăng sự lây lan về phạm vi mà còn phát triển

đa dạng về chủng loại, dịch cúm gia cầm A(H5N1), A(H7N9) có khả năng lây sang

người chưa khống chế được tại Trung Quốc thì đã xuất hiện những chủng cúm biến thể

mới A(H5N6), A(H9N2), A(H5N8).

Có thể thấy, 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, góp phần nâng cao ứng dụng công nghệ thông tin

trong lĩnh vực y tế đặc biệt là lĩnh vực y tế dự phòng. 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. Nội dung Chương 1 cũng sẽ giới thiệu thực

trạng bùng phát và mô hình dịch bệnh truyền nhiễm hiện nay.

Chương 2: Các phương pháp và công cụ khai phá dữ liệu

Nội dung được trình bày 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. Đồng thời, 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 được công

bố bởi Google Flu Trends.

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

Page 7: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

xv

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.

Phần kết luận nêu ra những kết quả đã đạt được, những đóng góp của luận văn

và định hướng phát triển nghiên cứu trong tương lai để nâng cao tính ứng dụng thực tế

của đề tài nghiên cứu cho lĩnh vực y tế dự phòng.

Page 8: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

xvi

MỤC LỤC

LỜI CAM ĐOAN ........................................................................................................... xi

LỜI CÁM ƠN ............................................................................................................... xii

TÓM TẮT NỘI DUNG ............................................................................................... xiii

MỞ ĐẦU ...................................................................................................................... xiv

MỤC LỤC .................................................................................................................... xvi

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

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

DANH MỤC VIẾT TẮT ............................................................................................ xxii

DANH SÁCH CÁC THUẬT NGỮ .......................................................................... xxiii

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.1.1. Lịch sử phát triển của y tế dự phòng ..................................................................... 1

1.1.2. Những vai trò của lĩnh vực y tế dự phòng ............................................................. 2

1.2. Dịch bệnh .................................................................................................................. 3

1.3. Dự báo dịch bệnh trong lĩnh vực y tế dự phòng ....................................................... 4

1.4. Thực trạng nghiên cứu dự báo trong y tế dự phòng ................................................. 5

1.5. Mục tiêu nghiên cứu ................................................................................................. 6

Tóm tắt Chương 1 ............................................................................................................ 6

CHƯƠNG 2: CÁC PHƯƠNG PHÁP VÀ CÔNG CỤ KHAI PHÁ DỮ LIỆU .............. 8

2.1. Khai phá dữ liệu ....................................................................................................... 8

2.1.1. Khái niệm .............................................................................................................. 8

2.1.2. Ưu điểm của khai phá dữ liệu với các phương pháp khác .................................... 9

2.1.3. Những khó khăn trong khai phá dữ liệu .............................................................. 10

2.2. Các kỹ thuật khai phá dữ liệu ................................................................................. 10

2.2.1. Hồi quy (Regression) ........................................................................................... 11

2.2.2. Kết hợp (Association) .......................................................................................... 12

2.2.3. Phân lớp (Classification) ..................................................................................... 13

2.2.4. Phân cụm (Clustering) ......................................................................................... 13

2.3. Dữ liệu chuỗi thời gian (time series data) .............................................................. 13

Page 9: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

xvii

2.4. Các công cụ, phần mềm hỗ trợ khai phá dữ liệu .................................................... 14

2.4.1. Phân tích số liệu bằng phần mềm Weka .............................................................. 14

2.4.2. Giới thiệu về SPSS (Statistical Product and Services Solutions) ........................ 16

2.4.3. Phân tích số liệu bằng R ...................................................................................... 16

Tóm tắt chương 2 ........................................................................................................... 17

CHƯƠNG 3. PHƯƠNG PHÁP PHÂN TÍCH VÀ DỰ BÁO ....................................... 19

VỚI CHUỖI DỮ LIỆU THỜI GIAN ............................................................................ 19

3.1. Dữ liệu chuỗi thời gian ........................................................................................... 19

3.2. Tính dừng của dữ liệu chuỗi thời gian ................................................................... 21

3.2.1. Kiểm tra tính dừng chuỗi thời gian ..................................................................... 21

3.2.2. Biến đổi chuỗi không dừng thành chuỗi dừng .................................................... 22

3.3. Mô hình ARIMA .................................................................................................... 22

3.3.1. Mô hình tự hồi quy AR (Autoregressive process) .............................................. 23

3.3.2. Mô hình trung bình trượt MA (Moving Average) ............................................... 23

3.3.3. Mô hình trung bình trượt và tự hồi quy ARMA (Autoregressive Moving

Average) ........................................................................................................................ 23

3.3.4. Mô hình trung bình trượt tự hồi quy ARIMA (Autoregressive Intergrated

Moving Average) ........................................................................................................... 24

3.3.5. Dự báo dữ liệu chuỗi thời gian ............................................................................ 24

Tóm tắt chương 3 ........................................................................................................... 26

CHƯƠNG 4. THỰC NGHIỆM VÀ ĐÁNH GIÁ ......................................................... 27

4.1. Mô hình thực nghiệm ............................................................................................. 27

4.2. Mục đích thực nghiệm ............................................................................................ 28

4.3. Tập dữ liệu Google Flu Trends .............................................................................. 28

4.4. Môi trường, cấu hình hệ thống và công cụ ............................................................. 30

4.4.1. Cấu hình phần cứng ............................................................................................. 30

4.4.2. Các công cụ phần mềm sử dụng .......................................................................... 30

4.5. Kết quả thực nghiệm ............................................................................................... 30

4.5.1. Lựa chọn và xử lý dữ liệu .................................................................................... 31

4.5.2. Phân tách dữ liệu ................................................................................................. 36

4.6. Đánh giá kết quả ..................................................................................................... 43

Page 10: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

xviii

Tóm tắt chương 4 ........................................................................................................... 43

KẾT LUẬN ................................................................................................................... 45

1. Các kết quả đạt được ................................................................................................. 45

2. Hướng nghiên cứu tiếp theo ...................................................................................... 45

TÀI LIỆU THAM KHẢO ............................................................................................. 46

Tiếng Việt ...................................................................................................................... 46

Tiếng Anh ...................................................................................................................... 46

PHỤ LỤC ...................................................................................................................... 47

Page 11: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

xix

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

Hình 2.1. Các bước khai phá dữ liệu ............................................................................ 8

Hình 2.2. Tuyến tính hồi quy với một dự đoán duy nhất ............................................. 11

Hình 2.3. Mô hình hồi quy phi tuyến tính .................................................................... 12

Hình 2.4. Giao diện phần mềm weka ........................................................................... 15

Hình 2.5. Giao diện SPSS ............................................................................................. 16

Hình 2.6. Giao diện phần mềm R ................................................................................. 17

Hình 3.1. Số liệu diễn biến cúm tại phía Nam Châu phi từ năm 2006 đến 2015 ......... 19

Hình 3.2. Biểu diễn xu hướng giảm của dữ liệu ........................................................... 19

Hình 3.3. Biểu diễn thay đổi chuỗi thời gian theo từng khoảng thời gian ................... 20

Hình 3.4. Biểu diễn chu kỳ chuỗi thời gian .................................................................. 20

Hình 3.5. Sơ đồ chuỗi thời gian với định lượng Y(t) theo diễn biến thời gian t .......... 20

Hình 3.6. Các bước chính trong phương pháp Box‐Jenkins ........................................ 26

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ỹ ................................................................ 28

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 .............................................................................................................................. 29

Hình 4.3. Cài đặt gói thư viện ...................................................................................... 31

Hình 4.4. Nạp dữ liệu ................................................................................................... 32

Hình 4.5. Tập dữ liệu cúm của Argentina .................................................................... 32

Hình 4.6. Tập dữ liệu cúm của Argentina năm 2004 ................................................... 33

Hình 4.7. Diễn biến cúm năm 2004 của Argentina theo tháng .................................... 33

Hình 4.8. Dữ liệu cúm của năm 2004 Argentina được làm sạch ................................. 34

Hình 4.9. Diễn biến cúm Argentina năm 2014 được làm sạch .................................... 35

Hình 4.10. So sánh số liệu bệnh cúm của Argentina với dữ liệu được làm mịn .......... 36

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ỳ ........................................................................................................................... 36

Hình 4.12. Mô hình ACF .............................................................................................. 37

Hình 4.13. Mô hình PACF ........................................................................................... 38

Hình 4.14. Mô hình kiểm tra với d = 1 ....................................................................... 38

Hình 4.15. Mô hình ACF với d = 1 ............................................................................. 39

Hình 4.16. Mô hình PACF với d = 1 ........................................................................... 39

Hình 4.17. Mô hình ARIMA (1, 1, 1) ............................................................................ 40

Page 12: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

xx

Hình 4.18. Mô hình ARIMA (1, 1, 7) ............................................................................ 41

Hình 4.19. Mô hình dự báo với hệ số (1, 1, 1) ............................................................. 41

Hình 4.20. Mô hình dự báo .......................................................................................... 42

Hình 4.21. Mô hình dự báo ARIMA (0, 2, 0)(0, 0, 1)(7) ............................................. 42

Hình 4.22. Diễn biến dịch bệnh thực tế tại Argentina từ năm 2003 đến 2015 ............. 43

Page 13: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

xxi

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

Bảng 1. Cấu hình phần cứng ........................................................................................ 30

Bảng 2. Các công cụ, phần mềm sử dụng .................................................................... 30

Page 14: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

xxii

DANH MỤC VIẾT TẮT

TT Viết tắt Tiếng Anh Tiếng Việt

1. ARIMA Autoregressive integrated moving

average

Tư hôi quy tich hơp trung

binh trươt

2. ACF Autocorrelation function Chức năng tự tương quan

3. PACF Partial autocorrelation plots Sự tự tương quan thành phần

4. BI Business intelligence Thông minh nghiệp vụ

5. KDD Knowledge discovery in database Khai phá tri thức trong cơ sở

dữ liệu

6. SPSS Statistical product and services

solutions

Giải pháp sản phẩm và dịch

vụ thống kê

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

Page 15: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

xxiii

DANH SÁCH CÁC THUẬT NGỮ

TT Thuật ngữ tiếng Anh Nghĩa tiếng Việt

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

9. OS Hệ điều hành

Page 16: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

1

CHƯƠ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]. Lĩnh vực y tế dự phòng có chức năng triển khai các

hoạt động nghiên cứu, dự báo qua đó làm cơ sở để định hướng đưa ra những chính

sách nhằm giám sát, bảo vệ và nâng cao sức khỏe cộng đồng trước những nguy cơ về

dịch bệnh ngày càng tăng hiện nay [9].

Lĩnh vực y tế dự phòng gồm 5 mảng hoạt động chuyên môn cụ thể: dịch tễ, quản lý

y tế, dự phòng, quản lý môi trường y tế, sức khỏe nghề nghiệp và nâng cao sức khỏe

[1]. Các hoạt động chuyên môn y tế dự phòng, nỗ lực hướng tới việc ngăn ngừa bệnh

tật trong cộng đồng.

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]. Tại thời kỳ Trung Cổ, vai trò của y học

dự phòng đã bị bỏ qua, bất chấp các tai họa của bệnh hủi và bệnh dịch hạch. Dưới thời

Phục hưng, những nghiên cứu mới đã làm cách mạng hoá toàn bộ ngành y học thời

bấy giờ, các nhà nghiên cứu đã nhìn thấy được mối quan hệ giữa các mùa, điều kiện

môi trường và tỷ lệ mắc bệnh.

Đồng thời với sự phát triển của kiến thức y học, đã hình thành phong trào nghiên

cứu các biện pháp phòng ngừa nguy cơ dịch bệnh. Ví dụ, năm 1388 đã tiến hành hoạt

động vệ sinh đầu tiên ở nước Anh, nhằm vào việc loại bỏ những nguy cơ dịch bệnh;

vào năm 1443 là dịch bệnh dịch hạch đầu tiên đã được kiểm soát và thực hiện các hoạt

động vệ sinh phòng ngừa; và năm 1518 đã có những nỗ lực mạnh mẽ đầu tiên trong

việc báo cáo dịch bệnh và thực hiện cách ly người bệnh bị bệnh truyền nhiễm [9].

Nghiên cứu thống kê tử vong được bắt đầu ở Anh vào Thế kỷ 17, cơ sở hoạt động

trong lĩnh vực dịch tễ học đã được thành lập vào giữa Thế kỷ 17 [9]. Năm 1700, một

tác phẩm về rối loạn nghề nghiệp đã được xuất bản ở Ý [9]. Một học viên người Anh

trong nửa đầu thế kỷ XVIII đã viết về chất độc, bệnh dịch hạch, đậu mùa, sởi và kèm

theo đó là phương pháp phòng bệnh [9]. Chủng ngừa bệnh lây nhiễm đã được phát

minh vào năm 1798 [9]. Điểm đáng chú ý vào những năm đầu của Thế kỷ 19 là đã

phát hiện được nguyên nhân lây truyền các bệnh như sốt, thương hàn, bệnh tả và uốn

ván [9]. Trong cùng thời kỳ, các nhà nghiên cứu dành nhiều sự quan tâm đến các vấn

đề vệ sinh dịch tễ và dinh dưỡng.

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]. Cũng cuối Thế kỷ này, vai trò truyền bệnh do côn trùng đã

Page 17: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

2

được xác định [9]. Xét nghiệm huyết thanh học đã được phát hiện bởi Widal, bằng

việc tìm ra phản ứng ngưng kết đối với huyết thanh người mắc bệnh thương hàn năm

1896 và thử nghiệm Wassermann cho bệnh giang mai năm 1906 [9]. Với việc khám

phá ra các nguyên tắc miễn dịch của cơ thể con người đã dẫn đến sự phát triển của việc

tiêm chủng chủ động để phòng ngừa các bệnh cụ thể [9]. Bên cạnh đó, những tiến bộ

trong điều trị đã mở ra những cách khác để dự phòng bệnh bạch hầu bằng thuốc kháng

sinh và bệnh giang mai bằng arsphenamine [9]. Năm 1932, các thuốc sulfonamide và

sau đó là kháng sinh bao gồm penicillin, streptomycin, chlortetracycline và

chloramphenicol tạo ra cơ hội mới để phòng ngừa và chữa trị các bệnh do các vi khuẩn

khác nhau gây ra [9].

Sau năm 1900, có thêm nhiều tiến bộ khác trong lĩnh vực y học dự phòng, việc sử

dụng tia X và các chất phóng xạ trong chẩn đoán và điều trị bệnh (ví dụ như bệnh lao

và ung thư) cũng như trong nghiên cứu sinh lý cơ bản đã mở ra những khả năng mới

[9]. Sự hiểu biết sâu hơn về các chức năng nội tiết, với việc sản xuất các chiết xuất

hoocmôn có sẵn như insulin, dẫn đến các biện pháp phòng ngừa các bệnh chuyển hóa

nhất định [9]. Vai trò của dinh dưỡng trong sức khoẻ và bệnh tật và của nhiều yếu tố

thực phẩm thiết yếu đối với sức khoẻ của chế độ ăn uống hợp lý [9]. Những tiến bộ

khác của Thế kỷ 20 trong lĩnh vực y tế dự phòng bao gồm sự thừa nhận rộng hơn các

yếu tố tâm lý liên quan đến tổng thể sức khoẻ con người, các kỹ thuật phẫu thuật,

phương pháp gây tê mới và nghiên cứu di truyền học [9].

1.1.2. Những vai trò của lĩnh vực y tế dự phòng

Trong khi một số người nghĩ rằng bác sĩ như là một ai đó để khám, chữa cho họ khi

bị bệnh, có một sự thật là việc gặp bác sĩ về y tế dự phòng cũng quan trọng không kém

quan trọng trong việc quản lý sức khoẻ của bản thân, như chúng ta vẫn thường nghe

câu phòng bệnh hơn chữa bệnh [1]. Ngăn ngừa bệnh tật bằng cách kiểm tra tình trạng

sức khoẻ để phát hiện những nguy cơ tiềm ẩn, tiêm vắc xin đầy đủ và áp dụng các thói

quen lành mạnh là những cách để chúng ta có thể sống một cuộc sống khỏe mạnh hơn.

Từ những nhu cầu cấp thiết trong công tác phòng chống nguy cơ và bảo vệ sức

khỏe người dân, 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;

Page 18: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

3

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.2. Dịch bệnh

Bệnh là tình trạng bất thường, ảnh hưởng xấu đến cấu trúc hoặc chức năng của một

phần hoặc toàn bộ cơ thể con người, nhưng không do chấn thương nào từ bên ngoài

gây ra [5]. Một căn bệnh có thể do các yếu tố bên ngoài như tác nhân gây bệnh hoặc

rối loạn chức năng nội bộ gây ra [5]. Ví dụ, rối loạn chức năng nội bộ của hệ thống

miễn dịch có thể tạo ra nhiều bệnh khác nhau, bao gồm các dạng suy giảm miễn dịch,

mẫn cảm, dị ứng và rối loạn tự miễn dịch.

Trên cơ thể người, khái niệm bệnh được sử dụng để chỉ tình trạng gây đau đớn, rối

loạn chức năng, sang chấn tâm lý hoặc tử vong của người bị bệnh, hoặc các vấn đề

tương tự đối với những người tiếp xúc với người bệnh đó [5]. Theo nghĩa rộng hơn,

đôi khi nó bao gồm những thương tích, khuyết tật, rối loạn, hội chứng, nhiễm trùng,

triệu chứng bị cô lập, hành vi sai lệch (không làm chủ được hành vi) và các biến thể

không điển hình của cấu trúc và chức năng trên cơ thể. Có bốn loại bệnh chính: bệnh

truyền nhiễm, bệnh thiếu hụt vi chất, bệnh di truyền và bệnh sinh lý [5]. Bệnh cũng có

thể được phân loại theo những cách khác, chẳng hạn như các bệnh truyền nhiễm và

không lây nhiễm [5].

Dịch bệnh là bệnh được lan truyền nhanh chóng và ảnh hưởng đến số lượng lớn

người trong vòng một thời gian rất ngắn [5]. Khi có dịch bệnh xuất hiện các cơ quan

kiểm soát dịch bệnh thực hiện các biện pháp nghiệm vụ trong thẩm quyền quản lý để

khoang vùng, khống chế dịch. Ví dụ, với bệnh sởi khi số lượng mắc lớn hơn 15 trường

hợp trên 100.000 người trong thời gian hai tuần liên tiếp có thể đưa ra cảnh báo dịch

bệnh truyền nhiễm.

Trong những năm gần đây, chúng ta phải đối mặt với tình hình dịch bệnh hoành

hành, bùng phát nhanh chóng và diễn biến phức tạp, đặc biệt là các dịch bệnh nguy

hiểm, Ebola, MERS-CoV liên tục gia tăng, dịch bệnh cúm A(H5N1), A(H7N9)... chưa

khống chế được triệt để; bệnh do vi rút Zika lây truyền mạnh mẽ. Nhiều bệnh truyền

nhiễm trước đây đã bị khống chế, nhưng gần đây bùng phát và gia tăng trở lại như: tay

chân miệng, sốt xuất huyết, bại liệt, sởi... Chỉ tính riêng năm 2017, trên thế giới tình

hình dịch bệnh diễn biến phức tạp, xuất hiện nhiều dịch bệnh mới; số ca mắc cúm

Page 19: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

4

A(H7N9) liên tục xuất hiện tại Trung Quốc, MERS-CoV bùng phát tại Trung Đông.

Có thể thấy, 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.

1.3. Dự báo dịch bệnh trong lĩnh vực y tế dự phòng

Hoạt động dự báo hỗ trợ các cơ quan, tổ chức đưa ra những thông tin nhận định

cho tương lai trên cơ sở các thông tin đã có trong quá khứ và hiện tại. Lĩnh vực y tế dự

phòng là một mảng lớn cho các hoạt động dự báo, với nhiều cấp độ khác nhau từ phạm

vi một địa phương, quốc gia và toàn cầu. Vì vậy, hoạt động dự báo tình hình diễn biến

dịch bệnh trong lĩnh vực y tế dự phòng luôn nhận được sự quan tâm từ các nhà nghiên

cứu. Thông qua hoạt động dự báo, nhận định trước xu hướng diễn biến của dịch bệnh,

giúp các cơ quan chức năng chủ động triển khai các biện pháp ngăn chặn sự bùng phát

và lây lan của dịch bệnh. Hoạt động nghiên cứu dự báo tình hình dịch bệnh truyền

nhiễm thời gian qua đã góp phần quan trọng giúp các nhà quản lý và hoạch định chính

sách trong công tác lập kế hoạch và định hướng chính sách y tế.

Cùng với sự phát triển của khoa học, đã có nhiều phương pháp và kỹ thuật mới

được ứng dụng trong hoạt động dự báo. Dự báo dựa vào các kỹ thuật khai phá dữ liệu

đang được ứng dụng rộng rãi. Từ thực tế, các hoạt động nghiên cứu trên thực địa

thường gặp những hạn chế về nguồn lực và thời gian, thì việc ứng dụng khai phá dữ

liệu trong dự báo dịch bệnh, góp phần giải quyết bài toán dự báo dịch bệnh với chi phí

thấp. Ở Việt Nam, ứng dụng các phương pháp và kỹ thuật khai phá dữ liệu trong dự

báo dịch bệnh vẫn chưa được triển khai nhiều với số ít các nhà nghiên cứu, trong khi

nhu cầu dự báo phục vụ xây dựng các chương trình, hoạt động, chính sách y tế ngày

càng tăng.

Do điều kiện tự nhiên như biến đổi khí hậu, môi trường, nhiều bệnh dịch truyền

nhiễm trước đây đã được đầy lùi, nay lại bùng phát mạnh mẽ với nhiều biến thể và

chủng loại mới, đặc biệt tại các vùng có điều kiện khí hậu khắc nghiệt. Bên cạnh việc

nghiên cứu để tìm ra nguyên nhân và yếu tố gây nên sự bùng phát của dịch bệnh, cần

phải ứng dụng các kỹ thuật dự báo khác nhau để xây dựng mô hình dự báo dịch bệnh,

dựa trên tác động của các yếu tố điều kiện tự nhiên, khí hậu, môi trường..., nhằm đưa

ra cảnh báo sớm diễn biến dịch bệnh trong tương lại, chủ động triển khai các công tác

nghiệp vụ, qua đó giúp giảm thiểu nguy cơ và thiệt hại của dịch bệnh đến con người.

Trong những năm gần đây, cùng với sự phát triển bùng nổ của Internet làm gia tăng

các nguồn dữ liệu, trong đó có dữ liệu dịch bệnh, khí hậu, thời tiết,… được thu thập

thường xuyên từ khắp nơi trên thế giới, đó là một điều kiện lý tưởng cho công tác dự

báo, bên cạnh đó sự phát triển của các phương pháp và kỹ thuật dự báo đem lại cơ hội

mới cho sự bùng nổ hoạt động phân tích và dự báo dịch bệnh trong lĩnh vực y tế.

Page 20: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

5

1.4. Thực trạng nghiên cứu dự báo trong y tế dự phòng

Đến nay, có nhiều mô hình dự báo dịch bệnh được xây dựng và ứng dụng trong

lĩnh vực y tế. Ví dụ, mô hình toán học của bệnh sốt rét được bắt đầu nghiên cứu năm

1911 với mô hình của Ross và được cải tiến bởi Macdonald năm 1957. Gần đây, có rất

nhiều mô hình nghiên cứu bệnh sốt rét như: mô hình dịch tễ toán học SIR (Susceptible

– Infected – Recovered) và SIS (Susceptible – Infected - Susceptible) với tư tưởng

chính là xây dựng mô hình dự báo sự lan truyền của bệnh thông qua số người và số

muỗi bị nhiễm bệnh. Qua tham khảo, nhận thấy các phương pháp dự báo dịch bệnh

ban đầu đều 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. Ý tưởng của mô hình này là phân tách tổng số người trong một khu vực bị

nhiễm bệnh thành 3 lớp, trong đó:

- Lớp dễ bị bệnh S: Những người trong lớp này chưa hề mắc bệnh và có nguy cơ

bị nhiễm bệnh.

- Lớp nhiễm bệnh I: Những người trong lớp này đã mắc bệnh và có khả năng

truyền bệnh sang người khác.

- Lớp hết bệnh R: Những người trong lớp này đã được trị khỏi bệnh hoặc đã chết vì

bệnh.

Với mô hình SIR này, kết quả dự báo sẽ chính xác khi bệnh dịch xảy ra trong

khoảng thời gian ngắn để lượng dân số trong khu vực luôn ổn định, tính cả người đã

chết vì bệnh dịch này vào tổng số dân; chu kỳ ủ bệnh không đáng kể; tập mẫu dân số

đủ lớn để có kết quả xấp xỉ đúng. Mức độ lan truyền dịch bệnh được xác định như sau:

𝑆 + 𝐼𝑇→ 2𝐼 và 𝐼

𝛼→ 𝑅 (1.1)

Trong đó:

𝑆 + 𝐼𝑇→ 2𝐼: Ở vế trái, người trong lớp S bị người trong lớp I lây bệnh với tốc

độ r > 0, khiến người đó chuyển sang lớp I, thu được vế phải là 𝐼 + 𝐼 = 2𝐼.

𝐼𝛼→ 𝑅: Người trong lớp I sau một thời gian sẽ hết bệnh (hoặc chết vì bệnh) và

chuyển sang lớp R với tốc độ 𝑎 > 0.

Mỗi lớp trong mô hình SIR là một hàm số theo thời gian t gồm 𝑆(𝑡), 𝐼(𝑡) và 𝑅(𝑡).

Lớp nhiễm bệnh có tốc độ tỉ lệ thuận với số lượng người nhiễm bệnh và người dễ

bệnh, tức rSI, với 𝑟 > 0 là tham số hằng, đó cũng là tốc độ mất đi số người trong lớp

dễ bệnh. Tốc độ hết bệnh của người nhiễm bệnh tỉ lệ thuận với số lượng người nhiễm

bệnh, tức aI, với 𝑎 > 0 là hằng số, 1/𝑎 là độ đo thời gian một người ở trong trạng thái

nhiễm bệnh. Chu kỳ ủ bệnh ngắn, tức người dễ bệnh khi tiếp xúc với mầm bệnh sẽ

nhiễm bệnh ngay. Dựa trên các giá trị đầu vào, xác định được các tham số trong trong

phương trình này. Mô hình kết quả được dùng để dự báo 𝑆(𝑡), 𝐼(𝑡) và 𝑅(𝑡) với t là

thời gian tương lai. Mô hình dịch tễ học toán học có thể áp dụng thành công và cho kết

Page 21: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

6

quả lý tưởng trên những hệ thống không quá phức tạp.

Trong thời gian gần đây, kỹ thuật và mô hình phân tích chuỗi thời gian (time-

series) được sử dụng rộng rãi, nghiên cứu dự báo trong các lĩnh vực khác nhau và dự

báo diễn biến dịch bệnh trong tương lai. Việc sử dụng mô hình phân tích chuỗi thời

gian, khắc phục được các nhược điểm của mô hình hồi quy luận lý (logistic), hồi quy

đa biến, do không thể xem xét tính tự tương quan của những dữ liệu mang tính chuỗi

thời gian, làm hạn chế khả năng dự đoán. Nhằm cải thiện độ chính xác trong thiết lập

mô hình cảnh báo dịch bệnh, một số nhà nghiên cứu đã tiến hành kết hợp kỹ thuật

phân tích chuỗi thời gian và các mô hình dự báo, nhằm xác định ảnh hưởng của điều

kiện địa lý, thời gian,… tới số ca mắc một bệnh nào đó. Từ các phân tích nêu trên, luận

văn thực hiện nghiên cứu kết hợp mô hình ARIMA và với các kỹ thuật phân tích chuỗi

thời gian để thiết lập mô hình dự báo thống nhất. Các kỹ thuật khai phá dữ liệu được

đề cập chi tiết tại Chương 2, nhằm đưa ra phân tích và lựa chọn kỹ thuật khai phá dữ

liệu phù hợp với chuỗi dữ liệu thời gian.

1.5. Mục tiêu nghiên cứu

Từ các phân tích ở trên luận văn này tập trung nghiên cứu hệ thống hóa các kỹ

thuật khai phá dữ liệu, lựa chọn các phương pháp phù hợp nhằm xây dựng mô hình

giải quyết bài toán phân tích và dự báo dự báo dịch bệnh truyền nhiễm. Mô hình nhận

đầu vào là tập dữ liệu về tình hình dịch bệnh trong quá khứ, và có đầu ra là mô hình dự

báo diễn biến dịch bệnh trong tương lai, qua đó giúp nhận định chu kỳ, xu hướng diễn

biến của dịch bệnh.

Từ mục tiêu trên, luận văn tập trung nghiên cứu các vấn đề sau:

- Nghiên cứu tổng quan các phương pháp và kỹ thuật khai phá dữ liệu, 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;

- Tiến hành thực nghiệm phân tích, dự báo dịch cúm với các phương pháp khai phá

dữ liệu được lựa chọn trên tập dữ liệu dịch cúm được công bố;

- Xây dựng mô hình dự báo phù hợp và hiệu quả trong công tác dự báo dịch cúm

có khả năng ứng dụng cho tình hình thực tế ở Việt Nam.

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. Qua thực trạng đó, để thấy được tính cấp thiết trong việc ứng dụng

công nghệ thông tin trong phân tích, dự báo qua đó hỗ trợ công tác quản lý, định

hướng chính sách y tế để phòng ngừa và ngăn chặn diễn biến dịch bệnh. Bên cạnh đó,

cũng đề cập hiện trạng và phương pháp nghiên cứu ứng dụng phân tích, dự báo trong

lĩnh vực y tế đặc biệt là mảng y tế dự phòng.

Page 22: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

7

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.

Page 23: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

8

CHƯƠNG 2: CÁC PHƯƠNG PHÁP VÀ CÔNG CỤ KHAI PHÁ DỮ LIỆU

Với sự phát triển mạnh mẽ của Internet, dữ liệu được tạo ra ngày càng nhiều về số

lượng, khối lượng và phát triển mạnh về quy mô làm cho việc phân loại, lựa chọn, khai

thác, sử dụng gặp nhiều khó khăn.

Khai phá dữ liệu là một trong những thuật ngữ mới xuất hiện từ những năm 1990,

nó là hệ quả của sự bùng nổ Internet. Theo một công bố của Intel vào tháng 9/2013 cứ

11 giây trôi qua chúng ta có thêm 1 Petabybe dữ liệu, nó tương đương với một video

chất lượng HD dài 13 năm. Và để khai phá, trích xuất nó thì khai phá dữ liệu ra đời.

Về kỹ thuật của khai phá dữ liệu thì có thể có nhiều kỹ thuật được áp dụng và việc áp

dụng kỹ thuật khai phá dữ liệu nào còn tùy thuộc vào bài toán và dữ liệu cần khai phá.

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]. Công cụ khai thác dữ liệu cho phép chúng ta dự đoán xu hướng trong

tương lai dựa trên bộ dữ liệu đang có.

Bên cạnh cái tên khai phá dữ liệu người ta còn dùng một số tên gọi khác như: khai

phá tri thức từ cơ sở dữ liệu, phân tích dữ liệu, trích lọc dữ liệu,…. 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

Bước 1) Lựa chọn: tại bước này, những dữ liệu trực tiếp liên quan đến yêu cầu sẽ

được thu thập từ các tập dữ liệu gốc ban đầu.

Bước 2) Tiền xử lý: dữ liệu tại bước này được làm sạch (xử lý tập dữ liệu không

đầy đủ, dữ liệu có nhiễu, dữ liệu không nhất quán,…), kết quả của bước này ta sẽ có

một tập dữ liệu nhất quán, đầy đủ, được rút gọn.

Bước 3) Đổi dạng: chuyển dữ liệu về dạng phù hợp cho việc khai phá, dữ liệu sau

khi làm sạch tại bước tiền xử lý thậm chí không phải là đã sẵn sàng cho khai thác, khi

Page 24: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

9

đó chúng ta cần phải biến đổi chúng thành các hình thức thích hợp.

Bước 4) Khai phá dữ liệu: đây là giai đoạn chính, trong đó các phương pháp phân

tích dữ liệu phù hợp sẽ được áp dụng để trích xuất ra các mẫu dữ liệu dựa vào các tập

dữ liệu ban đầu.

Bước 5) Trình diễn: sử dụng các kỹ thuật, công cụ để biểu diễn trực quan hoá dữ

liệu được khai phá cho người sử dụng.

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)

Phương pháp học máy đã có nhiều cải tiến để phù hợp hơn với khai phá dữ liệu,

tuy nhiên sự khác biệt giữa thiết kế, các đặc điểm của cơ sở dữ liệu làm cho học máy

trở nên không phù hợp, mặc dù hiện nay đa phần các phương pháp khai phá dữ liệu

vẫn dựa trên nền tảng của phương pháp học máy. 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. Đầu

tiên là tập dữ liệu có độ nhiễu cao, yêu cầu đặt ra cho một giải thuật đối với tập dữ liệu

bị nhiễu trở nên quan trọng hơn. Thứ hai là kích thước lớn của các tập dữ liệu cần xử

lý, các tập dữ liệu trong khai phá dữ liệu thường có kích thước lớn. Trong thực tế, kích

thước của các tập dữ liệu trong khai phá dữ liệu thường ở mức Tera-byte. Với kích

thước như thế, thời gian xử lý thường cực kỳ dài. Vì vậy, việc vận dụng các kỹ thuật

nhằm cải tiến các giải thuật để tạo ra các phiên bản phù hợp với những yêu cầu mới

của khai phá dữ liệu trở nên quan trọng.

Trong hệ quản trị cơ sở dữ liệu, một cơ sở dữ liệu là một tập hợp dữ liệu được liên

kết logic với nhau, lưu trữ dữ liệu trong một hay nhiều file và được tổ chức lưu trữ,

sửa đổi và truy xuất thông tin hiệu quả và dễ dàng. 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. Một thuật toán sẽ sử

dụng tập dữ liệu và thông tin đi kèm tập dữ liệu đó làm đầu vào và kết quả đầu ra cho

việc học.

Với đặc điểm của cơ sở dữ liệu trong học máy được đề cập, có thể thấy học máy có

khả năng áp dụng trên tệp các bản ghi của cơ sở dữ liệu. Tuy nhiên, quá trình phát hiện

tri thức trong cơ sở dữ liệu (knowledge discovery in database – KDD) làm tăng thêm

các khó khăn vốn đã là điển hình trong học máy và vượt quá khả năng của học máy.

Trong thực tế, cơ sở dữ liệu thường động, không đầy đủ, bị nhiễu và lớn hơn nhiều so

với các tập dữ liệu học máy, điều này làm cho đa phần các thuật toán học máy hầu hết

không hiệu quả. Do vậy, trong khai phá dữ liệu cần tập trung xử lý những vấn đề này

trong cơ sở dữ liệu.

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

Page 25: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

10

xây dựng các tập luật. Các ví dụ chuyên gia đưa ra có giá trị cao hơn nhiều so với dữ

liệu trong cơ sở dữ liệu. Hơn nữa, các chuyên gia sẽ xác nhận giá trị và sự hữu dụng

của các mẫu được phát hiện. Ở phương pháp này đòi hỏi có sự tham gia của con người

mà cụ thể là các chuyên gia với kinh nghiệm của mình trong việc phát hiện tri thức.

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: Kích thước của cơ sở dữ liệu được xác định thông qua số lượng

các mẫu tin, các thuộc tính (hay các biến) và các bảng, số lượng có thể là hàng trăm

thuộc tính và bảng, hàng triệu các mẫu tin. Như vậy, kích thước của cơ sở dữ liệu tính

bằng terabyte đã bắt đầu xuất hiện. Dữ liệu với số chiều cao (tương ứng với thuộc tính

khi biểu diễn qua không gian các mẫu dữ liệu) làm gia tăng kích thước không gian tìm

kiếm trong mô hình quy nạp. Khi xây dựng mô hình chỉ một tập con trong cơ sở dữ

liệu tham gia, do vậy trong các thuật toán khai phá là các mẫu dữ liệu tìm được đôi khi

không có giá trị đại diện chung cho toàn bộ cơ sở dữ liệu. Một giải pháp cho vấn đề

này là giảm bớt số chiều của bài toán và sử dụng tri thức trước (prior knowledge) để

nhận biết các biến ít liên quan.

- Vấn đề over-fitting: Khi thuật toán khai phá tìm kiếm với các tham số tốt nhất cho

một mô hình đặc biệt và một giới hạn của tập dữ liệu, mô hình ấy có thể over-fitting

trên tập dữ liệu ấy nhưng lại thi hành không chính xác trên tập dữ liệu được kiểm tra.

Một giải pháp thường được sử dụng là thẩm định chéo.

- Dữ liệu và tri thức được cập nhật, thay đổi: Dữ liệu thay đổi nhanh chóng theo

thời gian dẫn đến những mẫu dữ liệu đã được khai phá trước đây không còn giá trị.

Thêm vào đó, các biến đã được đo trong cơ sở dữ liệu bị thay đổi, bị xóa hoặc đã tăng

lên với một độ đo mới. Điều này có thể được thực hiện bằng cách gia tăng các phương

thức cập nhật mẫu và xem xét các thay đổi cho việc khám phá bằng việc sử dụng nó để

xử lý thích hợp việc tìm kiếm các mẫu chỉ với sự thay đổi.

- Dữ liệu thiếu và nhiễu: Đây là vấn đề rất được quan tâm trong khai phá dữ liệu,

việc dữ liệu thiếu và nhiễu thường dẫn đến việc dự đoán thiếu chính xác.

- Tích hợp với hệ thống: Hệ thống khai phá dữ liệu thực sự là hữu ích khi phải

được tích hợp với cơ sở dữ liệu thông qua các giao diện như truy vấn, bảng tính và các

công cụ trực quan khác. Hơn nữa, phải tạo ra một môi trường thuận lợi cho việc tương

tác với người dùng.

2.2. Các kỹ thuật khai phá dữ liệu

Các nhiệm vụ của khai phá dữ liệu gồm hai phần: dự đoán (predictive) được sử

dụng để dự đoán các giá trị tương lai của cùng hoặc một tính năng khác và mô tả

(descriptive) tìm các mô hình thú vị và dễ diễn giải của con người [6]. Trong nội dung

luận văn, học viên sẽ đề cập đến bốn kỹ thuật khai thác dữ liệu: Hồi quy (regression);

Page 26: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

11

kết hợp (association); phân lớp (classification); phân cụm (clustering).

2.2.1. Hồi quy (Regression)

Phân tích hồi quy được sử dụng để mô hình hóa mối quan hệ giữa một biến độc lập

và biến phụ thuộc. Phương pháp này cho phép chúng ta thu được những kết quả tốt

nhất về mối quan hệ chân thực giữa các biến số. Từ phương trình ước lượng này, có

thể dự báo về giá trị của biến phụ thuộc (chưa biết trước giá trị) dựa vào giá trị cho

trước của biến độc lập (đã biết trước giá trị).

Dưới đây là một số ví dụ:

- Dự đoán doanh thu của một sản phẩm mới dựa trên các sản phẩm bổ sung;

- Dự đoán ung thư dựa trên số lượng thuốc lá tiêu thụ, thực phẩm bị tiêu hao, độ

tuổi;

- Dự đoán chuỗi thời gian của thị trường chứng khoán và các chỉ số.

Phương trình thể hiện các mối quan hệ trong hồi quy: 𝑦 = 𝐹(𝑥, 𝜃) + 𝑒, cho thấy

hồi quy là quá trình ước tính giá trị mục tiêu y trong một hàm F gồm một hoặc nhiều

biến dự đoán (𝑥1, 𝑥2, … , 𝑥𝑛), một tập các tham số (𝜃1, 𝜃2, … , 𝜃𝑛), và một số đo lỗi (e).

2.2.1.1. Hồi quy tuyến tính (linear regression)

Một kỹ thuật hồi quy tuyến tính có thể được sử dụng nếu mối quan hệ giữa các yếu

tố dự đoán và kết quả có thể xấp xỉ bằng một đường thẳng.

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𝑥 + 𝜃1 + 𝑒, (1.2)

trong đó: θ2 là độ dốc của đường thẳng, góc giữa điểm dữ liệu và đường hồi quy, θ1

là điểm đánh dấu y, điểm mà x vượt qua trục y (x = 0).

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

Page 27: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

12

hiển thị trong không gian hai chiều. Tuy nhiên, dòng này có thể được tính toán bằng

cách mở rộng phương trình cho hồi quy tuyến tính dự đoán đơn để bao gồm các tham

số cho từng biến dự đoán.

𝑦 = 𝜃1 + 𝜃2𝑥1 + 𝜃3𝑥2 + … … … + 𝜃𝑛𝑥𝑛−1 + 𝑒 (1.3)

Trong hồi quy tuyến tính đa biến, tham số hồi quy được gọi là hệ số. Khi xây dựng

một mô hình hồi quy tuyến tính đa biến, thuật toán tính toán một hệ số cho từng biến

dự báo được sử dụng bởi mô hình. Hệ số là thước đo tác động của dự báo x trên mục

tiêu y.

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. Trong trường hợp này, một kỹ thuật hồi quy phi tuyến có thể được sử dụng.

Ngoài ra, dữ liệu có thể được xử lý trước để tạo mối quan hệ tuyến tính. Mô hình hồi

quy phi tuyến xác định y là một hàm của x sử dụng một phương trình phức tạp hơn

phương trình hồi quy tuyến tính.

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, … , 𝑥𝑛). Khi sử dụng nhiều dự đoán, mối quan hệ phi tuyến không

thể được hình dung trong không gian hai chiều.

Các kỹ thuật phân tích hồi quy rất hữu ích trong khoa học dữ liệu và thuật ngữ "hồi

quy logistic" (logistic regression), xuất hiện gần như ở mọi khía cạnh trong lĩnh vực

này. Điều này, đặc biệt đúng với trường hợp do tính hữu ích và sức mạnh của mạng

nơ-ron sử dụng kỹ thuật dựa vào hồi quy để tạo ra những chức năng phức tạp mà bắt

chước chức năng của bộ não người.

2.2.2. Kết hợp (Association)

Phát hiện quy tắc kết hợp là một phương pháp mô tả quan trọng trong khai thác dữ

liệu [11]. Đó là một phương pháp rất đơn giản, nhưng được đánh cao về mức độ thông

Page 28: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

13

minh và đưa ra kết quả dự đoán chính xác. 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 này là tập luật kết hợp tìm được từ tập dữ liệu ban đầu [11].

Ví dụ, những khách hàng mua ngũ cốc tại cửa hàng tạp hóa thường sẽ mua kèm

sữa. Trong thực tế, phân tích kết hợp có thể tìm ra 85% các lần kiểm tra hành vi mua

sắm của khác hàng mua ngũ cốc sẽ bao gồm sữa.

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.

Một kỹ thuật phân lớp bắt đầu với một tập dữ liệu trong đó các phép gán lớp được

biết. Ví dụ, một mô hình phân lớp dự đoán rủi ro tín dụng có thể được phát triển dựa

trên dữ liệu quan sát của nhiều người nộp đơn vay trong một khoảng thời gian. Ngoài

xếp hạng tín dụng lịch sử, dữ liệu còn theo dõi lịch sử việc làm, quyền sở hữu nhà

hoặc cho thuê, số năm cư trú, số lượng và loại hình đầu tư, v.v… Xếp hạng tín dụng sẽ

là mục tiêu, các thuộc tính khác sẽ là các yếu tố dự báo và dữ liệu cho từng khách hàng

sẽ tạo thành một trường hợp.

2.2.4. Phân cụm (Clustering)

Phân cụm cơ sở dữ liệu là tương tự như phân lớp, nghĩa là chúng ta xác định các

yếu tố trong một tập dữ liệu có đặc điểm chung và nhóm chúng lại với nhau dựa trên

những đặc điểm chung này [11]. Sự khác biệt với phân cụm, chúng ta để các thuật toán

xác định các nhóm dựa vào lựa chọn một hoặc thậm chí tất cả các dữ liệu có sẵn, trong

khi với phân lớp chúng ta đã có các nhóm được định nghĩa. Sự khác biệt này cũng

được xác định là có giám sát (phân lớp) so với không có giám sát (phân cụm).

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. Mục đích của phân cụm là tìm các cụm chất lượng cao sao cho

độ tương đồng giữa các cụm thấp và tương đồng của dữ liệu trong cụm cao. Phân cụm

hữu ích cho việc khám phá dữ liệu. Nếu có nhiều trường hợp dữ liệu không có nhóm

rõ ràng, thuật toán phân cụm có thể được sử dụng để tìm nhóm tự nhiên. Phân cụm

cũng có thể phục vụ như là một bước tiền xử lý dữ liệu hữu ích để xác định các nhóm

thuần nhất và xây dựng các mô hình được giám sát.

2.3. Dữ liệu chuỗi thời gian (time series data)

Dữ liệu trong khai phá dữ liệu gồm nhiều loại: dữ liệu bảng (table data), dữ liệu

chéo (cross sectional data), dữ liệu chuỗi thời gian,… Định hướng phân tích của luận

văn trên tập dữ liệu của Google Flu Trends là dạng dữ liệu chuỗi thời gian, tập dữ liệu

này ghi nhận về diễn biến dịch cúm của các nước trên thế giới từ năm 2003 – 2015,

Page 29: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

14

nên luận văn giới thiệu kiểu dữ liệu chuỗi thời gian.

Dữ liệu chuỗi thời gian là chuỗi các giá trị đo một đại lượng nào đó và giá trị đó

được ghi nhận theo diễn biến thời gian. Chúng ta có thể hiểu chuỗi dữ liệu thời gian là

một dãy các vector hoặc một dãy các giá trị phụ thuộc vào các mốc thời gian:

{𝑥(𝑡0), 𝑥(𝑡1), 𝑥(𝑡2), … , 𝑥(𝑡𝑖−1), 𝑥(𝑡𝑖), 𝑥(𝑡𝑖+1), … }. 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: 𝑃 → 𝑥(𝑡).

Ta thấy nhiều ví dụ về dữ liệu chuỗi thời gian như: số lượng người mắc cúm diễn

biến theo thời gian, số liệu thu nhập bình quân đầu người của Việt Nam diễn biến qua

nhiều năm,..… Có thể chia dữ liệu chuỗi thời gian thành hai dạng: rời rạc và liên tục.

Các chuỗi dữ liệu có thời gian không liền mạch kéo theo dữ liệu không liền mạch đó là

chuỗi dữ liệu rời rạc. Với dữ liệu đảm bảo tính liên tục, t là các mốc thời gian và

𝑥(𝑡) là các dữ liệu tương ứng với thời gian t đó là chuỗi dữ liệu liên tục.

Với đặc điểm của tập dữ liệu dịch bệnh cúm do Google Flu Trends là các số liệu

được ghi nhận theo diễn biến thời gian, và giá trị các số liệu chỉ có một thuộc tính duy

nhất là số ca mắc cúm. Sự tương quan của các dữ liệu trong tập dữ liệu ở đây là sự

biến đổi dữ liệu theo thời gian. Chính vì vậy, qua phân tích chi tiết các phương pháp

khai phá dữ liệu ở phần trên, luận văn quyết định lựa chọn phương pháp phân tích hồi

quy trên tập dữ liệu thời gian (time series regression), với hai đặc tính của hai biến:

biến độc lập và biến phụ thuộc, được thể hiện tương quan giữa thời gian và số ca mắc

cúm tại thời điểm tương ứng.

2.4. Các công cụ, phần mềm hỗ trợ khai phá dữ liệu

Các phần mềm hỗ trợ khai phá dữ liệu rất đa dạng, trong phạm vi luận văn này chỉ

đề cập tới một số phần mềm đang thông dụng, đang sử dụng rộng rãi. Trên cơ sở đó,

nghiên cứu, lựa chọn một công cụ phù hợp và áp dụng trên tập dữ liệu dịch bệnh cúm

do Google Flu Trends công bố. Các công cụ đã được luận văn nghiên cứu đề cập:

- Phần mềm Weka;

- Phần mềm phân tích số liệu SPSS;

- Phần mềm phân tích thống kê R.

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].

Weka bắt đầu như là một dự án chính phủ tài trợ vào năm 1993 [12]. Mặc dù Pentaho

đã thông qua các công cụ Weka làm công cụ khai thác dữ liệu của nó, nó chỉ là một

phần của nền tảng BI. Việc tích hợp trong nền tảng Pentaho được giới hạn một plugin

đặc biệt cho Kettle để gọi một thuật toán điểm Weka. Năm 1996, phiên bản đầu tiên đã

được phát hành vào năm 1999 và phiên bản 3 (100% được viết bằng Java) đã được

Page 30: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

15

phát hành. Phiên bản hiện tại 3.6 là một bản phát hành nâng cấp vẫn dựa trên mã 3.0,

làm Weka có lẽ là phần trưởng thành hầu hết các nền tảng Pentaho BI.

Hình 2.4. Giao diện phần mềm weka

Weka bao gồm ba công cụ khác nhau, mỗi công cụ trong số đó có thể được sử dụng

độc lập, nhưng khi kết hợp với nhau tạo ra một nền tảng khai thác dữ liệu rất mạnh mẽ.

Các chức năng chính như sau:

Explorer – Điểm khởi đầu cho làm quen với Weka và khai thác dữ liệu. Explorer

cho phép dễ dàng làm việc với các bộ dữ liệu. Nó cũng cung cấp một loạt các chức

năng.

Experimenter – làm việc, thiết lập và thực hiện các thí nghiệm lớn, nơi tập hợp

nhiều dữ liệu và nhiều thuật toán có thể được thêm vào cùng một lúc. Kết quả của thí

nghiệm sau đó có thể được so sánh với nhau để xác định các kết quả đã được (thống

kê) tốt hơn so với những người khác.

KnowledgeFlow – Sự bổ sung mới nhất cho các bộ công cụ Weka có thể được sử

dụng để xây dựng hoàn chỉnh quy trình công việc khai thác dữ liệu tương tự như các

quy trình bạn đã quen thuộc với trong Pentaho tích hợp dữ liệu hoặc các studio thiết

kế.

Định dạng đầu vào của Weka: Trước khi bạn có thể phân tích dữ liệu, nó phải

được chuẩn bị để sử dụng trong Weka. Weka có thể đọc dữ liệu từ nhiều nguồn khác

nhau, bao gồm cả trực tiếp từ một cơ sở dữ liệu JDBC và các tập tin CSV. Weka cũng

có riêng, định dạng file gốc của nó. Việc đầu tiên được gọi ARFF (Attribute Relation

File Format) là một định dạng tập tin dựa trên văn bản nhưng với siêu dữ liệu thêm

vào để Weka biết loại dữ liệu trong tập tin. Như bạn có thể thấy, nó có chứa các mối

quan hệ (chủ đề của sự phân tích), tất cả các thuộc tính được sử dụng bao gồm cả các

giá trị có thể hoặc các kiểu dữ liệu, và các dữ liệu chính nó.

Định dạng thứ hai được gọi là XRFF (eXtensible attribute-Relation File Format) và

là một phần mở rộng dựa trên XML của các định dạng ARFF. Cả hai tập tin ARFF và

XRFF có thể được mở trong một hình thức lưu trữ là tốt. XRFF có lợi thế hơn ARFF

Page 31: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

16

chuẩn ở chỗ nó cho phép các thuộc tính lớp được xác định trong tập tin. Các tập tin

chuẩn ARFF không chỉ định một thuộc tính lớp và để lại nó cho người dùng lựa chọn

một thông qua giao diện người dùng đồ họa hoặc thông qua một lựa chọn nếu sử dụng

giao diện dòng lệnh Weka của. XRFF mặt khác cho phép một thuộc tính lớp mặc định

được xác định trong tập tin. Thuộc tính này sau đó được chọn tự động trong giao diện

dòng lệnh hoặc giao diện Weka. Tất nhiên, điều này không ngăn chặn người dùng tự

chọn thuộc tính khác như các lớp nếu họ mong muốn. Cuối cùng, XRFF cho phép

thêm cả thuộc tính và khởi tạo, cho phép cân bằng tầm quan trọng của mỗi thuộc tính

trong một kết quả.

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]. SPSS

dễ sử dụng, linh hoạt và thường được dùng trong nghiên cứu xã hội, kinh tế học.

Hình 2.5. Giao diện SPSS

SPSS cung cấp các chức năng quản lý dữ liệu và phân tích thống kê với giao diện

đồ họa thân thiện với người dùng. SPSS phiên bản 22 đem lại cho người dùng một

giao diện đơn giản giúp bạn tạo ra các đồ thị và dễ dàng hiệu chỉnh đồ thị. Trong

SPSS, các đồ thị có chất lượng cao và bạn có thể dễ dàng dán chúng vào các tài liệu

khác cũng như từ các tài liệu khác như Word, Excel bạn có thể dễ dàng copy dữ liệu

qua lại.

2.4.3. Phân tích số liệu bằng R

R là một phần mềm hoàn toàn miễn phí, đượ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]. R là một ngôn ngữ lập trình,

cho nên chúng ta có thể sử dụng nó để phát triển các phần mềm phục vụ tính toán [14].

Page 32: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

17

Hình 2.6. Giao diện phần mềm R

Đánh giá hỗ trợ của R về mặt phân tích và dự đoán số liệu thì thấy rằng R là công

cụ phân tích thống kê mạnh, nhưng cũng có một số đánh giá sau:

- Thích hợp với các bài toán phân tích thống kê và vẽ biểu đồ;

- Môi trường làm việc sử dụng câu lệnh, phức tạp và khó khai thác;

- Dữ liệu đầu vào cho phân tích dạng bảng theo cấu trúc file .csv hoặc file .txt,

công cụ không có hỗ trợ kết nối trực tiếp vào cơ sở dữ liệu;

- Trong R cho phép tính toán thực hiện trên vectors hay nói cách khác R là một

ngôn ngữ vector, vì vậy chúng ta có thể sử dụng bất kỳ hàm nào trên vector và không

phải sử dụng vòng lặp. Ví dụ: chúng ta có một mảng và qua mỗi phần tử trong mảng

lại tăng 1. Nếu chúng ta không dùng vector, cần lặp qua dãy các phần tử và trong vòng

lặp chúng ta có n phép tính +1 với mảng gồm n phần tử.

- R là ngôn ngữ thống kê và được sử dụng nhiều và có thế mạnh trong lĩnh vực sinh

học, thống kê dữ liệu và di truyền họ.

Với những ưu điểm vượt trội như trên, trong luận văn này học viên quyết định lựa

chọn R làm công cụ hỗ trợ phân tích tập dữ liệu dịch bệnh cúm do Google Flu Trends

cung cấp tại phần trình bày thực nghiệm.

Tóm tắt chương 2

Chương 2 học viên đã giới thiệu về 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. Qua phân tích chi tiết đặc điểm của các phương pháp

khai phá dữ liệu và dựa trên đặc điểm của tập dữ liệu Google Flu Trends, đã quyết

định lựa chọn phương pháp hồi quy để phân tích và dự báo.

Page 33: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

18

Chương 3 sẽ đ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.

Page 34: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

19

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

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, các phép đo được thực hiện theo thời gian định kỳ hoặc không

[10].

Hình 3.1. Số liệu diễn biến cúm tại phía Nam Châu phi từ năm 2006 đến 2015

Dữ liệu chuỗi thời gian có các thành phần cơ bản như: thành phần xu hướng; thành

phần mùa (thời vụ); thành phần chu kỳ (dài hạn); các điểm bất thường và ngẫu nhiên

[10].

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 y trong chuỗi

thời gian. Thành phần xu hướng này thường được biểu diễn trên đồ thị bởi một đường

thẳng hay đường cong trơn. Chuỗi dữ liệu không tồn tại thành phần xu hướng (tức là

dữ liệu không tăng hoặc không giảm) thì chuỗi đó dừng theo giá trị trung bình.

Page 35: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

20

Hình 3.3. Biểu diễn thay đổi chuỗi thời gian theo từng khoảng thời gian

- Thành phần mùa (thời vụ): để chỉ chiều hướng tăng hay giảm của giá trị y được

tính theo giai đoạn thời gian (khoảng thời gian ngắn). Ví dụ: số lượng trẻ em mắc các

bệnh về hô hấp tăng lên vào dịp cao điểm rét đậm, rét hại ở nước ta.

Hình 3.4. Biểu diễn chu kỳ chuỗi thời gian

- Thành phần chu kì (dài hạn): biểu thị bằng sự tăng, giảm của dữ liệu chuỗi thời

gian xoay quanh xu hướng. Thường trong chuỗi dữ liệu dài hạn thì khó đoán chu kì.

- Thành phần ngẫu nhiên: Đây là thành phần ngược với chu kỳ, thành phần ngẫu

nhiên chỉ sự thay đổi bất thường của giá trị trong chuỗi thời gian và thường không dự

đoán được sự thay đổi của dữ liệu. Những tác động gây ra sự thay đổi dữ liệu thường

do các yếu tố bên ngoài tác động.

Hình 3.5. Sơ đồ chuỗi thời gian với định lượng 𝐘(𝐭) theo diễn biến thời gian t

Page 36: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

21

Với sơ đồ Hình 3.5 ta có Yt là giá trị định lượng trên chuỗi thời gian được tính tại

thời điểm t, qua đó ta có thể xác định được các mô hình sau:

- Mô hình cộng: 𝑌𝑡 = 𝑇𝑡 + 𝑆𝑡 + 𝐶𝑡 + 𝐼𝑡. (3.1)

- Mô hình nhân: 𝑌𝑡 = 𝑇𝑡𝑆𝑡𝐶𝑡𝐼𝑡. (3.2)

Trong đó: T là thành phần xu hướng (Trend); S là thành phần mùa (Seasonality); C

là thành phần chu kỳ (Cyclical); I là thành phần ngẫu nhiên (Irregular).

Mô hình nhân được sử dụng nhiều hơn. Nếu thành phần chu kỳ và mùa không ảnh

hưởng đến mức chung của chuỗi thời gian thì nên sử dụng mô hình cộng, ngược lại mô

hình nhân được sử dụng nếu thành phần mùa phụ thuộc xu hướng và chu kỳ.

3.2. Tính dừng của dữ liệu chuỗi thời gian

Dữ liệu chuỗi thời gian có thể được tạo ra từ một quá trình và kết quả của nó là tập

dữ liệu theo thời gian. Quá trình đó, sinh ra một tập dữ liệu tổng thể và một tập hợp dữ

liệu con được trích xuất từ tập dữ liệu tổng thể đó gọi là một tập dữ liệu mẫu. Một tính

chất quan trọng của dữ liệu chuỗi thời gian là tính dừng [4]. Một chuỗi giá trị trên thời

gian t là Yt được coi là dừng khi kỳ vọng, phương sai và hiệp phương sai ở các độ trễ

khác nhau giữ nguyên theo diễn biến thời gian [4]. Chuỗi Yt được coi là dừng khi thỏa

mãn:

- 𝐸(𝑌𝑡) = 𝜇(∀𝑡). (3.3)

- 𝑉𝑎𝑟(𝑌𝑡) = 𝐸(𝑌𝑡 − 𝜇)2 = 𝜎2(∀𝑡). (3.4)

- 𝐶𝑜𝑣(𝑌𝑡 , 𝑌𝑡+𝑘) = 𝐸[(𝑌𝑡+𝑘 − 𝜇)(𝑌𝑡 − 𝜇)] = 𝑌𝑘(∀𝑡). (3.5)

hiệp phương sai giữa Yt và Yt + k không phụ thuộc thời gian t mà phụ thuộc độ trễ

thời gian k giữa hai thời đoạn.

3.2.1. Kiểm tra tính dừng chuỗi thời gian

3.2.1.1. Kiểm tra trực quan trên trên đồ thị biểu diễn chuỗi thời gian

Chuỗi yt, nếu đồ thị 𝑌 = 𝑓(𝑡) cho trung bình và phương sai của Yt không đổi theo

thời gian thì chuỗi có tính dừng. Quan sát đồ thị chuỗi dữ liệu thời gian nếu thấy trung

bình có xu hướng tăng hoặc giảm theo từng khoảng thời gian thì có thể dự đoán rằng

chuỗi là không dừng. Phương pháp này giúp ta đánh giá trực quan, ban đầu về tính

dừng của chuỗi thời gian. Tuy nhiên, với những chuỗi thời gian có xu hướng không rõ

ràng, phương pháp này khó khả thi và kết quả kiểm tra đôi khi không đúng.

3.2.1.2. Kiểm tra dựa trên sơ đồ tự tương quan và tự tương quan riêng phần

3.2.1.2.1. Sơ đồ tự tương quan ACF (Autocorelation Function)

Sử dụng dùng hàm tự tương quan ACF, trong đó: độ trễ k ký hiệu bằng ρk, xác định

bằng công thức như sau:

Page 37: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

22

𝐴𝐶𝐹(𝑘) = 𝑝𝑘𝑐𝑜𝑣(𝑌𝑡, 𝑌𝑡−𝑘)

𝑉𝑎𝑟(𝑌𝑡) (3.6)

Giá trị ρk có giá trị từ -1 đến 1, là hệ số tương quan giữa Yt và Yt-k. Hàm tự tương

quan đo lường sự phụ thuộc tuyến tính giữa các cặp quan sát Yt và Yt-k . Ví dụ: ρ1 là hệ

số tương quan giữa Yt và Yt-1, ρi là hệ số tương quan giữa Yt và Yt-i... Nếu vẽ đồ thị ρk

với độ trễ k, đồ thị này sẽ cho ra một lược đồ tương quan ACF.

3.2.1.2.2. Sơ đồ tự tương quan riêng phần PACF (Partial Autocorrelation

Function)

Ta có hệ số tự tương quan ρk với 𝑘 ≥ 2, cho thấy sự kết hợp tuyến tính giữa Yt và

Yt+k. Tuy vậy, mức độ kết hợp tuyến tính giữa chúng có thể do tác động của một số

biến khác. Trong trường hợp này là do ảnh hưởng từ các biến Yt-1, …, Yt-k+1. Do vậy,

ta sử dụng hàm tương quan PACF để đo độ kết hợp giữa Yt và Yt-k , với hệ số tương

quan riêng ρkk ước lượng theo công thức Durbin:

𝑃𝐴𝐶𝐹(𝑘) = 𝑝𝑘𝑘 =𝑝𝑘− ∑ 𝑝𝑘−1 𝑗 𝑝𝑘−𝑗

𝑘−1𝑗=1

1 − ∑ 𝑝𝑘−1 𝑗 𝑝𝑗𝑘−1𝑗=1

(3.7)

Hệ số tương quan riêng phần thể hiện mối quan hệ giữa hai biến khi tất cả những

biến khác giữ nguyên giá trị. Nếu chuỗi dừng thì các kk cũng có phân phối chuẩn

𝑁(0, 1𝑛⁄ ), do đó kiểm định giả thiết đối với ρkk tương tự như đối với ρk.

3.2.2. Biến đổi chuỗi không dừng thành chuỗi dừng

Với chuỗi thời gian ban đầu không có tính dừng, trước khi xây dựng mô hình

ARIMA ta phải biến chuỗi thành có tính dừng, phương pháp là lấy sai phân cấp d với

d = 1 hoặc d = 2,...

Ta có công thức: 𝑌𝑡 = 𝑌𝑡−1 + 𝑢𝑡, giá trị ut là nhiễu trắng.

Ta có công thức sai phân cấp 1 của yt như sau: 𝐷(𝑌𝑡) = 𝑌𝑡 − 𝑌𝑡−1 = 𝑢𝑡, trong đó

với ut là nhiễu trắng nên 𝐷(𝑌𝑡) là chuỗi dừng.

Nếu lấy sai phân cấp 1 chuỗi thời gian Yt nhưng chưa cho kết quả là chuỗi dừng thì

tiếp tục lấy sai phân cấp 2, 3… Có thể nói, luôn có một giá trị d để sai phân cấp d của

Yt là chuỗi dừng. Khi đó, Yt là liên kết bậc d, ký hiệu là I(d). Sai phân của cấp d được

tính như sau:

+ Cấp 1: 𝐷(𝑌𝑡) = 𝑌𝑡 − 𝑌𝑡−1 (3.8)

+ Cấp 2: 𝐷(𝐷(𝑌𝑡)) = 𝐷2(𝑌𝑡) = (𝑌𝑡 − 𝑌𝑡−1) − (𝑌𝑡−1−𝑌𝑡−2) (3.9)

+ Tương tự như vậy với sai phân cấp d: 𝐷(𝐷𝑑−1(𝑌𝑡)) (3.10)

Nếu yt ở dạng logarit thì giá trị 𝐷(𝑌𝑡) là phần trăm thay đổi của yt so với trước đó.

3.3. Mô hình ARIMA

Page 38: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

23

3.3.1. Mô hình tự hồi quy AR (Autoregressive process)

Ý tưởng mô hình AR(p) là hồi quy số liệu của nó trong quá khứ ở những chu kì

trước.

𝑌𝑡 = 𝑎0 + 𝑎1𝑌𝑡−1 + 𝑎2𝑌𝑡−2 + ⋯ + 𝑎𝑝𝑌𝑡−𝑝 + 𝑢𝑡; (3.11)

trong đó:

Yt : quan sát dừng hiện tại;

Yt-1, Yt-2,...: là quan sát dừng ở thời điểm trong quá khứ;

a0, a1, a2, …: các tham số phân tích hồi quy;

ut : sai số dự báo ngẫu nhiên của giai đoạn hiện tại, với ut giá trị trung bình được

mong đợi bằng 0.

Hàm tuyến tính Yt là của chuỗi quan sát dừng những thời điểm trong quá khứ: Yt-1,

Yt-2…

Khi phân tích hồi quy Yt theo các giá trị trong chuỗi thời gian, chuỗi dừng có độ

trễ, chúng ta sẽ được mô hình AR. Số quan sát dừng ở các thời điểm quá khứ được sử

dụng trong mô hình tự hồi quy là bậc p của mô hình AR. Nếu sử dụng 2 quan sát dừng

ở quá khứ, ta có mô hình tương quan bậc hai AR(2).

- Mô hình AR(1) : 𝑌𝑡 = 𝑎0 + 𝑎1𝑌𝑡−1 + 𝑢𝑡 (3.12)

- Mô hình AR(2) : 𝑌𝑡 = 𝑎0 + 𝑎1𝑌𝑡−1 + 𝑎2𝑌𝑡−2 + 𝑢𝑡 (3.13)

3.3.2. Mô hình trung bình trượt MA (Moving Average)

Hàm tuyến tính yt phụ thuộc vào các biến sai số dự báo quá khứ và hiện tại. Mô

hình trung bình trượt là một trung bình trọng số của những sai số mới nhất.

𝑌𝑡 = 𝑏0 + 𝑢𝑡 + 𝑏1𝑢𝑡−1 + 𝑏2𝑢𝑡−2 + ⋯ + 𝑏𝑞𝑢𝑡−𝑞 (3.14)

trong đó:

Yt : quan sát dừng hiện tại;

ut : sai số dự báo;

ut-1, ut-2,... : sai số dự báo quá khứ;

b0, b1, b2,... : giá trị trung bình của yt và các hệ số bình quân di động;

q : là bậc của MA.

- Mô hình MA(1) : 𝑌𝑡 = 𝑏0 + 𝑢𝑡 + 𝑏1𝑢𝑡−1 (3.15)

- Mô hình MA(2) : 𝑌𝑡 = 𝑏0 + 𝑢𝑡 + 𝑏1𝑢𝑡−1 + 𝑏2𝑢𝑡−2 (3.16)

3.3.3. Mô hình trung bình trượt và tự hồi quy ARMA (Autoregressive Moving

Average)

Page 39: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

24

Để biểu diễn sơ đồ Y không chỉ riêng AR hoặc MA mà có thể kết hợp cả hai, sự

kết hợp ta được mô hình ARMA, còn gọi là mô hình trung bình trượt tự hồi quy.

Yt là quá trình ARMA(1, 1) nếu Y có thể biểu diễn dưới dạng:

Yt = 𝑎0 + 𝑎1𝑌𝑡−1 + 𝑢𝑡 + 𝑏0 + 𝑏1𝑢𝑡−1 (u là nhiễu trắng) (3.17)

Tóm lại, Yt là quá trình ARMA (p, q) nếu Yt có thể biểu diễn dưới dạng:

Yt = 𝑎0 + 𝑎1𝑌𝑡−1 + 𝑎2𝑌𝑡−2 + … + 𝑎𝑝𝑌𝑡−𝑝 + 𝑢𝑡 + 𝑏0 + 𝑏1𝑢𝑡−1 +

𝑏2𝑢𝑡−2+ . . . + 𝑏𝑞𝑢𝑡−𝑞

(3.18)

3.3.4. Mô hình trung bình trượt tự hồi quy ARIMA (Autoregressive

Intergrated Moving Average)

Một chuỗi thời gian có thể tuân theo nhiều mô hình khác nhau. Tuy nhiên, cả ba

mô hình AR, MA, ARMA đều yêu cầu chuỗi phải có tính dừng [4]. Nhưng thực tế có

nhiều chuỗi thời gian không có tính dừng. Vậy làm thế nào để áp dụng được các mô

hình trong thực tế ? Câu trả lời ở đây là sử dụng phương pháp lấy sai phân biến đổi

một chuỗi không dừng thành chuỗi dừng, trước khi sử dụng mô hình ARMA.

Nếu chuỗi Yt có đồng liên kết bậc d trên mô hình ARMA (p, q) cho chuỗi sai phân

bậc d, thì chúng ta có mô hình ARIMA (p, d, q). Với bậc tự hồi quy p, số lần lấy sai

phân d để chuỗi Yt được xác định là chuỗi dừng, bậc trung bình trượt q (p và q là bậc

tương ứng của chuỗi dừng).

- Trong mô hình ARIMA (p, d, q), khi d = 0 và q = 0 thì ta có AR(p).

- Trong mô hình ARIMA (p, d, q), khi d = 0 và p = 0 thì ta có MA(q).

- Với ARIMA(1,1,1) nghĩa là Yt có sai phân bậc 1 là một chuỗi dừng. Chuỗi sai

phân dừng này có thể biểu diễn dưới dạng ARMA (1,1).

∆𝑌𝑡 = 𝑎0 + 𝑎1𝑌𝑡−1 + 𝑎0𝑢𝑡 + 𝑎1𝑢𝑡−1 (u là nhiễu trắng) (3.19)

Như vậy, xác định được các giá trị p, d, q ta sẽ mô hình hóa được chuỗi ARIMA.

Ta thấy, mô hình ARIMA chỉ sử dụng các giá trị trong quá khứ của chuỗi chứ không

dùng thêm biến độc lập khác.

3.3.5. Dự báo dữ liệu chuỗi thời gian

Dự báo chuỗi thời gian là phương pháp dự báo sử dụng các giá trị lịch sử của các

nhân tố chẳng hạn như giá và sản lượng, lạm phát, lợi nhuận trong quá khứ,… để dự

báo giá trị hiện tại hoặc dự báo sự thay đổi của giá trị hiện [4]. Gồm có loại dự báo

chính là dự báo định tính và dự báo định lượng. Chuỗi thời gian thuộc lớp dự báo định

lượng vì kết quả của mô hình là một giá trị định lượng, nên được sử dụng khá phổ biến

trong nghiên cứu kinh tế học như GDP, lạm phát, tăng trường hay nghiên cứu giá cả

thị trường. Trong loại hình này một vài nguyên tắc dự báo cơ bản thường được dùng là

AR, MA,…

Page 40: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

25

Phương pháp Box-Jenkins được xem là một trong những kỹ thuật có hiệu quả cao

trong việc đưa ra các dự báo chính xác và có độ tin cậy cao. Sức mạnh của nó là ở chỗ

nó đưa ra những thông tin giúp nhà phân tích chuỗi thời gian lựa chọn mô hình phù

hợp với dữ liệu quan sát được. Đối với các phương pháp khác, nhà phân tích giả thiết

một mô hình nào đó rồi tiến hành ước lượng các tham số của mô hình. Trong giai đoạn

đầu tiên, ta nhận dạng một mô hình thử nghiệm bằng cách so sánh các hàm tự tương

quan mẫu và tự tương quan riêng phần mẫu của chuỗi thời gian dừng với các hàm tự

tương quan và tự tương quan riêng lí thuyết của các mô hình ARMA.

ARIMA là một mô hình dự báo phổ biến và linh hoạt sử dụng dữ liệu trong quá

khứ để đưa ra các dự báo [7]. Loại mô hình này là một kỹ thuật dự báo cơ bản có thể

được sử dụng làm nền tảng cho các mô hình phức tạp hơn. Dựa vào những đặc điểm

đó, trong phần thực nghiệm học viên quyết định sử dụng mô hình ARIMA để thực

nghiệm trên tập dữ liệu chuỗi thời gian.

Các bước chính trong phương pháp Box‐Jenkins:

Bước 1: Nhận dạng mô hình

Dữ liệu quá khứ được sử dụng để nhận dạng thử một mô hình ARIMA thích hợp.

Bước 2: Ước lượng mô hình

Dữ liệu quá khứ được sử dụng để ước lượng các tham số của mô hình thử nghiệm.

Bước 3: Kiểm tra dự đoán xem mô hình có phù hợp

Các đánh giá khác nhau được dùng để kiểm tra sự thích hợp của mô hình thử

nghiệm, và nếu cần thiết, gợi ý một mô hình tốt hơn rồi sau đó mô hình này lại được

xem như một mô hình thử nghiệm mới.

Bước 4: Dự báo

Khi đã chọn được mô hình cuối cùng, nó được sử dụng để dự báo các giá trị tương

lai của chuỗi thời gian.

Page 41: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

26

Nhận dang mô hình

Ước lượng mô hình

Mô hình có phù hợp?

Dự báo

Vẽ biểu đồ chuỗi giá trị

Là chuỗi dừng?

Lấy sai phân của chuỗi

Điều chỉnh mô hình

Không

Không

Hình 3.6. Các bước chính trong phương pháp Box‐Jenkins

Trên thực tế, nhiều chuỗi thời gian có thể được biểu diễn bằng những mô hình đơn

giản. Mô hình với số tham số thường được ưa chuộng hơn. Thông thường đối với các

mô hình ARMA(p, q) ta chỉ cần xét p ≤ 2 và/hoặc q ≤ 2. Có thể cải thiện việc biểu

diễn mô hình bằng cách sử dụng một phép biến đổi dữ liệu gốc phù hợp. Dữ liệu đã

được biến đổi, nếu chưa có tính dừng, sẽ được sai phân hóa cho đến khi đạt được tính

dừng bởi vì ta bắt buộc phải làm việc với chuỗi thời gian dừng.

Tóm tắt chương 3

Chương 3 đã đi sâu chi tiết phân tích các đặc điểm chuỗi dữ liệu chuỗi thời gian, và

dựa vào đặc điểm của dữ liệu chuỗi thời gian đã đưa ra lựa chọn mô hình phân tích

phù hợp ARIMA.

Chương 4 học viên tiến hành thực nghiệm tập dữ liệu dịch bệnh cúm do Google

Flu Trends công bố sử dụng R và dựa trên mô hình ARIMA.

Page 42: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

27

CHƯƠNG 4. THỰC NGHIỆM VÀ ĐÁNH GIÁ

Hiện nay, có nhiều phương pháp ứng dụng trong việc khai phá, phân tích và dự

đoán xu hướng dữ liệu. Kéo theo đó là rất nhiều phần mềm hỗ trợ cho việc phân tích

và dự đoán dữ liệu. Luận văn này sử dụng phần mềm R để làm thực nghiệm trên tập

dữ liệu dịch cúm Google Flu Trends công bố.

4.1. Mô hình thực nghiệm

Trong phần thực nghiệm này, với bộ dữ liệu liên quan đến dịch bệnh cúm như đã

đề cập ở trên, luận văn sẽ giới thiệu từng bước thực nghiệm sử dụng mô hình ARIMA

và sử dụng R.

Mô hình ARIMA phổ biến và linh hoạt trong lĩnh vực dự đoán bằng việc sử dụng

những thông tin trong quá khứ để đưa ra dự đoán. Loại mô hình này là kỹ thuật dự

đoán cơ bản mà có thể được sử dụng giống như một nền tảng cho những mô hình hoàn

thiện hơn.

ARIMA cho hồi quy tự động được tích hợp trung bình trượt và được chỉ định bởi

thứ tự 3 tham số (p, d, q), tiến trình phù hợp mô hình ARIMA là thỉnh thoảng được đề

cập tới giống như phương thức Box-Jenkins.

Một công cụ tự hồi quy (auto regressive - AR) hướng tới sử dụng những giá trị quá

khứ trong công thức hồi quy cho chuỗi Y, tham số tự hồi quy p chỉ định số lượng của

độ trễ được dùng trong mô hình.

𝑌𝑡 = 𝑎0 + 𝑎1𝑌𝑡−1 + 𝑎2𝑌𝑡−2 + ⋯ + 𝑎𝑝𝑌𝑡−𝑝 + 𝑢𝑡 (4.2)

Một công cụ trung bình trượt (moving average - MA) nêu ra lỗi của mô hình giống

như sự kết hợp thành phần lỗi trước đây et. Theo đó q xác định số lượng giới hạn gồm

có trong mô hình.

𝑌𝑡 = 𝑏0 + 𝑒𝑡 + 𝑏1𝑒𝑡−1 + 𝑏2𝑒𝑡−2 + ⋯ + 𝑏𝑞𝑒𝑡−𝑞 (4.3)

Mặt khác, tự hồi quy và công cụ trung bình trượt thể hiện một mô hình ARIMA

theo mùa có thể được viết bằng sơ đồ tuyến tính:

𝑌𝑡 = 𝑎0 + 𝑎1𝑌𝑡−1 + 𝑎2𝑌𝑡−2 + … + 𝑎𝑝𝑌𝑡−𝑝 + 𝑢𝑡 + 𝑏0 + 𝑏1𝑢𝑡−1

+ 𝑏2𝑢𝑡−2 + . . . + 𝑏𝑞𝑢𝑡−𝑞

(4.4)

Lưu ý rằng mô hình ở trên giả định chuỗi không theo mùa, có nghĩa là ta có thể cần

phải không hợp lý hóa chuỗi trước khi mô hình hóa.

Mô hình ARIMA có thể được chỉ định thông qua cấu trúc mùa. Trong trường hợp

này, mô hình được chỉ định với hai tập của tham số (p, d, q) giống như mô tả ở trên và

những tham số mô tả thành phần mùa m.

Phương pháp ARIMA có những hạn chế của nó. Những mô hình này dựa trực

tiếp vào các giá trị trong quá khứ và hoạt động tốt nhất trên chuỗi dữ liệu dài và

Page 43: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

28

ổn định.

4.2. Mục đích thực nghiệm

Dựa trên tập dữ liệu dịch cúm của Google Flu Trends tiến hành thực nghiệm nhằm

phân tích và đưa ra kết quả dự báo. Trong phân thực nghiệm này học viên sử dụng mô

hình ARIMA để phân tích hồi quy tập dữ liệu chuỗi thời gian, qua đó đưa ra mô hìn dự

báo diễn biến dịch bệnh. Hiện nay, phân tích dự báo đang trở thành công tác quan

trọng ở các đơn vị quản lý và hoạch định chiến lược. Số liệu được phân tích, dự đoán

phục vụ cho việc định hướng các hoạt động trong tương lai.

4.3. Tập dữ liệu Google Flu Trends

Google Flu Trends là một dịch vụ web do Google thực hiện. Nó cung cấp ước tính

về diễn biến của dịch cúm hơn 25 quốc gia, bằng cách thu thập các truy vấn của công

cụ tìm kiếm Google, nó cố gắng để đưa ra dự đoán chính xác về hoạt động của dịch

cúm. Dự án này được Google.org triển khai lần đầu tiên vào năm 2008 để giúp dự

đoán sự bùng phát của dịch cúm.

Google Flu Trends hiện không còn công bố số liệu dịch cúm hiện tại. Các dữ liệu

lịch sử của 25 nước vẫn có sẵn và dữ liệu được cung cấp cho các mục đích nghiên cứu,

chúng ta có thể tải về từ địa chỉ: https://www.google.org/flutrends/about/

Tập dữ dữ liệu Google Flu Trends được tổng hợp qua nhiều năm trên nhiều quốc

gia, với tập dữ liệu được thu thập qua nhiều năm tại 25 nước trên thế giới, đó là tập dữ

liệu lý tưởng để phân tích và đưa ra dự báo. Số liệu dịch cúm mà Google Flu Trends

tổng hợp và công bố, được đánh giá sát với số liệu của hệ thống cảnh báo độc lập

Sentinel GP và HealthStat cung cấp. Dữ liệu của Google Flu Trends được tổng hợp

theo thời gian thực và sẽ được đối chiếu lại với số liệu của những trung tâm kiểm soát

dịch bệnh trên thế giới.

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ỹ

Đường màu xanh là số liệu được tổng hợp thông qua www.google.com với các từ

khóa tìm kiếm liên quan đến các dịch cúm, màu vàng là dữ liệu do và Trung tâm kiểm

soát và phòng ngừa các chứng bệnh của Mỹ đưa ra.

Page 44: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

29

Số liệu dự báo được thu thập theo thời gian của các thành phố rải rác trên 25 quốc

gia, từ năm 2003 đến 2015. Số liệu dịch cúm được thu thập không theo định kỳ, mà

được tổng hợp tại các thời điểm ngẫu nhiên trong tháng, bộ dữ liệu được tổng hợp đầy

đủ 12 tháng trong năm, để có thể đánh giá được diễn biến dịch bệnh theo các thời điểm

từng tháng của năm. Trong một tập dữ liệu được thu thập gồm 2 trường thông tin: Date

(ngày), Tên địa danh (đất nước hoặc thành phố). Cột Date là các thời điểm ghi nhận số

lượng ca mắc cúm được biểu diễn bằng các ngày trong tháng và đối với mẫu dữ liệu 1

năm của một đất nước/thành phố luôn được ghi nhận đủ dữ liệu 12 tháng, kiểu dữ liệu

cột Date là kiểu ngày (date). Cột Tên địa danh là tên của đất nước hoặc thành phố

được ghi nhận, tại cột này ghi nhận số lượng ca mắc cúm tương ứng với thời điểm ghi

nhận tại cột Date, kiểu dữ liệu cột này là Integer. Có thể tải bộ dữ liệu tại địa chỉ

https://www.google.org/flutrends/about để mở các tệp này trong ứng dụng bảng tính,

mở tệp văn bản dưới dạng bảng tính CSV.

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

Tại hình 4.2 ở trên ta thấy tại vùng (1) là dữ liệu của cột Date là các thời điểm ghi

nhận số ca mắc cúm. Tại vùng số (2) là số lượng ca mắc cúm tương ứng với các mốc

thời gian tại cột Date, số lượng ca mắc cúm được ghi nhận của 25 nước khác nhau trên

thế giới. Tương tự, khi xét tập dữ liệu của một quốc gia ta cũng sẽ có được một tập dữ

liệu với cấu trúc gồm 2 cột Date và Tên địa danh là các thành phố.

Google Flu Trends được đã sử dụng phương pháp sau đây để thu thập thông tin về

diễn biến của dịch cúm.

(1)

(2)

Page 45: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

30

Thứ nhất, chuỗi thời gian được tính cho khoảng 50 triệu truy vấn phổ biến được

cập nhật hàng tuần ở Hoa Kỳ từ năm 2003 đến năm 2008. Một chuỗi thời gian của truy

vấn được tính riêng cho mỗi trạng thái và được bình thường hóa thành một phần nhỏ

bằng cách chia số truy vấn cho mỗi số tất cả các truy vấn trong tiểu bang đó. Bằng

cách xác định địa chỉ IP của mỗi tìm kiếm, trạng thái truy vấn này đã được nhập có thể

được xác định.

log(𝑃) = 𝛽0 + 𝛽1 𝑥 log(Q) + 𝜀 (4.1)

P là tỷ lệ phần trăm của truy cập bác sĩ và Q là phân số truy vấn liên quan đến triệu

chứng giống bệnh cúm tính trong các bước trước. β0 là hệ số chặn và β1 là hệ số, trong

khi ε là sai số.

Mỗi trong số 50 triệu truy vấn được kiểm tra là Q để xem liệu kết quả tính từ một

truy vấn có thể khớp với dữ liệu liên quan đến các triệu chứng của bệnh cúm trong lịch

sử, thực tế thu được từ Trung tâm Kiểm soát và Phòng ngừa dịch bệnh của Hoa Kỳ

(viết tắt là CDC). Quá trình này tạo ra một danh sách các truy vấn hàng đầu cung cấp

cho các dự đoán chính xác nhất của dữ liệu liên quan quan đến triệu chứng cúm của

CDC khi sử dụng mô hình tuyến tính. Sau đó, 45 truy vấn hàng đầu được chọn vì khi

kết hợp với nhau, những truy vấn này phù hợp với dữ liệu lịch sử một cách chính xác

nhất. Sử dụng tổng số 45 truy vấn liên quan đến triệu chứng giống bệnh cúm hàng đầu,

mô hình tuyến tính được lắp vào dữ liệu hàng tuần giữa năm 2003 và 2007 để có thể

đạt được hệ số. Cuối cùng, mô hình đào tạo được sử dụng để dự đoán dịch cúm ở tất

cả các vùng ở Mỹ.

4.4. Môi trường, cấu hình hệ thống và công cụ

4.4.1. Cấu hình phần cứng

Thành phần Chỉ số

CPU Intel Pentium T4400 / 2.2 GHz

RAM 2 x 2 GB

OS Windows 7

Bộ nhớ ngoài 250 GB

Bảng 1. Cấu hình phần cứng

4.4.2. Các công cụ phần mềm sử dụng

TT Tên phần mềm Nguồn

1 R i386 3.4.4 https://www.r-project.org

Bảng 2. Các công cụ, phần mềm sử dụng

4.5. Kết quả thực nghiệm

Page 46: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

31

Đầu tiên, để tiến hành thực nghiệm chúng ta mở những gói thư viện cần thiết

trong R và đọc tập dữ liệu cần phân tích, ta dùng 4 thư viện: ggplot2, forecast,

tseries, lubridate.

Ví dụ: Sử dụng thư viện lubridate

Nếu thư viện chưa được cài đặt ta tiền hành cài trước khi sử dụng:

Hình 4.3. Cài đặt gói thư viện

4.5.1. Lựa chọn và xử lý dữ liệu

Bộ dữ liệu của GFT công bố gồm rất nhiều nước trên thế giới, tuy nhiên để giảm

bớt dữ liệu trùng lặp mà vẫn thể hiện được tính liên quan giữa thời gian và số liệu cúm

biến động. Trong tập dữ liệu được thu thập của Argentina và các thành phố thuộc

Argentina, luận văn đã lọc những dữ liệu dịch cúm của Argentina được thống kê từ

năm 2003 đến 2015, dữ liệu cúm được tổng hợp và đại diện chung cho các thành phố

khác của Argentina.

Tập dữ liệu sẽ bao gồm các thông tin ngày - tháng - năm, số lượng; đối với tập dữ

liệu sẽ có 2 cột được làm thực nghiệm: Date (ngày tháng) và Argentina (số liệu cúm

được tổng hợp). Kết quả thu được là số liệu công bố dịch cúm của Argentina từ 2003

đến 2015 có 655 bản ghi. Nạp dữ liệu:

Page 47: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

32

Hình 4.4. Nạp dữ liệu

Ta có tập dữ liệu d sau khi được nạp như sau:

Hình 4.5. Tập dữ liệu cúm của Argentina

Bước 1: Lựa chọn dữ liệu

Trong tập dữ liệu được nạp d là dữ liệu từ năm 2003 đến năm 2015, dữ liệu được

thu thập và có biến động tại các thời điểm khác nhau trong mỗi năm và từ năm này qua

năm khác. Tuy nhiên, với sự biến động dữ liệu này, bằng trực quan cũng có thể nhận

Page 48: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

33

thấy một số mẫu dữ liệu, ví dụ: số ca mắc cúm thường tăng cao vào những tháng 5, 6,

7 hàng năm. Để dự đoán được xu hướng diễn biến dịch cúm trong một năm, ta tiến

hành trích xuất dữ liệu của một năm bất kỳ trong tập d, cụ thể dữ liệu của năm 2004.

Hình 4.6. Tập dữ liệu cúm của Argentina năm 2004

Ta trích lấy mẫu dữ liệu của Argentina được thu thập vào năm 2004 để tự đánh giá

diễn biến của mô hình dữ liệu trong một năm của dịch cúm. Xây dựng sơ đồ diễn biến

ta thấy số liệu có sự biến đổi theo các tháng trong năm, tập trung cao điểm vào các

tháng 5, 6 và có sự suy giảm vào các tháng khác.

Hình 4.7. Diễn biến cúm năm 2004 của Argentina theo tháng

Với số liệu được trình diễn bằng sơ đồ ta có thể thấy rằng diễn biến dịch bệnh được

thay đổi theo thời gian và có chu kỳ diễn biến nhất định. Tại Hình 4.7, sơ đồ biểu diễn

dịch bệnh cúm mùa của Argentina năm 2004, số ca mắc được phân bổ như sau: vào

những tháng 1, 2, 3, 4 dịch cúm ở mức thấp; đến tháng 5, 6, 7, 8, 9 số ca mắc tăng vọt

và giảm dần vào cuối năm từ tháng 10, 11, 12. Chu kỳ biến động dịch bệnh cũng được

lặp đi lặp lại từ năm này qua năm khác. Từ phép phân tích trên có thể nhận thấy chu kỳ

tăng, giảm của bệnh dịch qua đó sẽ đưa ra dự báo cho thời diểm trong tương lai.

Page 49: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

34

Đánh giá tập dữ liệu năm 2004 của Argentina nói riêng và các tập dữ liệu khác của

Google Flu Trends nói chung, nhận thấy các tập dữ liệu bao gồm những thông tin cơ

bản đáp, ứng yêu cầu phân tích chuỗi dữ liệu thời gian, các thuộc tính đều phù hợp với

mô hình, nên không cần phải qua bước xử lý dữ liệu. Cụ thể, trong tập dữ liệu năm

2004 của Argentina có duy nhất 2 cột: Date (ngày ghi nhận số ca mắc cúm) và

Argentina (số liệu cúm được ghi nhận). Tập dữ liệu đầu vào đã đáp ứng nên thực

nghiệm của luận văn bỏ qua Bước 2: Tiền xử lý dữ liệu và chuyển qua Bước 3: Đổi

dạng.

Bước 3: Đổi dạng

Ta loại bỏ các ngoại lệ của chuỗi thời gian với tsclean(), xác định và thay thế các

ngoại lệ bằng cách làm mịn và phân tách chuỗi thời gian. Phương thức này có khả

năng nhập các giá trị bị mất trong chuỗi nếu có, chúng ta sử dụng lệnh ts() để tạo một

đối tượng chuỗi thời gian qua hàm tsclean().

Sử dụng hàm tsclean(), tập dữ liệu được làm sạch, trong tập dữ liệu mới được tạo

ra có thêm cột clean_scm, là số liệu đã được làm sạch.

Hình 4.8. Dữ liệu cúm của năm 2004 Argentina được làm sạch

Vẽ biểu đồ với tập dữ liệu Nam2004 sau khi được xử lý làm sạch dữ liệu, ta nhận

được biểu đồ bằng với dữ liệu sạch, như sau:

Page 50: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

35

Hình 4.9. Diễn biến cúm Argentina năm 2014 được làm sạch

Ngay khi loại bỏ các ngoại lệ, biểu đồ dữ liệu vẫn khá giống với biểu đồ trước khi

được làm sạch (gồm những dữ liệu ngoại lệ). Nhìn trực quan, ta có thể vẽ một đường

thẳng qua chuỗi và đỉnh trong khi làm mịn các dao động. Đường thẳng này có thể

được mô tả bằng khái niệm trong phân tích chuỗi thời gian được gọi là trung bình trượt

MA (moving average). Công thức chung, trung bình trượt MA của số ca mắc cúm m

có thể được tính bằng cách lấy trung bình của chuỗi Y, k khoảng thời gian xung quanh

mỗi điểm:

𝑀𝐴 =1

𝑚∑ 𝑌𝑡+𝑗

𝑘𝑗 = −𝑘 (4.5)

Trong đó: m = 2k + 1, số lượng trên được gọi là trung bình trượt đối xứng.

Trung bình trượt MA(q) là một phần của mô hình ARIMA, đề cập đến độ trễ lỗi và

kết hợp, trong khi thống kê của trung bình trượt đề cập đến kỹ thuật làm mịn dữ liệu.

Cửa sổ của trung bình trượt càng rộng, chuỗi thời gian ban đầu càng mượt mà hơn.

Trong bài phần thực nghiệm này, chúng ta lấy mức trung bình theo những khoảng thời

gian, làm mịn để chuỗi trở nên ổn định hơn và có thể dự đoán được.

Ngoài sơ đồ biến động dịch cúm 2004, lập mô hình dữ liệu theo hàng ngày có thể

yêu cầu xác định nhiều mức độ thời vụ (seasonality). Để đơn giản, ta lập mô hình

trung bình trượt theo 7 ngày (được thể hiện bởi dòng màu xanh).

Page 51: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

36

Hình 4.10. So sánh số liệu bệnh cúm của Argentina với dữ liệu được làm mịn

4.5.2. Phân tách dữ liệu

Bước 4: Khai phá dữ liệu

Các thành phần được xây dựng của quá trình phân tích chuỗi thời gian là tính thời

vụ (seasonality), xu hướng (trend) và chu kỳ (cycle). Các thành phần trực quan này

nắm bắt các mẫu dữ liệu quá khứ của chuỗi. Đầu tiên, tính toán thành phần mùa của dữ

liệu bằng cách sử dụng stl(), để phân tích và dự báo chuỗi dữ liệu thời gian. Nó tính

toán thành phần mùa của chuỗi bằng cách làm mịn và điều chỉnh chuỗi ban đầu bằng

cách loại bỏ tính thời vụ theo hai dòng đơn giản.

Trong trường hợp cấu trúc mô hình bổ sung, cùng một nhiệm vụ phân tách chuỗi

và loại bỏ tính thời vụ có thể được thực hiện bằng cách bỏ đi thành phần theo mùa từ

chuỗi ban đầu với hàm seasadj(). Xác định tính chu kỳ của dữ liệu với ts(), tức là số

lần quan sát trong một khoảng thời gian là 7 ngày.

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ỳ

Page 52: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

37

Sử dụng ADF để kiểm tra tính dừng của chuỗi thời gian trước khi sử dụng ARIMA

để dự đoán, kết quả kiểm tra qua ADF như sau:

Augmented Dickey-Fuller Test data: count_sm Dickey-Fuller = -1.2685, Lag order = 3, p-value = 0.8648 alternative hypothesis: stationary

Với kết quả trả về giá trị 𝑝 − 𝑣𝑎𝑙𝑢𝑒 = 0.8648 và lớn hơn 0.05 cho thấy chuỗi

không có tính dừng. Vì vậy, tiếp tục chọn các tham số thứ tự cho mô hình ARIMA.

Có thể thể hiện trực quan tính không dừng của chuỗi qua mô hình ACF hiển thị

mối tương quan giữa một chuỗi và độ trễ của nó. Các mô hình ACF có thể giúp xác

định bậc của mô hình MA(q). PACF hiển thị mối tương quan giữa một biến và độ trễ

của nó không được giải thích bởi các trễ trước đó.

Khi biểu diễn mô hình, trong R vẽ đường ranh giới 95% là đường chấm màu xanh.

Có mối tự tương quan với các độ trễ trong chuỗi dịch bệnh cúm của chúng ta, có thể

quan sát mô hình ACF bên dưới. nhìn vào mô hình PACF ta thấy sự tăng đột biến ở độ

trễ thứ 1 và dần giảm về quanh giá trị 0.

Hình 4.12. Mô hình ACF

Page 53: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

38

Hình 4.13. Mô hình PACF

Ta thấy, mô hình ACF tại Hình 4.12 và mô hình PACF tại Hình 4.13 các hệ số

tương quan giảm rất chậm về 0, như trong sơ đồ ACF có đến 11 độ trễ khác 0 và nằm

ngoài giới hạn tin cậy 5%. Ta có thể kết luận chuỗi không có tính dừng.

Tiếp tục với sai phân 𝑑 = 1 và đánh giá lại. Vẽ sơ đồ chuỗi khác, chúng ta thấy

một mô hình dao động quanh 0 không có xu hướng rõ ràng. Kiểm tra lại với ACF với

𝑑 = 1, cho kết quả như sau:

Augmented Dickey-Fuller Test data: count_d1 Dickey-Fuller = -3.5602, Lag order = 3, p-value = 0.0471 alternative hypothesis: stationary

Với 𝑑 = 1 qua phép kiểm tra ADF ta thu được giá trị 𝑝 − 𝑣𝑎𝑙𝑢𝑒 = 0.0471 nhỏ

hơn 0.05, vậy có thể kết luận chuỗi đã có tính dừng.

Hình 4.14. Mô hình kiểm tra với 𝐝 = 𝟏

Tiếp theo, các mức tăng đột biến ở độ trễ cụ thể của chuỗi có thể giúp lựa chọn p

hoặc q cho mô hình của chúng ta. Có sự tương quan tự đáng kể ở độ trễ 1. Tại các

Page 54: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

39

Hình 4.15 mô hình ACF với 𝑑 = 1 và Hình 4.16 mô hình PACF với 𝑑 = 1, ta thấy

ACF và PACF có sự tăng đột biến đáng kể ở độ trễ 1 và giảm dần về 0, đánh giá thấy

chuỗi đáp ứng tính dừng, nên chúng ta có thể thử nghiệm các mô hình với các thành

phần AR hoặc MA theo độ trễ 1.

Hình 4.15. Mô hình ACF với 𝐝 = 𝟏

Hình 4.16. Mô hình PACF với 𝐝 = 𝟏

Bây giờ chúng ta áp dụng mô hình. Gói thư viện forecast cho phép người dùng xác

định rõ bậc của mô hình bằng cách sử dụng hàm ARIMA() hoặc tự động tạo một tập

hợp tối ưu (p, d, q) sử dụng auto.arima().

Hai trong số các tiêu chí được sử dụng rộng rãi nhất là tiêu chí thông tin Akaike

(AIC) và các tiêu chuẩn thông tin Baysian (BIC). Các tiêu chí này có liên quan chặt

chẽ và được hiểu là ước tính số lượng thông tin sẽ bị mất nếu một mô hình cụ thể được

chọn. Khi so sánh các mô hình, người ta muốn giảm thiểu AIC và BIC.

Bước 5: Trình diễn

Page 55: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

40

Ta có thể chỉ định cấu trúc không theo mùa ARIMA và phù hợp với mô hình để

khử dữ liệu theo mùa. Các tham số (1, 1, 1) được đề xuất bởi quy trình tự động; mô

hình kết hợp sự khác biệt về bậc 1 và sử dụng thuật ngữ tự động của độ trễ đầu tiên và

mô hình trung bình động auto.arima().

Ta đã có một mô hình dự báo, chúng ta có thể bắt đầu bằng cách kiểm tra các ô

ACF và PACF.

Hình 4.17. Mô hình 𝐀𝐑𝐈𝐌𝐀(𝟏, 𝟏, 𝟏)

Có một mô hình ACF / PACF và các ô mẫu còn lại lặp lại ở độ trễ 7. Điều này cho

thấy mô hình của chúng ta có thể tốt hơn với một đặc tả khác, như 𝑝 = 7 ℎ𝑜ặ𝑐 𝑞 = 7.

Chúng ta có thể lặp lại quá trình phù hợp cho phép thành phần 𝐴𝑅(7) và kiểm tra

lại mô hình chẩn đoán. Lần này, không có hiện tượng tự tương quan đáng kể nào. Nếu

mô hình không được chỉ định chính xác, thì thường sẽ được phản ánh dưới dạng các

xu hướng, độ lệch, hoặc bất kỳ mẫu nào khác không được mô hình nắm bắt. Lý tưởng

nhất, dư lượng sẽ trông giống như nhiễu trắng, có nghĩa là chúng thường được phân

phối. Hàm tsdisplay() có thể được sử dụng để vẽ các mô hình chẩn đoán này. Các mô

hình còn lại cho thấy phạm vi lỗi nhỏ hơn, ít nhiều tập trung xung quanh 0. Chúng ta

có thể quan sát thấy AIC nhỏ hơn đối với cấu trúc (1, 1, 7).

Page 56: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

41

Hình 4.18. Mô hình ARIMA (1, 1, 7)

Chúng ta có thể thông qua mô hình trong R để dự báo h giai đoạn trong tương lai,

với tham số h được xác định theo chu kỳ 30 ngày liên tiếp có ghi nhận số liệu cúm của

tập dữ liệu.

Hình 4.19. Mô hình dự báo với hệ số (1, 1, 1)

Đường màu xanh nhạt ở trên cho thấy sự phù hợp do mô hình cung cấp. Một

phương pháp nữa là dự trữ một phần dữ liệu của chúng ta dưới dạng tập hợp "giữ"

(hold-out), phù hợp với mô hình và sau đó so sánh dự báo với các giá trị được quan sát

thực tế.

Page 57: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

42

Hình 4.20. Mô hình dự báo

Tuy nhiên, đường màu xanh đại diện cho dự báo có vẻ rất đơn giản, nó đi gần với

một đường thẳng khá sớm, mà dường như không giống với mô hình trong quá khứ của

chuỗi. Nhớ rằng mô hình này, giả sử một chuỗi không có thời vụ và phân biệt dữ liệu

không có tính dừng ban đầu. Nói cách khác, dự đoán được vẽ dựa trên giả định rằng sẽ

không có biến động theo mùa nào khác trong dữ liệu và thay đổi về số lượng cúm từ

ngày này sang ngày khác ít nhiều liên tục về trung bình và phương sai.

Chúng ta thêm lại thành phần theo mùa mà đã trích xuất trước đó. Một cách tiếp

cận khác là cho phép các thành phần (p, d, q) được đưa vào mô hình, đó là một mặc

định trong hàm auto.arima(). Lắp lại mô hình trên cùng một dữ liệu, ta thấy rằng vẫn

có thể có một số mẫu theo mùa trong chuỗi, với thành phần theo mùa được mô tả bởi

𝐴𝑅(1).

Hình 4.21. Mô hình dự báo ARIMA(0, 2, 0)(0, 0, 1)(7)

Lưu ý rằng, các thông số (p, d, q) thay đổi sau khi chúng ta bao gồm một thành

phần theo mùa. Chúng ta có thể trải qua quá trình đánh giá mô hình còn lại và các ô

ACF / PACF và điều chỉnh cấu trúc nếu cần thiết.

Cả hai ước tính dự đoán ở trên được cung cấp với độ tin cậy cao: độ tin cậy 80%

Page 58: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

43

được tô bằng màu xanh sẫm hơn và 95% màu xanh nhạt hơn. Dự báo dài hạn thường

sẽ có sự không chắc chắn hơn, vì mô hình sẽ hồi quy Y trong tương lai dựa trên các

giá trị được dự đoán trong quá khứ của chuỗi.

Ta quan sát tập dữ liệu cúm của Argentina được biểu diễn từ năm 2003 đến 2010,

số liệu cúm cũng diễn biến theo như hình dưới đây:

Hình 4.22. Diễn biến dịch bệnh thực tế tại Argentina từ năm 2003 đến 2015

4.6. Đánh giá kết quả

Với số liệu được trình diễn bằng sơ đồ ta có thể thấy rằng diễn biến dịch bệnh được

thay đổi theo thời gian và có chu kỳ diễn biến nhất định. Tại hình 4.19 sơ đồ biểu diễn

dịch bệnh cúm mùa của Argentina năm 2004, số ca mắc được phân bổ như sau: vào

mùa những tháng 1, 2, 3, 4 dịch cúm ở mức thấp ; đến tháng 5, 6, 7, 8, 9 do sự thay đổi

thời tiết khiến dịch bệnh tăng vọt và giảm dần vào cuối năm từ tháng 10, 11, 12. Chu

kỳ biến động dịch bệnh cũng được lặp đi lặp lại từ năm này qua năm khác. Từ phép

phân tích trên có thể nhận thấy chu kỳ tăng, giảm của bệnh dịch qua đó sẽ đưa ra dự

báo cho thời diểm trong tương lai.

Như vậy model ARIMA dự báo được chính xác 80% số trường hợp tăng của dịch

bệnh, trong phần thực nghiệm ta sử dụng tập dữ liệu mẫu số liệu bệnh cúm tại

Arrgentina.

Để rõ hơn về quy luật này ta nhìn vào Hình 4.20. Diễn biến dịch bệnh tại Argentina

từ năm 2003 đến 2015, số liệu được biến thiên đều đặn hàng năm theo biểu đồ hình sin

từ năm 2003 đến 2011.

Tóm tắt chương 4

Chương 4 luận văn tiến hành thực nghiệm phân tích tập dữ liệu dịch bệnh cúm của

Google Flu Trends trên R, thông qua mô hình ARIMA và đưa ra dự báo dữ liệu từ tập

dữ liệu cúm của Argentina. Qua kết quả phân tích và đối chiếu mô hình dự báo với dữ

2003-02-02 2004-02-15 2005-02-27 2006-03-12 2007-03-25 2008-04-06 2009-04-19 2010-05-02 2011-05-15 2012-05-27 2013-06-09 2014-06-22 2015-07-05

10

02

00

30

04

00

Page 59: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

44

liệu thực tế cho thấy tỷ lệ chính xác lên 95%, qua đó có thể thấy độ tin cậy của kết quả

dự đoán trong phần thực nghiệm.

Page 60: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

45

KẾT LUẬN

1. Các kết quả đạt được

Để nghiên cứu bài toán ứng dụng khai phá dữ liệu trong y tế dự phòng, học viên

đã tập trung nghiên cứu các khái niệm về y tế dự phòng, thực trạng về nhu cầu trong

việc quản lý, phân tích và dự báo đươc dịch bệnh trên tập số liệu được báo cáo.

Bên cạnh đó, học viên cũng nghiên cứu, tìm hiểu một số phương pháp khai phá

dữ liệu hiện nay. Cùng với đó là đề xuất một số phương pháp khai dữ liệu phù hợp với

tập dữ liệu dịch bệnh cúm do Google công bố.

Dựa trên nghiên cứu đó luận văn đề xuất một mô hình dự báo dịch bệnh truyền

nhiễm dựa trên tập dữ liệu thời gian. Luận văn cũng tiến hành cài đặt thực nghiệm một

tập dữ liệu được trích xuất trong tập dữ liệu của một quốc gia. Dựa vào kết quả phân

tích, dự báo như đã trình bày trong phần thực nghiệm, lấy đó làm cơ sở cho cho xây

dựng các bài toán dự báo tình hình dịch bệnh.

2. Hướng nghiên cứu tiếp theo

Trong khuôn khổ luận văn này, tôi mới chỉ dừng lại ở việc phân tích chuỗi dữ

liệu thời gian và đưa ra dự báo dựa vào xu hướng dữ liệu trên thực nghiệm trong mô

hình đó, đánh giá kết quả dự báo trên tập dữ liệu so với số liệu thực tế.

Trong thời gian tới, tôi sẽ tiếp tục thực nghiệm các tập dữ liệu còn lại trong tập

dữ liệu được công bố, đồng thời xem xét hướng nghiên cứu bổ sung nhằm phân tích,

đánh giá các quy luật diễn biến dịch bệnh cúm trên toàn cầu dự trên các đặc điểm thời

gian, địa lý, điều kiện thời tiết để nâng cao độ chính xác và giảm thiểu việc bỏ sót các

cặp quan hệ trong chuỗi dữ liệu thời gian.

Page 61: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

46

TÀI LIỆU THAM KHẢO

Tiếng Việt

[1] Nguyễn Minh Sơn - Dịch tễ học, Nhà xuất bản Giáo dục 2012.

Tiếng Anh

[2] Centers for Disease Control and Prevention (CDC USA) - Principles of

epidemiology in public health practice, Third edition 2012. 2

[3] Dorland - Dorland's Illustrated Medical Dictionary 32nd Edition, 2011.

[4] Chi-Chen Wang. “A comparision study between fuzzy time series model and

ARIMA model for forecasting Taiwan export”. Expert Systems with Applications,

vol.38, no.8, pp.9296-9304, 2011.

[5] Hippocrates - On airs, waters, and places written 400 B.C.E (Translated by

Francis Adams).

[6] Han, Jiawei, Jian Pei, and Micheline Kamber. Data mining: concepts and

techniques. Elsevier, 2011.

[7] K. Senthamarai Kannan and E. Sakthivel. “Fuzzy Time Series Model and

ARIMA Model – A Comparative Study”. Indian Journal of Applied Research, vol.4,

no.8, pp.624-636, 2014.

[8] LeCun, Yann, Yoshua Bengio, and Geoffrey Hinton. "Deep learning." Nature

521.7553 (2015): 436-444.

[9] R. Bonita, R. Beaglehole, Tord Kjellström - Basic epidemiology 2nd edition,

World Health Organization.

[10] Shasha, D., High Performance Discovery in Time Series, Berlin:

Springer, ISBN 0387008578, 2004.

[11] Verikas, Antanas, Adas Gelzinis, and Marija Bacauskiene. "Mining data

with random forests: A survey and results of new tests." Pattern Recognition 44.2

(2011): 330-349.

[12] https://www.cs.waikato.ac.nz

[13] https://www.spss-tutorials.com/spss-what-is-it

[14] https://www.r-project.org

[15] https://www.britannica.com/science/preventive-medicine.

Page 62: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

47

PHỤ LỤC

1. Gọi thư viện: ggplot2, forecast, tseries, lubridate.

> library('ggplot2')

> library('forecast')

> library('tseries')

> library(lubridate)

2. Cài đặt thư viện:

> install.packages("lubridate")

3. Nạp tập dữ liệu:

> d<-read.csv("dataArgentina.csv", head=T)

> d

4. Trích xuất dữ liệu của một năm bất kỳ trong tập d với dữ liệu của năm

2004 của Argentina.

> Nam2004 <- d[format(as.Date(d$Date, format = '%m/%d/%Y'), '%Y')==2004,]

> Nam2004

5. Xây dựng sơ đồ diễn biến số liệu năm 2004 của Argentina.

> Nam2004$Date = as.Date(Nam2004$Date)

> ggplot(Nam2004, aes(Date, Argentina))+ geom_line()+ scale_x_date('month')+

ylab("Số ca mắc cúm")+xlab("thời gian")

6. Làm mịn tập dữ liệu:

> count_sc = ts(Nam2004[, c('Argentina')])

> Nam2004$clean_scm = tsclean(count_sc)

> Nam2004

7. Vẽ biểu đồ với tập dữ liệu Nam2004 sau khi được xử lý qua hàm tsclean():

> ggplot() + geom_line(data = Nam2004, aes(x = Date, y = clean_scm))

+ylab('Số ca mắc cúm (Cleaned)')

8. Lấy mức trung bình theo những khoảng thời gian, làm mịn để chuỗi trở

nên ổn định hơn và có thể dự đoán được:

> Nam2004$cnt_ma = ma(Nam2004$clean_scm, order=7) #sử dụng số tại cột

clean_scm đã được loại bỏ ngoại lệ

> Nam2004$cnt_ma30 = ma(Nam2004$clean_scm, order=30)

> ggplot() + geom_line(data = Nam2004, aes(x = Date, y = clean_scm, colour

Page 63: HOÀNG VĂN TIẾN - lib.uet.vnu.edu.vn

48

="Counts")) + geom_line(data = Nam2004, aes(x = Date, y = cnt_ma30, colour = "Di

chuyển trượt hàng tháng")) + ylab('Số ca bệnh mắc')

9. Làm mịn và điều chỉnh chuỗi ban đầu bằng cách loại bỏ tính thời vụ:

> count_sm = ts(na.omit(Nam2004$cnt_ma), frequency=7)

> decomp = stl(count_sm, s.window="periodic")

> deseasonal_scm <- seasadj(decomp)

> plot(decomp)

10. Sử dụng ADF để kiểm tra tính dừng của chuỗi thời gian:

> adf.test(count_sm, alternative = "stationary")

11. Biểu diễn sơ đồ dữ liệu với ACF và PACF:

> Acf(count_sm, main='')

> Pacf(count_sm, main='')

12. Kiểm tra sơ đồ với d = 1:

> count_d1 = diff(deseasonal_scm, differences = 1)

> plot(count_d1)

> adf.test(count_d1, alternative = "stationary")

13. Biểu diễn sơ đồ dữ liệu với ACF và PACF với d = 1:

> Acf(count_d1, main='ACF for Differenced Series')

> Pacf(count_d1, main='PACF for Differenced Series')

14. Biểu diễn mô hình ARIMA:

> auto.arima(deseasonal_scm, seasonal=FALSE)

> fit<-auto.arima(deseasonal_scm, seasonal=FALSE)

> tsdisplay(residuals(fit), lag.max=45, main='(1,1,1) Model Residuals')

> fit2 = arima(deseasonal_scm, order=c(1,1,7))

15. Biểu diễn mô hình dự báo:

> fcast <- forecast(fit2, h=30)

> plot(fcast)