Mô hình chuỗi thời gian mờ hai nhân tố (FTS-2NT) sử dụng FCM và PSO

Một phần của tài liệu Một số phương pháp nâng cao độ chính xác dự báo trong mô hình chuỗi thời gian mờ. (Trang 102)

Tiểu mục này trình bày một mô hình chuỗi thời gian mờ hai nhân tố mới bằng cách kết hợp giữa mô hình FTS-2NT trong Chương 2 với FCM và PSO. Mô hình kết hợp này được đặt tên là FTS2NT-CMPSO. Mô hình FTS2NT-CMPSO là một phần mở rộng của mô hình FTS1NT-CMPSO với hai cải tiến: 1) sử dụng FCM để phân tập dữ liệu chuỗi thời gian hai nhân tố thành các khoảng có độ dài khác nhau thay vì chuỗi dữ liệu một nhân tố; 2) cải tiến thuật toán PSO trong mô hình FTS1NT- CMPSO để tối ưu độ dài khoảng và bậc của mô hình chuỗi thời gian hai nhân tố một cách đồng thời. Cấu trúc của mô hình đề xuất FTS2NT-CMPSO được trình bày trong Hình 3.4, bao gồm ba giai đoạn; giai đoạn đầu tiên là phân dữ liệu chuỗi thời gian hai nhân tố thành các khoảng sử dụng thuật toán FCM; giai đoạn thứ hai là xây dựng và

cải tiến mô hình dự báo FTS-2NT trong Chương 2. Giai đoạn cuối cùng nhằm nâng cao hiệu quả dự báo của mô hình bằng cách sử dụng thuật toán PSO để tối ưu đồng thời độ dài khoảng ban đầu và bậc của quan hệ mờ để chọn ra các khoảng có độ dài tối ưu và bậc tối ưu.

Hình 3.4: Cấu trúc và các giai đoạn của mô hình đề xuất FTS2NT- CMPSO

Ba giai đoạn của mô hình FTS2NT- CMPSO được minh họa thông qua tập dữ liệu về nhiệt độ trung bình hàng ngày trong Bảng 2.7, bao gồm hai nhân tố: “nhiệt độ trung bình ” là nhân tố chính 𝐹𝐴(𝑡) và “mật độ của mây” gọi là nhân tố thứ hai 𝐹𝐵(𝑡). ❖ Giai đoạn 1: Phân khoảng dữ liệu chuỗi thời gian hai nhân tố 𝐹𝐴(𝑡) và 𝐹𝐵(𝑡)

sử dụng FCM

Giai đoạn này, FCM được áp dụng để phân tập dữ liệu về nhiệt độ trung bình hàng ngày trong tháng 6 (từ ngày 01/06/1996 đến 30/06/1996) trong Bảng 2.7 với từng nhân tố thành các cụm tương ứng. Sau đó điều chỉnh các cụm đạt được thành các khoảng liên tiếp bằng các quy tắc đã trình bày trong các công thức (2.13)- (2.16). Giai đoạn này gồm hai bước chính:

Bước 1- Áp dụng FCM để phân tập dữ liệu lịch sử 𝐹𝐴(𝑡) và 𝐹𝐵(𝑡) thành p q cụm tương ứng; với (2 ≤ 𝑝, 𝑞 ≤ 𝑛 − 1).

Để đơn giản cho quá trình tạo khoảng và tiện so sánh với các mô hình dự báo khác, ban đầu tập dữ của nhân tố chính 𝐹𝐴(𝑡) “nhiệt độ trung bình” được chia thành

9 cụm (p = 9) và nhân tố thứ hai 𝐹𝐵(𝑡) thành 7 cụm (q= 7). Kết quả phân cụm bằng thuật toán FCM được thể hiện trong Bảng 3.13.

Bước 2- Điều chỉnh các cụm thành các khoảng liên tiếp với độ dài khác nhau

Dựa trên các cụm trong Bảng 3.13, tính và sắp xếp tâm của mỗi cụm theo thứ tự tăng dần, tương ứng với từng nhân tố như sau:

- Tâm cụm của chuỗi 𝐹𝐴(𝑡): [26.1, 27.1, 27.63, 28.58, 28.8, 29, 29.3, 29.5, 30.41]

