dự báo lượng bệnh nhân nhập viện tại phòng cấp cứu bằng mô hình lstm và mô hình lai giữa mạng nơ ron có tính mùa sann với phương pháp holt winters

78 0 0
Tài liệu đã được kiểm tra trùng lặp
dự báo lượng bệnh nhân nhập viện tại phòng cấp cứu bằng mô hình lstm và mô hình lai giữa mạng nơ ron có tính mùa sann với phương pháp holt winters

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ii Tóm tắt Bài toán dự báo chuỗi thời gian bằng mô hình lai giữa mạng nơ – ron và một phương pháp xác suất thống kê là bài toán được nhiều nhà nghiên cứu trong cộng đồng khoa học máy tín

Trang 1

ĐẠI HỌC QUỐC GIA TP HCM

TRƯỜNG ĐẠI HỌC BÁCH KHOA

-

CAO KHẮC NGỌC LÂN

DỰ BÁO LƯỢNG BỆNH NHÂN NHẬP VIỆN TẠI PHÒNG CẤP CỨU BẰNG MÔ HÌNH LSTM VÀ MÔ HÌNH LAI GIỮA MẠNG NƠ – RON CÓ TÍNH MÙA

SANN VỚI PHƯƠNG PHÁP HOLT – WINTERS

Chuyên Ngành : Khoa Học Máy Tính Mã Số: 8480101

LUẬN VĂN THẠC SĨ

TP HỒ CHÍ MINH, tháng 01 năm 2024

Trang 2

CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA –ĐHQG -HCM Cán bộ hướng dẫn khoa học 1: PGS.TS Dương Tuấn Anh Cán bộ hướng dẫn khoa học 2: PGS.TS Võ Thị Ngọc Châu Cán bộ chấm nhận xét 1 :TS Lê Văn Quốc Anh

Cán bộ chấm nhận xét 2 :TS Bùi Công Giao

Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp HCM ngày 23 tháng 01 năm 2024

Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: 1 PGS.TS Trần Minh Quang Chủ tịch

5 PGS.TS Dương Tuấn Anh Ủy viên

Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên ngành sau khi luận văn đã được sửa chữa (nếu có)

CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOA

KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH

Trang 3

ĐẠI HỌC QUỐC GIA TP.HCM

TRƯỜNG ĐẠI HỌC BÁCH KHOA

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc

NHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ tên học viên: Cao Khắc Ngọc Lân MSHV: 2170074 Ngày, tháng, năm sinh: 21/10/1995 Nơi sinh: Bình Dương Chuyên ngành: Khoa học Máy tính Mã số : 8480101

II NHIỆM VỤ VÀ NỘI DUNG:

− Tìm hiểu bài toán dự báo lượng bệnh nhân nhập viện hàng ngày tại phòng cấp cứu − Tìm hiểu các mô hình được áp dụng trong việc giải quyết bài toán đặt ra: Holt –

Winters, SANN, mô hình lai giữa Holt – Winters với SANN, LSTM xếp chồng − Ứng dụng, hiện thực – thử nghiệm và so sánh hiệu quả dự báo của các mô hình nêu

trên để dự báo lượng bệnh nhân nhập viện hàng ngày tại phòng cấp cứu

III NGÀY GIAO NHIỆM VỤ : 04/09/2023

IV NGÀY HOÀN THÀNH NHIỆM VỤ: 18/12/2023

V CÁN BỘ HƯỚNG DẪN: PGS.TS Dương Tuấn Anh, PGS.TS Võ Thị Ngọc Châu

Tp HCM, ngày …… tháng …… năm 2024

CÁN BỘ HƯỚNG DẪN

(Họ tên và chữ ký) HỘI ĐỒNG NGÀNH (Họ tên và chữ ký)

TRƯỞNG KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH (Họ tên và chữ ký)

Trang 4

i

Lời cảm ơn

Lời đầu tiên, tôi muốn gửi lời cảm ơn chân thành tới Thầy PGS TS Dương Tuấn Anh và Cô PGS TS Võ Thị Ngọc Châu trong thời gian qua đã tận tình hướng dẫn, giúp đỡ tôi trong quá trình thực hiện luận văn tốt nghiệp này Những lời góp ý, nhận xét và hướng dẫn của Thầy Cô đã giúp tôi có hướng đi đúng đắn trong quá trình thực hiện đề tài, giúp tôi thấy được những thuận lợi cũng như hạn chế của các phương pháp tiếp cận khác nhau Từ đó, giúp tôi từng bước khắc phục và ngày một tốt hơn

Đồng thời, tôi cũng muốn gửi lời cảm ơn sâu sắc tới gia đình và người thân đã động viên, cổ vũ tinh thần và góp ý cho tôi trong suốt quá trình học tập, thực hiện đề tài Đặc biệt là gia đình đã chăm lo và hi sinh rất nhiều để tôi có thể chuyên tâm trong việc học

Sau cùng, tôi xin kính chúc quý Thầy Cô trong khoa Khoa học và Kĩ thuật Máy tính được dồi dào sức khỏe, niềm tin để tiếp tục thực hiện sứ mệnh cao đẹp của mình trong công cuộc truyền đạt kiến thức cho thế hệ sau này

Thành phố Hồ Chí Minh, 01/2024 Cao Khắc Ngọc Lân

Trang 5

ii

Tóm tắt

Bài toán dự báo chuỗi thời gian bằng mô hình lai giữa mạng nơ – ron và một phương pháp xác suất thống kê là bài toán được nhiều nhà nghiên cứu trong cộng đồng khoa học máy tính quan tâm Nhiệm vụ chính trong công trình nghiên cứu này là phát hiện tính mùa của bộ dữ liệu được dùng để huấn luyện mô hình và đưa ra dự báo cho một điểm dữ liệu kế tiếp (không có trong bộ dữ liệu) Bộ dữ liệu được dùng trong bài nghiên cứu này là dữ liệu về lượng bệnh nhân nhập viện vào phòng cấp cứu được thu thập tại bệnh viện Đa Khoa Khu Vực Củ Chi (huyện Củ Chi, thành phố Hồ Chí Minh) từ ngày 01 tháng 01 năm 2018 tới ngày 31 tháng 12 năm 2020 Để đưa ra được dự báo chính xác dựa trên bộ dữ liệu chuỗi thời gian có tính mùa, nghiên cứu này áp dụng mô hình lai giữa mô hình Làm Trơn Hàm Mũ Holt – Winters với mô hình Mạng Nơ – Ron Nhân Tạo Có Tính Mùa (SANN) Ngoài ra, chúng tôi còn áp dụng mô hình mạng nơ – ron học sâu LSTM xếp chồng để so sánh với hiệu quả dự báo của mô hình đề xuất Để đánh giá hiệu suất dự báo của mô hình, chúng tôi sử dụng độ đo sai số phần trăm tuyệt đối trung bình (MAPE) Kết quả thực nghiệm cho thấy mô hình lai đem lại hiệu quả dự báo tốt hơn so với mô hình Holt – Winters hay SANN đơn lẻ, nhưng kém hơn mô hình mạng nơ – ron LSTM đơn lẻ

Trang 6

iii

Abstract

Time Series Prediction using the hybird model between Artificial Neural Network (ANN) and a staticstical method is a problem in which many of researchers in computer science community have been interested Main purpose of this research is detecting seasonal characteristic of dataset used for training models and then predict for one next data point (the point is in the future) The dataset used in the research is about volume of patients in emergency department of General Hospital Cu Chi (District Cu Chi, Ho Chi Minh City) collected from 01/01/2018 to 12/31/2020 To give effective prediction on the seasonal dataset, the research uses a model hybridizing Exponential Smoothing Holt – Winters with Seasonal Artifical Neural Network (SANN) Besides, we also applied a stacked deep learning LSTM model in order to compare the hybrid model's prediction effectiveness To evaluate the model's prediction efficiency, we are using Mean Absolute Percentage Error (MAPE) Experimental results show that hybrid model's MAPE is better than single Holt – Winters model or SANN model but worse than single LSTM – based model

Trang 7

iv

Lời cam đoan

Tôi là Cao Khắc Ngọc Lân học viên cao học khoa Khoa Học và Kĩ Thuật Máy Tính, Đại học Bách Khoa TP HCM, MSHV 2170074 Tôi xin cam đoan rằng luận văn thạc sĩ “Dự Báo Lượng Bệnh Nhân Nhập Viện Tại Phòng Cấp Cứu Bằng Mô Hình Lai Giữa Mạng Nơ – Ron Có Tính Mùa SANN Và Phương Pháp Holt – Winters” là kết quả tìm hiểu, nghiên cứu độc lập của chính bản thân Tôi xin cam đoan:

