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 103)

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à

𝒜1,1 = 𝒜1,1 + 𝒜1,1 = 13588 + 96 74 = 13684 74 𝒜1,2 = 𝒜1,2 + 𝒜1,2 = 14281 5 - 43 89 = 14237 61 𝒜1,3 = 𝒜1,3 + 𝒜1,3 = 15034 57 + 77 05 = 15111 62 𝒜1,4 = 𝒜1,4 + 𝒜1,4 = 15816 57 + 64 96 = 15881 53 𝒜1,5 = 𝒜1,5 + 𝒜1,5 = 16574 5 + 99 17 = 16673 67 𝒜1,6 = 𝒜1,6 + 𝒜1,6 = 17910 6+ 13 89= 17924 49

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 và 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 𝒜1 = {26 1},𝒜2 = {27 1},𝒜3 = {27 6, 27 5, 27 8, 27 4, 27 7, 𝒜� (𝒜), p=9 𝒜𝒜 (𝒜), q=7 𝒜𝒜 (t), p=9 𝒜𝒜 (𝒜), q=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} 𝒜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

𝒜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]

𝒜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 4- Mờ hóa dữ liệu cho các giá trị chuỗi thời gian hai nhân tố;

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

Khoảng của nhân tố chính Khoảng của nhân tố thứ hai Bậc của mô hình

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

foreach id (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 ;

▪ 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ể

foreach id (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 và 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

enrollments TAIFEX accident

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

Số lần lặp tối đa iter_max = Trọng số quán tính ω 30 150 1 4 ÷ 0 4 30 150 1 4 ÷ 0 4 30 150 1 4 ÷ 0 4

Hệ số tự tin cậy và hệ số xã hội 2 05 C1 = C2 = 2 05 2 05 Miền giới hạn vận tốc V = Miền giới hạn vị trí X= [-100,100] Từ FCM [-50,50] Từ FCM [-50, 50] 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

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 103)