Mô hình PACF

Một phần của tài liệu (LUẬN văn THẠC sĩ) khai phá dữ liệu và ứng dụng trong y tế dự phòng luận văn ths công nghệ thông tin 84802 (Trang 53)

Ta thấy, mô hình ACF tại Hình 4.12 và mô hình PACF tại Hình 4.13 các hệ số tương quan giảm rất chậm về 0, như trong sơ đồ ACF có đến 11 độ trễ khác 0 và nằm ngoài giới hạn tin cậy 5%. Ta có thể kết luận chuỗi không có tính dừng.

Tiếp tục với sai phân 𝑑 = 1 và đánh giá lại. Vẽ sơ đồ chuỗi khác, chúng ta thấy một mô hình dao động quanh 0 không có xu hướng rõ ràng. Kiểm tra lại với ACF với

𝑑 = 1, cho kết quả như sau:

Augmented Dickey-Fuller Test data: count_d1

Dickey-Fuller = -3.5602, Lag order = 3, p-value = 0.0471 alternative hypothesis: stationary

Với 𝑑 = 1 qua phép kiểm tra ADF ta thu được giá trị 𝑝 − 𝑣𝑎𝑙𝑢𝑒 = 0.0471 nhỏ

hơn 0.05, vậy có thể kết luận chuỗi đã có tính dừng.

Hình 4.14. Mô hình kiểm tra với 𝐝 = 𝟏

Tiếp theo, các mức tăng đột biến ở độ trễ cụ thể của chuỗi có thể giúp lựa chọn p hoặc q cho mô hình của chúng ta. Có sự tương quan tự đáng kể ở độ trễ 1. Tại các

Hình 4.15 mô hình ACF với 𝑑 = 1 và Hình 4.16 mô hình PACF với 𝑑 = 1, ta thấy ACF và PACF có sự tăng đột biến đáng kể ở độ trễ 1 và giảm dần về 0, đánh giá thấy chuỗi đáp ứng tính dừng, nên chúng ta có thể thử nghiệm các mô hình với các thành phần AR hoặc MA theo độ trễ 1.

Hình 4.15. Mô hình ACF với 𝐝 = 𝟏

Hình 4.16. Mô hình PACF với 𝐝 = 𝟏

Bây giờ chúng ta áp dụng mô hình. Gói thư viện forecast cho phép người dùng xác định rõ bậc của mô hình bằng cách sử dụng hàm ARIMA() hoặc tự động tạo một tập hợp tối ưu (p, d, q) sử dụng auto.arima().

Hai trong số các tiêu chí được sử dụng rộng rãi nhất là tiêu chí thông tin Akaike (AIC) và các tiêu chuẩn thông tin Baysian (BIC). Các tiêu chí này có liên quan chặt chẽ và được hiểu là ước tính số lượng thông tin sẽ bị mất nếu một mô hình cụ thể được chọn. Khi so sánh các mô hình, người ta muốn giảm thiểu AIC và BIC.

40

Ta có thể chỉ định cấu trúc không theo mùa ARIMA và phù hợp với mô hình để khử dữ liệu theo mùa. Các tham số (1, 1, 1) được đề xuất bởi quy trình tự động; mô hình kết hợp sự khác biệt về bậc 1 và sử dụng thuật ngữ tự động của độ trễ đầu tiên và mô hình trung bình độngauto.arima().

Ta đã có một mô hình dự báo, chúng ta có thể bắt đầu bằng cách kiểm tra các ô ACF và PACF.

Hình 4.17. Mô hình 𝐀𝐑𝐈𝐌𝐀(𝟏, 𝟏, 𝟏)

Có một mô hình ACF / PACF và các ô mẫu còn lại lặp lại ở độ trễ 7. Điều này cho thấy mô hình của chúng ta có thể tốt hơn với một đặc tả khác, như 𝑝 = 7 ℎ𝑜ặ𝑐 𝑞 = 7.

