Thứ hai, 03/08/2020 14:39

Ứng dụng Shiny kết hợp với mô hình ARIMA để dự báo đại dịch COVID-19

Nguyễn Quốc Dương1, Lê Phương Thảo1, Đinh Thị Quỳnh Như1, Cao Thị Ái Loan2, Phùng Thị Hồng Diễm2, Lê Thanh Bính2

1Khoa Sư phạm, Trường Đại học Quy Nhơn
2Khoa Toán và Thống kê, Trường Đại học Quy Nhơn

Ngày nay, trực quan hóa dữ liệu là một công cụ quan trọng để khám phá và mô tả những phát hiện trong nghiên cứu y học, đặc biệt là trong giám sát dịch tễ học. Đối với dự báo chuỗi thời gian, ARIMA là một trong những kỹ thuật mô hình hóa tốt nhất. Trong bài viết này, các tác giả đã sử dụng gói lệnh Shiny (gói lệnh có sẵn của R) và mô hình ARIMA để xây dựng một website nhằm dự báo khuynh hướng của đại dịch COVID-19 cho mỗi quốc gia trên thế giới. Ứng dụng COVID-19 Dashboard cập nhật dữ liệu phân tích hàng ngày của đại dịch COVID-19.

ARIMA - công cụ dự báo hiệu quả

Trong khi đại dịch COVID-19 đang diễn ra, rất nhiều nhóm nghiên cứu trên thế giới đã tìm cách góp phần chuyên môn của mình vào việc kiểm soát dịch. Không chỉ trong chuyên ngành dịch tễ học, mà rất nhiều chuyên gia từ các chuyên ngành khác nhau cũng tham gia trực tiếp hay gián tiếp. Điển hình như giới miễn dịch học, toán và thống kê… Trong đó, các mô hình dự báo sự lây lan của dịch bệnh đóng một vai trò rất quan trọng trong việc hoạch định nhằm đưa ra các phương hướng xử lý tối ưu nhất cho mỗi quốc gia.

Có rất nhiều mô hình dự báo khác nhau đã được các nhà nghiên cứu sử dụng như ETS (Exponential Smoothing), FLM (Functional Linear Model), SEIR (Susceptible - Exposed - Infectious - Recovered)… [1]. Trong số các mô hình dự báo đó, một vài nghiên cứu đã sử dụng ARIMA như là một công cụ hữu ích trong việc dự báo khuynh hướng dịch bệnh COVID-19. Nguyễn Quốc Dương và cộng sự (2020) đã dự báo số ca nhiễm mới COVID-19 trên toàn thế giới bằng mô hình ARIMA [2]. Hay Alzahrani và cộng sự (2020) đã sử dụng mô hình ARIMA để dự báo sự lây lan của đại dịch COVID-19 tại Saudi Arabia [3]. Hơn nữa, Lutfi Bayyurt và Burcu Bayyurt đã áp dụng mô hình ARIMA để dự báo số ca nhiễm mới và số ca tử vong mới [4]. Do đó, mô hình ARIMA có thể được xem như là một công cụ dự báo hiệu quả giúp các cơ quan y tế giám sát, hoạch định các chính sách nhằm kiểm soát tốt sự lây lan của dịch bệnh COVID-19.

Để thực hiện việc tính toán nhanh chóng và chính xác cho mô hình, phần mềm phân tích số liệu là một công cụ không thể thiếu đối với các nhà thống kê. Nó như là một công cụ hỗ trợ cho việc thực hiện các ước lượng, tính toán nhanh chóng trong quá trình phân tích dữ liệu. Hiện nay, có rất nhiều phần mềm chuyên dụng phục vụ cho việc xử lý và phân tích số liệu thống kê như: SAS, SPSS, STATA, R… Trong đó, R là một ngôn ngữ rất mạnh và được nhiều nhà thống kê học sử dụng cho công việc của mình. Tuy R là mã nguồn mở nhưng chức năng của nó không thua kém các phần mềm thương mại đắt tiền khác. Tất cả những bài toán, mô hình mà các phần mềm thương mại có thể làm được thì R cũng có thể làm được. R còn có lợi thế là khả năng phân tích biểu đồ rất tuyệt vời và không một phần mềm nào có thể sánh với R về phần biểu đồ. Hơn nữa, R gắn liền với giới học thuật nên hầu hết những mô hình thống kê mới nhất đều được hỗ trợ bởi R.

