Dữ liệu & phân tíchĐăng 14 phút đọcCó bản English

Dự báo từ chuỗi CPI Việt Nam: làm từng bước trên số liệu thật

Dành cho giám đốc tài chính và chủ SME cần một giả định lạm phát cho ngân sách 12 tháng. Bài phân rã chuỗi CPI thật của Việt Nam, dự báo bằng bảy cách rồi chấm trên phần giữ lại. Đường tăng đều đơn giản khó bị thắng, và cú sốc giá xăng dầu 2026 làm lệch mọi dự báo.

Xem .mdLinkedIn

Một công ty phân phối ở Cần Thơ (giả định của tôi) lập ngân sách 12 tháng và cần một giả định lạm phát cho từng dòng chi phí. Giả định hay gặp là một con số duy nhất, kiểu "CPI tăng 3,5%". Bài này kiểm xem một dự báo đi từ chuỗi CPI thật, gồm phân rã, dự báo và chấm trên phần giữ lại, có đáng tin hơn một đường kẻ thẳng hay không. Các bước theo Bốn thành phần của chuỗi thời gian và Hyndman và Athanasopoulos (2021). Bản Excel trên số giả định nằm ở bài về dự báo mùa vụ.

Số liệu lấy ở đâu, và đáng tin đến mức nào?

Tôi dùng chuỗi chỉ số giá tiêu dùng chung (mọi nhóm hàng), hàng tháng, mã VNM.CPI._T.IX.M trong bộ dữ liệu CPI của Quỹ Tiền tệ Quốc tế (IMF), kỳ gốc ghi là 2024 (International Monetary Fund, 2026). Tôi tải ngày 3/11/2026 qua API công khai của IMF; tệp ghi cập nhật ngày 31/10/2026, có 298 tháng liên tục từ 12/2001 đến 9/2026. IMF nêu nguồn cho cả bộ dữ liệu là cơ quan thống kê các nước, OECD và Eurostat, không nêu riêng nguồn của Việt Nam, nên tôi tự đối chiếu.

Từ chuỗi tôi tính mức tăng so với tháng trước và cùng kỳ rồi so với số NSO công bố: tháng 1 và tháng 3 đến 9/2026 (so tháng trước), tháng 3 đến 9/2026 và tháng 9 của các năm 2022 đến 2025 (cùng kỳ) (National Statistics Office of Vietnam, 2026; National Statistics Office of Vietnam, 2026). Tổng cộng 19 phép so sánh, lệch lớn nhất 0,01 điểm phần trăm, cỡ sai số làm tròn hai chữ số thập phân (suy đoán của tôi). Còn hai điều chưa rõ: trung bình 12 tháng của 2024 trong tệp là 99,58 chứ không phải 100, và mối nối giữa các kỳ gốc cũ trong chuỗi ghép của IMF tôi chưa kiểm. NSO đã đăng số tháng 10/2026 khi tôi viết (National Statistics Office of Vietnam, 2026); tôi không thêm vào để giữ đúng một tệp dữ liệu tải ngày 3/11.

Hai mươi bốn tháng cuối (chỉ số, dấu chấm thập phân để dán vào chương trình):

2024-10 .. 2025-09:  100.36 100.48 100.77 101.76 102.11 102.08 102.15 102.31 102.81 102.92 102.97 103.41
2025-10 .. 2026-09:  103.61 104.08 104.28 104.33 105.52 106.83 107.73 108.04 107.63 107.50 107.99 108.66

Phân rã chuỗi cho thấy xu hướng và mùa vụ thế nào?

Xu hướng gần như là tất cả, mùa vụ nhỏ và tập trung ở tháng 2. Tôi lấy log của chỉ số rồi chạy STL (Seasonal and Trend decomposition using Loess) với chu kỳ 12, cửa sổ mùa vụ 11 và cửa sổ xu hướng 21, là mặc định sách ghi cho dữ liệu tháng, cộng tuỳ chọn chống ngoại lai (robust) mà sách dùng ở một ví dụ (Hyndman và Athanasopoulos, 2021, mục 3.6). Lấy log biến phân rã nhân thành phân rã cộng (mục 3.2). Chuỗi huấn luyện dài 165 tháng, từ 1/2012 đến 9/2025; năm bắt đầu là lựa chọn của tôi, và mục sau cho thấy nó nặng ký thế nào.

Theo định nghĩa ở mục 4.3 của sách, độ mạnh xu hướng bằng 0,998 và độ mạnh mùa vụ bằng 0,15 (0 là không có mùa vụ, gần 1 là mùa vụ mạnh) (Hyndman và Athanasopoulos, 2021). Bảng đặt hai cách nhìn cạnh nhau: mức tăng trung bình theo tháng 2016 đến 2025 tính thẳng từ số liệu, và thành phần mùa vụ STL của năm cuối.

