Đồ án tốt nghiệp: Xây dựng mô hình dự báo chuỗi thời gian đa biến áp dụng mô hình VARNN

Đồ án tốt nghiệp ứng dụng mô hình VARNN để dự báo chuỗi thời gian đa biến, kết hợp kỹ thuật dữ liệu và mạng neural autoregressive vector hiệu quả.

Chuyên ngành

Kỹ thuật dữ liệu

Người đăng

Ẩn danh

Thể loại

đồ án tốt nghiệp

2024

127
7
0

Phí lưu trữ

35 Point

Mục lục chi tiết

LỜI CẢM ƠN

1. CHƯƠNG 1: TỔNG QUAN VỀ CHUỖI THỜI GIAN VÀ DỰ BÁO TRÊN CHUỖI THỜI GIAN

1.1. CHUỖI THỜI GIAN

1.1.1. Khái niệm chuỗi thời gian

1.1.2. Các thành phần của chuỗi thời gian

1.1.3. Định nghĩa chuỗi dừng

1.1.4. Phương pháp kiểm định chuỗi dừng

1.1.5. Phân loại chuỗi dừng

1.1.6. Chuẩn hóa chuỗi thời gian. Chuỗi thời gian đa biến

1.2. BÀI TOÁN DỰ BÁO TRÊN CHUỖI THỜI GIAN ĐA BIẾN

1.2.1. Các mô hình dự báo chuỗi thời gian đa biến

1.2.2. Mô hình thống kê

1.2.3. Mô hình học máy

1.2.4. Đánh giá mô hình

1.2.5. Đánh giá kết quả

2. CHƯƠNG 2: MÔ HÌNH VECTOR AUTOREGRESSIVE NEURAL NETWORK (VARNN)

2.1. MÔ HÌNH AUTOREGRESSIVE (AR)

2.1.1. Kiến trúc mô hình

2.1.2. Kết quả là một dự đoán cho giá trị hiện tại của biến

2.2. MÔ HÌNH VECTOR AUTOREGRESSION (VAR)

2.2.1. Vector nhiễu trắng

2.2.2. Ước lượng và kiểm định

2.2.3. Lựa chọn độ trễ

2.2.4. Kiểm định nhân quả Granger

2.2.5. Hàm phản ứng và phân rã phương sai

2.2.5.1. Hàm phản ứng (IRF)
2.2.5.2. Phân rã phương sai (VDF)

2.2.6. Ứng dụng hàm phản ứng và phân rã phương sai

2.2.7. Ứng dụng Vector Autoregression vào bài toán dự báo dữ liệu chuỗi thời gian đa biến

2.3. MÔ HÌNH FEED-FORWARD NEURAL NETWORK (FFNN)

2.3.1. Kiến trúc mô hình

2.3.2. Ứng dụng Feed-Forward Neural Network vào bài toán dự báo dữ liệu chuỗi thời gian

2.4. VECTOR AUTOREGRESSIVE NEURAL NETWORK (VARNN)

2.4.1. Nguyên lý hoạt động

2.4.2. Kiến trúc mô hình

2.4.3. Quá trình huấn luyện mô hình

2.4.4. Quá trình lan truyền tiến và lan truyền ngược của mô hình

2.4.4.1. Lan truyền tiến (Forward propagation)
2.4.4.2. Lan truyền ngược (Backpropagation)

2.4.5. Mô phỏng hai quá trình lan truyền tiến và lan truyền ngược

2.4.6. Ứng dụng vector autoregressive neural network vào bài toán dự báo dữ liệu chuỗi thời gian đa biến

3. CHƯƠNG 3: CÀI ĐẶT CÁC MÔ HÌNH

3.1. LOẠI BỎ WARNING

3.2. ĐỌC DỮ LIỆU

3.3. TIỀN XỬ LÝ DỮ LIỆU

3.4. TRÍCH XUẤT CHUỖI CON

3.5. MÔ HÌNH VECTOR AUTOREGRESSION NEURAL NETWORK

3.6. QUÁ TRÌNH KIỂM TRA

3.7. ĐÁNH GIÁ ĐỘ CHÍNH XÁC

3.8. THỜI GIAN THỰC THI

4. CHƯƠNG 4: THỰC NGHIỆM ĐÁNH GIÁ KẾT QUẢ

