4.2 KẾT QUẢ THỰC HIỆN
4.2.2 Kết quả với mơ hình SARIMA
Do sự hạn chế của môi trường lab về việc giả lập lưu lượng người dùng tương tự như hành vi người dùng thực tế nên tôi sử dụng dữ liệu lưu lượng lấy từ một khách hàng thuê một kênh WAN của nhà cung cấp dịch vụ (ISP) VNPT làm dữ liệu đầu vào để kiểm nghiệm mơ hình SARIMA. Ngồi ra, hệ thống SD-WAN Fortigate khơng có tính năng dự báo lưu lượng trong tương lai nên không thể đối chiếu kết quả kiểm nghiệm. Vì thế, tơi tự đánh giá tính hiệu quả của mơ hình SARIMA từ chính dữ liệu đầu vào.
Thu thập dữ liệu
Tập dữ liệu về lưu lượng truyền tải qua một kết nối WAN được lấy thực tế từ khách hàng thuê một kênh WAN từ nhà cung cấp dịch vụ ISP VNPT để làm dữ liệu đầu vào kiểm nghiệm cho thuật toán. Dữ liệu ban đầu sẽ được xử lý lấy giá trị trung bình các mẫu trong mỗi 1h thành một giá trị đại diện cho khung giờ đó để giúp đơn giản tập dữ liệu khi xử lý sau này.
Hình 4.11: Dữ liệu thực tế của một kênh WAN
Tôi sẽ sử dụng việc triển khai SARIMA do thư viện Statsmodels Python cung cấp.
Hình 4.12: Dữ liệu đầu vào đã được xử lý theo mỗi giờ
Chúng ta có thể thấy rằng thông tin về xu hướng (trend) và tính theo mùa (seasonal) được trích xuất từ chuỗi dữ liệu này thì rõ ràng tường minh. Phân tích biểu đồ Hình 4.13, chúng ta có thể thấy rằng chuỗi thời gian có mơ hình theo mùa, lặp lại sau mỗi chu kỳ 24h với hai thời điểm lưu lượng cao nhất là 11h-12h và 20h-21h, tương ứng với hai khoảng giờ cao điểm về hành vi của người dùng trong ngày, kết hợp với xu hướng tăng dần đều tuyến tính của lưu lượng sử dụng từ người dùng.
Hình 4.13: Phân rã chuỗi thời gian thành các thành phần mức độ, xu hướng, tính thời vụ và nhiễu.
Bây giờ tơi có thể sử dụng bộ ba tham số được xác định ở trên để tự động hóa q trình đào tạo và đánh giá các mơ hình ARIMA trên các tổ hợp khác nhau. Trong Thống kê và Học máy, quá trình này được gọi là tìm kiếm lưới (hoặc tối ưu hóa siêu tham số) để lựa chọn mơ hình. AIC (Akaike Information Criterion) đo lường mức độ phù hợp của một mơ hình với dữ liệu trong khi tính đến độ phức tạp tổng thể của mơ
hình. Một mơ hình phù hợp với dữ liệu rất tốt trong khi sử dụng nhiều tính năng sẽ được chỉ định một điểm AIC lớn hơn so với một mơ hình sử dụng ít tính năng hơn để đạt được cùng một mức độ phù hợp [37]. Do đó, tơi quan tâm đến việc tìm kiếm mơ hình mang lại giá trị AIC thấp nhất, q trình xử lý này có thể mất một khoảng thời gian, ta được kết quả các giá trị tương ứng trong Bảng 4.9.
Bảng 4.9: Kết quả chi tiết giá trị AIC trong quá trình tìm kiếm mơ hình
(p,d,q) (P,D,Q,S) AIC (p,d,q) (P,D,Q,S) AIC (0, 0, 0) (0, 0, 0, 24) 2647.303 (1, 0, 0) (0, 0, 0, 24) 1814.814 (0, 0, 0) (0, 0, 1, 24) 2168.296 (1, 0, 0) (0, 0, 1, 24) 1558.032 (0, 0, 0) (0, 1, 0, 24) 1605.682 (1, 0, 0) (0, 1, 0, 24) 1512.553 (0, 0, 0) (0, 1, 1, 24) 1386.056 (1, 0, 0) (0, 1, 1, 24) 1264.5 (0, 0, 0) (1, 0, 0, 24) 1579.171 (1, 0, 0) (1, 0, 0, 24) 1510.826 (0, 0, 0) (1, 0, 1, 24) 1543.459 (1, 0, 0) (1, 0, 1, 24) 1463.032 (0, 0, 0) (1, 1, 0, 24) 1395.899 (1, 0, 0) (1, 1, 0, 24) 1276.415 (0, 0, 0) (1, 1, 1, 24) 1387.866 (1, 0, 0) (1, 1, 1, 24) 1266.5 (0, 0, 1) (0, 0, 0, 24) 2398.055 (1, 0, 1) (0, 0, 0, 24) 1793.352 (0, 0, 1) (0, 0, 1, 24) 1975.953 (1, 0, 1) (0, 0, 1, 24) 1549.271 (0, 0, 1) (0, 1, 0, 24) 1538.551 (1, 0, 1) (0, 1, 0, 24) 1497.566 (0, 0, 1) (0, 1, 1, 24) 1319.033 (1, 0, 1) (0, 1, 1, 24) 1239.47 (0, 0, 1) (1, 0, 0, 24) 1536.686 (1, 0, 1) (1, 0, 0, 24) 1505.198 (0, 0, 1) (1, 0, 1, 24) 1482.895 (1, 0, 1) (1, 0, 1, 24) 1451.252 (0, 0, 1) (1, 1, 0, 24) 1335.968 (1, 0, 1) (1, 1, 0, 24) 1271.145 (0, 0, 1) (1, 1, 1, 24) 1321.032 (1, 0, 1) (1, 1, 1, 24) 1241.469 (0, 1, 0) (0, 0, 0, 24) 1803.899 (1, 1, 0) (0, 0, 0, 24) 1786.773 (0, 1, 0) (0, 0, 1, 24) 1547.146 (1, 1, 0) (0, 0, 1, 24) 1546.738 (0, 1, 0) (0, 1, 0, 24) 1533.337 (1, 1, 0) (0, 1, 0, 24) 1518.994 (0, 1, 0) (0, 1, 1, 24) 1260.448 (1, 1, 0) (0, 1, 1, 24) 1250.313 (0, 1, 0) (1, 0, 0, 24) 1514.885 (1, 1, 0) (1, 0, 0, 24) 1501.944 (0, 1, 0) (1, 0, 1, 24) 1475.973 (1, 1, 0) (1, 0, 1, 24) 1463.38 (0, 1, 0) (1, 1, 0, 24) 1290.684 (1, 1, 0) (1, 1, 0, 24) 1275.405 (0, 1, 0) (1, 1, 1, 24) 1262.439 (1, 1, 0) (1, 1, 1, 24) 1252.312 (0, 1, 1) (0, 0, 0, 24) 1782.192 (1, 1, 1) (0, 0, 0, 24) 1777.282 (0, 1, 1) (0, 0, 1, 24) 1537.763 (1, 1, 1) (0, 0, 1, 24) 1538.921 (0, 1, 1) (0, 1, 0, 24) 1495.729 (1, 1, 1) (0, 1, 0, 24) 1489.024 (0, 1, 1) (0, 1, 1, 24) 1230.63 (1, 1, 1) (0, 1, 1, 24) 1222.922 (0, 1, 1) (1, 0, 0, 24) 1504.714 (1, 1, 1) (1, 0, 0, 24) 1491.089 (0, 1, 1) (1, 0, 1, 24) 1442.787 (1, 1, 1) (1, 0, 1, 24) 1436.03 (0, 1, 1) (1, 1, 0, 24) 1273.819 (1, 1, 1) (1, 1, 0, 24) 1255.318 (0, 1, 1) (1, 1, 1, 24) 1232.626 (1, 1, 1) (1, 1, 1, 24) 1224.552
Khi chọn các mơ hình ARIMA theo mùa (và bất kỳ mơ hình nào khác cho vấn đề đó), điều quan trọng là phải chạy chẩn đốn mơ hình để đảm bảo rằng khơng có giả định nào do mơ hình đưa ra bị vi phạm. Đối tượng plot_diagnostics cho phép tơi nhanh chóng tạo ra các chẩn đốn mơ hình và điều tra xem có bất kỳ hành vi bất thường nào khơng ở Hình 4.14.
Hình 4.14: Tạo ra chẩn đốn mơ hình và xem xét có bất kỳ bất thường nào khơng Tôi chia ra dữ liệu thực của một ngày cuối để làm dữ liệu kiểm tra đánh giá dự đốn, cịn dữ liệu của các ngày trước đó là căn cứ đầu vào cho việc dự đoán lưu lượng trong tương lai. Tiếp theo, kết quả dự báo lưu lượng ngày tiếp theo được hiển thị trên biểu đồ cùng với các giá trị thực. Từ đó, ta có thể so sánh dự báo của chuỗi thời gian lưu lượng ngày cuối này để đánh giá mức độ hiệu quả của mơ hình dự đốn.
Hình 4.15: Biểu đồ các giá trị thực và dự báo của chuỗi dữ liệu
Nhìn chung, kết quả ở Hình 4.15 thể hiện so sánh dự báo lưu lượng của ngày tiếp theo của tôi phù hợp với các giá trị thực đã xảy ra, cho thấy xu hướng tăng và giảm tổng thể.
Hình 4.16: Biểu đồ dự đốn chuỗi dữ liệu tiếp theo trong tương lai
Cuối cùng, tơi tận dụng mơ hình chuỗi dữ liệu thời gian ARIMA theo mùa để dự báo các giá trị trong tương lai. Như trong Hình 4.16, sau khi chạy thuật tốn để dự đoán lưu lượng cho bốn ngày tiếp theo, nếu kênh truyền WAN này được thuê với băng thơng 400Mb/s thì vào khoảng 4 ngày tiếp theo lưu lượng có thể đạt đến mức băng thông tối đa. Kết quả dự đốn này cũng có thể là cơ sở để điều chỉnh lưu lượng tránh nghẽn và có kế hoạch nâng cấp mạng để đảm bảo chất lượng truyền tải dịch vụ trong thời gian tới.