Tháng Tăng so với tháng trước, trung bình 2016 đến 2025 (%) Thành phần mùa vụ STL, năm cuối (% mức chỉ số)
1 0,44 +0,21
2 0,64 +0,57
3 −0,05 +0,13
4 −0,09 −0,07
5 0,18 −0,15
6 0,33 −0,02
7 0,28 +0,04
8 0,30 −0,28
9 0,37 −0,08
10 0,28 −0,06
11 0,28 −0,13
12 0,21 −0,19

Trung bình cả 120 tháng là 0,26%. Tháng 1 và 2 cao hơn hẳn, tháng 3 và 4 thấp hơn. Về 2026, NSO viết tháng 2 trùng Tết Nguyên đán Bính Ngọ nên giá thực phẩm, ăn uống ngoài gia đình và giao thông tăng, còn tháng 3 "CPI không giảm theo quy luật hằng năm mà tăng 1,23%" do giá xăng dầu (National Statistics Office of Vietnam, 2026).

Tết rơi vào tháng 1 hoặc tháng 2 tuỳ năm, mà STL "does not handle trading day or calendar variation automatically", tức không tự xử lý biến động theo ngày hay lịch (Hyndman và Athanasopoulos, 2021, mục 3.6). Số liệu có dấu hiệu của chuyện này: mức tăng tháng 1 và tháng 2 trong 10 năm 2016 đến 2025 có hệ số tương quan −0,71, và tổng hai tháng dao động ít hơn từng tháng (độ lệch chuẩn 0,34 so với 0,40 và 0,48). Đó là phép tính của tôi trên 10 điểm; việc nó do Tết dời tháng là suy luận, vì ngày Tết không nằm trong dữ liệu.

Dự báo 12 tháng bằng những cách nào?

Bảy cách, từ đơn giản đến phức tạp. Mọi mô hình chạy trên log chỉ số rồi đổi ngược bằng hàm mũ, không hiệu chỉnh độ chệch.

Cách Làm gì
Naive Giữ nguyên giá trị tháng cuối (mục 5.2)
Seasonal naive Lấy giá trị cùng tháng năm trước (mục 5.2)
Drift Tăng đều theo mức tăng log trung bình của giai đoạn huấn luyện (mục 5.2)
Seasonal naive + drift Cùng tháng năm trước, cộng phần tăng đều của các năm đã qua (ghép của tôi)
STL + drift Drift cho phần đã bỏ mùa vụ, lặp lại thành phần mùa vụ của năm cuối (mục 5.7)
ETS Chọn theo AICc trong sáu mẫu sai số cộng (mục 8.6)
ARIMA ARIMA(p,1,q)(P,0,Q)12 có drift, p và q từ 0 đến 2, P và Q từ 0 đến 1, chọn theo AICc (lưới của tôi)

Mục theo (Hyndman và Athanasopoulos, 2021). San bằng mũ và ARIMA dùng như sách mô tả, nhưng thuật toán chọn ARIMA tự động của sách tôi chưa đọc, nên lưới 36 mô hình là của tôi. Tại điểm cắt 9/2025, ETS chọn (A,A,A) và ARIMA chọn (2,1,0)(1,0,0)12.

Kết quả trên 12 tháng giữ lại ra sao?

Mọi cách có xu hướng cùng sai một hướng: dự báo thấp hơn thực tế. Tôi giữ lại 12 tháng cuối, 10/2025 đến 9/2026, bằng đúng tầm dự báo, chiếm 12 trên 177 tháng (6,8% mẫu). Sách nêu phần giữ lại thường khoảng 20% mẫu và lý tưởng là ít nhất bằng tầm dự báo xa nhất cần dùng (mục 5.8) (Hyndman và Athanasopoulos, 2021); tôi theo vế sau. Sai số là thực tế trừ dự báo.

| Cách | MAE (điểm chỉ số) | MAPE (%) | Sai số trung bình | Lạm phát 12 tháng dự báo cho 9/2026 (%) | |:--|--:|--:|--:|--:| | Naive | 2,94 | 2,74 | +2,94 | 0,0 | | Seasonal naive | 4,34 | 4,07 | +4,34 | 0,0 | | Drift | 1,14 | 1,06 | +1,10 | 3,31 | | Seasonal naive + drift | 1,11 | 1,03 | +0,96 | 3,31 | | STL + drift | 1,10 | 1,02 | +0,99 | 3,35 | | ETS | 1,20 | 1,11 | +1,12 | 3,32 | | ARIMA | 1,05 | 0,98 | +0,93 | 3,48 |