4.1. DỮ LIỆU THỰC NGHIỆM

4.1.1. Tập dữ liệu thời tiết

4.1.2. Tập dữ liệu chứng khoán

4.1.3. Tập dữ liệu kinh tế vĩ mô Việt Nam

4.2. TIÊU CHÍ ĐÁNH GIÁ

4.2.1. Thời gian thực thi

4.3. CÁC TRƯỜNG HỢP THỰC NGHIỆM

4.3.1. Thực nghiệm tìm các tham số tốt nhất cho mô hình VARNN

4.3.2. So sánh mô hình VARNN với các mô hình khác

4.3.3. So sánh từng biến của mô hình VARNN với các mô hình khác

4.4. KẾT QUẢ THỰC NGHIỆM

4.4.1. Thực nghiệm tìm các tham số tốt nhất cho mô hình VARNN

4.4.2. Tìm độ trễ tốt nhất

4.4.3. Tìm số nơ-ron lớp ẩn tốt nhất

4.4.4. So sánh mô hình VARNN với các mô hình đơn biến

4.4.5. So sánh từng biến của mô hình VARNN với các mô hình khác

4.5. XÂY DỰNG WEBSITES DỰ ĐOÁN GIÁ TRỊ CHUỖI THỜI GIAN

PHẦN KẾT LUẬN

K.1. KẾT QUẢ ĐẠT ĐƯỢC CỦA ĐỀ TÀI

K.2. HƯỚNG PHÁT TRIỂN

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Xây dựng mô hình dự báo chuỗi thời gian đa biến

Xây dựng mô hình là trọng tâm của đồ án, tập trung vào việc áp dụng mô hình VARNN (Vector Autoregressive Neural Network) để dự báo chuỗi thời gian đa biến. Mô hình này kết hợp ưu điểm của mô hình thống kêhọc máy, cho phép xử lý các tương tác phức tạp giữa các biến. Phương pháp dự báo này được đánh giá cao nhờ khả năng mô hình hóa các yếu tố thời gian và tương quan đa biến, mang lại kết quả dự đoán chính xác hơn so với các mô hình truyền thống như ARIMA hay LSTM.

1.1. Khái niệm và ứng dụng của chuỗi thời gian đa biến

Chuỗi thời gian đa biến là tập hợp các biến số được ghi lại theo thời gian, có mối quan hệ phụ thuộc lẫn nhau. Trong khoa học dữ liệu, việc phân tích và dự báo chuỗi thời gian đa biến giúp dự đoán các xu hướng tương lai, từ đó hỗ trợ ra quyết định trong nhiều lĩnh vực như tài chính, thời tiết và kinh tế vĩ mô. Mô hình VARNN được xây dựng để giải quyết bài toán này, tận dụng khả năng xử lý phi tuyến và đa biến của mạng nơ-ron.

1.2. Phương pháp xây dựng mô hình VARNN

Quá trình xây dựng mô hình bao gồm các bước: tiền xử lý dữ liệu, thiết kế kiến trúc mạng nơ-ron và huấn luyện mô hình. Phân tích dữ liệu được thực hiện để chuẩn hóa và loại bỏ nhiễu, đảm bảo đầu vào chất lượng. Mô hình VARNN kết hợp cơ chế lan truyền tiến và lan truyền ngược, tối ưu hóa các tham số để đạt độ chính xác cao. Kết quả thực nghiệm cho thấy mô hình này vượt trội so với các phương pháp truyền thống.

II. Phân tích và đánh giá mô hình VARNN

Phân tích dữ liệu và đánh giá hiệu suất là bước quan trọng trong đồ án. Mô hình VARNN được kiểm tra trên các tập dữ liệu đa dạng như thời tiết, chứng khoán và kinh tế vĩ mô. Kỹ thuật dữ liệu được áp dụng để đo lường độ chính xác thông qua các chỉ số như MSE, RMSE và MAE. Kết quả cho thấy VARNN đạt hiệu suất cao hơn so với các mô hình ARIMA, VAR, FFNN và LSTM, đặc biệt trong việc dự báo đa biến.

2.1. Thực nghiệm trên các tập dữ liệu