1 Luận văn được thực hiện cho mục đích tìm hiểu và nghiên cứu ở bậc cao học

2 Các công trình, bài báo tham khảo để xây dựng nên luận văn này đều được trích dẫn, tham khảo Tất cả các tài liệu được trích dẫn và có tính kế thừa từ các tạp chí và các công trình nghiên cứu đã được công bố

3 Những công cụ, phần mềm cho quá trình thực hiện luận văn đều là phần mềm mã nguồn mở

4 Hình ảnh và số liệu được trích dẫn nguồn tham khảo rõ ràng

5 Kết quả nghiên cứu được trình bày trung thực dựa trên số liệu thực tế khi chạy chương trình

Trang 8

1.5 Cấu trúc của luận văn 4

Chương 2 CƠ SỞ LÍ THUYẾT 5

2.1 Dữ liệu chuỗi thời gian 5

2.2 Dự báo chuỗi thời gian 7

2.3 Hệ số tự tương quan và hàm tự tương quan 7

2.3.1 Hệ số tự tương quan 8

2.3.2 Hàm tự tương quan 8

2.4 Mô hình Holt – Winters 9

2.5 Mô hình ANN có tính mùa (SANN) 12

2.5.1 Giới thiệu mạng nơ – ron nhân tạo (Artificial Neural Network – ANN) 12

2.5.2 Cấu trúc mạng nơ – ron nhân tạo 13

2.5.3 Huấn luyện mạng nơ – ron nhân tạo 16

2.5.4 Mạng nơ – ron nhân tạo có tính mùa 17

2.6 Cách ước lượng độ dài mùa cho chuỗi thời gian có tính mùa 18

2.7 Mô hình mạng bộ nhớ dài – ngắn LSTM 19

2.7.1 Ô trạng thái (cell state) 20

2.7.2 Mạng nơ – ron nhân tạo hồi quy (Recurrent Neural Network – RNN) 21

2.7.3 Vấn đề phụ thuộc dài hạn (Long – term dependency) 22

2.7.4 Trình tự vận hành của mô hình LSTM 23

Trang 9

vi

2.7.5 Mô hình mạng nơ – rơn nhân tạo LSTM xếp chồng 25

Chương 3 CÁC CÔNG TRÌNH NGHIÊN CỨU LIÊN QUAN 26

3.1 Một số công trình nghiên cứu của thế giới 26

3.2 Một số công trình nghiên cứu trong nước 28

3.2.1 Dự báo lượng bệnh nhân cấp cứu chàng ngày tại bệnh viện: một nghiên cứu tình huống 28

3.2.2 Một phương pháp lai để dự báo xu hướng và chuỗi thời gian có tính mùa (A Hybrid Method for Forecasting Trend and Seasonal Time Series) 31

Chương 4 PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ 37

5.2.1 Hiện thực mô hình Holt – Winters 43

5.2.2 Hiện thực mô hình SANN 48

5.2.3 Hiện thực mô hình lai 51

Trang 11

viii

DANH MỤC HÌNH ẢNH

Hình 2.1 Minh họa chuỗi thời gian lượng mưa hàng năm ghi nhận tại Los Angeles –

California 5

Hình 2.2 Chuỗi thời gian có tính xu hướng tăng 6

Hình 2.3 Chuỗi thời gian có tính mùa 6

Hình 2.4 Các công tác trong bài toán dự báo 7

Hình 2.5 Một ví dụ minh họa cho hàm tự tương quan 8

Hình 2.6 Một đơn vị tính toán (perceptron) của mạng nơ – ron nhân tạo 13

Hình 2.7 Mạng ANN ba tầng với N nơ ron tầng nhập, H nơ – ron tầng ẩn và M đơn vị đầu ra 14

Hình 2.8 Cấu trúc của một mạng nơ – ron truyền thẳng 15

Hình 2.9 Mô hình mạng nơ – ron nhân tạo với dữ liệu chuỗi thời gian 17

Hình 2.10 Phát hiện độ dài mùa dựa vào biểu đồ ACF 19

Hình 2.11 Sự lặp lại kiến trúc module trong mạng LSTM chứa 4 tầng ẩn tương tác (3 sigmoid và 1 tanh) 20

Hình 2.12 Một cổng của hàm sigmoid trong LSTM 21

Hình 2.13 Cấu trúc của một mạng nơ – ron hồi quy 21

Hình 2.14 Mô hình một nốt của mạng nơ – ron hồi quy có vòng lặp 22

Hình 2.15 Thiết kế một mạng nơ – ron hồi quy đã được mở ra 22

Hình 2.16 Mô hình của tầng cổng quên (forget gate layer) 23

Hình 2.17 Cập nhật giá trị cho ô trạng thái bằng cách kết hợp 2 kết quả từ tầng cổng vào và tẩng ẩn hàm tanh 23

Hình 2.18 Điều chỉnh thông tin ở đầu ra thông qua hàm tanh 24

Hình 2.19 Kiến trúc LSTM xếp chồng 25

Trang 12

ix

Hình 3.1 Đường biểu diễn lượng bệnh nhân cấp cứu hàng ngày từ ngày 1 tháng 1 năm 2018 đến 31 tháng 12 năm 2020 30 Hình 3.2 Đường biểu diễn lượng bệnh nhân cấp cứu hàng ngày trong một tháng từ ngày 1 tháng 1 – 2018 đến ngày 30 tháng 1 – 2018 30 Hình 3.3 Độ dài mùa của bộ dữ liệu và biểu đồ ACF tương ứng 31 Hình 3.4 Kiến trúc của mạng SANN 31 Hình 3.5 Mô hình dự báo kết hợp giữa mô hình ANN và mô hình làm trơn hàm mũ Winters 32 Hình 4.1 Đường biểu diễn lượng bệnh nhân nhập viện tại phòng cấp cứu bệnh viện từ ngày 01/01/2018 tới ngày 31/12/2020 37 Hình 4.2 Đường biểu diễn lượng bệnh nhân cấp cứu hàng ngày trong một tháng từ ngày 01/01/2018 đến ngày 30/01/2018 37 Hình 4.3 Minh họa ý tưởng của giải thuật Tìm kiếm lưới (Grid Search) 39 Hình 5.1 Bảng số liệu tiếp nhận tại khoa Cấp cứu trong 1 ngày (5 dòng đầu) 43 Hình 5.2 Biểu đồ tương quan giữa ngày và số lượt nhập khoa Cấp cứu trong ngày 44 Hình 5.3 Xác định độ dài mùa của bộ dữ liệu bằng hàm acf() 45 Hình 5.4 Các chỉ số Random, Seasonal, Trend của bộ dữ liệu được phân tách bằng hàm decompose() 46

Trang 13

x

DANH MỤC BẢNG

Bảng 2.1 Ví dụ về các khoảng cách của những điểm tần số cao 19

Bảng 3.1 Kết quả sai số dự báo của ba mô hình 30

Bảng 5.1 Các thông số cho hai mô hình dự báo thành phần 51

Bảng 5.2 Kết quả sai số MAPE dự báo của các mô hình 55

Bảng 5.3 Kết quả sai số MSE dự báo của các mô hình 55

Bảng 5.4 Thời gian thực thi của các mô hình (giây) 56

Trang 14

1

Chương 1

GIỚI THIỆU VẤN ĐỀ 1.1 Đặt vấn đề

Phòng cấp cứu (emergency department) là phòng bận rộn nhất trong bệnh viện và mục

đích chính của phòng này là cung ứng sự chăm sóc khẩn cấp, đúng lúc cho bệnh nhân đang ở tình trạng nguy hiểm Phòng cấp cứu của bệnh viện có thể bị quá tải nếu nguồn nhân lực và cơ sở vật chất của bệnh viện không đáp ứng được yêu cầu thực tế Do đó, việc dự báo lượng bệnh nhân cấp cứu sẽ đem lại những thông tin hữu ích cho việc hoạch định sử dụng các nguồn tài nguyên của bệnh viện một cách hiệu quả Dự báo yêu cầu của phòng cấp cứu, dưới hình thức lượng bệnh nhân cấp cứu hàng ngày, đã được thử nghiệm và đánh giá với những phương pháp dự báo chuỗi thời gian khác nhau được dùng để xây dựng mô hình dự báo phù hợp Với

mục đích này, các dữ liệu quá khứ được biểu diễn dưới dạng chuỗi thời gian (time series)

được thu thập theo nhịp độ hàng giờ, hàng ngày, hàng tuần hoặc hàng tháng

