Dự báo chuỗi thời gian trong hệ thống thông tin bệnh viện
Trang 1DỰ BÁO CHUỖI THỜI GIAN TRONG
HỆ THỐNG THÔNG TIN BỆNH VIỆN
GVHD: PGS.TS DƯƠNG TUẤN ANH
Đại Học Quốc Gia Thành Phố Hồ Chí Minh
Trường Đại Học Bách Khoa
BÁO CÁO LUẬN VĂN THẠC SĨ
Trang 5Xác định các phương pháp của kỹ thuật làm trơn mũ
Biểu đồ dữ liệu doanh thu phòng khám đã được làm trơn
bằng phương pháp trung bình di động
Dữ liệu có xu hướng nên sử dụng: Kỹ thuật làm trơn mũ
Holt và Kỹ thuật làm trơn mũ Winters
> smPK <- SMA(seriesPK1,n=5)
> plot(smPK,type="l", main='Biểu đồ dữ liệu PKDK sau khi làm trơn')
Bieu do du lieu PKDK sau khi lam tron
Trang 6KỸ THUẬT LÀM TRƠN MŨ HOLT
> #Mô hình kỹ thuật làm trơn mũ Holt
> modelHoltPK1 <- HoltWinters(seriesPK1, gamma = F); modelHoltPK1
Warning message:
In HoltWinters(seriesPK1, gamma = F) :
optimization difficulties: ERROR: ABNORMAL_TERMINATION_IN_LNSRCH
Holt-Winters exponential smoothing with trend and without seasonal component
Trang 7GIÁ TRỊ THỰC TẾ VÀ GIÁ TRỊ LÀM TRƠN (Holt)
> #Biểu đồ doanh thu thực tế so với doanh thu dự đoán từ mô hình
> plot(modelHoltPK1,type="l", main='Doanh thu thực tế & Doanh thu theo Mô hình modelHoltPK1')
Doanh thu thuc te & Doanh thu theo mo hinh modelHoltPK1
Trang 8DỰ BÁO CHUỖI THỜI GIAN (Holt)
> #Tập giá trị dự đoán từ mô hình, với khoảng dự đoán = số lượng
dữ liệu để kiểm định valPK.period
Trang 9DỰ BÁO CHUỖI THỜI GIAN (Holt) (tt)
Biểu đồ thể hiện giá trị doanh thu ước lượng từ mô hình, khu vực màu cam là khu vực ước đoán ở mức 95% và màu vàng là khu vực 80%.
Forecasts from HoltWinters
Trang 10So sánh giá trị dự báo và giá trị thực tế (Holt)
> ymaxPK11 <- Max(futurePK1 , ForecastHoltPK1)
> yminPK11 <- Min(futurePK1 , ForecastHoltPK1)
> plot(futurePK1 , type="l", ylim=c(yminPK11,ymaxPK11), ylab = "Doanh thu")
Trang 12KỸ THUẬT LÀM TRƠN MŨ WINTERS
> #Mô hình kỹ thuật làm trơn mũ Holt-Winters
Trang 13GIÁ TRỊ THỰC TẾ VÀ GIÁ TRỊ LÀM TRƠN (Winters)
> #Biểu đồ doanh thu thực tế so với doanh thu dự đoán từ mô hình
> plot(modelHoltPK2,type="l", main='Doanh thu thuc te & Doanh thu theo Mô hình modelHoltPK2')
Doanh thu thuc te & Doanh thu theo mo hinh modelHoltPK3
Trang 14DỰ BÁO CHUỖI THỜI GIAN (Winters)
> #Tập giá trị dự đoán từ mô hình, với khoảng dự đoán = số lượng dữ liệu để kiểm định valPK.period
Trang 15DỰ BÁO CHUỖI THỜI GIAN (Winters) (tt)
Biểu đồ thể hiện giá trị doanh thu ước lượng từ mô hình, khu vực màu cam là khu vực ước đoán ở mức 95% và màu vàng là khu vực 80%.
Forecasts from HoltWinters
Trang 16So sánh giá trị dự báo và giá trị thực tế (Winters)
> win.graph(width=7,height=4,pointsize=9)
> ymaxPK21 <- Max(futurePK1 , ForecastHoltPK2)
> yminPK21 <- Min(futurePK1 , ForecastHoltPK2)
> plot(futurePK1 , type="l", ylim=c(yminPK21,ymaxPK21), ylab='Doanh thu')
Trang 17ĐÁNH GIÁ DỮ LIỆU (Winters)
> valHoltPK2 <- criteriaForecast(futurePK1, ForecastHoltPK2)
> valHoltPK2
MAE MSE RMSE MAPE MPE 1.735483e+02 5.283631e+04 2.298615e+02 8.799934e-02 2.701944e-02
Trang 18Đánh giá phương pháp của kỹ thuật làm trơn mũ - PKĐK
> #So sánh kết quả các chỉ tiêu so sánh đánh giá mô hình
> rbind(modelHoltPK1 = valHoltPK1, modelHoltPK2 = valHoltPK2)
modelHoltPK1 169.8302 50134.89 223.9082 0.08755515 -0.04873609
modelHoltPK2 173.5483 52836.31 229.8615 0.08799934 0.02701944
Hay:
Phương
Dữ liệu Phòng khám đa khoa
0.087555 15
0.0487360 9
0.087999
34
0.0270194 4
Trang 20MÔ HÌNH ARIMA – PHÒNG KHÁM ĐA KHOA
Quá trình thực nghiệm của phương pháp này
và giá trị thực tế.
Trang 21KIỂM TRA TÍNH DỪNG
> win.graph(width=6,height=4,pointsize=8)
> plot(seriesPK, type='l', ylab='Doanh thu PKDK')
> plot(seriesPK1, type='l', ylab='Doanh thu PKDK', xlab='Thời gian')
Biểu đồ thể hiện doanh thu Phòng khám đa khoa từ 01/2009 đến
11/2011 là chuỗi dữ liệu có xu hướng và tính mùa
Trang 23Xác định các hệ số p, d, q
Loại bỏ yếu tố xu hướng và mùa vụ
Sử dụng phương pháp lấy sai phân bậc 1 cho tập dữ liệu
Kết quả cho thấy dữ liệu sau khi lấy sai phân bậc 1 vẫn chưa đạt là chuỗi dừng.
Biểu đồ dữ liệu doanh thu bệnh viện sau khi lấy sai phân bậc 2
> #Dữ liệu PKDK mẫu sau khi Sai phân bậc 1
Trang 24Hình 5.22 Biểu đồ dữ liệu doanh thu PKDK mẫu sau khi lấy sai phân bậc 2
Dữ liệu sau khi lấy sai phân bậc 2 đã đạt là chuỗi dừng, vì vậy d=2
Trang 25Xác định các hệ số p, d, q (tt)
Biểu đồ tương quan ACF và tương quan riêng phần PACF của dữ liệu PKDK mẫu sau khi lấy sai phân bậc 2 > op <- par(mfrow = c(2,1), mar = c(5,4,1,2)+.1, oma = c(0,0,2,0))
Trang 26MỘT SỐ CÁC MÔ HÌNH ĐỀ XUẤT
Mô hình ARIMA(3,2,3)
Mô hình ARIMA (3,2,0) hay ARI(3,2)
Mô hình ARIMA (0,2,3) hay IMA(2,3)
Ngoài ra cũng có một số mô hình tham khảo
…
Trang 27THỰC HIỆN MỘT SỐ MÔ HÌNH ĐỀ XUẤT
sigma^2 estimated as 25313: log likelihood=-217.24
AIC=448.49 AICc=452.97 BIC=458.96
> tsdiag(modelArimaPK1)
Trang 28Hình 5.24 Biểu đồ giá trị phần dư, tương quan và kiểm
định p-values của thống kê Ljung-Box theo mô hình ARIMA thứ nhất.
Trang 29LỰA CHỌN MÔ HÌNH
> #So sánh AIC
> rbind( modelArimaPK1=modelArimaPK1$aic+ ,modelArimaPK2=modelArimaPK2$aic
Trang 30DỰ BÁO CHUỖI THỜI GIAN
> plot(modelArimaPK1, n.ahead = valBV.period, ylab = 'Series, Forecasts
& Limits', pch=19); points(x=(36:42), y=futurePK, pch=3,col='red',
Hình 5.25 Biểu đồ so sánh giá trị thực tế và giá trị dự báo cho các
khoảng thời gian tiếp theo của doanh thu PKDK theo mô hình
ARIMA(3,2,3)
Trang 31GIÁ TRỊ DỰ BÁO – GIÁ TRỊ THỰC TẾ
ylab='Series, Forecasts & Limits', pch=19)
1.875071e+02 6.404233e+04 2.530659e+02 9.267485e-02 1.597741e-02
Trang 32ĐÁNH GIÁ KẾT QUẢ DỰ BÁO
Dữ liệu phòng khám đa khoaARIMA(3,2,3
01
Trang 34MÔ HÌNH SARIMA – PHÒNG KHÁM ĐA
KHOA
Quá trình thực nghiệm của phương pháp này
và giá trị thực tế.
Trang 35XÁC ĐỊNH HỆ SỐ p, d, q, P,D,Q
Biểu đồ dữ liệu
lấy sai phân bậc 1
Trang 36Hình 5.28 Biểu đồ dữ liệu PKDK sau khi lấy sai phân bậc 2
Sau khi lấy sai phân lần 2 ta thấy dữ liệu có thể có tính dừng
Trang 37XÁC ĐỊNH HỆ SỐ p, d, q, P,D,Q (tt)
phầnPACF của dữ liệu sau khi lấy sai phân
> op <- par(mfrow = c(2,1), mar = c(5,4,1,2)+.1, oma = c(0,0,2,0))
p+P=1
Trang 39THỰC HIỆN MỘT SỐ MÔ HÌNH ĐỀ XUẤT
> # Mô hình 3 SARIMA(0,1,0)(1,1,1)12
> modelSArimaPK3 = arima(seriesPK, order = c(0,1,0), seasonal
= list(order = c(1,1,1), period=12)); modelSArimaPK3
Trang 40Hình 5.30 Biểu đồ giá trị phần dư, tương quan và kiểm định p-values của
thống kê Ljung-Box theo mô hình SARIMA(0,1,0)(1,1,1)12.
Trang 41LỰA CHỌN MÔ HÌNH
> #So sanh AIC cua cac mo hinh
> rbind(SArimaPK1 = modelSArimaPK1$aic, SArimaPK2 = modelSArimaPK2$aic, SArimaPK3 = modelSArimaPK3$aic)
[,1]
SArimaPK1 299.6494
SArimaPK2 304.1344
SArimaPK3 300.7974
Trang 42DỰ BÁO CHUỖI THỜI GIAN
> #Mô hình SARIMA 3
> #Biểu đồ kết hợp dữ liệu thật và mô hình dự báo
> plot(modelSArimaPK3, n.ahead = 7, pch = 19, ylab = 'Doanh thu'); points(x=(36:42), y=futurePK, pch=3,col='red', lty=3) PKDK: Actual & Fitted by SARIMA(0,1,0)(1,1,1)12
Hình 5.31 Biểu đồ so sánh giá trị thực tế và giá trị dự báo cho các khoảng thời gian tiếp theo của
doanh thu PKDK theo mô hình SARIMA(0,1,0)(1,1,1)12
Trang 43ĐÁNH GIÁ KẾT QUẢ DỰ BÁO
> #So sánh kết quả các chỉ tiêu so sánh đánh giá mô hình
> rbind(SArimaPK1.111010 = valSArimaPK1, SArimaPK2.110011 = valSArimaPK2, SArimaPK3.010111 = valSArimaPK3)
MAE MSE RMSE MAPE MPE
SArimaPK1.111010 180.9211 50871.71 225.5476 0.09220752 0.027265977
SArimaPK2.110011 180.4990 51987.89 228.0085 0.09408804 -0.031391061
SArimaPK2.010111 173.2438 49830.05 223.2265 0.08961340 0.001506381
Hay
Dữ liệu phòng khám đa khoa
(1,1,1)(0,1,0)12 180.9211 50871.71 225.5476 0.09220752 0.027265977 (1,1,0)(0,1,1)12 180.4990 51987.89 228.0085 0.09408804 -0.031391061 (0,1,1)(1,1,1)12 173.2438 49830.05 223.2265 0.08961340 0.001506381
Trang 44CẢM ƠN QUÝ THẦY CÔ!