Cho một chuỗi thời gian gồm n quan sát y1,y2,…,yn và độ dài cửa sổ k (1≤k≤n). Trung bình trượt (Simple Moving Average) tại thời điểm t (với t=k,k+1,…,n) được định nghĩa là
SMAt=kyt−k+1+yt−k+2+⋯+yt.
Giá trị SMAt được dùng làm dự báo cho quan sát kế tiếp yt+1 (với t chạy từ k đến n−1). Sai số tuyệt đối trung bình (MAE) của các dự báo này là
MAE=n−k1∑t=kn−1∣yt+1−SMAt∣.
Yêu cầu: tính tất cả các giá trị SMAk,SMAk+1,…,SMAn và giá trị MAE nói trên. Nếu k=n thì không có dự báo nào được kiểm chứng (không có t nào từ k đến n−1), khi đó in "N/A" thay cho MAE.
Ví dụ: với n=5,k=3 và dãy 10,12,13,12,15: SMA3=35/3≈11.67, SMA4=37/3≈12.33, SMA5=40/3≈13.33. Dự báo cho y4 là SMA3, sai số ∣12−11.67∣=0.33; dự báo cho y5 là SMA4, sai số ∣15−12.33∣=2.67. MAE=(0.33+2.67)/2=1.5. Kết quả in ra:
11.67 12.33 13.33
1.5000
Dòng 1: hai số nguyên n và k (1≤k≤n≤1000) cách nhau bởi dấu cách. Dòng 2: n số thực y1,…,yn cách nhau bởi dấu cách.
Dòng 1: các giá trị SMAk,SMAk+1,…,SMAn, mỗi số làm tròn 2 chữ số thập phân, cách nhau đúng một dấu cách. Dòng 2: giá trị MAE làm tròn 4 chữ số thập phân, hoặc chuỗi "N/A" nếu k=n.
Ví dụ:
Đầu vào:
1 1
7
Đầu ra:
7.00
N/A
Đầu vào:
5 3
10 12 13 12 15
Đầu ra:
11.67 12.33 13.33
1.5000
Đang tải editor...