- Tâm cụm của chuỗi 𝐹𝐵(𝑡): [10, 23.71, 35.5, 43.5, 56.5, 63, 96]

Dựa trên các tâm cụm thu được, điều chỉnh các cụm thành các khoảng liên tiếp cho từng nhân tố 𝐹𝐴(𝑡) và 𝐹𝐵(𝑡) theo các công thức (2.13) – (2.16). Ứng với 9 cụm của nhân tố chính 𝐹𝐴(𝑡) có được 9 khoảng 𝑢1, 𝑢2,…, 𝑢9; với 7 cụm của nhân tố thứ 2 𝐹𝐵(𝑡) có được 7 khoảng 𝑣1, 𝑣2,…, 𝑣7. Các khoảng thu được trên dữ liệu chuỗi thời gian hai nhân tố được thể hiện trong Bảng 3.14:

Bảng 3.13: Kết quả phân cụm trên chuỗi dữ liệu hai nhân tố sử dụng FCM

𝐹𝐴(𝑡), p=9 𝑝1 = {26.1}, 𝑝2 = {27.1}, 𝑝3 = {27.6, 27.5, 27.8, 27.4, 27.7, 27.8}, 𝑝4 = {28.5, 28.7, 28.7, 28.4}, p5 = {28.8, 28.8}, 𝑝6 = { 29, 29, 29}, p7 = {29.3}, 𝑝8 = {29.5, 29.7, 29.4, 29.4, 29.5}, 𝑝9 = {30.5, 30, 30.3, 30.2, 30.9, 30.8, 30.2} 𝐹𝐵(𝑡), q=7 𝑞1 = {10}, 𝑞2 = {13, 14, 15, 19, 19, 21, 23, 23, 25, 26, 28, 29, 29, 29, 30, 30, 30}, 𝑞3 = {36, 35}, 𝑞4 = {45, 43, 40, 46}, 𝑞5 = {55, 56, 60, 55}, q6 = {63}, 𝑞7 = { 96 }

Bảng 3.14: Các khoảng đạt được từ phân cụm FCM 𝐹𝐴(t), p=9 𝑢1= [26.1, 26.6], 𝑢2= [26.6, 27.37], u3= [27.37, 28.11 ], 𝑢4= [28.11, 28.69], 𝑢5= [28.68, 28.9], 𝑢6= [28.9, 29.15], u7= [29.15, 29.4], u8= [29.4, 29.96], u9= [29.96, 30.9] 𝐹𝐵(𝑡), q=7 𝑣1= [10, 16.86], 𝑣2= [16.86, 29.6], v3= [29.6, 39.5 ], 𝑣4= [39.5, 50], 𝑣5= [50, 59.75], 𝑣6= [59.75, 79.5], 𝑣7= [79.5, 96], ❖ Giai đoạn 2:Thiết lập và cải tiến mô hình dự báo FTS-2NT

Trong giai đoạn này, các bước dự báo được thực hiện giống như các bước trong mô hình FTS-2NT đã được trình bày trong Mục 2.2.2 của Luận án. Trong giai đoạn này có cải tiến quy tắc giải mờ ở Bước 7 của mô hình FTS-2NT trong Mục 2.2.2 bằng việc sử dụng Quy tắc 2 đã được đề xuất trong Mục 3.2.1. Các bước của mô hình dự báo trong giai đoạn này được tóm lại như sau:

Bước 3- Xác định các tập mờ cho hai nhân tố dựa trên các khoảng đạt được;

Bước 5- Thiết lập quan hệ mờ bậc cao m (𝑚 ≥ 2) hai nhân tố dựa trên các tập mờ xác định ở Bước 3;

Bước 6- Tạo nhóm quan hệ mờ phụ thuộc thời gian bậc m hai nhân tố;

Bước 7- Tính toán và giải mờ dự báo bằng Quy tắc 2 trong Mục 3.2.1.

Giai đoạn 3: Tìm độ dài khoảng tối ưu và bậc tối ưu sử dụng PSO

Giai đoạn này, mô hình FTS2NT-CMPSO được thiết lập bằng việc kết hợp