Đồ án sử dụng 06 tập dữ liệu từ các lĩnh vực khác nhau để đánh giá mô hình dự báo. Các tập dữ liệu được tiền xử lý và chia thành chuỗi con để huấn luyện và kiểm tra. Ứng dụng VARNN cho thấy khả năng dự báo chính xác các biến số phức tạp, đặc biệt trong các tình huống có nhiều yếu tố tương tác. Kết quả thực nghiệm được so sánh với các mô hình khác, khẳng định ưu thế của VARNN.

2.2. So sánh hiệu suất với các mô hình khác

Mô hình VARNN được so sánh với ARIMA, VAR, FFNN và LSTM trên các tiêu chí về độ chính xác và thời gian thực thi. Kết quả cho thấy VARNN vượt trội trong việc dự báo đa biến, đặc biệt khi xử lý các chuỗi thời gian phi tuyến. Điều này khẳng định giá trị thực tiễn của mô hình trong khoa học dữ liệutrí tuệ nhân tạo.

III. Ứng dụng thực tiễn và hướng phát triển

Ứng dụng VARNN trong thực tế mang lại nhiều lợi ích, từ dự báo thời tiết đến phân tích tài chính và kinh tế vĩ mô. Đồ án cũng đề xuất hướng phát triển trong tương lai, bao gồm tối ưu hóa mô hình và mở rộng ứng dụng sang các lĩnh vực khác. Kỹ thuật dữ liệuhọc máy sẽ tiếp tục đóng vai trò quan trọng trong việc nâng cao hiệu suất của các mô hình dự báo.

3.1. Ứng dụng trong các lĩnh vực cụ thể

Mô hình VARNN được áp dụng thành công trong dự báo thời tiết, chứng khoán và kinh tế vĩ mô. Kết quả thực nghiệm cho thấy khả năng dự báo chính xác các biến số phức tạp, hỗ trợ ra quyết định hiệu quả. Điều này khẳng định giá trị thực tiễn của mô hình trong khoa học dữ liệutrí tuệ nhân tạo.

3.2. Hướng phát triển trong tương lai

Đồ án đề xuất các hướng phát triển như tối ưu hóa tham số, tích hợp thêm các kỹ thuật xử lý dữ liệu tiên tiến và mở rộng ứng dụng sang các lĩnh vực mới. Mô hình dự báo sẽ tiếp tục được cải thiện để đáp ứng nhu cầu ngày càng cao trong phân tích và dự đoán dữ liệu.

21/02/2025
Đồ án tốt nghiệp kỹ thuật dữ liệu xây dựng mô hình dự báo cho chuỗi thời gian đa biến áp dụng mô hình vector autoregressive neutral network varnn

Trích đoạn nội dung tài liệu

CHƯƠNG 1: TỔNG QUAN VỀ CHUỖI THỜI GIAN VÀ DỰ BÁO TRÊN CHUỖI THỜI GIAN 1. CHUỖI THỜI GIAN 1. Khái niệm chuỗi thời gian Chuỗi thời gian là một khái niệm quan trọng trong lĩnh vực phân tích dữ liệu và dự báo. Nó đề cập đến việc thu thập và tổ chức dữ liệu theo thời gian để phân tích xu hướng, mô hình hóa và dự đoán các sự thay đổi trong thời gian tương lai.

Trong chuỗi thời gian, mỗi điểm dữ liệu được gắn với một thời điểm cụ thể và thường có thứ tự thời gian. Các điểm dữ liệu này có thể được ghi lại với tần suất khác nhau, từ giây, phút, giờ, ngày, tháng đến năm, tùy thuộc vào tần suất quan sát và mục đích của nghiên cứu. Điều này nghĩa là mỗi điểm dữ liệu trong chuỗi thời gian có một giá trị và thời gian tương ứng.[1] Ngoài ra, chuỗi thời gian còn cung cấp thông tin về sự biến đổi của một biến số theo thời gian và cho phép chúng ta phân tích các xu hướng, mô hình hóa quy luật và dự đoán các giá trị tương lai. Nó thường được sử dụng trong nhiều lĩnh vực như kinh tế học, tài chính, khoa học môi trường, y học, hệ thống điện, giao thông vận tải và nhiều lĩnh vực khác.