Xuất phát từ những ưu điểm của R, các nhà nghiên cứu đã sử dụng phần mềm này như là công cụ rất hữu ích để phân tích dữ liệu COVID-19 [1]. Đặc biệt, để đưa các kết quả nghiên cứu đến với mọi người, R còn có chức năng xây dựng một ứng dụng website với gói lệnh “Shiny” [1]. Một số nhà nghiên cứu đã sử dụng mô hình ARIMA kết hợp với gói lệnh “Shiny” để xây dựng website dự báo khuynh hướng dịch bệnh COVID-19. Fabio Caironi và cộng sự đã xây dựng ứng dụng dự báo dịch bệnh COVID-19 cho các tỉnh và thành phố ở Ý bằng các mô hình ARIMA, logistic và SEIR [1]. Hay Jamal Kay Rogers và Yvonne Grace Arandela đã xây dựng website dự báo dịch bệnh COVID-19 cho Philippine bằng mô hình ARIMA [1]. Do đó, ARIMA kết hợp với gói lệnh “Shiny” để xây dựng website dự báo là một ứng dụng thiết thực và hữu ích.

Một ứng dụng hữu ích

Xuất phát từ tính năng hữu ích của gói lệnh “Shiny” và mô hình ARIMA, chúng tôi xây dựng một website có tên là COVID-19 Dashboard (https://nguyenquocduong.shinyapps.io/COVID-19/). Mục tiêu của website này là để theo dõi tình hình dịch bệnh tại mỗi quốc gia trên toàn thế giới và dự báo khuynh hướng dịch bệnh cho 7 ngày tiếp theo. Ứng dụng này gồm 2 thẻ chính là “Summary” và “Forecast”.

Thẻ “Summary”

Trong thẻ này, chúng tôi trình bày tổng quan về tình hình dịch COVID-19 bằng cách hiển thị các con số thống kê dịch bệnh. Ba hộp trên đầu trang web với 3 màu vàng, đỏ, xanh lá cây lần lượt là số ca nhiễm tích lũy (confirmed), số ca tử vong tích lũy (deaths), số ca phục hồi tích lũy (recovered) trên toàn thế giới. Đồng thời, cho hiển thị thêm dữ liệu về số ca nhiễm mới, số ca tử vong mới và số ca phục hồi mới tại mỗi hộp giúp người dùng có cái nhìn trực quan hơn về mức độ lây nhiễm mới hàng ngày của đại dịch COVID-19.

Để theo dõi thông tin dịch bệnh tại mỗi quốc gia, ứng dụng có một bảng hiển thị đầy đủ thông tin về dữ liệu của các quốc gia có dịch. Tùy vào mục đích quan sát, người dùng có thể khai thác thông tin về quốc gia mà mình muốn theo dõi một cách nhanh chóng và tiện lợi. Các tính năng hữu ích này được xây dựng dựa vào các hàm trong gói lệnh “DT”. Thẻ “Summary” được mô tả như hình 1.

Hình 1. Thẻ Summary của COVID-19 Dashboard (2/7/2020).

Thẻ “Forecast”

Trong thẻ này, mô hình ARIMA kết hợp với gói lệnh “Shiny” được sử dụng để dự báo khuynh hướng dịch bệnh COVID-19 cho từng quốc gia cụ thể. Khuynh hướng được dự báo bao gồm 3 tùy chọn: số ca nhiễm mới, số ca tử vong mới và số ca phục hồi mới. Đồng thời, với mỗi bộ dữ liệu được phân tích, sẽ có đồ thị trực quan dữ liệu tích lũy các bộ dữ liệu tương ứng (số ca nhiễm, số ca phục hồi, số ca tử vong) và đưa ra bảng hiển thị số ca được dự báo tương ứng cho 7 ngày tiếp theo. Để truy cập quan sát cho quốc gia nào, chúng ta chỉ cần chọn quốc gia đó và lựa chọn dữ liệu tương ứng (confirmed, deaths và recovered).

Chuỗi thời gian màu xám biểu thị số trường hợp mới tương ứng với dữ liệu được lựa chọn để quan sát và giá trị đối chiếu là trục tung bên trái của đồ thị, tức tương ứng với “Number of New Cases”. Số liệu về số ca tích lũy được hiển thị tại trục tung bên phải đồ thị, tức tương ứng với dòng chữ “Total Cases”. Chúng tôi sử dụng mô hình ARIMA để dự báo khuynh hướng cho 7 ngày tiếp theo (vùng màu xanh tương ứng với khoảng dự báo 95%). Từ khuynh hướng và giá trị dự báo được hiển thị bên cạnh đồ thị, người dùng có thể đưa ra các phán đoán cho 7 ngày tiếp theo.

Hình 2. Dự báo khuynh hướng số ca nhiễm mới COVID-19 tại Mỹ (2/7/2020).

Để kiểm nghiệm kết quả dự báo của ứng dụng, chúng tôi chọn Mỹ và Hàn Quốc để minh họa cụ thể cho kết quả dự báo thu được từ ứng dụng Dashboard COVID-19. Kết quả hình 2 cho thấy, trong 6 ngày qua, Mỹ ghi nhận số ca nhiễm mới trong ngày cao chưa từng có, luôn ở mức trên 40.000. Ứng dụng đã đưa ra dự báo số ca nhiễm mới tại Mỹ có xu hướng tăng nhanh vào 7 ngày tiếp theo. Các con số dự báo sẽ cao hơn mức 50.000 nhiễm mới trong một ngày. Điều này không mấy ngạc nhiên khi tình trạng biểu tình, tụ tập đông người đang diễn ra rất phức tạp tại Mỹ. TS Anthony Fauci - Cố vấn dịch bệnh truyền nhiễm của Nhà Trắng nhận định, Mỹ vẫn chưa thể kiểm soát được dịch COVID-19 và cảnh báo số ca nhiễm có thể lên tới 100.000 ca mỗi ngày, hơn gấp đôi mức 40.000 ca/ngày như hiện nay. Vì vậy, khuynh hướng dự báo trong 7 ngày tới sẽ tăng nhanh là phù hợp và số ca nhiễm tại Mỹ có thể tăng trên 50.000 ca nhiễm mới mỗi ngày nếu Mỹ vẫn trong tình trạng khủng hoảng và biểu tình như hiện nay.

Ngược lại với Mỹ, Hàn Quốc đang kiểm soát dịch rất tốt. Điều này được thể hiện rõ ở khoảng giao động của dự báo rất thấp trong 7 ngày tiếp theo. Quan sát hình 3, chúng ta thấy số ca nhiễm mới tại quốc gia này có xu hướng ổn định, không tăng cao và mức giao động từ 45 đến 61 ca nhiễm mới/ngày. Ngay từ khi dịch bệnh khởi phát, Hàn Quốc đã sử dụng biện pháp xét nghiệm với quy mô lớn giúp phát hiện sớm bệnh nhân và đối phó tích cực. Chính vì vậy, qua biểu đồ này, chúng ta có thể kết luận rằng tình hình dịch bệnh tại Hàn Quốc đang được kiểm soát chặt chẽ.

Hình 3. Dự báo khuynh hướng dịch bệnh COVID-19 tại Hàn Quốc (2/7/2020).

Ứng dụng COVID-19 Dashboard có thể là một công cụ rất hữu ích để theo dõi khuynh hướng và giám sát dịch tễ học của dịch COVID-19 cho từng quốc gia trên toàn thế giới. Từ khuynh hướng đó, ứng dụng này là cơ sở rõ ràng, trực quan, kịp thời và đúng lúc, giúp các trung tâm kiểm soát và nhà hoạch định đưa ra các biện pháp kiểm soát dịch tối ưu nhất cho quốc gia của mình.

Trong thời gian tới, ứng dụng được lên kế hoạch cải tiến bằng cách thêm thẻ bản đồ phân bố dịch nhằm trực quan bảng số liệu được xây dựng ban đầu. Từ bản đồ này, chúng ta có thể so sánh và đánh giá được mức độ nguy hiểm của dịch bệnh đối với từng quốc gia. Hơn nữa, mỗi quốc gia đều có đặc điểm về thể lực, môi trường, khí hậu và phong tục sinh hoạt khác nhau, do đó mô hình này có thể thích hợp với quốc gia này nhưng không phù hợp với quốc gia khác. Chính vì vậy, việc đối sánh giữa các mô hình dự báo với nhau là rất quan trọng. Do đó, chúng tôi sẽ xây dựng thêm một thẻ đối sánh giữa các mô hình dự báo và tự động đưa ra mô hình phù hợp nhất đối với từng quốc gia cụ thể. Chúng tôi dự định sẽ so sánh giữa mô hình ARIMA với các mô hình lai ghép (hybrid) của nó như ARIMA-ANN (Artificial Neural Network), ARIMA-LSTM (Long Short Term Memory)... Từ đó, sẽ thiết lập để website tự động đưa ra mô hình phù hợp nhất dựa vào các thước đo sai số từ các mô hình. Việc đối sánh này không chỉ giúp xác định mô hình nào phù hợp với dân số nghiên cứu mà còn tăng độ tin cậy chắc chắn của ứng dụng.

TÀI LIỆU THAM KHẢO

[1] Antoine Soetewey (2020), “Top 100 R resources on novel COVID-19 coronavirus”, Towards Data Science (https://bitly.com.vn/CzdP3).

[2] Nguyen Quoc Duong, et al. (2020), “Predicting the pandemic COVID-19 using ARIMA model”, VNU Journal of Science: Mathematics-Physics, 36(4), pp.55-61.

[3] Alzahrani SI, et al. (2020), “Fore-casting the spread of the COVID-19 pandemic in Saudi Arabia using ARIMA prediction model under current public health interventions”, Journal of Infection and Public Health, 13, pp.914-919.

[4] Lutfi Bayyurt, Burcu Bayyurt (2020), “Forecasting of COVID-19 cases and deaths using ARIMA models”, The Preprint Server for Health Sciences, Doi: https://doi.org/10.1101/2020.04.17.20069237.

 

Đánh giá

X
(Di chuột vào ngôi sao để chọn điểm)