Dự báo chuỗi thời gian (time series prediction) là một mảng nghiên cứu quan trọng trải

dài trên nhiều lĩnh vực, từ tài chính, kinh tế cho tới khí tượng học, môi trường, viễn thông Nhiều phương pháp dự báo đã và đang được phát triển bởi nhiều nhà nghiên cứu và nhà chuyên môn Một vài phương pháp phổ biến dùng cho dự báo chuỗi thời gian như mô hình

ARIMA (Autoregressive Integrated Moving Average), Làm Trơn Hàm Mũ (Exponential Smoothing), mạng nơ – ron nhân tạo (ANN) đã đạt được thành công trong điều kiện thực

nghiệm Mạng nơ – ron được dùng rộng rãi như một phương pháp đầy hứa hẹn trong việc dự báo chuỗi thời gian Tuy nhiên, sau những nghiên cứu thực nghiệm trong việc dự báo chuỗi thời gian bằng mạng nơ – ron đã nhận ra rằng: mạng nơ – rơn không thể nắm bắt hiệu quả được đặc tính mùa hay những xu hướng biến đổi trên những dữ liệu chuỗi thời gian thô chưa được tiền xử lí

Dự báo lượng bệnh nhân cấp cứu được xem là một công tác phức tạp Các công trình nghiên cứu đi trước của lãnh vực này cho thấy đối với bài toán dự báo này không hề có mô hình dự báo nào là tốt nhất so với các mô hình khác (Calegari et al., 2016 [3]) Nhiều công trình nghiên cứu về bài toán náy còn khẳng định rằng dữ liệu lượng bệnh nhân cấp cứu có tính mùa và có chứa đựng những mẫu biến thiên hàng tuần ([3])

Trang 15

2

Trong nội dung nghiên cứu của đề tài này, ba mô hình dự báo được chọn sẽ được phân tích tính hiệu quả nhằm dự báo tốt lượng bệnh nhân cấp cứu tại Bệnh Viên Đa Khoa Khu Vực Củ Chi, thành phố Hồ Chí Minh Theo sự khảo sát của chúng tôi, bộ dữ liệu lượng bệnh nhân

cấp cứu hàng ngày này là chuỗi thời gian có tính mùa (seasonal time series) Tính chất này

cũng từ được khẳng định bởi một số công trình đi trước về dự báo lượng bệnh nhân cấp cứu ([3], [4], [5]) Ba đóng góp chính của công trình này có thể liệt kê như sau:

i) Ba mô hình dự báo: Holt – Winters, ANN có tính mùa (SANN), mô hình dự báo lai giữa Holt – Winters và SANN sẽ được áp dụng vào bài toán dự báo lượng bệnh nhân nhập viện tại phòng cấp cứu hàng ngày Cả ba mô hình này đều thích hợp cho công tác dự báo chuỗi thời gian có tính mùa Ngoài ra, chúng tôi còn ứng dụng mô hình học sâu LSTM (Long Short – Term Memory) cho bài toán dự báo này

ii) Tiến trình so sánh sẽ được thực hiện bằng sự phân tích ba mô hình theo hai tiêu chí

đánh giá chất lượng dự báo thông dụng: độ đo Sai số Phần trăm Tuyệt đối Trung

bình (Mean Absolute Percentage Error – MAPE) và độ đo Sai số Bình phương Trung bình (Mean Square Error – MSE)

iii) Bộ dữ liệu được sử dụng để nghiên cứu là dữ liệu được thu thập từ Bệnh Viện Đa Khoa Khu vực Củ Chi, thuộc huyện Củ Chi, thành phố Hồ Chí Minh, Việt Nam

1.2 Mục tiêu nghiên cứu

Được gợi cảm hướng từ các công trình sử dụng các mạng nơ – ron để dự báo chuỗi thời gian có tính mùa, đề tài nghiên cứu này hướng đến hai mục tiêu chính sau đây:

• Nghiên cứu ứng dụng mạng nơ ron nhân tạo có tính mùa SANN (Seasonal Artificial Neural Network) vào bài toán dự báo chuỗi thời gian có tính mùa Cụ thể là kết hợp mạng nơ – ron nhân tạo có tính mùa SANN với phương pháp Holt – Winters

• So sánh hiệu quả dự báo của mô hình lai giữa mạng nơ – ron nhân tạo có tính mùa SANN với mô hình Holt – Winters khi dự báo chuỗi thời gian có tính mùa với mô hình SANN và mô hình Holt – Winters đơn lẻ trên bộ dữ liệu chuỗi thời gian có tính mùa về lượng bệnh nhân nhập viện tại phòng cấp cứu Bệnh Viện Đa Khoa Khu vực Củ Chi, thành phố Hồ Chí Minh Tiêu chí sai số dự báo MAPE và MSE sẽ được sử dụng để đánh giá hiệu quả dự báo của các phương pháp dự báo đối sánh Ngoài ra, chúng tôi còn so sánh mô hình lai nêu trên với mô hình LSTM xếp chồng đơn lẻ

Trang 16

3

1.3 Ý nghĩa đề tài

Đề tài có những ý nghĩa thực tiễn là:

• Góp phần tìm ra tiềm năng của mô hình lai giữa mô hình Làm Trơn Hàm Mũ Holt – Winters với mô hình mạng nơ – ron nhân tạo có tính mùa (SANN) trong khai phá dữ liệu chuỗi thời gian

• Xây dựng mô hình lai nhằm dự báo lượng bệnh nhân nhập viện tại phòng cấp cứu của Bệnh Viện Đa Khoa Khu vực Củ Chi, thành phố Hồ Chí Minh

• So sánh, đánh giá hiệu suất dự báo của mô hình lai Holt – Winters và SANN so với từng mô hình đơn lẻ Holt – Winters, SANN bằng phép đo sai số MAPE và MSE

Đề tài có ý nghĩa khoa học là:

• Góp phần ứng dụng kiến trúc mô hình lai giữa mô hình Holt – Winters và SANN • Góp phần tìm ra tiềm năng của mạng nơ – ron học sâu LSTM trong dự báo dữ liệu chuỗi thời gian, cụ thể là bài toán dự báo lượng bệnh nhân nhập viện tại phòng cấp cứu

1.4 Kết quả đạt được

Trong nghiên cứu này, chúng tôi xây dựng mô hình lai giữa mô hình Làm Trơn Hàm Mũ Holt – Winters và SANN, đồng thời so sánh hiệu quả dự báo của mô hình này với từng mô hình đơn lẻ Holt – Winters và SANN Đồng thời, chúng tôi cũng xây dựng một mô hình dự báo có kiến trúc LSTM xếp chồng để tận dụng khả năng ghi nhớ thông tin của mạng nơ – ron học sâu LSTM và so sánh hiệu quả dự báo của mô hình LSTM xếp chồng với mô hình lai

Ngoài ra, chúng tôi sử dụng kỹ thuật dự báo một bước (one step – ahead prediction) để

khảo sát khả năng dự báo của mô hình Trong thực nghiệm, chúng tôi sử dụng bộ dữ liệu dữ liệu được thu thập ở Bệnh Viện Đa Khoa Khu vực Củ Chi, thuộc huyện Củ Chi, thành phố Hồ Chí Minh từ ngày 01 tháng 01 năm 2018 tới ngày 31 tháng 31 năm 2020 Chúng tôi xây dựng mô hình đề xuất và tiến hành các bước thực nghiệm, so sánh và đánh giá kết quả thực nghiệm trên bộ dữ liệu này

Kết quả thực nghiệm cho thấy, mô hình lai đề xuất cho hiệu quả dự báo tốt hơn so với khi dự báo bằng từng mô hình SANN hay mô hình Holt – Winters đơn lẻ nhưng kém hơn mô hình học sâu LSTM xếp chồng Cụ thể, mô hình lai cho sai số dự báo thấp hơn trung bình

Trang 17

4

0.5% so với mô hình SANN và thấp hơn trung bình 4.507% so với mô hình Holt – Winters nhưng lại cao hơn trung bình 1.231% so với mô hình học sâu LSTM xếp chồng

1.5 Cấu trúc của luận văn

Cấu trúc bài báo cáo luận văn được tổ chức như sau:

• Chương 1 – Giới thiệu vấn đề Giới thiệu tổng quan bài toán dự báo lượng bệnh nhân nhập viện tại phòng cấp cứu bằng mô hình lai giữa mạng nơ – ron có tính mùa SANN và phương pháp Holt – Winters và phương pháp giải quyết