1: Doanh thu hàng quý của công ty Johnson & Johnson bằng USD từ năm 1960 đến năm 1980. Các thành phần của chuỗi thời gian Trên thực tế, tất cả các chuỗi thời gian đều có thể phân rã thành ba thành phần là xu hướng (trend), mùa vụ (seasonal) và phần còn lại (residuals). Dựa vào các thành phần đó, có thể đào sâu vào chuỗi thời gian và nâng cao hiểu biết về chúng. Việc trực quan hóa các thành phần của một chuỗi thời gian được gọi là phân rã (decomposition).

Phân rã được xác định là một nhiệm vụ thống kê giúp tách một chuỗi thời gian thành các thành phần khác nhau. Chúng ta có thể trực quan hóa từng thành phần riêng lẻ, điều này sẽ giúp chúng ta nhận diện xu hướng và mùa vụ trong dữ liệu, điều mà không phải lúc nào cũng dễ dàng chỉ bằng cách nhìn vào tập dữ liệu. [1] Một ví dụ về phân rã chuỗi thời gian để hiểu rõ về các thành phần: Hình 1. 2: Thu nhập mỗi cổ phiếu hàng quý của Johnson & Johnson.

- Trend: Là sự thay đổi chậm và liên tục theo thời gian. Nó thể hiện xu hướng chung hoặc dài hạn của dữ liệu trong một khoảng thời gian nhất định. Xu hướng có thể là tăng dần (positive trend), giảm dần (negative trend) hoặc ổn định (flat trend). Đây là tính chất đặc trưng phổ biến trong dữ liệu chuỗi thời gian.

Đối với ví dụ trên, có thể thấy rằng xu hướng ban đầu là phẳng và sau đó tăng mạnh, điều này có nghĩa là chúng ta có một xu hướng tăng trong dữ liệu. 3: Tính xu hướng của cổ phiếu hàng quý của Johnson & Johnson. 5 - Seasonal: Là sự biến đổi có chu kỳ lặp lại và định kỳ trong dữ liệu. Nó xuất hiện khi có sự ảnh hưởng của yếu tố mùa vụ, ví dụ như thay đổi theo mùa hay chu kỳ hàng ngày, hàng tuần, hàng tháng hoặc hàng năm.

Tính mùa vụ thường liên quan đến các yếu tố tự nhiên hoặc hành vi kinh tế/chính trị có chu kỳ lặp lại theo thời gian. Nhìn vào ví dụ, có thể thấy rằng trong suốt một năm hoặc bốn quý, lợi nhuận trên mỗi cổ phiếu ban đầu thấp, tăng lên và giảm lại vào cuối năm. 4: Tính mùa vụ của cổ phiếu hàng quý của Johnson & Johnson. - Residuals: Là phần còn lại sau khi đã loại bỏ xu hướng và thành phần mùa vụ từ chuỗi dữ liệu gốc.

Residuals đại diện cho sự khác biệt giữa giá trị quan sát thực tế và giá trị được dự đoán bởi mô hình. Chúng được sử dụng để kiểm tra tính phù hợp của mô hình và phân tích những biến động không thể giải thích bằng xu hướng và mùa vụ. 5: Residuals của cổ phiếu hàng quý của Johnson & Johnson. Định nghĩa chuỗi dừng Chuỗi dừng là một khái niệm quan trọng khi làm việc với chuỗi thời gian.

Một chuỗi thời gian được xác định là một chuỗi dừng khi các thuộc tính thống kê của chuỗi không thay đổi theo thời gian. Nó có trung bình không đổi, phương sai không đổi và tự tương quan không đổi, và các thuộc tính này không phụ thuộc vào thời gian. Điều này 6 có nghĩa là các thông số thống kê của chuỗi dừng không thay đổi qua các khoảng thời gian khác nhau.[1] Một chuỗi dừng cung cấp một cơ sở ổn định để áp dụng các mô hình dự báo. Nếu chuỗi thời gian không dừng, nghĩa là nó có xu hướng, biến động ngẫu nhiên hay các yếu tố mùa vụ, các mô hình dự báo dựa trên tính dừng sẽ không phù hợp và dự báo từ các mô hình đó sẽ không đáng tin cậy.