FTS-2NT với PSO để điều chỉnh độ dài khoảng của từng nhân tố thu được từ Giai đoạn 1 và tìm bậc tối ưu của mô hình một cách đồng thời bằng việc giảm thiểu giá trị hàm mục tiêu MAPE (1.10). Trong mô hình FTS2NT-CMPSO, vị trí của mỗi cá thể trong PSO biểu diễn các khoảng trên tập nền của hai nhân tố, nhân tố chính 𝐹𝐴(𝑡) và nhân tố thứ hai 𝐹𝐵(𝑡) thu được từ thuật toán FCM trong Giai đoạn 1. Cụ thể được cấu trúc thành một mảng gồm p + q – 2 + 𝑚𝑎𝑥_𝑜𝑟𝑑𝑒𝑟 phần tử. Trong đó:

✓ 𝑚𝑎𝑥_𝑜𝑟𝑑𝑒𝑟 là số lượng bậc của mô hình dự báo.

✓ Giá trị của p-1 phần tử dùng để biểu diễn các khoảng của nhân tố chính trên tập nền 𝑼𝐴(𝑡) là { 𝑎𝑖𝑑,1, 𝑎𝑖𝑑,2 , …, 𝑎𝑖𝑑,𝑘,…,𝑎𝑖𝑑,(𝑝−1)}, với 1 ≤ 𝑘 ≤ p-1, 𝑎𝑖𝑑,(𝑘−1) < 𝑎𝑖𝑑,𝑘 và 1 ≤ 𝑖𝑑 ≤ Pmax (Pmax là số lượng cá thể trong quần thể);

✓ Giá trị của q-1 phần tử biểu diễn các khoảng của nhân tố thứ hai trên tập nền 𝑉𝐵(𝑡) là { 𝑏𝑖𝑑,1, 𝑏𝑖𝑑,2 , …, 𝑏𝑖𝑑,𝑗,…,𝑏𝑖𝑑,(𝑞−1)}, với 1 ≤ j ≤q-1, 𝑏𝑖𝑑,(𝑗−1) < 𝑏𝑖𝑑,𝑗 .

Dựa vào p + q – 2 phần tử này, xác định được p+q khoảng là 𝑢1 = (𝑢𝑚𝑖𝑛, 𝑎𝑖𝑑,1], 𝑢2 = (𝑎𝑖𝑑,1, 𝑎𝑖𝑑,2], …, 𝑢𝑝 = (𝑎𝑖𝑑,(𝑝−1), 𝑢𝑚𝑎𝑥] và 𝑣1 = (𝑣𝑚𝑖𝑛, 𝑏𝑖𝑑,1], 𝑣2 = (𝑏𝑖𝑑,1, 𝑏𝑖𝑑,2], …, 𝑣𝑞 = (𝑏𝑖𝑑,(𝑞−1), 𝑣𝑚𝑎𝑥]. Với 𝑢𝑚𝑖𝑛, 𝑢𝑚𝑎𝑥 𝑣𝑚𝑖𝑛, 𝑣𝑚𝑎𝑥 và là các giá trị lớn nhất nhỏ nhất của tập nền tương ứng với từng nhân tố của chuỗi thời gian

Khi mỗi cá thể di chuyển đến vị trí khác thì các phần tử trong mảng gồm p+q- 2+ 𝑚𝑎𝑥_𝑜𝑟𝑑𝑒𝑟 phần tử này với vị trí mới cần được sắp xếp theo thứ tự tăng dần tương ứng với từng nhân tố. Cấu trúc khoảng và bậc của hai nhân tố được mã hóa theo vị trí của cá thể id trong PSO được biểu diễn như Hình 3.5.

𝑎𝑖𝑑,1 𝑎𝑖𝑑,2 … 𝑎𝑖𝑑,(𝑝−1) 𝑏𝑖𝑑,1 𝑏𝑖𝑑,2 ... 𝑏𝑖𝑑,(𝑞−1) 𝑚𝑖𝑑,1 𝑚𝑖𝑑,2 … 𝑚𝑖𝑑,max_orde𝑟 (adsbygoogle = window.adsbygoogle || []).push({});

Hình 3.5: Biểu diễn các khoảng và bậc của mô hình theo cá thể i trong PSO Các bước của mô hình dự báo cải tiến FTS2NT-CMPSO được trình bày trong Thuật toán 3.2 gồm hai phần chính: 1) Phần thiết lập các tham số của mô hình và khởi tạo các thành phần trong PSO; 2) Phần cập nhật các thành phần trong PSO để tìm bậc tối ưu và độ dài khoảng phù hợp một cách đồng thời. Phần cập nhật được tổ chức thành hai vòng lặp: (i) Vòng lặp PSO bên trong sử dụng để tối ưu sự kết hợp giữa độ dài khoảng và bậc của mô hình dựa trên số lượng khoảng được xác định bởi vòng lặp

