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
GIỚI THIỆU VẤN ĐỀ
Đặ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])
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.
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ẻ
Ý 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.
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
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.
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
CƠ SỞ LÍ THUYẾT
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 –
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:
• 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])
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 đó.
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.
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
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 X t với độ trễ k được tính theo công thức:
• 𝜌: hệ số tự tương quan của X ở độ trễ K
Nếu 𝜌 𝑘 khác 0 thì giữa X t và X t+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])
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:
• 𝑟 𝑘 : hệ số tự tương quan lấy mẫu ở độ trễ k
• 𝑋̅: trung bình mẫu của Xt
• T: số phần tử của mẫu Để kiểm tra hệ số tự tương quan ở độ trễ k của một chuỗi thời gian có khác 0 hay không, ta dùng phép thử t:
• 𝑟 𝑘 : hệ số tự tương quan mẫu ở độ trễ i
Nếu 𝜌kbằ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.
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ó
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 Y t , đ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 : giá trị dự báo tại thời điểm t + 1
• : hằng số làm trơn (smoothing constant)
• Y t : 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:
• 𝑌̂ 𝑡 + 𝑝 : 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 (L t ) đượ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 (Y t ) 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 (T t-1 ) với giá trị biên độ ước lượng trước đó một thời đoạn (L t-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 (T t ) 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 (L t )
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:
• 𝑌̂ 𝑡 + 𝑝 : 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
• : 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)
Nếu γ bằng 0, nghĩa là không có thành phần mùa trong chuỗi thời gian và phương pháp Holt – Winters trở thành phương pháp Holt Nếu cả γ và β bằng 0, mô hình trở thành phương pháp làm trơn hàm mũ đơn giản Như vậy phương pháp Holt – Winters là mô hình tổng quát nhất trong ba mô hình làm trơn hàm mũ
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, S t , bằng γ nhân với chỉ số mùa được ước lượng bằng đại lượng Y t /L t cộng với (1- γ) nhân thành phần mùa tại thời điểm trước đó S t-s
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
13 cho các khớp thần kinh) Khả năng xấp xỉ hàm số của mạng nơ – ron nhân tạo phụ thuộc vào cấu trúc hình dạng mạng và giá trị của các trọng số
Trong quá trình phát triển của mô hình mạng nơ – ron nhân tạo, đã có ứng dụng thành công trong các bài toán thực tế thuộc nhiều lĩnh vực như: nhận dạng chữ viết, nhận dạng tiếng nói, điều khiển tự động, dự báo chuỗi thời gian, v.v
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
Hình 2.6 Một đơn vị tính toán (perceptron) của mạng nơ – ron nhân tạo [16]
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ử
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:
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 tầng
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
Trong mạng nơ – ron truyền thẳng, một nốt tầng đứng trước sẽ kết nối với tất cả các nốt của tầng đứng sau Dữ liệu sẽ được truyền thẳng theo một hướng xuyên suốt từ tầng nhập vào
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 (y t ) và giá trị đầu vào (y t-1 , y t-2 ,…, y t-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
• a j (j = 0, 1, 2, … , q): độ lệch (bias) tại đơn vị thứ j của tầng ẩn
• w ij (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−exp 1 −𝑥
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ứ (y t-1 , y t-2 , …, y t-p ) thành một trị dự báo trong tương lai (y t ), tức là:
• 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
• e t : 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ị (X t – s + 1 , X t – s + 2 , …, X t ) 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
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
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
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
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.
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
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
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]
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)
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 đó h t-1 và giá trị đầu vào của nốt hiện tại x t , 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 C t-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
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
Hình 2.19 Kiến trúc LSTM xếp chồng [17]
CÁC CÔNG TRÌNH NGHIÊN CỨU LIÊN QUAN
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 (T t ) và mùa vụ (S t ) 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ô
27 hình ARIMA, các phương pháp làm trơn hàm mũ (exponential smoothing) và nhóm thứ ba là các phương pháp dựa vào học máy như mạng nơ – ron nhân tạo (ANN), máy vector hỗ trợ (SVM), cây quyết định, Naive Bayes, v.v…
Nghiên cứu của Calegari và các cộng sự năm 2016 [3], đã so sánh bằng thực nghiệm bốn phương pháp khác nhau để dự báo lượng bệnh nhân cấp cứu hàng ngày tại bệnh viện: phương pháp làm trơn hàm mũ đơn giản, phương pháp làm trơn hàm mũ Holt – Winters (có thể dự báo chuỗi thời gian có tính xu hướng và tính mùa), mô hình SARIMA (là mô hình cải tiến của ARIMA để có thể dự báo chuỗi thời gian có tính mùa) và mô hình MSARIMA (là mô hình mở rộng của SARIMA để có thể dự báo chuỗi thời gian đa biến) Dữ liệu thu thập để thực nghiệm là từ bệnh viện Hospital de Clinicas de Porto Alegre ở miền Nam Brazil Kết quả thực nghiệm cho thấy: trong bốn phương pháp dự báo nêu trên, mô hình SARIMA đã đem lại một kết quả dự báo tốt nhất trong việc dự báo lượng bệnh nhân cấp cứu hàng ngày tại bệnh viện
Nghiên cứu của Carvalho – Silva và các cộng sự năm 2017, đã so sánh bằng thực nghiệm năm phương pháp khác nhau để dự báo lượng bệnh nhân cấp cứu tại bệnh viện: phương pháp làm trơn hàm mũ đơn giản, phương pháp làm trơn hàm mũ Holt – Winters, mô hình trung bình động (MA), mô hình ARIMA và mô hình SARIMA Dữ liệu thu thập để thực nghiệm từ bệnh viện Braga ở Bồ Đào Nha trong hai năm 2012 – 2013 Kết quả cho thấy: trong năm phương pháp dự báo nêu trên, mô hình SARIMA đã đem lại một kết quả dự báo tốt nhất trong việc dự báo lượng bệnh nhân cấp cứu tại bệnh viện với tầm dự báo là một tuần hoặc một tháng [5]
Zhang và các cộng sự năm 2017 [18], đã đề xuất một phương pháp lai kết hợp mô hình ARIMA và mô hình hồi quy máy vector hỗ trợ (Support Vector Regression – SVR) để dự báo lượng bệnh nhân cấp cứu hàng ngày tại bệnh viện Dữ liệu thu thập để thực nghiệm cho phương pháp dự báo đề xuất là từ một bệnh viện lớn ở Trung Quốc trong thời gian từ đầu năm 2013 tới cuối năm 2016 Kết quả thực nghiệm cho thấy mô hình lai ghép ARIMA với SVR đem lại một kết quả dự báo tốt hơn hai mô hình ARIMA và SVR đơn lẻ
Yousefi và các cộng sự năm 2019 [24] đã đề xuất một mô hình dự báo lượng bệnh nhân tới phòng cấp cứu tại một số bệnh viện ở Brazil bằng phương pháp mạng nơ – ron học sâu Trong bài nghiên cứu này, các tác giả sẽ trích xuất các nhân tố ảnh hưởng quan trọng tới
28 lượng bệnh nhân tới phòng cấp cứu và sau đó xem xét tới các nhân tố liên quan Sau cùng, một mô hình mạng nơ – ron học sâu được áp dụng để xây dựng bộ dự báo lượng bệnh nhân tới phòng cấp cứu, và các tác giả đề xuất dùng mô hình học sâu LSTM để xây dựng bộ dự báo này Ngoài ra, kết quả của công trình nghiên cứu này còn cho thấy việc sử dụng mạng nơ – ron học sâu LSTM cho kết quả dự báo đáng tin cậy hơn so với nhiều cách tiếp cận thống kê như hồi quy tuyến tính bội (multiple linear regression), mô hình ARIMA có tính mùa, mô hình kết hợp giữa ARIMA với hồi quy tuyến tính (linear regression) và hồi quy vector hỗ trợ (Support Vector Regression – SVR)
Tổng kết: Qua các công trình nêu trên, chúng ta có thể tổng kết rằng các phương pháp có thể sử dụng cho bài toán dự báo lượng bệnh nhân tại phòng cấp cứu của bệnh viện bao gồm: mô hình ARIMA (AutoRegressive Integrated Moving Average), hồi quy tuyến tính bội, SARIMA, làm trơn hàm mũ (Exponential Smoothing), mạng nơ ron nhân tạo (Artificial
Neural Network – ANN), hồi quy logistic, hồi quy vector hỗ trợ (Support Vector Regression – SVR) và mạng nơ ron học sâu LSTM Hiệu quả dự báo của các phương pháp nêu trên tùy thuộc vào những đặc điểm của bộ dữ liệu chuỗi thời gian lượng bệnh nhân cấp cứu tại mỗi bệnh viện hay trung tâm y tế cụ thể được sử dụng.
Một số công trình nghiên cứu trong nước
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
Nguyễn Tấn Phát và các cộng sự [2] đã tiến hành thực hiện phân tích hiệu quả của ba mô hình được chọn trong công trình nghiên cứu này để dự báo lượng bệnh nhân cấp cứu tại Bệnh Viện Đa Khoa Khu Vực Củ Chi, bao gồm: ARIMA có tính mùa (SARIMA), Holt – Winters và ANN có tính mùa (SANN) Bộ dữ liệu được dùng trong công trình nghiên cứu này là bộ dữ liệu bệnh nhân cấp cứu hàng ngày và là chuỗi thời gian có tính mùa (seasonal time series) và cả ba mô hình được chọn đề thích hợp cho việc dự báo chuỗi thời gian có tính mùa Tiến trình so sánh kết quả dự báo được thực hiện bằng việc phân tích ba mô hình theo cùng một 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 (MAPE) Kết quả thực nghiệm cho thấy, trong ba mô hình đươc dự báo được chọn để thử nghiệm trong công trình nghiên cứu này thì mô hình ANN có tính mùa (SANN) là mô
29 hình dự báo hiệu quả nhất trong việc dự báo lượng bệnh nhân cấp cứu tại bệnh viện được chọn
Dữ liệu được dùng trong công trình này là dữ liệu thu thập hàng ngày từ 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 từ ngày 01 tháng 01 năm
2018 tới ngày 31 tháng 12 năm 2020 với tổng số 75511 bệnh nhân Có tất cả 1096 giá trị quan sát trên chuỗi thời gian Giá trị trung bình của lượng bệnh nhân cấp cứu hàng ngày là 68, giá trị tối thiểu là 7 và giá trị tối đa là 122 Bệnh Viện Đa Khoa Khu Vực Củ Chi là bệnh viện hạng 2 trực thuộc Sở Y Tế Thành Phố Hồ Chí Minh Huyện Củ Chi nằm ở vị trí cửa ngõ, tiếp giáp với các tỉnh Tây Ninh, Long An và Bình Dương và là nơi có nhiều khu công nghiệp với qui mô công nhân lớn Độ dài mùa được phát hiện trong chuỗi thời gian này có độ dài là 7 Lượng bệnh nhân cấp cứu hàng ngày biến thiên rất lớn, có nhiều khác biệt vào dịp cuối tuần và vào những ngày lễ Ngoài ra, sự biến thiên có tính mùa trong công trình này được nhận diện với thời đoạn là một tuần Bộ dữ liệu chuỗi thời gian lượng bệnh nhân cấp cứu hàng ngày ban đầu được chia thành hai phần: tập huấn luyện và tập kiểm thử 70% điểm dữ liệu đầu tiên trong chuỗi thời gian được dùng cho việc huấn luyện và 30% còn lại được dùng cho việc kiểm thử
Kết quả thực nghiệm trong công trình này cho thấy hiệu quả dự báo của cả ba mô hình đều tương đối tốt và sai số MAPE của mô hình SANN là thấp nhất 12.74% Tức là, mô hình SANN là mô hình tốt nhất trong số ba mô hình để chọn để dự báo lượng bệnh nhân cấp cứu hàng ngày tại bệnh viện Lý do chính là vì mô hình SANN với khả năng có thể nắm bắt các thành phần tuyến tính và các thành phần phi tuyến trên chuỗi thời gian đã tạo ra một hiệu ứng kết hợp và do đó cải tiến được hiệu quả dự báo
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 [2]
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 [2]
Bảng 3.1 Kết quả sai số dự báo của ba mô hình
Mô hình Sai số dự báo MAPE
Hình 3.3 Độ dài mùa của bộ dữ liệu và biểu đồ ACF tương ứng
Hình 3.4 Kiến trúc của mạng SANN [2]
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)
Mô hình dự báo lai giữa mô hình SANN với mô hình Holt – Winters của Bảo và các cộng sự đề xuất năm 2013 [1] được truyền cảm hứng từ công trình nghiên cứu của Lai và các cộng sự vào năm 2006 [8] nhằm dự báo dữ liệu chuỗi thời gian có mục đích tổng quát (general – purpose) mang tính xu hướng và biến đổi theo mùa bằng cách kết hợp giữa mô hình làm
32 trơn hàm mũ Winters (Winters exponential smoothing) và mô hình ANN có tính mùa nhằm dự doán dữ liệu chuỗi thời gian có tính xu hướng và tính mùa Theo Zhang và Qi, trong những công trình nghiên cứu [9], [10], các tác giả đề nghị nên khử tính xu hướng và khử tính mùa trước khi dùng mô hình nơ – ron nhân tạo để dự báo xu hướng hoặc chuỗi thời gian tính mùa Tuy nhiên, tiến hành việc này trước khi phân tích cần phải được tranh luận, xem xét
Mô hình trong công trình [1] hoạt động theo cơ chế được minh họa như hình 3.5
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ũ
Theo hình 3.5, dự liệu đầu vào được truyền vào mô hình ANN, đồng thời, truyền vào mô hình làm trơn hàm mũ Winter Mô hình ANN sẽ cho ra kết quả dự báo và mô hình làm trơn hàm mũ của sẽ cho ra một kết quả dự báo chuỗi thời gian Hai kết quả này sẽ được cho vào module dự báo kết hợp để cho ra kết quả dự báo sau cùng Trong công đoạn kết hợp, chiến lược kết hợp được tính theo công thức:
• 𝑌̂ 𝐸𝑆 : giá trị dự báo bằng phương pháp làm trơn hàm mũ Winters (Winters exponential smoothing)
• 𝑌̂ 𝑁𝑁 : giá trị dự báo bằng phương pháp mạng nơ – ron
Nếu bằng 0 hoặc gần với 0, kết quả dự báo được sinh ra bởi mô hình làm trơn hàm mũ Winter chiếm ưu thế Ngược lại, nếu bằng 1 hoặc gần với 1, kết quả dự báo được sinh ra bởi mô hình mạng nơ – ron nhân tạo chiếm ưu thế
3.2.2.1 Ước lượng thông số cho mô hình làm trơn hàm mũ Winters Đối với mô hình này, chúng ta phải ước lượng ba thông số , và Trong công trình nghiên cứu của Bảo và các cộng sự [1] áp dụng ba hướng tiếp cận để giải quyết: phương pháp
Vét cạn (Brute force), phương pháp Tìm kiếm Cục bộ (Local search), sử dụng phần mềm R Phương pháp Vét cạn (Brute force)
Chúng ta áp dụng các tiếp cận này trong trường hợp muốn tính các thông số , và với độ sai số dự báo trong khoảng 0.1 tới 0.01 Trong phương pháp này, chúng ta sẽ xây dựng một lưới giá trị (grid of values) cho ba thông số này và chọn phép kết hợp nào cho sai số thấp nhất Trong công trình nghiên cứu của Bảo và các cộng sự [1], phép đo sai số Trung bình
Bình phương Sai số (Mean Squared Error – MSE) được sử dụng theo công thức như sau:
Do các thông số , và nằm trong khoảng 0.0 tới 1, nên chúng ta sẽ cho quét bộ ba thông số này với bước nhảy là 0.1 hoặc 0.01 để tìm ra điểm có sai số thấp nhất chấp nhận được Tức, chúng ta sẽ cần phải chạy kiểm tra 10 3 tới 10 6 trường hợp
3.2.2.2 Khởi tạo Biên độ, Xu hướng và Ước lượng tính mùa
Có nhiều cách tiếp cận để chọn giá trị khởi tạo cho bộ ba thông số Biên độ L t (Level),
Xu hướng T t (Trend) và Ước lượng tính mùa S t (Seasonal estimate) Trong công trình nghiên cứu của Bảo và các cộng sự, họ khởi tạo theo công thức bên dưới bằng cách sử dụng dữ liệu từ 2 mùa trong quá khứ:
3.2.2.3 Xác định trọng số cho công thức lai Để xác định trọng số cho công thức kết hợp, chúng ta cần phải tìm giá trị cho sao cho sai số dự báo thấp nhất Trong công trình nghiên cứu của Bảo và các cộng sự, phép đo sai số dự báo MSE được sử dụng theo công thức sau:
• 𝑌 𝑡 : giá trị thực tế tại thời điểm t
• 𝑁 𝑡 : giá trị dự báo tại thời điểm t được tính bằng phương pháp mạng nơ – ron nhân tạo (ANN)
• 𝑆 𝑡 : giá trị dự báo được tính bằng phương pháp làm trơn hàm mũ Winters (Winters’ exponential smoothing) Đối với hàm bậc hai này, trong công tình nghiên cứu này áp dụng công thức sau để tính giá trị cho sao cho sai số dự báo MSE thấp nhất Và do giá trị của nằm trong khoảng 0 tới 1 nên nếu tính ra mang giá trị âm thì sẽ được chọn mang giá trị là 0; ngược lại, sau khi được tính lớn 1 thì sẽ được chọn bằng 1
Bảo – Vy và các cộng sự đã đề xuất một phương pháp dự báo kết hợp mô hình SANN và Holt – Winters để dự báo loại dữ liệu chuỗi thời gian có tính mùa Trong công trình nghiên cứu này, các tác giả tiến hành so sánh mô hình dự báo lai với mô hình dự báo bằng ANN bằng cách chạy thử nghiệm hai mô hình này trên năm bộ dữ liệu chuỗi thời gian đi kèm với phần mềm R và có thể tải về tại trang web [12]:
PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ
Bộ dữ liệu
Bộ dữ liệu được áp dụng là về 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 Bộ dữ liệu được thu thập từ ngày 01 tháng
01 năm 2018 tới ngày 31 tháng 12 năm 2020 Bộ dữ liệu có tổng cộng 1096 điểm dữ liệu, được đo đạc hàng ngày Lượng bệnh nhân thấp nhất là 7 người được ghi nhận vào ngày 12/02/2019, lượng bệnh nhân cao nhất là 122 người được ghi nhận vào ngày 03/09/2019, lượng bệnh nhân trung bình là 69 người
Trong bài nghiên cứu này, sau khi trực quan đường biểu diễn dữ liệu lượng bệnh nhân, chúng tôi nhận thấy tính mùa được thể hiện theo chu kì 1 tuần (7 ngày)
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
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
Hình 4.1 và hình 4.2 cho thấy lượng bệnh nhân cấp cứu hàng ngày biến thiên rất lớn, có khác biệt rõ vào cuối tuần và những ngày nghỉ lễ Ngoài ra, sự biến thiên có tính mùa cũng được nhận diện với thời đoạn là một tuần.
Mô hình áp dụng
Mục tiêu nghiên cứu của bài nghiên cứu này là xây dựng một mô hình lai 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 tại bệnh viện Đa khoa Củ Chi Mô hình này được lai giữa mô hình Làm Trơn Hàm Mũ Holt – Winters và mô hình mạng nơ – ron nhân tạo có tính mùa (SANN) nhằm kết hợp những ưu điểm của hai mô hình này Mô hình Holt – Winters phù hợp cho công tác dự báo chuỗi thời gian bởi mô hình này có thể nắm bắt được tính xu hướng và tính mùa của dữ liệu, từ đó, giúp mô hình này có thể dự báo tốt các giá trị tương lai trong chuỗi thời gian Mô hình SANN tận dụng được các ưu điểm của mô hình mạng nơ – ron nhân tạo (ANN) trong việc nắm bắt được các đặt trưng của bộ dữ liệu, đồng thời, có thể nhận diện được các thông tin tiềm ẩn của bộ dữ liệu thông qua cơ chế Lan truyền ngược để tiến tới lời giải tối ưu Ngoài ra, thông qua việc thiết đặt giá trị ước lượng thành phần mùa bằng với số lượng nốt của tầng ẩn trong mô hình ANN, mô hình SANN có thể học được các đặc trưng về tính mùa của điểm dữ liệu trong bộ dữ liệu Để giải quyết bài toán đặt ra là xây dựng mô hình dự báo lai giữa mô hình Holt – Winters và SANN, đầu tiên, chúng tôi cần xác định các thông số cho các mô hình Holt – Winters và SANN Đối với mô hình Holt – Winters, chúng tôi xác định các thông số , , với sự hỗ trợ của phần mềm R Đối với mô hình SANN, chúng tôi xác định siêu các tham số của mô hình như sau: số tầng ẩn là 1 do chúng tôi xây dựng mô hình ANN cơ bản, số nốt của tầng ẩn bằng với giá trị ước lượng thành phần mùa là 7 (1 tuần), số nốt của tầng kết quả là 1 Sau khi xác định các thông số cần thiết để xây dựng các mô hình thành phần, chúng tôi sử dụng 70% điểm dữ liệu để huấn luyện mô hình và 30% điểm dữ liệu để kiểm thử mô hình
Sau khi huấn luyện xong hai mô hình thành phần, chúng tôi áp dụng phương pháp Grid
Search để xác định hệ số lai sao cho sai số dự báo của mô hình lai là thấp nhất
Grid Search là một phương pháp đơn giản và dễ hiểu nhằm xác định các giá trị siêu tham số sao cho khi kết hợp giá trị của các siêu tham số thì mô hình cho ra hiệu suất dự báo tốt nhất Các giá trị của mỗi siêu tham số được định nghĩa với các giá trị được xác định trong tầm trị cho trước và một danh sách bao gồm mỗi sự kết hợp các giá trị của siêu tham số được tạo
39 ra Đối với mỗi sự kết hợp các giá trị siêu tham số được tạo ra, một mô hình được tạo lập và huấn luyện cho mỗi trường hợp Để đánh giá hiệu quả của mỗi mô hình, một độ đo sai số dự báo nào đó có thể được sử dụng Dựa vào kết quả đánh giá của các mô hình, mô hình đem lại hiệu quả tốt nhất sẽ được chọn Hình 4.3 minh họa ý tưởng của giải thuật Grid Search
Phương pháp này phù hợp để áp dụng khi không gian tìm kiếm nhỏ và danh sách siêu tham số là hữu hạn Tuy nhiên, phương pháp này tiêu tốn nhiều thời gian và tài nguyên cho việc tính toán khi số lượng siêu tham số nhiều và mang giá trị lớn
Hình 4.3 Minh họa ý tưởng của giải thuật Grid Search
Ngoài ra, trong bài nghiên cứu này, chúng tôi còn xây dựng thêm một mô hình học sâu LSTM xếp chồng để so sánh hiệu quả dự báo của mô hình lai Các siêu tham số xây dựng mô hình học sâu này cũng được xác định bằng phương pháp Grid Search và được đánh giá bằng chỉ số MAPE.
Phần mềm R
R là ngôn ngữ và môi trường cho tính toán thống kê và đồ họa [11] tương tự như ngôn ngữ và môi trường S được phát triển tại Phòng thí nghiệm Bell bởi John Chambers và các
40 đồng nghiệp R có thể được coi là một cách triển khai khác của ngôn ngữ S, tuy có một số khác biệt quan trọng, nhưng nhiều mã lệnh được viết chạy trong môi trường S không bị thay đổi trong R
R cung cấp nhiều loại thống kê như mô hình tuyến tính và phi tuyến (linear and nonlinear modelling), phân tích chuỗi thời gian (time – series analysis), phân loại (classification), phân cụm (clustering) cùng các kĩ thuật đồ họa, và đồng thời có khả năng mở rộng cao Ngôn ngữ
S thường là phương tiện được lựa chọn để nghiên cứu về phương pháp thống kê và R cung cấp mã nguồn mở (Open Source) để tham gia vào các công tác này
Một trong những điểm mạnh của R là có thể dễ dàng tạo ra các biểu đồ được thiết kế tốt, trong đó, bao gồm cả các kí hiệu và công thức toán học khi cần thiết Các cài đặt mặc định đã được chú ý kĩ lưỡng đối với các lựa chọn thiết kế nhỏ trong đồ họa, nhưng người dùng vẫn có toàn quyền kiểm soát
R là phần mềm miễn phí theo các điều khoản của GNU General Public License của Free Software Foundation dưới dạng mã nguồn R có thể biên dịch, chạy trên nhiều nền tảng UNIX và các hệ thống tương tự (bao gồm FreeBSD và Linux), Windows và MacOS Ngoài ra, R còn tích hợp các phần mềm thích hợp cho việc thao tác dữ liệu, tính toán và hiển thị đồ họa, bao gồm:
• Một cơ sở xử lí và lưu trữ dữ liệu hiệu quả
• Một bộ toán tử để tính toán trên mảng, đặc biệt là các ma trận
• Một bộ tập hợp lớn các công cụ dùng cho việc phân tích dữ liệu
• Các phương tiện đồ họa dùng cho việc phân tích và hiển thị dữ liệu lên màn hình hoặc trên bản in
• Một ngôn ngữ lập trình được phát triển tốt, đơn giản và hiệu quả bao gồm các điều kiện, vòng lặp, hàm đệ quy do người dùng xác định và các phương tiện đầu vào và đầu ra.
Keras
Keras là một API học sâu được viết bằng Python, chạy trên nền tảng TensorFlow Nó được phát triển với trọng tâm là cho phép thử nghiệm nhanh: “Being able to go from idea to
41 result as fast as possible is key to doing good research.” (Có thể đi từ ý tưởng đến kết quả nhanh nhất có thể là chìa khóa để thực hiện nghiên cứu tốt) Những điểm nổi bật của Keras:
• Đơn giản (Simple) – nhưng không đơn giản hóa bài toán Keras giảm tải nhận thức
(cognitive load) của người lập trình để giúp họ tập trung vào những phần quan trọng của bài toán
• Linh hoạt (Flexible) Keras áp dụng nguyên tắc tiết lộ cấp tiến độ phức tạp
(Progressive Disclosure of Complexity): các quy trình công việc đơn giản phải nhanh chóng và dễ dàng, trong khi các quy trình công việc nâng cao tùy chỉnh có thể thực hiện được thông qua một lộ trình rõ ràng được xây dựng dựa trên những gì người dùng đã được học
• Mạnh mẽ (Powerful) Keras cung cấp hiệu suất và khả năng mở rộng mạnh mẽ được sử dụng bởi các tổ chức và công ti như NASA, YouTube hoặc Waymo.
Tensorflow
TensorFlow là nền tảng toàn diện giúp người dùng dễ dàng xây dựng và triển khai các mô hình học máy TensorFlow cung cấp nhiều cấp độ trừu tượng (abstraction) để người dùng có thể chọn cấp độ phù hợp với nhu cầu xây dựng và huấn luyện các mô hình bằng cách sử dụng API Keras cấp cao (high – level), điều này giúp người mới bắt đầu với TensorFlow và
Học Máy trở nên dễ dàng
TensorFlow còn cung cấp phương hướng cho việc sản xuất trên máy chủ (server), thiết bị biên (edge device) hay trên web TensorFlow cho phép người dùng huấn luyện và triển khai các mô hình học máy một cách dễ dàng, bất kể ngôn ngữ lập trình hay nền tảng nào được sử dụng
Ngoài ra, Tensorflow còn cung cấp các tính năng mạnh mẽ và linh hoạt hỗ trợ cho việc nghiên cứu: xây dựng và huấn luyện các mô hình học máy mà không làm giảm tốc độ hoặc hiệu suất như Keras Functional API và Model Subclassing API để tạo các cấu trúc liên kết phức tạp Đồng thời cũng hỗ trợ một hệ sinh thái gồm các thư viện, mô hình hỗ trợ mạnh mẽ cho việc thử nghiệm như Ragged Tensors, TensorFlow Probability, Tensor2Tensor và BERT
HIỆN THỰC VÀ KẾT QUẢ THỰC NGHIỆM
Tiêu chí đánh giá
Nhằm đánh giá hiệu quả dự báo của mô hình lai, chúng tôi sử dụng độ đo Sai số Phần trăm Tuyệt đối Trung bình (Mean Absolute Percentage Error – MAPE) để làm cơ sở đánh giá
Sai số MAPE được định nghĩa như sau:
• n: số điểm dữ liệu của chuỗi thời gian
• 𝑦 𝑡 : giá trị thực sự tại thời điểm t
• 𝑦̂ 𝑡 : giá trị dự báo tại thời điểm t
Sai số MAPE là một độ đo tương đối và là một giá trị thống kê bất biến đối với biên độ của chuỗi thời gian mà sai số được biểu diễn dưới dạng giá trị phần trăm Mô hình đạt độ chính xác dự báo càng cao khi chỉ số MAPE càng tiến gần đến 0
Ngoài ra, chúng tôi còn sử dụng độ đo tuyệt đối Sai số Bình phương Trung bình (Mean Square Error – MSE) để đánh giá hiệu quả dự báo của mô hình Tuy nhiên, sai số MAPE được coi trọng hơn so với MSE trong việc làm tiêu chí đánh số Sai số MSE được định nghĩa như sau:
• n: số điểm dữ liệu của chuỗi thời gian
• 𝑦 𝑡 : giá trị thực sự tại thời điểm t
• 𝑦̂ 𝑡 : giá trị dự báo tại thời điểm t
Hiện thực các mô hình
5.2.1 Hiện thực mô hình Holt – Winters
5.2.1.1 Xác định các thông số alpha, beta, gamma
Từ bộ dữ liệu ban đầu (gồm 1096 điểm dữ liệu), chúng tôi phân tách thành 2 bộ dữ liệu con: tập huấn luyện 70% và tập kiểm thử 30% Như đã trình bày ở trên, chúng tôi xác định các thông số , , cho mô hình Holt – Winters bằng phần mềm R Đọc bộ dữ liệu vào phần mềm R bằng lệnh read.csv() df