6:Doanh thu từ the Broadway show ‘Wicked’. Mặc dù nó có sự lên xuống, nhưng rằng giá trị trung bình và độ lệch chuẩn của các giá trị này vẫn là đường ngang phẳng, nên đây vẫn là chuỗi dừng. Phương pháp kiểm định chuỗi dừng Khi phân tích một chuỗi thời gian thì việc xác định chuỗi có tính chất dừng không là điều rất cần thiết để quá trình phân tích mang lại hiệu quả cao. Có nhiều phương pháp để kiểm tra tính dừng của một chuỗi thời gian và một trong những phương pháp phổ biến là: - Visual test: Bằng cách vẽ biểu đồ, có thể nhận biết một số đặc điểm của chuỗi có dấu hiệu của sự biến đổi trung bình và phương sai theo thời gian.

Nếu thấy xu hướng tăng giảm hoặc biến động dài hạn, thì chuỗi có thể không ổn định và cần được chuyển đổi để đạt được tính dừng. - Summary Statistics: Một cách khác để kiểm tra tính dừng là xem xét các thống kê tổng quan của chuỗi thời gian. Bằng cách tính các giá trị trung bình, phương sai và các tham số khác để xác định xem chuỗi có thay đổi theo thời gian hay không. Nếu các giá trị này không thay đổi đáng kể, thì chuỗi thời gian có thể được coi là chuỗi dừng.

7 - Statistical Tests: Sử dụng các kiểm tra thống kê để kiểm tra xem các kỳ vọng về tính dừng có được đáp ứng hay đã bị vi phạm. Có nhiều kiểm tra thống kê được sử dụng nhưng có hai phương pháp phổ biến là Augmented Dickey-Fuller (ADF) và Kwiatkowski Phillips Schmidt Shin (KPSS). Phân loại chuỗi dừng Trong phân tích chuỗi dữ liệu, việc xác định đúng loại chuỗi dừng là một bước quan trọng. Các loại chuỗi dừng khác nhau cho biết về tính chất và cách xử lý của chuỗi dữ liệu đó.