Chúng ta có thể lặp lại quá trình phù hợp cho phép thành phần 𝐴𝑅(7) và kiểm tra lại mô hình chẩn đoán. Lần này, không có hiện tượng tự tương quan đáng kể nào. Nếu mô hình không được chỉ định chính xác, thì thường sẽ được phản ánh dưới dạng các xu hướng, độ lệch, hoặc bất kỳ mẫu nào khác không được mô hình nắm bắt. Lý tưởng nhất, dư lượng sẽ trông giống như nhiễu trắng, có nghĩa là chúng thường được phân phối. Hàm tsdisplay() có thể được sử dụng để vẽ các mô hình chẩn đoán này. Các mô hình còn lại cho thấy phạm vi lỗi nhỏ hơn, ít nhiều tập trung xung quanh 0. Chúng ta có thể quan sát thấy AIC nhỏ hơn đối với cấu trúc (1, 1, 7).

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

Chúng ta có thể thông qua mô hình trong R để dự báo h giai đoạn trong tương lai, với tham số h được xác định theo chu kỳ 30 ngày liên tiếp có ghi nhận số liệu cúm của tập dữ liệu.

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

Đường màu xanh nhạt ở trên cho thấy sự phù hợp do mô hình cung cấp. Một phương pháp nữa là dự trữ một phần dữ liệu của chúng ta dưới dạng tập hợp "giữ" (hold-out), phù hợp với mô hình và sau đó so sánh dự báo với các giá trị được quan sát thực tế.

42

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

Tuy nhiên, đường màu xanh đại diện cho dự báo có vẻ rất đơn giản, nó đi gần với một đường thẳng khá sớm, mà dường như không giống với mô hình trong quá khứ của chuỗi. Nhớ rằng mô hình này, giả sử một chuỗi không có thời vụ và phân biệt dữ liệu không có tính dừng ban đầu. Nói cách khác, dự đoán được vẽ dựa trên giả định rằng sẽ không có biến động theo mùa nào khác trong dữ liệu và thay đổi về số lượng cúm từ ngày này sang ngày khác ít nhiều liên tục về trung bình và phương sai.

Chúng ta thêm lại thành phần theo mùa mà đã trích xuất trước đó. Một cách tiếp cận khác là cho phép các thành phần (p, d, q) được đưa vào mô hình, đó là một mặc định trong hàm auto.arima(). Lắp lại mô hình trên cùng một dữ liệu, ta thấy rằng vẫn có thể có một số mẫu theo mùa trong chuỗi, với thành phần theo mùa được mô tả bởi

𝐴𝑅(1).

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

Lưu ý rằng, các thông số (p, d, q) thay đổi sau khi chúng ta bao gồm một thành phần theo mùa. Chúng ta có thể trải qua quá trình đánh giá mô hình còn lại và các ô ACF / PACF và điều chỉnh cấu trúc nếu cần thiết.

được tô bằng màu xanh sẫm hơn và 95% màu xanh nhạt hơn. Dự báo dài hạn thường sẽ có sự không chắc chắn hơn, vì mô hình sẽ hồi quy Y trong tương lai dựa trên các giá trị được dự đoán trong quá khứ của chuỗi.

Ta quan sát tập dữ liệu cúm của Argentina được biểu diễn từ năm 2003 đến 2010, số liệu cúm cũng diễn biến theo như hình dưới đây:

Hình 4.22.Diễn biến dịch bệnh thực tế tại Argentina từ năm 2003 đến 2015 4.6. Đánh giá kết quả 4.6. Đánh giá kết quả

Với số liệu được trình diễn bằng sơ đồ ta có thể thấy rằng diễn biến dịch bệnh được thay đổi theo thời gian và có chu kỳ diễn biến nhất định. Tại hình 4.19 sơ đồ biểu diễn dịch bệnh cúm mùa của Argentina năm 2004, số ca mắc được phân bổ như sau: vào mùa những tháng 1, 2, 3, 4 dịch cúm ở mức thấp ; đến tháng 5, 6, 7, 8, 9 do sự thay đổi thời tiết khiến dịch bệnh tăng vọt và giảm dần vào cuối năm từ tháng 10, 11, 12. Chu kỳ biến động dịch bệnh cũng được lặp đi lặp lại từ năm này qua năm khác. Từ phép phân tích trên có thể nhận thấy chu kỳ tăng, giảm của bệnh dịch qua đó sẽ đưa ra dự báo cho thời diểm trong tương lai.

Như vậy model ARIMA dự báo được chính xác 80% số trường hợp tăng của dịch bệnh, trong phần thực nghiệm ta sử dụng tập dữ liệu mẫu số liệu bệnh cúm tại Arrgentina.

Để rõ hơn về quy luật này ta nhìn vào Hình 4.20. Diễn biến dịch bệnh tại Argentina