• Chương 2 – Cơ sở lí thuyết Trình bày những lí thuyết liên quan được sử dụng trong bài nghiên cứu

• Chương 3 – Các nghiên cứu liên quan Bao gồm các công trình nghiên cứu liên quan đến bài toán dự đoán lượng bệnh nhân nhập viện tại phòng cấp cứu, ứng dụng của bài toán này cùng kĩ thuật dự báo một bước trong chuỗi dữ liệu thời gian

• Chương 4 – Phương pháp nghiên cứu Phân tích đặc điểm của bộ dữ liệu và trình bày mô hình áp dụng để dự báo

• Chương 5 – Kết quả thực nghiệm Kết quả đánh giá của mô hình áp dụng và so sánh hiệu suất từng mô hình SANN, Holt – Winters đơn lẻ cùng mô hình LSTM xếp chồng

• Chương 6 – Kết luận Đưa ra các kết luận đúc kết được trong quá trình nghiên cứu và hướng phát triển tiếp theo trong tương lai

• Tài liệu tham khảo – Danh sách các tài liệu tham khảo được sử dụng trong quá trình hiện thực luận văn

• Phụ lục – Bảng đối chiếu các thuật ngữ Anh – Việt xuất hiện trong báo cáo luận văn

Trang 18

5

Chương 2 CƠ SỞ LÍ THUYẾT

Trong chương này, chúng tôi sẽ trình bày các khái niệm cơ bản về dữ liệu chuỗi thời gian, các thành phần của chuỗi thời gian và cách ước lượng độ dài mùa của chuỗi thời gian Đồng thời, chúng tôi cũng trình bày cơ sở lí thuyết về các mô hình được áp dụng trong bài nghiên cứu này: mô hình mạng nơ – ron nhân tạo có tính mùa (SANN), mô hình Holt – Winters Ngoài ra, chúng tôi còn trình bày cơ sở lí thuyết của mô hình bộ nhớ dài – ngắn (LSTM) được dùng để so sánh hiệu suất dự báo với mô hình lai

2.1 Dữ liệu chuỗi thời gian

Chuỗi thời gian (time series) có thể được xem là tập hợp dữ liệu trong không gian hai

chiều, với bộ giá trị (T, V), trong đó T là thời điểm giá trị được xác định, V là giá trị quan sát tương ứng Vì khoảng thời gian quan sát là bằng nhau nên có thể không quan tâm đến T Lúc này, chuỗi thời gian có thể xem là dữ liệu n chiều Trong phạm vi đề tài này, chuỗi thời gian được nhìn dưới góc độ là dữ liệu n chiều, được ký hiệu là {X𝑡 | t = 1, 2, 3, … , n}

Hình 2.1 dưới đây là một ví dụ về dữ liệu chuỗi thời gian thể hiện lượng mưa hàng năm ghi nhận tại Los Angeles – California (từ năm 1880 đến năm 1980)

Hình 2.1 Minh họa chuỗi thời gian lượng mưa hàng năm ghi nhận tại Los Angeles – California [21]

Trong thực tế, khi quan sát chuỗi thời gian ta nhận thấy bốn thành phần ảnh hưởng lên mỗi giá trị của chuỗi thời gian đó là thành phần xu hướng, thành phần chu kỳ, thành phần mùa và thành phần bất thường:

Trang 19

6

• Thành phần xu hướng (trend): đây là khuôn mẫu trong dữ liệu thể hiện những

chuyển động của chuỗi dữ liệu đối với các giá trị tăng dần hay giảm dần trên một khoảng thời gian dài quan sát (xem hình 2.2) Một số loại chuỗi thời gian có chứa thành phần xu hướng thường gặp

• Thành phần chu kì (cyclical): là những giá trị biến thiên trong tăng lên hoặc giảm

xuống trong những khoảng thời gian khác nhau và thành phần này dao động dạng sóng quanh trục xu hướng

• Thành phần mùa (seasonal): là những thành phần thay đổi lặp lại theo năm Chu

kì của chuỗi thời gian có thể là 1 tháng, quí (3 tháng), nửa năm (6 tháng) (xem hình 2.3)

• Thành phần bất thường (irregular): các thành phần thể hiện sự bất thường không

thể đoán trước được trong chuỗi thời gian

Hình 2.2 Chuỗi thời gian có tính xu hướng tăng ([19])

Hình 2.3 Chuỗi thời gian có tính mùa ([19])

Trang 20

7

Việc xác định một chuỗi thời gian có thành phần xu hướng hay thành phần mùa hay không rất quan trọng trong bài toán dự báo chuỗi thời gian Nó giúp ta lựa chọn được mô hình dự báo phù hợp hay giúp cải tiến mô hình đã có chính xác hơn Và các mẫu quan sát được theo thời gian dựa trên các chuỗi thời gian chính là cơ sở để hiểu được đặc tính cũng như là dự báo các hành vi tương lai của đối tượng đó

2.2 Dự báo chuỗi thời gian

Công tác dự báo chuỗi thời gian là một nhu cầu bức thiết, quan trọng với các cá nhân, tổ chức và hiện hữu trải dài trên nhiều lĩnh vực như: kinh tế, xã hội, môi trường, khoa học kĩ thuật Các nhiệm vụ chính được bao hàm trong các bài toán dự báo trên các lĩnh vực là: phân tích vấn đề, thu thập dữ liệu, lựa chọn mô hình, hiện thực phương thức, đánh giá tính hiệu quả của phương thức, áp dụng phương thức vào thực tế Ở bước đánh giá, nếu phương thức hay mô hình không thỏa mãn yêu cầu thì ta cần quay lại bước lựa chọn mô hình hay phương thức khác Hình 2.2 minh họa thứ tự các bước trong bài toán dự báo

Hình 2.4 Các công tác trong bài toán dự báo

Đối với bài toán dự báo chuỗi thời gian, các chuyên gia thường chia phương thức dự báo thành 2 lớp:

• Phương thức dự báo đơn biến (Univariate Method): kết quả dự báo phụ thuộc vào

một chuỗi giá trị được thu thập ở quá khứ và hiện tại

• Phương thức dự báo đa biến (Multivariate Method): giá trị dự báo phụ thuộc vào

nhiều chuỗi giá trị thu thập được

2.3 Hệ số tự tương quan và hàm tự tương quan

Để nhận dạng các đặc điểm và thành phần của chuỗi thời gian, các nhà dự báo thường dùng các công cụ toán học Trong phần này, chúng tôi giới thiệu hai công cụ phổ biến và quan

trọng là hệ số tự tương quan và hàm tự tương quan

Trang 21

8

2.3.1 Hệ số tự tương quan

Trong quá trình nghiên cứu chuỗi thời gian, ta nhận thấy khi một biến được ghi nhận giá trị theo thời gian, các giá trị ở những thời điểm khác nhau có mối tương quan với nhau

Để đo mức độ tương quan này, ta sử dụng hệ số tự tương quan (Autocorrelation Coefficient)

Sự tự tương quan là sự tương quan giữa một biến với chính nó theo những độ trễ thời gian

khác nhau Hệ số tự tương quan của biến Xt với độ trễ k được tính theo công thức:

𝜌𝑘 = 𝐸[(𝑋𝑡−𝜇)(𝑋𝑡+𝑘−𝜇)]

√𝑉𝑎𝑟(𝑋𝑡)(𝑉𝑎𝑟(𝑋𝑡+𝑘)) (1) Với:

• 𝜌: hệ số tự tương quan của X ở độ trễ K • 𝜇: trung bình của Xt

• 𝑣𝑎𝑟(𝑋𝑡): phương sai của Xt

• 𝑣𝑎𝑟(𝑋𝑡+𝑘): phương sai của Xt+k

Nếu 𝜌𝑘 khác 0 thì giữa Xt và Xt+k có sự tương quan với nhau

2.3.2 Hàm tự tương quan

Để biểu diễn sự tự tương quan của một biến theo nhiều độ trễ khác nhau một các trực

quan, ta dùng hàm tự tương quan (Autocorrelation Function – ACF) Hàm tự tương quan là

một đồ thị biểu diễn các hệ số tự tương quan với các độ trễ khác nhau [23] Hình 2.5 là một ví dụ minh họa về hàm tự tương quan

Hình 2.5 Một ví dụ minh họa cho hàm tự tương quan ([19])

Trang 22

9

Trong thực tế, ta chỉ có thể tính được hệ số tự tương quan lấy mẫu và dùng thống kê để ước lượng các hệ số tự tương quan của tập mẫu Công thức tính hệ số tự tương quan lấy mẫu như bên dưới:

