ĐỒ ÁN CHUỖI THỜI GIAN NHÓM ITóm tắt nội dung báo cáoDự báo chuỗi thời gian là một lĩnh vực trong khoa học máy tính và thống kê,được sử dụng để dự đoán giá trị của một biến số theo thời g
Trang 1ĐẠI HỌC BÁCH KHOA HÀ NỘI
ĐỒ ÁN CHUỖI THỜI GIAN
Sử dụng mô hình Vector
Autoregression - VAR trong dự báo dữ
liệu chuỗi thời gian
Nguyễn Hoàng Lương - 20195899
Vũ Thị Ánh Nguyệt - 20195905Phạm Thị Phương Thảo - 20206212
Ngành: Toán Tin
Giảng viên hướng dẫn: TS Nguyễn Thị Ngọc Anh Chữ kí của GVHD
HÀ NỘI, 1/2024
Trang 2ĐỒ ÁN CHUỖI THỜI GIAN NHÓM I
Lời cảm ơn
Nhóm chúng em xin gửi lời cảm ơn sâu sắc tới TS.Nguyễn Thị Ngọc Anh đã luôntheo dõi sát sao quá trình học tập của chúng em và chỉ dạy, hướng dẫn bọn emhọc tập môn Chuỗi thời gian
Chúng em cũng xin gửi lời cảm ơn đến các giảng viên của Khoa Toán tin, Đạihọc Bách Khoa Hà Nội đã cung cấp những kiến thức cơ bản để tạo điều kiệnthuận lợi cho chúng em hoàn thành đồ án này
Chúng em xin chân thành cảm ơn!
Trang 3ĐỒ ÁN CHUỖI THỜI GIAN NHÓM I
Tóm tắt nội dung báo cáo
Dự báo chuỗi thời gian là một lĩnh vực trong khoa học máy tính và thống kê,được sử dụng để dự đoán giá trị của một biến số theo thời gian Trong thực tế,
nó được sử dụng trong nhiều lĩnh vực, bao gồm tài chính, kinh doanh, y tế, khoahọc xã hội, v.v đã được nghiên cứu từ lâu và được nhiều người quan tâm
Vì vậy, trong đồ án này, nhóm chúng em sử dụng mô hình Vector VAR để dự báo các kế hoạch( giá trị và số lượng) cho quý tiếp theo của loại sảnphẩm B1
Autoregression-Từ khóa: VAR, Forecasting, Time Series Data
Hà Nội, ngày 21 tháng 01 năm 2024
Trang 4MỤC LỤC
Tóm tắt nội dung báo cáo 2
Bảng ký hiệu và chữ viết tắt 5
Danh sách hình vẽ 5
1 Mở đầu 7 2 Mô hình Vector Autoregression 8 2.1 Định nghĩa 8
2.2 Kiểm định một số tính chất liên quan của mô hình VAR 10
2.2.1 Tính dừng 10
2.2.2 Tính nhân quả/ khả nghịch 11
2.3 Biểu diễn trung bình động của VAR 11
2.4 Ước lượng VAR 13
2.5 Dự báo cho mô hình VAR 13
2.6 Trung bình bình phương sai số 14
3 Mô tả bài toán 15 3.1 Yêu cầu đặt ra 15
3.2 Quy trình làm việc của mô hình VAR 15
3.3 Tiền xử lý bộ dữ liệu 16
3.3.1 Giới thiệu bộ dữ liệu 16
3.3.2 Xử lí bộ dữ liệu 16
4 Sử dụng mô hình VAR trong dự báo 20 4.1 Huấn luyện mô hình 20
4.1.1 Tìm thứ tự độ trễ của mô hình VAR(p p) 20
4.1.2 Huấn luyện mô hình VAR dựa trên độ trễ đã tìm đượcp trước đó 21
4.2 Đánh giá mô hình 22
4.2.1 Kiểm tra mối tương quan nối tiếp của số dư (lỗi) bằng Thống kê Durbin Watson 22
Trang 5ĐỒ ÁN CHUỖI THỜI GIAN NHÓM I
4.2.2 Kiểm thử 22
4.2.3 Đánh giá mô hình 23
4.3 Đưa ra dự báo 26
4.4 Xây dựng mô hình VAR thứ hai 26
Trang 6ĐỒ ÁN CHUỖI THỜI GIAN NHÓM I
Bảng ký hiệu, viết tắt và thuật ngữ
Từ viết tắt Ý nghĩa
VAR Vector Autoregression
OLS Ordinary Least Squares
MSE Mean Squared Error
Trang 7DANH MỤC HÌNH VẼ
3.1 Thông tin bộ dữ liệu 16
3.2 Kiểm tra missing data trong bộ dữ liệu 17
3.3 5/12 dòng của bộ dữ liệu sau khi đã loại bỏ các thuộc tính không cần thiết 17
3.4 Trực quan hóa bộ dữ liệu 18
3.5 Kiểm tra tính dừng của các chuỗi thời gian trong bộ dữ liệu 19
4.1 Kiểm tra giá trị AIC để tìm ra thứ tự độ trễ phù hợp với môp hình VAR 20
4.2 Huấn luyện mô hình VAR dựa trên bộ dữ liệu ban đầu 21
4.3 Ma trận tương quan của phần dư 21
4.4 Kiểm tra mối tương quan nối tiếp của số dư (lỗi) bằng Thống kê Durbin Watson 22
4.5 Dự báo các giá trị thuộc tập kiểm thử 23
4.6 So sánh giá trị dự báo với giá trị ban đầu thuộc tập kiểm thử 23
4.7 Độ chính xác của dự báo đối với mỗi chuỗi thời gian Quan-tity_Plan và Value_Plan 24
4.8 Độ chính xác của dự báo đối với mỗi chuỗi thời gian Quan-tity_Comp và Value_Comp 25
4.9 Thực hiện dự báo dữ liệu kế hoạch 4 quý trong năm 2024 26
4.10 Trực quan hóa bộ dữ liệu của sản phẩm B1 27
4.11 Tính toán AIC đối với bộ dữ liệu của sản phẩm B1 27
4.12 Mô hình VAR cho bộ dữ liệu thứ 2 28
4.13 So sánh giá trị dự báo của mô hình với giá trị thực 28
4.14 Đánh giá mô hình VAR của bộ dữ liệu thứ hai 29
4.15 Dự báo dữ liệu 4 quý tiếp theo của sản phẩm B1 bằng mô hình VAR thứ hai 30
Trang 8CHƯƠNG 1 Mở đầu
Trong thời kỳ công nghệ hiện đại, việc thu thập và phân tích dữ liệu trở thànhkhông thể thiếu đối với doanh nghiệp và tổ chức Dữ liệu chuỗi thời gian, đặcbiệt, là một trong những loại dữ liệu quan trọng được quan tâm rộng rãi Đượcđịnh nghĩa là các số liệu được ghi lại theo thời gian, như số lượng khách hàng,giá cả, sản lượng, hoặc các chỉ số kinh tế và tài chính, dữ liệu chuỗi thời gianđóng vai trò quan trọng trong việc dự báo xu hướng tương lai
Việc dự báo chuỗi thời gian đối với các doanh nghiệp và tổ chức không chỉ quantrọng mà còn giúp họ đưa ra các quyết định có logic và nâng cao hiệu suất hoạtđộng Trong nhiều lĩnh vực, mô hình dự báo chuỗi thời gian đã được phát triển
và sử dụng rộng rãi, giúp chuyên gia có khả năng đưa ra dự báo chính xác vềtương lai
Trong nghiên cứu này, chúng em đề xuất sử dụng mô hình VAR để dự báo dữliệu chuỗi thời gian về kế hoạch quý tiếp theo của một loại sản phẩm B1 VAR,một mô hình thống kê đa biến, cho phép phân tích và dự báo chuỗi thời giancủa các biến phụ thuộc lẫn nhau
Mục tiêu của nghiên cứu này là áp dụng mô hình VAR để dự báo kế hoạch quýtiếp theo của loại sản phẩm B1 Cụ thể, chúng em sẽ:
•Thu thập và xử lý dữ liệu chuỗi thời gian
•Kiểm tra tính dừng của chuỗi thời gian
•Sử dụng mô hình Var dự báo kế hoạch quý tiếp theo của loại sản phẩm B1(2,3,4 quý tiếp theo)
•Đánh giá sai số của mô hình
Trang 9CHƯƠNG 2 Mô hình Vector Autoregression
2.1 Định nghĩa
Mô hình Vector Autoregression (VAR) hay còn gọi là mô hình véc tơ tự hồi quy,
mô tả sự phát triển của một tập hợp gồm biến, được gọi làk biến nội sinh, theothời gian Mô hình VAR là chuỗi thời gian đa biến chứa một hệ gồm phươngk
trình củakbiến phân biệt, mỗi biến có một phương trình mô hình hóa sự pháttriển của nó theo thời gian Phương trình này bao gồm các giá trị trễ (quá khứ)của biến, giá trị trễ của các biến khác trong mô hình và các điều kiện khác.Các mô hình VAR còn được đặc trưng bởi mức độ : mỗi phương trình trongp
mô hình VAR(p) chứapđộ trễ của tất cả các biến trong hệ thống, hay còn gọi
là VAR có độ trễ p
Mô hình VAR tổng quát
Mô hình VAR tổng quát hay còn gọi là mô hình TVP-VAR (mô hình véc tơ tựhồi quy với các tham số thay đổi theo thời gian - Time Varing Parameter VectorAutoregression Model) bao gồm biến và độ trễ Mô hình VAR có thể đượck p
định nghĩa như sau:
• Aplà ma trận hệ sốk × kđo lường tác động của véc tơ biến trễyt−plên véc
tơ biến yt
• utlà quá trình nhiễu trắngkchiều (trung bình bằng không, phương sai cốđịnh, không tự tương quan)
Trang 10ĐỒ ÁN CHUỖI THỜI GIAN NHÓM I
Như vậy, số lượng tham số được ước lượng trong mô hình VAR sẽ làK + pK2haymỗi phương trình trong phương trình sẽ cók 1 + pKtham số được ước lượng Sốlượng tham số được ước lượng càng nhiều thì sai số ước lượng trong dự báo càngcao Trong thực tế, thông thường người ta duy trì nhỏ và chỉ bao gồm nhữngk
biến có tương quan cao với nhau
•Hệ sốϕii,1đo lường tác động của biến trễyi,t−1lên biếnyi,t
•Hệ sốϕij,1đo lường tác động của biến trễyj,t−1lên biếnyi,t
Trang 11ĐỒ ÁN CHUỖI THỜI GIAN NHÓM I
2.2 Kiểm định một số tính chất liên quan của
(station-Ta sẽ cụ thể kiểm định trên cho trường hợp VAR(1):
Trang 12ĐỒ ÁN CHUỖI THỜI GIAN NHÓM I
Như vậy, biểu thứcdet(Φ(L)) = 0có 2 nghiệmz1= 1
0.2,z1=
10.9nằm ngoài đườngtròn đơn vị Như vậy trường hợp mô hình VAR(1) trên là một chuỗi dừng
•VARMA(p,q) có tính nhân quả nếudetΦ(z) = 0, ∀z ∈Cthỏa mãn|z|≤1
•VARMA(p,q) có tính khả nghịch nếudetΘ(z) = 0, ∀z ∈Cthỏa mãn|z|≤1.Đối với trường hợp VAR(p), dễ thấy nó chính là mô hình VARMA(p,0), khi đó
Θ(L) = I∀z ∈Cthỏa mãn|z|≤1, như vậy mô hình VAR có tính khả nghịch với
∀t
Xét ví dụ cho trong phần 2.2.1, ta thấy mô hình hiển nhiên là khả nghịchvới mọi t Ngoài ra, từ chứng minh của phần 2.2.1, do có điều kiện giống nhaunên mô hình cũng có tính nhân quả
2.3 Biểu diễn trung bình động của VAR
Giả sử mô hình VAR có tính dừng, chúng ta có thể biểu diễn trung bình độngcủa nó bằng cách sử dụng phép thay thế đệ quy hoặc toán tử lùi Chúng ta sửdụng mô hình :
yt= A1 t−1y + + A yp t−p+ut
Khi đó:
yt= µ + A1 t−1y + ut
Trang 13ĐỒ ÁN CHUỖI THỜI GIAN NHÓM I
Trang 14ĐỒ ÁN CHUỖI THỜI GIAN NHÓM I
2.4 Ước lượng VAR
OLS (Ordinary Least Squares) là một phương pháp ước lượng tham số trong các
mô hình hồi quy tuyến tính Nó là một phương pháp phổ biến và đơn giản được
sử dụng để tìm ra "đường hồi quy"(regression line) tốt nhất để fit dữ liệu.Giả sử rằng chúng ta có cỡ mẫu thời gian là T vớiy1, ,yT đối với mỗi K biếntrong mô hình VAR(p) có thể xác định trong phương trình :
yt= A1 t−1y + + A yp t−p+ut
Theo Lukepohl, chúng ta định nghĩa:
Y = [y1, ,yT], A= [A1, ,Ap], U= [u1, ,up], Z= [Z0, ,ZT −1]
Ước lượng OLS được định nghĩa là:
ˆA = [ ˆA1, , ˆAp] = YZ′(ZZ′)−1
2.5 Dự báo cho mô hình VAR
Để dự báo tuyến tính h-bước cho mô hình VAR(p), ta sẽ sử dụng công thứcsau:
Trang 15ĐỒ ÁN CHUỖI THỜI GIAN NHÓM I
Với mô hình VAR(1) sau khi thêm 1 điểm, kết quả dự báo trước h bước có côngthức:
2.6 Trung bình bình phương sai số
Vớih′(y) = E[yt+h|yt], thì sai số của VAR với dự báo h bước là:
Kỳ vọng của biểu thức này là sai số dự báo kỳ vọng Với giả định hiện tại về
E[ut], kỳ vọng này bằng không Do đó:
E[yt+h− y′( )] = [yh E t+h] − E[y′(h)] = 0
Do đó, bộ dự báoy′(h)là không chệch MSE đơn giản là phương sai của sai số
dự báo Do đó, trong mô hình VAR đa biến, MSE được kí hiệu làσ hy( ), đượcxác định như sau:
X
u
Aj′
1
Trang 16CHƯƠNG 3 Mô tả bài toán
3.1 Yêu cầu đặt ra
Đề bài dự báo kế hoạch quý tiếp theo của một loại sản phẩm B1 Dự báo chotừng sản phẩm B1 theo:
•Kế hoạch quý tiếp theo
•Kế hoạch hai quý tiếp theo
•Kế hoạch ba quý tiếp theo
•Kế hoạch 4 quý tiếp theo
Lưu ý: Có thể thể bổ sung dữ liệu kinh tế vĩ mô từ bên ngoài sao cho dự báo cócác chỉ số đánh giá tốt nhất
3.2 Quy trình làm việc của mô hình VAR
1 Tải, tiền xử lý và trực quan hóa bộ dữ liệu
2 Phân vùng tập dữ liệu
3 Kiểm tra tính dừng của các chuỗi thời gian từ bộ dữ liệu Thực hiện cácbiến đổi để đảm bảo các chuỗi thời gian có tình dừng (nếu cần)
4 Tìm thứ tự độ trễ để tối ưu hóa mô hình.p
5 Huấn luyện mô hình VAR dựa trên độ trễ đã tìm được trước đó.p
6 Kiểm tra mối tương quan nối tiếp của số dư (lỗi) bằng Thống kê DurbinWatson để đảm bảo cho việc dự báo số liệu
7 Đảo ngược phép biến đổi để có được dự báo thực (nếu cần)
Trang 17ĐỒ ÁN CHUỖI THỜI GIAN NHÓM I
8 Đánh giá mô hình VAR dựa trên tập kiểm thử
9 Thực hiện dự báo tương lai (thực hiện yêu cầu đặt ra của bài toán)
3.3 Tiền xử lý bộ dữ liệu
3.3.1 Giới thiệu bộ dữ liệu
Dữ liệu lịch sử kế hoạch theo quý của sản phẩm B1 trong 3 năm 2021-2023 Bộ
dữ liệu đưa ra hai thông tin có giá trị chênh lệch nhau khá lớn Ta quy ước cộtgiá trị lớn dao động trong khoảng330 − 800là thuộc tính Value_Plan (giá trị)còn cột giá trị nhỏ dao động trong khoản31 − 82là thuộc tính Quantity_Plan(số lượng) Dữ liệu về Value_Comp (giá trị) và Quantity_Comp (số lượng) củađối thủ trong 4 năm từ 2020-2023 được sắp xếp lần lượt theo các tháng File.xlsx được chuyển đổi về file csv để tiện cho việc xử lí dữ liệu
3.3.2 Xử lí bộ dữ liệu
Biến đổi giá trị Quantity_Comp và Value_Comp theo quý bằng cách tính tổng
3 tháng một gộp lại Ghép hai bộ dữ liệu vào với nhau với thuộc tính chung làthời gian (Year) phân chia một năm thành 4 quý, kéo dài 4 năm 2020-2023
Hình3.1 Thông tin bộ dữ liệuTiếp đến ta kiểm tra missing data ở các trường dữ liệu, nhận thấy các trườngđều bị thiếu dữ liệu Hai thuộc tính là Quantity_Plan và Value_Plan thiếu dữ
Trang 18ĐỒ ÁN CHUỖI THỜI GIAN NHÓM I
liệu trong năm 2020, Quantity_Comp và Value_Comp thiếu dữ liệu ở quý 4năm 2023 Để xử lý bộ dữ liệu nêu trên trong trường hợp này, sử dụng phươngpháp Linear Interpolation với hàm ForecastLinear() trong Excel Phương phápnày cho phép tái tạo lại các mốc dữ liệu còn thiếu bằng việc sử dụng các giá trịkhác trong bộ dữ liệu Kiểm tra lại lần nữa, lúc này các thuộc tính đều khôngchứa giá trị null
Hình3.2 Kiểm tra missing data trong bộ dữ liệu
Nhận thấy bộ dữ liệu đã được sắp xếp đúng theo thứ tự thời gian (lần lượt từquý 1 đến quý 4 từ năm 2021 đến năm 2023) Do vậy, ta có thể loại bỏ thuộctính là Year (năm + quý) hiện đã không cần thiết
Hình3.3 5/12 dòng của bộ dữ liệu sau khi đã loại bỏ các thuộc tínhkhông cần thiết
Thực hiện trực quan hóa bộ dữ liệu Hai chuỗi thời gian Quantity_Comp và
Trang 19ĐỒ ÁN CHUỖI THỜI GIAN NHÓM I
Value_Comp đều có mô hình xu hướng khá giống nhau qua các quý tity_Plan và Value_Plan có xu hướng giống nhau đối với giai đoạn từ năm 2022trở đi
Quan-Hình3.4 Trực quan hóa bộ dữ liệu
Sau đó ta sẽ phân chia tập dữ liệu theo tỉ lệ75% : 25%tương ứng với bộ huấnluyện và bộ kiểm thử Mô hình VAR sẽ được trang bị trêndf_trainvà sau đóđược sử dụng để dự báo 3 quan sát tiếp theo Những dự báo này sẽ được so sánhvới thực tế có trong dữ liệu thử nghiệm Để thực hiện so sánh, ta sẽ sử dụngnhiều số liệu về độ chính xác của dự báo, như sẽ thấy ở phần sau của báo cáonày
Cuối cùng là kiểm tra tính dừng của các chuỗi thời gian thuộc về tập huấn luyện.Nhận thấy có hai chuỗi thời gian về Quantity (số lượng) và Value (giá trị) Vì
mô hình VAR yêu cầu chuỗi thời gian phải là chuỗi dừng nên việc kiểm tra tínhdừng của dữ liệu là một điều vô cùng quan trọng Chuỗi dừng là chuỗi có phươngsai và kỳ vọng không phụ thuộc vào thời gian Một số thuật toán thường được
sử dụng để kiểm tra tính dừng là: Augmented Dickey-Fuller (ADF Test), KPSStest, Philip-Perron test Ta sẽ sử dụng ADF test để kiểm tra tính dừng của
bộ dữ liệu Kiểm định ADF test sẽ trả về giá trịp − value, khip − value<0.05
thì chuỗi dừng vàp − value≥ 0.05thì chuỗi không dừng Trước tiên, triển khaimột hàm hay (adfuller_test()) để ghi kết quả kiểm tra ADF cho bất kỳ chuỗithời gian nhất định nào và triển khai hàm này trên từng chuỗi một Kiểm địnhADF xác nhận rằng chuỗi Value_Comp không là chuỗi dừng Để xử lý vấn đềnày ta tính sai phân bậc 1 cho dữ liệu bằng cách sử dụng df_differenced =
Trang 20ĐỒ ÁN CHUỖI THỜI GIAN NHÓM I
df.diff().dropna() và tiếp tục kiểm tra tiêu chuẩn ADF Sau khi tính sai phânbậc 1, chuỗi Value_Comp đã trở thành chuỗi dừng nhưng chuỗi Quantity_Planlại không còn tính dừng Thực hiện công việc này lặp đi lặp lại 4 lần, dữ liệu thuđược đã dừng và thoả mãn được yêu cầu của mô hình VAR
Hình3.5 Kiểm tra tính dừng của các chuỗi thời gian trong bộ dữ liệu
Trang 21CHƯƠNG 4 Sử dụng mô hình VAR trong dự
báo
4.1 Huấn luyện mô hình
4.1.1 Tìm thứ tự độ trễp của mô hình VAR( )p
Để tìm tham số p cho mô hình ta lặp lại quá trình fit model đến khi thu đượcmodel có chỉ số AIC nhỏ nhất AIC đo lượng thông tin mất đi khi sử dụng môhình để giải thích dữ liệu Giá trị AIC càng thấp thì mô hình càng tốt AICtính toán bằng cách lấy logarit tự nhiên của hàm khối lượng (likelihood) của
mô hình và trừ đi số lượng thông tin thêm vào Ta chọn đượcp = 2với chỉ số
AIC= 74.963 Với tham số vừa được chọn, ta sẽ sử dụng để huấn luyện môp
hình và đưa ra dự báo
Hình4.1 Kiểm tra giá trị AIC để tìm ra thứ tự độ trễpphù hợp với
mô hình VAR
Trang 22ĐỒ ÁN CHUỖI THỜI GIAN NHÓM I
4.1.2 Huấn luyện mô hình VAR dựa trên độ trễpđã tìm được trước đó
Hình4.2 Huấn luyện mô hình VAR dựa trên bộ dữ liệu ban đầu
Ta thu được ma trận tương quan của phần dư Có thể thấy Quantity_Plan vàValue_Plan có sự tương quan với nhau và Quantity_Comp và Value_Compcũng vậy Tuy nhiên, sự tương quan giữa Plan và Comp không rõ rệt, cụ thể làchỉ có Quantity_Plan và Value_Comp có chỉ số tương quan dương nhưng lạikhá nhỏ Điều này cho ta thấy được việc ảnh hưởng đến lẫn nhau giữa sản phẩmB1 và đối thủ là không đáng kể Tuy nhiên, việc này lại có ảnh hưởng đến việchuấn luyện mô hình, liệu rằng việc sử dụng bộ dữ liệu 4 thuộc tính này tốt hơnhay bộ dữ liệu riêng về sản phẩm B1 sẽ tốt hơn? Vấn đề này ta sẽ xem xét sau
Hình4.3 Ma trận tương quan của phần dư