ngoài và các kết quả sẽ được trả lại cho PSO bên ngoài; (ii) Vòng lặp bên ngoài lặp lại trên một không gian tìm kiếm với số lượng khoảng cố định và lưu trữ kết quả tốt nhất trong số tất cả các lần lặp.

1) Phần khởi tạo các thành phần trong PSO

Sau khi các tham số của mô hình như số lượng cá thể, số lần lặp tối đa, số khoảng cho mỗi nhân tố được thiết lập, thì các thành phần như vị trí, vận tốc và vị trí tốt nhất của mỗi cá thể trong PSO cần được khởi tạo.

❖ Khởi tạo vị trí ban đầu của cá thể id cho từng nhân tố: 𝑋𝑖𝑑 = [ 𝑎𝑖𝑑,1, 𝑎𝑖𝑑,2, … , 𝑎𝑖𝑑,𝑝−1 𝑏𝑖𝑑,1, 𝑏𝑖𝑑,2, … , 𝑏𝑖𝑑,𝑞−1]

+ Vị trí của cá thể thứ 1 được khởi tạo đúng bằng các giá trị của các khoảng thu được từ FCM tương ứng với từng nhân tố của chuỗi thời gian.

+ Vị trí của các cá thể còn lại khởi tạo ngẫu nhiên trong tập nền tương ứng với từng nhân tố đã xác định từ FCM.

❖ Khởi tạo vận tốc của cá thể id cho từng nhân tố: 𝑉𝑖𝑑 = [ 𝑣𝑖𝑑,1, 𝑣𝑖𝑑,2, … , 𝑣𝑖𝑑,𝑝−1 𝑒𝑖𝑑,1, 𝑒𝑖𝑑,2, … , 𝑒𝑖𝑑,𝑞−1]

+ Vân tốc của các cá thể được khởi tạo ngẫu nhiên trong khoảng [-Vmax, Vmax], đối với từng nhân tố. Trong đó, Vmax được chọn trước tương ứng với từng nhân tố.

❖ Khởi tạo vị trí tốt nhất của cá thể thứ id giống như vị trí 𝑋𝑖𝑑ban đầu của hai nhân tố: 𝑃𝑏𝑒𝑠𝑡_𝑖𝑑 = [ 𝑝𝑖𝑑,1, 𝑝𝑖𝑑,2, … , 𝑝𝑖𝑑,𝑝−1 𝑞𝑖𝑑,1, 𝑝𝑖𝑑,2, … , 𝑝𝑖𝑑,𝑞−1]

2) Phần cập nhật các thành phần trong PSO: Thuật toán sử dụng các vòng lặp để tìm giải pháp tối ưu.

Đối với mỗi cá thể đại diện một phương án chia khoảng tập nền và bậc của mô hình được đánh giá thông qua hàm MAPE. Trong quá trình lặp cho mỗi cá thể, mô hình tuân theo toàn bộ các bước dự báo được đề cập trong Giai đoạn 2. Tại mỗi bước lặp của các cá thể, các giá trị 𝑃𝑏𝑒𝑠𝑡_𝑖𝑑, 𝐺𝑏𝑒𝑠𝑡 và bậc của quan hệ mờ được cập nhật theo giá trị MAPE và thực hiện thay đổi vận tốc 𝑉𝑖𝑑và vị trí 𝑋𝑖𝑑 theo các công thức (1.20) và (1.21). Cá thể tương ứng với bậc có giá trị MAPE nhỏ nhất và giá trị 𝑃𝑏𝑒𝑠𝑡_𝑖𝑑 tốt nhất trong mỗi lần lặp được coi là lời giải của bài toán tại bước lặp đó. Sau khi thực hiện đủ số lần lặp thì bậc nào có giá trị MAPE nhỏ nhất trong số các bậc được coi là lời giải tối ưu toàn cục (𝐺𝑏𝑒𝑠𝑡). Kết quả cuối cùng của mô hình dự báo đưa ra trong thuật toán là các khoảng có độ dài phù hợp, tương ứng với bậc có độ chính xác