𝑟𝑘 =∑𝑇−𝑘𝑘=1(𝑋−𝑋̅)(𝑋𝑡+𝑘−𝑋̅)

∑𝑇𝑡=1(𝑋𝑡−𝑋̅)2 (2) Với:

• 𝑟𝑘: hệ số tự tương quan lấy mẫu ở độ trễ k

• 𝑋̅: trung bình mẫu của Xt

Nếu 𝜌k bằng 0 thì t sẽ có phân phối student với n – 1 bậc tự do Đối với mẫu có kích

thước lớn, với mức ý nghĩa 5% nếu hệ số tự tương quan mẫu nằm trong khoảng 2

√𝑛 thì ta có thể kết luận hệ số tự tương quan của đám đông bằng 0 với mức ý nghĩa 5%

Việc đánh giá các hệ số tự tương quan có ý nghĩa quan trọng trong việc phân tích chuỗi thời gian Hàm tự tương quan của dữ liệu giúp ta xác định được các thành phần của chuỗi thời gian từ đó có thể lựa chọn mô hình dự báo hợp lí cũng như đánh giá tính đầy đủ của mô hình

2.4 Mô hình Holt – Winters

Làm trơn hàm mũ (Exponential Smoothing) là một loại mô hình tuyến tính có thể nắm

bắt các đặc trưng tuyến tính trong một chuỗi thời gian Một trong những ý tưởng căn bản của mô hình làm trơn hàm mũ là tạo ra những giá trị tương lai như là những giá trị trung bình có

Trang 23

10

trọng số của những giá trị trong quá khứ theo đó những giá trị quan sát gần đây được đánh trọng số cao hơn những giá trị quan sát rất xa trong quá khứ Bằng cách hình thành những giá trị dự báo dựa vào những giá trị trung bình có trọng số, chúng ta đang sử dụng một phương pháp “làm trơn” (smoothing) Thuật ngữ “hàm mũ” (exponential) xuất phát từ sự kiện các mô hình làm trơn hàm mũ không chỉ đánh trọng số giảm dần theo thời gian mà còn giảm dần theo kiểu hàm mũ

Để ứng dụng mô hình làm trơn hàm mũ, có ba dạng của mô hình này được áp dụng rộng

rãi cho những chuỗi thời gian khác nhau ([23]) Làm trơn hàm mũ đơn giản (Simple

exponential smoothing) (Loại I) được dùng khi chuỗi thời gian không có xu hướng và không

có tính mùa Giả sử chúng ta có chuỗi thời gian Yt, đo đạc tại những thời điểm t = 1,…,T Mô

hình làm trơn hàm mũ đơn giản được định nghĩa bằng công thức đệ quy như sau: 𝑌̂𝑡 + 1 = 𝛼𝑌𝑡+ (1 − 𝛼)𝑌̂𝑡 (4)

Với:

• 𝑌̂𝑡 + 1: giá trị dự báo tại thời điểm t + 1

• : hằng số làm trơn (smoothing constant) • Yt: giá trị dữ liệu thực sự tại thời điểm t

• 𝑌̂𝑡: giá trị dự báo tại thời điểm t

Khi có tồn tại xu hướng (trend) trong chuỗi thời gian, mô hình hàm mũ Holt (Loại II) có thể được dùng Phương pháp Holt đòi hỏi ước lượng độ dốc (slope) hiện hành và biên độ

(level) hiện hành, do đó phương pháp dùng hai hằng số làm trơn cho mỗi công thức ước lượng Hai hằng số làm trơn này giúp tính giá trị ước lượng của biên độ và độ dốc mà biến đổi theo thời gian khi có những quan sát mới được đưa vào Ba phương trình của phương pháp Holt như sau:

𝑌̂𝑡 + 𝑝 = 𝐿𝑡 + 𝑝𝑇𝑡 (5) 𝐿𝑡 = 𝛼𝑌𝑡+ (1 − 𝛼)(𝐿𝑡 − 1+ 𝑇𝑡 − 1) (6) 𝑇𝑡 = 𝛽(𝐿𝑡 − 𝑙𝑡−1) + (1 − 𝛽)𝑇𝑡−1 (7)

Trang 24

11 Với :

• 𝑌̂𝑡 + 𝑝: giá trị dự báo tại p thời đoạn sau thời điểm t

• 𝐿𝑡: giá trị ước lượng của biên độ tại thời điểm hiện hành • 𝑇𝑡: giá trị ước lượng của độ dốc tại thời điểm hiện hành • : hằng số làm trơn cho biên độ (0 <  < 1)

• : hằng số làm trơn cho độ dốc, tức xu hướng (0 <  < 1)

Trong phương trình (5), biên độ hiện hành (Lt) được tính bằng cách lấy trung bình có

đánh trọng số của hai giá trị ước lượng: một ước lượng là giá trị quan sát hiện hành (Yt) và

giá trị ước lượng thứ hai là bằng tổng giá trị xu hướng trước đó một thời đoạn (Tt-1) với giá

trị biên độ ước lượng trước đó một thời đoạn (Lt-1) Phương trình (5) cho thấy giá trị dự báo p thời đoạn về phía tương lai (Ŷt+p) được tính bằng cách lấy giá trị ước lượng xu hướng hiện

hành (Tt) nhân với số thời đoạn hướng về tương lai để dự báo (p) và tích số này cộng với giá trị ước lượng của biên độ hiện hành (Lt)

Holt – Winters là một phương pháp làm trơn hàm mũ dùng để dự báo chuỗi thời gian có

thể hiện cả tính xu hướng và tính mùa (Loại III) Phương pháp này có hai phiên bản: Holt –

Winters dạng nhân (Multiplicative Holt – Winters) và Holt – Winters dạng cộng (Additive

Holt – Winters) Bốn phương trình trong lược đồ đệ quy của phương pháp Holt – Winters dạng nhân như sau:

𝑌̂𝑡 + 𝑝 = (𝐿𝑡+ 𝑝𝑇𝑡)𝑆𝑡−𝑠+𝑝 (8) 𝐿𝑡 = 𝛼𝑌𝑡

𝑆𝑡−𝑠 + (1 − 𝛼)(𝐿𝑡−1 + 𝑇𝑡−1) (9) 𝑇𝑡 = 𝛽(𝐿𝑡 − 𝐿𝑡−1) + (1 − 𝛽)𝑇𝑡−1 (10) 𝑆𝑡 =𝛾𝑌𝑡

Với:

• 𝑌̂𝑡 + 𝑝: giá trị dự báo tại p thời đoạn sau thời điểm t

• 𝐿𝑡: giá trị ước lượng của biên độ tại thời điểm hiện hành • 𝑇𝑡: giá trị ước lượng của xu hướng tại thời điểm hiện hành • 𝑆𝑡: giá trị ước lượng của thành phần mùa

Trang 25

12 • : hằng số làm trơn cho biên độ (0 <  < 1) • : hằng số làm trơn cho xu hướng (0 <  < 1)

• : hằng số làm trơn để ước lượng tính mùa (0 <  < 1)

Trong phiên bản nhân của phương pháp Holt – Winters, ước lượng tính mùa được thực

hiện bằng chỉ số mùa (seasonal index) và được tính bằng phương trình (11) Phương trình (11) cho thấy thành phần mùa hiện hành, St, bằng γ nhân với chỉ số mùa được ước lượng bằng đại lượng Yt/Lt cộng với (1- γ) nhân thành phần mùa tại thời điểm trước đó St-s

2.5 Mô hình ANN có tính mùa (SANN)

2.5.1 Giới thiệu mạng nơ – ron nhân tạo (Artificial Neural Network – ANN)

Mạng nơ – ron nhân tạo (Artificial Neural Network – ANN) là một mô hình mạng mô

phỏng theo mạng nơ – ron thần kinh trong não bộ của con người, đây là mô hình toán học định nghĩa một hàm số từ một tập giá trị đầu vào đến một tập giá trị đầu ra

Theo các nhà sinh học, não bộ con người chứa các phần tử liên kết chặt chẽ với nhau được gọi là nơ – ron Các nơ – ron này gồm các thành phần: tế bào hình cây, tế bào thân, sợi trục thần kinh Tế bào hình cây mang tín hiệu điện sinh học tới tế bào thân Tế bào thân thân sẽ tính tổng và phân ngưỡng các tín hiệu truyền tới Sợi trục thần kinh sẽ đưa tín hiệu từ tế bào thân ra ngoài Sợi trục thần kinh của nơ – ron này tiếp xúc với tế bào hình cây của nơ – ron khác tại khớp thần kinh Việc sắp xếp của các nơ – ron và độ mạnh yếu của các khớp thần kinh quyết định khả năng của mạng nơ – ron Mạng nơ – ron thay đổi cấu trúc và phát triển theo quá trình học tập, làm việc của con người: các liên kết mới được tạo ra và và các liên kết cũ bị loại bỏ, hay, tăng giảm độ mạnh yếu của các liên kết thông qua các khớp thần kinh