Thực tế tại 9/2026 là 5,08% (National Statistics Office of Vietnam, 2026). Năm cách có xu hướng chênh nhau 0,13 điểm phần trăm MAPE, nhỏ so với độ ồn của một cửa sổ 12 tháng, nên tôi không xếp hạng chúng từ bảng này.

Đến hết tháng 1/2026 drift và STL cộng drift sát thực tế (lệch dưới 0,5 điểm, trừ STL ở tháng 1 cao hơn 0,52 vì mức tăng tháng 1 chỉ 0,05%). Tháng 2, STL cộng drift dự báo 105,52, trùng thực tế đến hai chữ số thập phân, còn drift thấp hơn 0,70: phần mùa vụ tháng 2 đã làm đúng việc của nó, một lần. Từ tháng 3 khoảng cách vọt lên: thực tế 106,83, drift 105,11, STL 105,35. Đến tháng 9 là 108,66 so với 106,83 và 106,88.

NSO ghi chỉ số giá nhóm nhiên liệu giảm 9,62% và 8,38% so với cùng kỳ trong tháng 1 và 2/2026, rồi tăng 21,6% ở tháng 3. Tháng 9/2026, nhóm giao thông tăng 11,67% so với cùng kỳ và đóng góp 1,16 điểm phần trăm vào mức tăng chung 5,08%, riêng nhiên liệu tăng 23,96% (National Statistics Office of Vietnam, 2026). Chuỗi CPI không chứa gì về giá xăng dầu thế giới, nên không cách nào dựa chỉ vào chuỗi này thấy trước điều đó. Đổi sang mô hình khác không sửa được: cả năm cách có xu hướng đều sai cùng hướng và cùng cỡ.

Một lần chấm có đủ không?

Không. Cùng bảy cách, giữ lại 12 tháng trước đó (cắt tại 9/2024), drift, seasonal naive cộng drift, STL cộng drift và ARIMA có MAPE chỉ 0,20% đến 0,25%. ETS chọn (A,Ad,A) và cho dự báo gần phẳng quanh mức 100 suốt năm, MAPE 1,94%, bằng naive; tôi chưa tìm nguyên nhân. Sách đề nghị chấm trên nhiều điểm cắt (mục 5.10) (Hyndman và Athanasopoulos, 2021). Tôi cắt mỗi tháng từ 9/2018 đến 9/2025, 85 điểm; mỗi điểm chỉ dùng dữ liệu đến lúc cắt, chọn lại ETS và ARIMA, dự báo 12 tháng.

MAPE (%) 1 tháng 3 tháng 6 tháng 12 tháng Trung bình 1 đến 12 tháng
Naive 0,37 0,93 1,59 3,14 1,76
Seasonal naive 2,96 2,95 2,98 3,14 3,02
Drift 0,32 0,62 0,83 0,94 0,78
Seasonal naive + drift 0,82 0,85 0,87 0,94 0,88
STL + drift 0,45 0,75 0,92 0,95 0,85
ETS 0,35 0,83 1,21 1,71 1,17
ARIMA 0,35 0,69 0,92 1,00 0,84

Drift đứng đầu hoặc đồng hạng ở cả bốn tầm. STL cộng drift hơn drift ở 29 trong 85 điểm cắt, ARIMA ở 30, ETS ở 28 (so MAPE trung bình 12 tháng của từng điểm cắt). Chỉ khi tháng đích là tháng 2 thì STL cộng drift nhỉnh hơn: 0,85% so với 0,88%. Với chuỗi này, mùa vụ nhỏ hơn sai số của xu hướng, nên phần mùa vụ không bù được chi phí ước lượng thêm. Sách ghi cách naive "works remarkably well for many economic and financial time series"; nó ứng với mô hình bước ngẫu nhiên, và drift là bản có hệ số tăng (mục 5.2 và 9.1) (Hyndman và Athanasopoulos, 2021). Kết quả của tôi khớp với nhận xét đó.

Chọn năm bắt đầu dữ liệu ảnh hưởng thế nào?

Nhiều hơn chọn mô hình. Tôi chạy lại drift với ba điểm bắt đầu cho cả hai phần giữ lại.

Dữ liệu bắt đầu từ Tăng/năm (cắt 9/2024) MAPE 10/2024 đến 9/2025 Tăng/năm (cắt 9/2025) MAPE 10/2025 đến 9/2026
1/2002 6,19% 1,30% 6,07% 0,64%
1/2012 3,31% 0,24% 3,31% 1,06%
1/2016 3,20% 0,27% 3,22% 1,10%