MAPE nhỏ nhất.

Thuật toán 3.2: Thuật toán tìm khoảng và bậc tối ưu trong mô hình FTS2NT-CMPSO

Đầu vào: Chuỗi dữ liệu thời gian hai nhân tố 𝐹𝐴(𝑡)và𝐹𝐵(𝑡)

begin

- Chọn p, q khoảng cho mỗi nhân tố 𝐹𝐴(𝑡) và𝐹𝐵(𝑡) từ thuật toán FCM;

- Thiết lập số bậc max_order, K=0.7298, 𝜔𝑚𝑖𝑛, 𝜔𝑚𝑎𝑥, 𝑉𝑚𝑎𝑥 , số lượng cá thể

Pmax và số lần lặp tối đa 𝑖𝑡𝑒𝑟_𝑚𝑎𝑥;

- Khởi tạo ngẫu nhiên vị trí ban đầu, vận tốc ban đầu và vị trí tốt nhất 𝑃𝑏𝑒𝑠𝑡_𝑖𝑑

của mỗi cá thể:

- Sắp xếp vị trí của mỗi cá thể theo thứ tự tăng dần theo Hình 3.5

while(iter iter_max) do //điều liện dừng chưa thỏa mãn

foreachid (1≤ 𝑖𝑑 ≤ Pmax)

// Tính giá trị MAPE bằng việc hực hiện tuần tự các bước trong Giai đoạn 2

▪ Xác định các tập mờ cho hai nhân tố 𝐹𝐴(𝑡) và 𝐹𝐵(𝑡) trên cơ sở phân khoảng theo từng vị trí của các cá thể;

▪ Mờ hóa dữ liệu hai nhân tố thành các tập mờ 𝐴𝑖 và 𝐵𝑖 tương ứng;

foreach bậc m (1≤ 𝑚 ≤ max_order) // max_order là bậc cao nhất

▪ Xác định các quan hệ mờ bậc m theo dữ liệu mờ hóa ;

▪ Thiết lập nhóm NQHM-PTTG bậc 𝑚 hai nhân tố dựa trên các quan hệ mờ đã xác định ; (adsbygoogle = window.adsbygoogle || []).push({});

▪ Giải mờ và tính giá dự báo cho nhân tố chính dựa trên các nhóm quan hệ mờ bậc 𝑚 đã xác định;

▪ Tính giá trị MAPE cho mỗi cá thể theo công thức (1.10);

end for

▪ Cập nhật vị trí tốt nhất 𝑃𝑏𝑒𝑠𝑡_𝑖𝑑 và bậc tốt nhất 𝑚𝑏𝑒𝑠𝑡_𝑖𝑑 của từng cá thể id tính đến thời điểm hiện tại theo MAPE;

end for

▪ Chọn vị trí tốt nhất toàn cục 𝐺𝑏𝑒𝑠𝑡 tương ứng với bậc tốt nhất 𝑚𝐺𝑏𝑒𝑠𝑡

trong tất cả các bậc tốt của tất cả các cá thể.

foreachid (1≤ 𝑖𝑑 ≤ Pmax)

▪ Cập nhật vận tốc của cá thể id theo công thức (1.20)

▪ Cập nhật vị trí của cá thể id theo công thức (1.21)

end for

Cập nhật 𝜔𝑘 theo công thức (1.18)

end while end.

3.2. Tổ chức thực nghiệm và đánh giá hiệu quả của các mô hình dự báo được đề xuất

Mục này tổ chức thực nghiệm và trình bày các kết quả đạt được từ hai mô hình được đề xuất FTS1NT-CMPSO FTS2NT-CMPSO trên các tập dữ liệu khác nhau. Để có được các kết quả này, luận án đã mô phỏng hai mô hình dự báo bằng việc sử dụng ngôn ngữ C# và hệ điều hành Window 10 chạy trên máy tính Intel Core i7 PC, 8GB RAM. Các kết quả mô phỏng của mỗi mô hình dự báo tương ứng được

đưa ra so sánh với các kết quả đạt được của một số mô hình khác trên cùng tập dữ liệu và cùng tiêu chí đánh giá.

3.2.1. Đánh giá hiệu quả của mô hình FTS một nhân tố FTS1NT-CMPSO