Mạng nơ – ron nhân tạo là một mô hình mô phỏng đơn giản lại mạng nơ – ron sinh học này Cấu trúc của mạng nơ – ron nhân tạo gồm các đơn vị tính toán (tượng trưng cho các nơ – ron thần kinh), các đơn vị tính toán được liên kết bằng các cạnh có trọng số (tượng trưng

Trang 26

2.5.2 Cấu trúc mạng nơ – ron nhân tạo

Các đơn vị tính toán của mạng nơ – ron nhân tạo (còn gọi là perceptron) thực hiện nhận tín hiệu truyền vào và tính toán toán giá trị đầu ra Mỗi perceptron có thể nhận nhiều giá trị đầu vào nhưng chỉ có duy nhất một giá trị đầu ra được truyền đi Ngoài giá trị đầu vào, các

perceptron có thể gộp thêm một giá trị khác được gọi là độ lệch (bias) để tính toán giá trị đầu

ra Độ lệch còn có thể được hiểu là một giá trị trọng số giữa một perceptron giả tới perceptron đang được truyền tín hiệu tới, và perceptron giả này có giá trị đầu ra luôn bằng 1 Hình 2.6 minh họa quá trình nhận giá trị đầu vào và giá trị đầu ra trên một perceptron của mạng nơ – ron nhân tạo

Khi nhận được các giá trị đầu vào, các perceptron sẽ nhân các giá trị này với giá trị trọng

số tương ứng và tính tổng các tích Giá trị tổng tính được này sẽ được truyền vào một hàm

kích hoạt (Activation function) để tính giá trị đầu ra sau cùng Giữa các perceptron có thể sử

Trang 27

14

dụng các hàm kích hoạt khác nhau Có 2 loại hàm kích hoạt thường dùng trong mạng nơ – ron nhân tạo:

(1) Hàm sigmoid: 𝑔(𝑥) = 1

1 + 𝑒−𝑥

(2) Hàm tanh: 𝑔(𝑥) =1 − 𝑒

1 + 𝑒−𝑥

Các perceptron liên kết với nhau qua các cạnh có trọng số kèm theo tạo thành mạng nơ – ron nhân tạo Tùy theo số lượng perceptron và cách liên kết giữa các perceptron mà mạng nơ – ron nhân tạo được hình thành có chức năng khác nhau Có 2 dạng mạng nơ – ron nhân tạo cơ bản là mạng nơ – ron truyền thẳng và mạng nơ – ron hồi quy

Trong nghiên cứu này, mô hình mạng nơ ron nhân tạo thông dụng mạng nơ – ron truyền

thẳng (Feed – forward neural network) một tầng ẩn được dùng để dự báo chuỗi thời gian Mô

hình này được biểu diễn bằng một mạng gồm ba tầng chứa các đơn vị xử lý nối với nhau bằng

những đường nối không có chu trình (acyclic link) Hình 2.7 minh họa cấu trúc của ANN ba

Trang 28

15

các tầng ẩn và sau cùng sẽ đến tầng xuất Như vậy, dữ liệu đầu ra của một nốt không được phép truyền cho các nốt trong cùng một tầng hay ở tầng trước đó Đây là một loại mạng nơ – ron phổ biến và được dùng nhiều trong công tác dự báo dữ liệu chuỗi thời gian Hình 2.8 minh họa cấu trúc của một mạng nơ – ron truyền thẳng

Hình 2.8 Cấu trúc của một mạng nơ – ron truyền thẳng [16]

Về tổng quát, mô hình có thể được huấn luyện bằng những quan sát trong quá khứ của một chuỗi thời gian để nắm bắt những đặc tính phi tuyến của chuỗi thời gian đó Các thông số của mô hình (trọng số của các đường nối và độ lệch của các nút) sẽ được cập nhật theo kiểu lặp nhiều lần bởi một quá trình cực tiểu hóa các sai số dự báo Với công tác dự báo chuỗi

thời gian, dựa vào quá trình tính toán trước đó, mối liên hệ giữa giá trị đầu ra (yt) và giá trị

đầu vào (yt-1, yt-2,…, yt-p) được biểu diễn bằng công thức toán học sau đây để dự báo chuỗi thời gian

𝑦𝑡 = 𝑎0+ ∑𝑞𝑗=1𝑎𝑖𝑓(𝑤0𝑗 + ∑𝑝𝑖=1𝑤𝑖𝑗𝑦𝑡−𝑖) + 𝑒𝑡 (12) Với:

• aj (j = 0, 1, 2, … , q): độ lệch (bias) tại đơn vị thứ j của tầng ẩn

• wij (i = 0, 1, 2, …, p; j = 0, 1, 2, …, q): các trọng số đường nối giữa các tầng của

mạng ANN

• f(.): hàm truyền (transfer function) tại tầng ẩn, ví dụ: hàm sigmoid 𝑓(𝑥) =1−exp1−𝑥

Trang 29

16

• p: số nút ở tầng nhập • q: số nút ở tầng ẩn

Thực tế, mô hình ANN với công thức (12) thực hiện một ánh xạ phi tuyến từ những

quan sát trong quá khứ (yt-1, yt-2, …, yt-p) thành một trị dự báo trong tương lai (yt), tức là: 𝑦𝑡 = 𝜑(𝑦𝑡−1, 𝑦𝑡−2, … , 𝑦𝑡−𝑝, 𝑤) + 𝑒𝑡 (13)

Với:

• w: vector chứa tất cả các thông số của mạng

• : hàm xấp xỉ được xác định bởi cấu trúc mạng và các trọng số của các đường nối

• et: sai số dự báo tại thời điểm t

2.5.3 Huấn luyện mạng nơ – ron nhân tạo

Quá trình huấn luyện mạng nơ – ron nhân tạo để dự báo dữ liệu chuỗi thời gian bắt đầu

bằng việc truyền một chuỗi con gồm s giá trị (Xt – s + 1, Xt – s + 2, …, Xt) nằm trong cửa sổ trượt được rút trích từ chuỗi thời gian để đóng vai trò những vector đầu vào để huấn luyện mạng

nơ – ron Kích thước s của cửa sổ trượt tương ứng với số đơn vị đầu vào của mạng nơ – ron

Theo chiều tiến của giải thuật huấn luyện, các vector đầu vào được truyền qua tầng ẩn và đi

đến tầng xuất Sai số giữa giá trị đầu ra với giá trị thực tại thời điểm t + 1 sẽ được tính Sai

số này sẽ được lan truyền ngược qua các đường nối giữa tầng xuất và tầng ẩn cùng các đường nối giữa tầng ẩn và tầng nhập Dựa vào sai số, trọng số của các đường nối này sẽ được cập nhật Khi cửa sổ trượt đã trượt qua hết mọi điểm trong chuỗi thời gian, ta có thể nói giải thuật

huấn luyện đã hoàn tất một lượt lặp (epoch) Điều kiện dừng của giải thuật huấn luyện thường

là khi giải thuật đã hoàn tất một số lượt epoch xác định trước Hình 2.9 bên dưới minh họa quá trình huấn luyện mạng nơ – ron để dự báo chuỗi thời gian

Việc sử dụng ANN để dự báo chuỗi thời gian hàm ý rằng số đơn vị tầng nhập gắn liền với số giá trị trong quá khứ mà đủ để nhận dạng ra diễn tiến của các bước tương lai Về số lượng nút ở tầng nhập, vẫn chưa có lý thuyết nào giúp xác định được số nút này một cách thích hợp

Trang 30

17

Hình 2.9 Mô hình mạng nơ – ron nhân tạo với dữ liệu chuỗi thời gian [19] 2.5.4 Mạng nơ – ron nhân tạo có tính mùa

Trong công trình [6], Hamzaçebi khuyến nghị rằng số nút ở tầng nhập nên bằng với độ

dài mùa s để dự báo tốt hơn đối với chuỗi thời gian có tính mùa, thí dụ, 12 đối với dữ liệu

hàng tháng có độ dài mùa là 12 tháng, là 4 đối với dữ liệu hàng quý có độ dài mùa là 4 quý Hamzaçebi đặt tên mô hình ANN đặc biệt này là ANN có tính mùa (Seasonal ANN), viết tắt là SANN Trong bài báo [6], Hamzaçebi đã so sánh hiệu quả của SANN với mô hình ARIMA có tính mùa trên bốn bộ dữ liệu chuỗi thời gian mẫu và tìm thấy SANN đem lại hiệu quả dự báo tốt hơn mô hình ARIMA có tính mùa trên đa số của bốn bộ dữ liệu này Kết luận quan trọng rút ra từ công trình [6] là SANN có thể dự báo thành công chuỗi thời gian có tính mùa mà không cần phải khử thành phần mùa ra khỏi chuỗi thời gian trong một bước tiền xử lý

Quá trình xây dựng mô hình mạng nơ – ron cho bài toán dự báo thường gồm 8 bước:

Trang 31

18 (1) Lựa chọn các biến

(2) Thu thập dữ liệu (3) Tiền xử lý dữ liệu

(4) Phân chia tập dữ liệu thành hai tập con: tập huấn luyện và tập thử (5) Xây dựng cấu trúc mạng

(6) Xác định tiêu chuẩn đánh giá chất lượng dự báo (7) Huấn luyện mạng

(8) Dự báo và cải tiến, quá trình này thường không phải là một quá trình liên tiếp các bước, một số bước có thể được lặp lại đặc biệt là: lựa chọn các biến và huấn luyện mạng

2.6 Cách ước lượng độ dài mùa cho chuỗi thời gian có tính mùa

Để kiểm tra có sự hiện diện của tính mùa cũng như ước lượng độ dài mùa trên một chuỗi

thời gian, chúng ta phải xem xét các vị trí ứng với các độ trễ (lag numbers) của những giá trị

tương quan (correlation values) trên biểu đồ hàm tự tương quan (Autocorelation Function –

ACF) Ý tưởng chính là chúng ta tính những khoảng cách Δd giữa những vị trí kế tiếp nhau

của các giá trị có tần số cao trong biểu đồ ACF Nếu có nhiều lần xuất hiện với cùng khoảng

cách, khoảng cách Δd xuất hiện thường xuyên nhất sẽ được chọn làm độ dài mùa, dựa vào

nguyên tắc đa số

Phương pháp ước lượng độ dài mùa mà dựa vào biểu đồ ACF nêu trên được đề xuất bởi Ngoc Tran năm 2003 [7] Phương pháp này bao gồm các bước sau:

• Thực hiện tính sai phân trên chuỗi thời gian

• Tính và vẽ biểu đồ ACF cho chuỗi thời gian đã lấy sai phân

• Lập đường bao với phạm vi độ tin cậy (confidence limit) 95% hay 98%

• Xác định những vị trí có tần số xuất hiện cao

• Tính khoảng cách giữa những vị trí kế tiếp của những điểm tần số cao

Khoảng cách xuất hiện thường xuyên nhất sẽ được chọn là độ dài mùa Hình 2.10 minh họa một thí dụ về một biểu đồ ACF với phạm vi độ tin cậy 98% Chúng ta chọn các vị trí nằm ngoài đường bao với phạm vi độ tin cậy 98% và có được 14 vị trí đầu tiên của những điểm tần số cao, như được nêu trong Bảng 1

Trang 32

19

Bảng 2.1 Ví dụ về các khoảng cách của những điểm tần số cao

Vị trí tần số cao 0 1 2 8 10 20 30 40 50 60 68 70 80 90 Khoảng cách 1 1 6 2 10 10 10 10 10 8 2 10 10

Hình 2.10 Phát hiện độ dài mùa dựa vào biểu đồ ACF ([7])

Sau khi tính khoảng cách giữa các vị trí kế tiếp của những điểm tần số cao, chúng ta có được 13 khoảng cách trong đó có 7 lần xuất hiện của khoảng cách với độ dài 10, 2 lần xuất hiện của khoảng cách với độ dài 2, 1 lần xuất hiện của khoảng cách với độ dài 6 và 1 lần xuất hiện của khoảng cách với độ dài 8 Như vậy, khoảng cách với độ dài 10 có số lần xuất hiện cao nhất và 10 sẽ được chọn như là độ dài mùa trong ví dụ này

2.7 Mô hình mạng bộ nhớ dài – ngắn LSTM

Mạng bộ nhớ dài – ngắn (Long Short Term Memory Networks – LSTM) là một dạng

đặc biệt của mạng nơ – ron nhân tạo hồi quy (Recurrent Neural Network – RNN) có khả năng

học được các phụ thuộc xa, được giới thiệu bởi Hochreiter và Schmidhuber (1997), sau đó đã được cải tiến và phổ biến bởi rất nhiều người trong ngành Chúng hoạt động cực kì hiệu quả trên nhiều bài toán khác nhau nên dần đã trở nên phổ biến như hiện nay

Trang 33

20

LSTM được thiết kế để tránh được vấn đề phụ thuộc dài hạn (long – term dependency)

Việc nhớ thông tin trong suốt thời gian dài là đặc tính mặc định của mạng bộ nhớ dài – ngắn, chứ ta không cần phải huấn luyện nó để có thể nhớ được Tức là ngay nội tại của nó đã có thể ghi nhớ được mà không cần bất kì can thiệp nào từ bên ngoài

Các mạng hồi quy có dạng là một chuỗi các module lặp đi lặp lại của mạng nơ – ron

Với mạng RNN chuẩn, các mô – đun này có cấu trúc rất đơn giản, thường là một tầng tanh

LSTM cũng có kiến trúc dạng chuỗi như vậy, nhưng các module có cấu trúc khác với mạng nơ – ron hồi quy chuẩn Thay vì chỉ có một tầng mạng nơ – ron, chúng có tới 4 tầng ẩn tương tác với nhau một cách đặc biệt (xem hình 2.11)

Hình 2.11 Sự lặp lại kiến trúc module trong mạng LSTM chứa 4 tầng ẩn tương tác (3 sigmoid và 1 tanh)

2.7.1 Ô trạng thái (cell state)

Ô trạng thái (cell state) là một dạng băng chuyền chạy thẳng xuyên suốt toàn bộ chuỗi

với chỉ một vài tương tác tuyến tính nhỏ giúp cho thông tin có thể truyền dọc theo đồ thị mạng nơ – ron ổn định LSTM có khả năng xóa và thêm thông tin vào ô trạng thái và điều chỉnh các luồng thông tin này thông qua các cấu trúc gọi là cổng Cổng là cơ chế đặc biệt để điều chỉnh luồng thông tin đi qua Chúng được tổng hợp bởi một tầng ẩn của hàm kích hoạt sigmoid và với một toán tử nhân như hình 2.12 Hàm sigmoid sẽ cho đầu ra là một giá trị xác xuất nằm trong khoảng từ 0 đến 1, thể hiện rằng có bao nhiêu phần thông tin sẽ đi qua cổng Giá trị bằng 0 ngụ ý rằng không cho phép thông tin nào đi qua, giá trị bằng 1 sẽ cho toàn bộ thông tin đi qua Một mạng LSTM sẽ có 3 cổng có kiến trúc dạng này để bảo vệ và kiểm soát các ô trạng thái

Trang 34

21

Hình 2.12 Một cổng của hàm sigmoid trong LSTM 2.7.2 Mạng nơ – ron nhân tạo hồi quy (Recurrent Neural Network – RNN)

Khác với mạng nơ – ron nhân tạo truyền thẳng, mạng nơ – ron nhân tạo hồi quy

(Recurrent Neural Network – RNN) có chứa các liên kết ngược từ một nốt của tầng sau tới các nốt ở tầng trước đó Giá trị đầu ra được tính toán của một nốt sẽ được truyền lại cho các nốt ở tầng trước đó nhằm tinh chỉnh cấu hình mạng nơ – ron Hình 2.13 minh họa cấu trúc của một mạng nơ – ron nhân tạo hồi quy

Hình 2.13 Cấu trúc của một mạng nơ – ron hồi quy [17]

Trang 35

22

Mạng nơ – ron hồi quy được thiết kế để giải quyết vấn đề: dự báo được kết quả kế tiếp cần có thông tin trong quá khứ và thông tin của thời điểm hiện tại Mô hình mạng nơ – ron này chứa các vòng lặp bên trong cho phép các thông tin có thể lưu lại được và cho phép thông tin có thể truyền được từ bước này qua bước khác của mạng nơ – ron Do đó, mạng nơ – ron hồi quy có thể giải quyết được vấn đề này Tuy nhiên, có thể giải quyết được vấn đề hiệu quả hay không thì còn tùy thuộc vào hoàn cảnh Bởi trong nhiều trường hợp, để có thể dự báo hiệu quả kết quả kế tiếp của nốt hiện tại cần có thông tin của nốt trước đó và nốt này lại cách xa so với nốt hiện tại, khi đó, kết quả dự báo sẽ không còn độ chính xác cao hoặc có thể chấp

nhận được Vấn đề như thế này được gọi là vấn đề phụ thuộc dài hạn (long – term dependency)

Hình 2.14 Mô hình một nốt của mạng nơ – ron hồi quy có vòng lặp

Hình 2.15 Thiết kế một mạng nơ – ron hồi quy đã được mở ra 2.7.3 Vấn đề phụ thuộc dài hạn (Long – term dependency)

Trong một số trường hợp, thông tin phụ thuộc cần có được dùng để dự báo giá trị kế tiếp cách xa so với thời điểm hiện tại, như vậy kết quả dự báo sẽ không còn độ chính xác cao hay chấp nhận được RNN không thể xử lí tốt cho những bài toán như thế này Một trong những

nguyên nhân chính được giải thích đó là sự triệt tiêu đạo hàm của hàm chi phí (cost function)

Trang 36

23

sẽ diễn ra khi trải quả chuỗi dài các tính toán truy hồi Do đó, mạng LSTM ra đời nhằm khắc phục vấn đề này

2.7.4 Trình tự vận hành của mô hình LSTM

Đầu tiên, LSTM sẽ quyết định xem thông tin nào sẽ được phép đi qua ô trạng thái (cell

state) Quá trình này được kiểm soát bởi hàm sigmoid trong một tầng gọi là tầng cổng quên (forget gate layer) Tầng cổng quên nhận 2 giá trị đầu vào là giá trị tầng ẩn nốt trước đó ht-1và giá trị đầu vào của nốt hiện tại xt, sau đó, trả về một giá trị nằm trong khoảng 0 và 1 cho

mỗi giá trị của ô trạng thái Ct-1 Nếu giá trị bằng 1 mang ý nghĩa “giữ toàn bộ thông tin” và bằng 0 thể hiện “bỏ qua toàn bộ thông tin”

Hình 2.16 Mô hình của tầng cổng quên (forget gate layer)

Bước tiếp theo chúng ta sẽ quyết định loại thông tin nào sẽ được lưu trữ trong ô trạng

thái, gồm 2 công đoạn Công đoạn một là một tầng ẩn của hàm sigmoid được gọi là tầng cổng

vào (input gate layer) quyết định giá trị bao nhiêu sẽ được cập nhật Công đoạn hai là tầng ẩn

hàm tanh sẽ tạo ra một véc tơ của một giá trị trạng thái mới 𝐶~𝑡 mà có thể được thêm vào trạng thái Trạng thái sẽ được cập nhật bằng giá trị kết hợp giữa kết quả của hai tầng này

Hình 2.17 Cập nhật giá trị cho ô trạng thái bằng cách kết hợp 2 kết quả từ tầng cổng vào và tẩng ẩn hàm tanh

Trang 37

24

Cuối cùng, chúng ta cần quyết định kết quả đầu ra được trả về Kết quả này được dựa trên một phiên bản được lọc của ô trạng thái Đầu tiên, chúng ta cho chạy qua một tầng sigmoid, tầng này quyết định phần nào của ô trạng thái sẽ ở đầu ra Sau đó, ô trạng thái được

đưa qua hàm tanh (để chuyển giá trị về khoảng -1 và 1) và nhân kết quả sau khi đi qua hàm

tanh này với đầu ra của một cổng sigmoid, khi đó mô hình chỉ trả ra phần thông tin mà chúng

ta đã quyết định

Hình 2.18 Điều chỉnh thông tin ở đầu ra thông qua hàm tanh 2.7.5 Mô hình mạng nơ – rơn nhân tạo LSTM xếp chồng

Mô hình mạng nơ – ron nhân tạo LSTM xếp chồng (Stacked LSTM Neural Network

Model) là một kiểu mở rộng của mô hình mạng LSTM truyền thống (chỉ gồm 1 tầng ẩn) Mạng LSTM xếp chồng được nghiên cứu bởi Graves và các cộng sự [25] Theo nghiên cứu này, Graves và các cộng sự cũng tìm ra rằng độ sâu của mạng quan trọng hơn số nơ – ron trong mỗi tầng ẩn

Trong đó, mô hình này gồm nhiều tầng ẩn LSTM, mỗi tầng ẩn gồm nhiều nốt đơn vị Một tầng LSTM ở trước cung cấp một đầu ra, và nó được sử dụng làm đầu vào cho tầng LSTM ở sau Việc xếp chồng các tầng ẩn như thế này giúp cho mô hình mạng học được sâu hơn, ước lượng các hàm phi tuyến tốt hơn, tăng độ chính xác của kết quả đầu ra hơn Khi bổ sung thêm các tầng ẩn, kết quả tính toán hiện tại được tính dựa trên kết quả đầu ra của nốt trước đó Từ đó giúp kết hợp lại được các kết quả học sâu giữa các tầng Ngoài ra, mạng

LSTM xếp chồng hiện là một kỹ thuật ổn định và hiệu quả cho các bài toán dự đoán dữ liệu

có trình tự (sequential data) Hình 2.19 minh họa kiến trúc của một mô hình LSTM xếp chồng

Trang 38

25

Hình 2.19 Kiến trúc LSTM xếp chồng [17]

Trang 39

26

Chương 3

CÁC CÔNG TRÌNH NGHIÊN CỨU LIÊN QUAN

Ở chương này, chúng tôi trình bày các công trình nghiên cứu liên quan trong nước và quốc tế Các công trình này nghiên cứu về các mô hình dự báo liên quan mà chúng tôi tìm hiểu trong quá trình hiện thực đề tài luận văn, mô hình lai giữa mô hình mạng nơ – ron nhân tạo có tính mùa và mô hình làm trơn hàm mũ Holt – Winters

3.1 Một số công trình nghiên cứu của thế giới

Nghiên cứu của Afilal và các cộng sự năm 2016 [13], đề xuất hai phương pháp dự báo một bước (ngắn hạn) và dự báo nhiều bước lượng bệnh nhân tại phòng cấp cứu của bệnh viện Về dự báo ngắn hạn, các tác giả sử dụng mô hình ARMA (mô hình trung bình động, tự hồi quy không có tính mùa) để dự báo chuỗi thời gian trong ngắn hạn Về dự báo nhiều bước, các

tác giả đề xuất một mô hình cộng bao gồm hai yếu tố xu hướng (Tt) và mùa vụ (St) của chuỗi thời gian Các tác giả đã thực nghiệm mô hình này tại bệnh viện thành phố Troyes ở Pháp trong khoảng thời gian từ tháng 1 năm 2010 đến tháng 12 năm 2013 và dùng dữ liệu năm 2014 để kiểm tra Kết quả cho thấy mô hình dự đoán khá tốt cả trong thời kỳ dịch bệnh

Nghiên cứu của Kadri và các cộng sự năm 2014 [14], đề xuất một phương pháp dự báo lượng bệnh nhi cấp cứu tại khoa Cấp cứu nhi, bệnh viện Liile, nươc Pháp dựa vào mô hình ARMA để dự báo với dữ liệu được lấy từ tháng 1 đến tháng 12 năm 2012 Kết quả được thực nghiệm cho thấy ARMA đã cho kết quả dự báo khá hiệu quả trong việc dự báo lượng bệnh nhi nhập viện hàng ngày tại phòng cấp cứu của bệnh viện

Nghiên cứu của Gul và Celik năm 2018 [15], đã phân tích và đánh giá tổng quan các phương pháp dự báo lượng bệnh nhân cấp cứu tại bệnh viện trong bài báo có tên: “An exhaustive review and analysis on applications of statistical forecasting in hospital emergency departments” Các tác giả đã thu thập, phân tích, và đánh giá trên 102 bài báo có nội dung về dự báo lượng bệnh nhân cấp cứu tại bệnh viện, từ đó, đưa ra một đánh giá đầy đủ và khách quan về các yếu tố liên quan trong bài toán dự báo này Về các phương pháp được sử dụng cho bài toán dự báo này, các tác giả đã phân loại thành ba nhóm: nhóm thứ nhất là các phương pháp dựa vào hồi quy như hồi quy tuyến tính, hồi quy logistic, hồi quy Poisson, v.v…, nhóm

thứ hai là các phương pháp dựa vào chuỗi thời gian (time series – based method) như mô

Ngày đăng: 22/05/2024, 11:31

Tài liệu cùng người dùng

Tài liệu liên quan