Bắt đầu từ 2002 kéo vào các năm lạm phát cao (chuỗi có tháng 5/2008 tăng 3,91%), nên tốc độ ước lượng gần gấp đôi. Năm 2025 đến 2026 tốc độ cao ấy tình cờ gần với lạm phát đang lên và thắng; năm trước đó nó sai hơn năm lần. Xếp hạng theo một lần chấm là xếp hạng theo may rủi.

Khi nào không nên dùng cách này?

Khi có cú sốc chính sách hoặc giá hàng hoá, khi kỳ gốc đổi, và khi bạn cần một khoảng thay cho một con số.

  • Cú sốc chính sách và giá. NSO viết rằng điều hành thị trường xăng dầu được thực hiện chủ động, linh hoạt, bám sát diễn biến giá thế giới và cung – cầu trong nước (National Statistics Office of Vietnam, 2026). Quyết định điều chỉnh giá, thuế hay phí không có trong chuỗi.
  • Đổi kỳ gốc hoặc quyền số, và Tết: tôi chưa kiểm mối nối của chuỗi ghép, chưa dựng biến lịch Tết.
  • CPI chung không phải chi phí của bạn. Doanh nghiệp vận tải chịu nhiên liệu nhiều hơn giỏ CPI (suy luận của tôi, chưa tính trọng số).
  • Chỉ có dự báo điểm, chưa có khoảng dự báo. Chọn phương pháp theo Chọn phương pháp dự báo.

Đào sâu: phân rã và dự báo có gì cần đọc kỹ?

Phân rã cổ điển có từ thập niên 1920 và được dùng rộng rãi đến thập niên 1950 (mục 3.3); STL do Cleveland và cộng sự (1990) đề xuất theo lời sách, tôi chưa đọc bài gốc (Hyndman và Athanasopoulos, 2021). Sách nêu ưu điểm của STL (mùa vụ đổi được theo thời gian, chịu được ngoại lai) và hai nhược điểm: không xử lý biến động lịch, chỉ phân rã cộng (mục 3.6). Cả hai nhược điểm chạm vào chuỗi này: ngoại lai (phần dư lớn nhất rơi vào 12/2019 đến 3/2020, từ 1,8% đến 3,3% mức chỉ số; tôi không phân tích nguyên nhân) và biến động Tết.

Hai phê bình về cách chấm của chính tôi. Một, MAPE trên mức chỉ số nhỏ vì mức chỉ số chứa cả xu hướng cộng dồn; sách cũng nhắc sai số phần trăm giả định đơn vị đo có số không có nghĩa và phạt sai số âm nặng hơn sai số dương (mục 5.8). Sai số theo điểm phần trăm lạm phát dễ đọc hơn. Hai, 85 điểm cắt chồng lấn (hai điểm kề nhau chia sẻ 11 trong 12 tháng đích), nên "29 trong 85" không phải một kiểm định thống kê.

Tôi đọc những gì? Các mục 3.1 đến 3.3, 3.6, 4.3, 5.2, 5.7, 5.8, phần mở đầu mục 5.10, 8.1, 8.2, 8.6 và 9.1 của Hyndman và Athanasopoulos (2021), bản trực tuyến, bỏ qua mã R; chưa đọc mục 5.9, 9.7, 9.9 và chương 7 (Hyndman và Athanasopoulos, 2021). Với NSO, tôi đọc toàn văn thông cáo về giá tháng 9/2026 (National Statistics Office of Vietnam, 2026); từ bản tổng quan PDF, phần diễn biến theo tháng và bảng so tháng 9 các năm (National Statistics Office of Vietnam, 2026); từ trang liệt kê CPI, chỉ đoạn tóm tắt từng tháng (National Statistics Office of Vietnam, 2026). Chuỗi IMF tải hai lần, giống hệt. Tôi tính bằng Python (pandas, statsmodels 0.15.0), không chạy R; ETS và ARIMA của statsmodels có thể chọn mô hình khác với fable trong sách. Bốn cách đơn giản tôi tính lại bằng đoạn mã độc lập, ETS và ARIMA ở điểm cắt 9/2025 chạy lại riêng, đều cùng kết quả. Mã và tệp CSV không đăng kèm; lệnh tải chuỗi là https://api.imf.org/external/sdmx/3.0/data/dataflow/IMF.STA/CPI/+/VNM.CPI._T.IX.M?format=json.

Hỏi nhanh