Trong tiểu mục này, mô hình FTS1NT-CMPSO được thực hiện trên ba tập dữ liệu về tuyển sinh đại học của trường đại học Alabama [8], thị trường chứng khoán Đài Loan TAIFEX [54] và tai nạn ô-tô tại Bỉ [87]. Các kết quả mô phỏng từ mô hình

FTS1NT-CMPSO và phân tích liên quan đến các tập dữ liệu này được đưa ra so sánh với các mô hình dự báo hiện có trong tài liệu.

3.2.1.1 Mô tả các chuỗi dữ liệu thời gian

Ngoài tập dữ liệu về tuyển sinh trong Hình 3.6(a) và dữ liệu thị trường chứng khoán thể hiện trong Hình 3.6(b) đã được mô tả trong Chương 2 của Luận án, tiểu mục này sử dụng thêm tập dữ liệu về tai nạn ô-tô tại Bỉ [87] được minh họa trong Hình 3.6 (c) để kiểm định tính hiệu quả của mô hình và so sánh với các mô hình khác.

Hình 3.6: Biểu diễn giá trị thực của các chuỗi dữ liệu thời gian

3.2.1.2 Thiết lập các tham số của mô hình FTS1NT-CMPSO cho các tập dữ liệu

Để thử nghiệm mô hình dự báo, các tham số của mô hình như: số lượng cá thể, số lần lặp tối đa, giới hạn vận tốc và vị trí của mỗi cá thể cần được thiết lập để đảm bảo các rằng buộc của hàm tối ưu cũng như miền giới hạn tìm kiếm trong PSO. Tùy thuộc vào mỗi tập dữ liệu, các tham số này có thể được thiết lập với các giá trị khác nhau. Giống như các mô hình dự báo trong các bài báo [18, 32, 35, 42], số lần lặp tối đa trong PSO thường được thiết lập ở phạm vi 100 đến 500 để đạt được giải pháp tốt nhất cho mô hình trên từng tập dữ liệu. Cụ thể số lần lặp tối đa trong các công trình [18, 32] được thiết lập bằng 100, công trình [35] sử dụng số lần lặp tối đa là 500. Vì vậy, mô hình FTS1NT-CMPSO cũng chọn các tham số trong PSO giống như các mô hình [18, 32, 42] tương ứng với từng tập dữ liệu như thể hiện trong Bảng 3.15.

Bảng 3.15:Các tham số của mô hình FTS1NT-CMPSO cho mỗi tập dữ liệu Các tham số trong mô hình Dữ liệu Dữ liệu Dữ liệu car road

enrollments TAIFEX accident

Số lượng cá thể P = 30 30 30

Số lần lặp tối đa iter_max= 150 150 150

Trọng số quán tính ω 1.4 ÷ 0.4 1.4 ÷ 0.4 1.4 ÷ 0.4

Hệ số tự tin cậy và hệ số xã hội C1 = C2 = (adsbygoogle = window.adsbygoogle || []).push({});

2.05 2.05 2.05

Miền giới hạn vận tốc V = [-100,100] [-50,50] [-50, 50]

Miền giới hạn vị trí X= Từ FCM Từ FCM Từ FCM

3.2.1.3 Áp dụng dự báo tuyển sinh đại học của trường đại học Alabama

Trong tiểu mục này, mô hình FTS1NT-CMPSO được áp dụng để dự báo tuyển sinh đại học của trường Đại học Alabama. Các kết quả dự báo từ mô hình đề xuất được đưa ra so sánh với các mô hình dự báo trước đây dựa trên các bậc và các khoảng khác nhau.

So sánh đánh giá các kết quả đạt được dựa trên QHM bậc 1

Để chỉ ra hiệu quả của mô hình FTS1NT-CMPSO dựa trên QHM bậc 1 với số khoảng khác nhau, bốn mô hình dự báo trong các công trình [15, 18, 20, 21, 45] được lựa chọn cho mục đích so sánh. Các kết quả và sai số dự báo MSE từ mô hình

FTS1NT-CMPSO và các mô hình khácđược hiển thị trong Bảng 3.16.

Một phần của tài liệu Một số phương pháp nâng cao độ chính xác dự báo trong mô hình chuỗi thời gian mờ. (Trang 102)