Về cơ bản có 3 loại chuỗi dừng: - Strict Stationary: Một chuỗi dữ liệu được coi là strict stationary khi thỏa mãn định nghĩa toán học về điều kiện dừng. Điều này có nghĩa là giá trị trung bình, phương sai và hiệp phương sai của chuỗi không phụ thuộc vào thời gian. Trong một chuỗi dữ liệu strict stationary, các đặc tính thống kê của chuỗi không thay đổi theo thời gian và không có xu hướng hay biến động. Một chuỗi dữ liệu strict stationary là lý tưởng để thực hiện các dự đoán và mô hình hóa dự báo.[9] Một chuỗi mà xác suất của mọi tập giá trị {xt1, xt2, ., xtk} giống như tập dịch chuyển thời gian {xt1+h, xt2+h,.

Điều này có nghĩa là: [10] Pr{xt1 ≤ c1, ., xtk ≤ ck} = Pr{xt1+h ≤ c1, .1) Trong đó: - Pr: xác suất (probability) - c: giá trị ngưỡng (threshold value) trong các phép so sánh xác suất - x: các giá trị trong chuỗi thời gian - h: tham số dịch chuyển thời gian (time shift parameter) - Trend stationary: Một chuỗi dữ liệu không có đơn vị gốc (unit root) nhưng có xu hướng được gọi là chuỗi dữ liệu trend stationary. Khi loại bỏ xu hướng, chuỗi dữ liệu kết quả sẽ trở thành strict stationary. Kiểm tra KPSS phân loại một chuỗi dữ liệu là stationary dựa trên sự có mặt hay không có đơn vị gốc. Điều này có nghĩa là chuỗi dữ liệu có thể là strict stationary hoặc trend stationary.[9] - Difference Stationary: Một chuỗi dữ liệu thời gian có thể trở thành strict stationary thông qua việc lấy sai phân được gọi là difference stationary.

Điều này có nghĩa là nếu ta lấy sai phân giữa các giá trị liền kề trong chuỗi dữ liệu ban đầu, ta thu 8 được một chuỗi dữ liệu mới có tính chất strict stationary. Việc lấy sai phân chuỗi dữ liệu có thể giúp loại bỏ các xu hướng, mô hình hóa biến động ngắn hạn và làm giảm độ phức tạp của dữ liệu. Kiểm tra Augmented Dickey-Fuller (ADF) là một phương pháp phổ biến để kiểm tra tính chất difference stationary của một chuỗi dữ liệu. Chuẩn hóa chuỗi thời gian Các chuỗi thời gian trong thực tế thường sẽ có các vấn đề như là chuỗi phi tuyến tính, yếu tố ngẫu nhiên hoặc nhiễu (noise) hay phân bố không đồng đều, do đó sẽ làm ảnh hưởng đến kết quả khi được áp dụng vào các bài toán.

Vì thế chuẩn hóa chuỗi thời gian là một bước quan trọng trong quá trình phân tích và mô hình hóa chuỗi thời gian. Chuẩn hóa chuỗi thời gian là quá trình chuyển đổi chuỗi thời gian thành một dạng chuỗi có tính chất nhất định hoặc phân phối đồng nhất. Mục đích của việc chuẩn hóa chuỗi thời gian là để tạo ra một chuỗi có thể được so sánh và phân tích một cách hiệu quả. Một số phương pháp chuẩn hóa chuỗi thời gian phổ biến như: Chuẩn hóa theo z-score: Phương pháp này biến đổi chuỗi thời gian thành chuỗi có trung bình bằng 0 và độ lệch chuẩn bằng 1.

Bằng cách này, các giá trị trong chuỗi được đo lường dựa trên số lượng độ lệch chuẩn so với trung bình. Công thức: (𝑥−𝑚𝑒𝑎𝑛) xscaled = (1.2) 𝑠𝑡𝑑 Trong đó: - x: giá trị ban đầu trong chuỗi thời gian - mean: trung bình của chuỗi thời gian - std: độ lệch chuẩn của chuỗi thời gian Min-max scaling: Phương pháp này biến đổi chuỗi thời gian thành chuỗi có giá trị nhỏ nhất là 0 và giá trị lớn nhất là 1. Quá trình này được thực hiện bằng cách trừ giá trị nhỏ nhất và sau đó chia cho phạm vi giá trị (giá trị lớn nhất trừ giá trị nhỏ nhất). Công thức: (𝑥 − 𝑚𝑖𝑛) xscaled = (1.3) (𝑚𝑎𝑥 − 𝑚𝑖𝑛) Trong đó: 9 - x: giá trị ban đầu trong chuỗi thời gian - min và max: giá trị tối thiểu và tối đa trong chuỗi thời gian.

Chuẩn hóa theo logarit: Phương pháp này thường được sử dụng khi chuỗi thời gian có biên độ lớn hoặc phân tán không đồng nhất.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Tài liệu "Xây dựng mô hình dự báo chuỗi thời gian đa biến với VARNN - Đồ án tốt nghiệp kỹ thuật dữ liệu" trình bày một phương pháp tiên tiến trong việc dự báo chuỗi thời gian, sử dụng mô hình VARNN (Vector Autoregressive Neural Network). Mô hình này không chỉ giúp cải thiện độ chính xác trong dự báo mà còn cho phép phân tích mối quan hệ giữa nhiều biến số khác nhau. Độc giả sẽ tìm thấy những lợi ích rõ ràng từ việc áp dụng mô hình này trong các lĩnh vực như kinh tế, tài chính và kỹ thuật, giúp đưa ra quyết định chính xác hơn dựa trên dữ liệu.

Để mở rộng kiến thức về các ứng dụng của mạng neuron trong dự báo, bạn có thể tham khảo tài liệu Luận văn thạc sĩ kỹ thuật công nghiệp ứng dụng mạng neuron nhân tạo dự báo thời gian hoàn thành dự án xây dựng. Ngoài ra, nếu bạn quan tâm đến việc ứng dụng các kỹ thuật học máy trong dự báo giao thông đô thị, hãy xem tài liệu Luận văn thạc sĩ khoa học máy tính dự báo tình trạng giao thông đô thị bằng các kỹ thuật học máy. Cuối cùng, để tìm hiểu thêm về các mô hình dự báo trong lĩnh vực tài chính, tài liệu Luận văn mô hình hóa các quá trình lãi suất sẽ cung cấp cho bạn những thông tin hữu ích. Những tài liệu này sẽ giúp bạn có cái nhìn sâu sắc hơn về các ứng dụng của mô hình dự báo trong thực tiễn.