từ năm 2003 đến 2015, số liệu được biến thiên đều đặn hàng năm theo biểu đồ hình sin

từ năm 2003 đến 2011.

Tóm tắt chương 4

Chương 4 luận văn tiến hành thực nghiệm phân tích tập dữ liệu dịch bệnh cúm của Google Flu Trends trên R, thông qua mô hình ARIMA và đưa ra dự báo dữ liệu từ tập dữ liệu cúm của Argentina. Qua kết quả phân tích và đối chiếu mô hình dự báo với dữ

2003-02-02 2004-02-15 2005-02-27 2006-03-12 2007-03-25 2008-04-06 2009-04-19 2010-05-02 2011-05-15 2012-05-27 2013-06-09 2014-06-22 2015-07-05

100

200

300

44

liệu thực tế cho thấy tỷ lệ chính xác lên 95%, qua đó có thể thấy độ tin cậy của kết quả dự đoán trong phần thực nghiệm.

KẾT LUẬN 1. Các kết quả đạt được

Để nghiên cứu bài toán ứng dụng khai phá dữ liệu trong y tế dự phòng, học viên đã tập trung nghiên cứu các khái niệm về y tế dự phòng, thực trạng về nhu cầu trong việc quản lý, phân tích và dự báo đươc dịch bệnh trên tập số liệu được báo cáo.

Bên cạnh đó, học viên cũng nghiên cứu, tìm hiểu một số phương pháp khai phá dữ liệu hiện nay. Cùng với đó là đề xuất một số phương pháp khai dữ liệu phù hợp với tập dữ liệu dịch bệnh cúm do Google công bố.

Dựa trên nghiên cứu đó luận văn đề xuất một mô hình dự báo dịch bệnh truyền nhiễm dựa trên tập dữ liệu thời gian. Luận văn cũng tiến hành cài đặt thực nghiệm một tập dữ liệu được trích xuất trong tập dữ liệu của một quốc gia. Dựa vào kết quả phân tích, dự báo như đã trình bày trong phần thực nghiệm, lấy đó làm cơ sở cho cho xây dựng các bài toán dự báo tình hình dịch bệnh.

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

Trong khuôn khổ luận văn này, tôi mới chỉ dừng lại ở việc phân tích chuỗi dữ liệu thời gian và đưa ra dự báo dựa vào xu hướng dữ liệu trên thực nghiệm trong mô hình đó, đánh giá kết quả dự báo trên tập dữ liệu so với số liệu thực tế.

Trong thời gian tới, tôi sẽ tiếp tục thực nghiệm các tập dữ liệu còn lại trong tập dữ liệu được công bố, đồng thời xem xét hướng nghiên cứu bổ sung nhằm phân tích, đánh giá các quy luật diễn biến dịch bệnh cúm trên toàn cầu dự trên các đặc điểm thời gian, địa lý, điều kiện thời tiết để nâng cao độ chính xác và giảm thiểu việc bỏ sót các cặp quan hệ trong chuỗi dữ liệu thời gian.

46

TÀI LIỆU THAM KHẢO Tiếng Việt

[1]Nguyễn Minh Sơn - Dịch tễ học, Nhà xuất bản Giáo dục 2012.

Tiếng Anh

[2] Centers for Disease Control and Prevention (CDC USA) - Principles of epidemiology in public health practice, Third edition 2012. 2

[3] Dorland - Dorland's Illustrated Medical Dictionary 32nd Edition, 2011.

[4] Chi-Chen Wang. “A comparision study between fuzzy time series model and ARIMA model for forecasting Taiwan export”. Expert Systems with Applications, vol.38, no.8, pp.9296-9304, 2011.

[5] Hippocrates - On airs, waters, and places written 400 B.C.E (Translated by Francis Adams).

[6] Han, Jiawei, Jian Pei, and Micheline Kamber. Data mining: concepts and techniques. Elsevier, 2011.

[7] K. Senthamarai Kannan and E. Sakthivel. “Fuzzy Time Series Model and ARIMA Model – A Comparative Study”. Indian Journal of Applied Research, vol.4, no.8, pp.624-636, 2014.

[8] LeCun, Yann, Yoshua Bengio, and Geoffrey Hinton. "Deep learning." Nature 521.7553 (2015): 436-444.

