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 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
��(�), 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 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 �
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
đư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 =
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.
Bảng 3.16: So sánh kết quả và sai số dự báo giữa mô hình đề xuất FTS1NT-