Lấy chuỗi CPI Việt Nam ở đâu, và kiểm thế nào cho yên tâm?

Số gốc do Cục Thống kê (tên tiếng Anh National Statistics Office, NSO) công bố, nhưng thông cáo của NSO chỉ nêu mức tăng theo tháng và theo năm, không có bảng chỉ số dài. Tôi lấy chuỗi chỉ số trong bộ dữ liệu CPI của IMF rồi đối chiếu ngược: tính mức tăng so với tháng trước và cùng kỳ từ chuỗi, so với số NSO công bố. Hai bên lệch tối đa 0,01 điểm phần trăm trong 19 phép so sánh (International Monetary Fund, 2026; National Statistics Office of Vietnam, 2026; National Statistics Office of Vietnam, 2026). Cách này kiểm được những tháng tôi đối chiếu, không kiểm được cả 298 tháng.

CPI Việt Nam có tính mùa vụ mạnh không, và Tết ảnh hưởng ra sao?

Mùa vụ yếu: độ mạnh mùa vụ của STL trên chuỗi 2012 đến 2025 là 0,15 trên thang 0 đến 1 (định nghĩa ở mục 4.3 của (Hyndman và Athanasopoulos, 2021)). Dấu vết rõ nhất là tháng 2, trung bình tăng 0,64% so với tháng trước trong 2016 đến 2025, so với 0,26% của mọi tháng. Mức tăng tháng 1 và tháng 2 tương quan âm (−0,71, chỉ 10 năm), gợi ý Tết dời giữa hai tháng. Đó là suy luận của tôi, vì ngày Tết các năm không nằm trong dữ liệu.

MAPE 1% trên chỉ số CPI nghĩa là sai bao nhiêu điểm phần trăm lạm phát?

Nhiều hơn con số 1% gợi ý. Trong phần giữ lại, MAPE 0,98% đến 1,11% đi cùng lạm phát 12 tháng dự báo 3,3% đến 3,5% so với thực tế 5,08%, tức sai 1,6 đến 1,8 điểm phần trăm (National Statistics Office of Vietnam, 2026). MAPE chia sai số cho mức chỉ số, mà mức đó đã chứa nhiều năm tăng giá cộng dồn, nên nhìn nhỏ. Với lạm phát nên báo cả sai số theo điểm phần trăm.

Có nên đưa một con số dự báo CPI vào ngân sách không?

Một con số là chưa đủ. Bài này chỉ tính dự báo điểm, chưa tính khoảng dự báo (tôi chưa đọc mục 5.9 của sách). Sai số của năm cách có xu hướng cùng dấu và cùng cỡ, nên lấy trung bình chúng không bù được nhau. Với ngân sách, nên chạy thêm kịch bản xăng dầu cao và thấp, như trong Một con số hay nhiều kịch bản?.

Tài liệu tham khảo

Xếp A–Z theo họ tác giả, kiểu Harvard. Nguồn có DOI thì link https://doi.org/…; nguồn không có DOI thì link trang nguồn hoặc ghi rõ không có DOI.

  1. Hyndman, R.J. and Athanasopoulos, G. (2021) Forecasting: Principles and Practice, 3rd edn.Không có DOIotexts.comĐược trích trong 2 bài
  2. International Monetary Fund (2026) Consumer price index (CPI): Viet Nam, all items, index, monthly (dataset IMF.STA:CPI, version 5.0.0). IMF Data.Không có DOIdata.imf.orgĐược trích trong 1 bài
  3. National Statistics Office of Vietnam (2026) Chỉ số giá tiêu dùng (monthly CPI release summaries, March to October 2026). National Statistics Office of Vietnam.Không có DOInso.gov.vnĐược trích trong 1 bài
  4. National Statistics Office of Vietnam (2026) Tổng quan thị trường giá cả tháng 9, quý III và 9 tháng năm 2026. National Statistics Office of Vietnam.Không có DOInso.gov.vnĐược trích trong 1 bài
  5. National Statistics Office of Vietnam (2026) Thông cáo báo chí về tình hình giá tháng Chín, quý III và 9 tháng năm 2026. National Statistics Office of Vietnam.Không có DOInso.gov.vnĐược trích trong 1 bài
Đọc tiếp

Bài liên quan

Tất cả bài viết

Bài này có ích với bạn không?

Chấm điểm bài viết từ 1 đến 5 sao

Chưa có lượt chấm nào.

Bình luận (0)

Chưa có bình luận, hãy là người đầu tiên.

Viết bình luận

Bình luận được kiểm duyệt trước khi hiện. Có thể mất vài giờ.