[9] R. Bonita, R. Beaglehole, Tord Kjellström - Basic epidemiology 2nd edition, World Health Organization.

[10] Shasha, D., High Performance Discovery in Time Series, Berlin: Springer, ISBN 0387008578, 2004.

[11] Verikas, Antanas, Adas Gelzinis, and Marija Bacauskiene. "Mining data with random forests: A survey and results of new tests." Pattern Recognition 44.2 (2011): 330-349.

[12] https://www.cs.waikato.ac.nz

[13] https://www.spss-tutorials.com/spss-what-is-it [14] https://www.r-project.org

PHỤ LỤC

1. Gọi thư viện: ggplot2, forecast, tseries, lubridate.

> library('ggplot2') > library('forecast') > library('tseries') > library(lubridate)

2. Cài đặt thư viện:

> install.packages("lubridate")

3. Nạp tập dữ liệu:

> d<-read.csv("dataArgentina.csv", head=T) > d

4. Trích xuất dữ liệu của một năm bất kỳ trong tập d với dữ liệu của năm 2004 của Argentina.

> Nam2004 <- d[format(as.Date(d$Date, format = '%m/%d/%Y'), '%Y')==2004,] > Nam2004

5. Xây dựng sơ đồ diễn biến số liệu năm 2004 của Argentina.

> Nam2004$Date = as.Date(Nam2004$Date)

> ggplot(Nam2004, aes(Date, Argentina))+ geom_line()+ scale_x_date('month')+ ylab("Số ca mắc cúm")+xlab("thời gian")

6. Làm mịn tập dữ liệu:

> count_sc = ts(Nam2004[, c('Argentina')]) > Nam2004$clean_scm = tsclean(count_sc) > Nam2004

7. Vẽ biểu đồ với tập dữ liệu Nam2004 sau khi được xử lý qua hàm tsclean():

> ggplot() + geom_line(data = Nam2004, aes(x = Date, y = clean_scm)) +ylab('Số ca mắc cúm (Cleaned)')

8. Lấy mức trung bình theo những khoảng thời gian, làm mịn để chuỗi trở nên ổn định hơn và có thể dự đoán được:

> Nam2004$cnt_ma = ma(Nam2004$clean_scm, order=7) #sử dụng số tại cột clean_scm đã được loại bỏ ngoại lệ

> Nam2004$cnt_ma30 = ma(Nam2004$clean_scm, order=30)

48

="Counts")) + geom_line(data = Nam2004, aes(x = Date, y = cnt_ma30, colour = "Di chuyển trượt hàng tháng")) + ylab('Số ca bệnh mắc')

9. Làm mịn và điều chỉnh chuỗi ban đầu bằng cách loại bỏ tính thời vụ:

> count_sm = ts(na.omit(Nam2004$cnt_ma), frequency=7) > decomp = stl(count_sm, s.window="periodic")

> deseasonal_scm <- seasadj(decomp) > plot(decomp)

10. Sử dụng ADF để kiểm tra tính dừng của chuỗi thời gian:

> adf.test(count_sm, alternative = "stationary")

11. Biểu diễn sơ đồ dữ liệu với ACF và PACF:

> Acf(count_sm, main='') > Pacf(count_sm, main='')

12. Kiểm tra sơ đồ với d = 1:

> count_d1 = diff(deseasonal_scm, differences = 1) > plot(count_d1)

> adf.test(count_d1, alternative = "stationary")

13. Biểu diễn sơ đồ dữ liệu với ACF và PACF với d = 1:

> Acf(count_d1, main='ACF for Differenced Series') > Pacf(count_d1, main='PACF for Differenced Series')

14. Biểu diễn mô hình ARIMA:

> auto.arima(deseasonal_scm, seasonal=FALSE) > fit<-auto.arima(deseasonal_scm, seasonal=FALSE)

> tsdisplay(residuals(fit), lag.max=45, main='(1,1,1) Model Residuals') > fit2 = arima(deseasonal_scm, order=c(1,1,7))

15. Biểu diễn mô hình dự báo:

> fcast <- forecast(fit2, h=30) > plot(fcast)

Một phần của tài liệu (LUẬN văn THẠC sĩ) khai phá dữ liệu và ứng dụng trong y tế dự phòng luận văn ths công nghệ thông tin 84802 (Trang 53)

Tải bản đầy đủ (PDF)

(63 trang)