3.3.1. Tối ưu tham số của mơ hình dự báo LTS-FM
Trong mơ hình tính tốn của ĐSGT, giá trị của một số tham số sẽ chi phối tồn bộ giá trị của các tham số cịn lại. Các tham số ảnh hưởng đó chính là độ đo tính mờ của các phần tử sinh và của các gia tử.
Xét cấu trúc ĐSGT }) = (9, p, o, {, ≤), trong đó 9 là tập các từ ngơn ngữ của biến ngôn ngữ ), p là tập các phần tử sinh, o = {0, Ä, 1} là tập của các phần tử tương ứng là tuyệt đối bé, trung hoà và tuyệt đối lớn, { là tập các gia tử và ≤ là toán tử quan hệ thứ tự của các hạng từ ngơn ngữ trong 9.
Trong mơ hình dự báo LTS-FM, xét trường hợp p = {*(*(tjj), j(jtâ,i)} khi nói về số lượng và tập các gia tử { = {0(0+SSji), h(hiâÜ)}. Khi này, xác định trước giá trị của hai tham số 3 = .(c#) = .(small) và 6 = !(ℎ#) = !(0) sẽ xác định được tất cả các tham số cịn lại của mơ hình. Vì mơ hình dự báo LTS- FM thực hiện tính tốn trực tiếp trên ngữ nghĩa của các từ ngôn ngữ được sử dụng nên hai tham số 3 và 6 khi được chọn sẽ tác động trực tiếp tới ngữ nghĩa thực của chúng. Việc tối ưu hai tham số này là việc lựa chọn các giá trị của hai tham số sao cho sai số của kết quả dự báo là nhỏ nhất. Tối ưu tham số của mô hình có thể được hiểu là chọn được các tham số tính mờ tốt nhất, làm cho mơ hình tính tốn thể hiện được tốt nhất dữ liệu thực tế.
Sai số kết quả dự báo có thể được đánh giá bằng các tham số như MSE, RMSE, MAPE… được tính như trong Bảng 1.1. Các sai số này trong mơ hình dự báo LTS-FM tối ưu sẽ chính là các hàm mục tiêu để từ đó lựa chọn các giá trị tham số tốt nhất.
3.3.1.1. Mơ hình dự báo LTS-FM với tham số được tối ưu bằng giải thuật PSO
Trong phần này, một giải thuật lai giữa phương pháp dự báo chuỗi thời gian ngôn ngữ và giải thuật tối ưu bầy đàn (PSO) sẽ được đề xuất. Trong phương pháp dự báo chuỗi thời gian mờ, việc phân hoạch không gian nền được các nhà nghiên cứu quan tâm tối ưu. Trong mơ hình dự báo LTS-FM, phương pháp tính tốn khơng dựa trên khoảng mà dựa trực tiếp trên giá trị ngữ nghĩa định lượng của các
từ ngôn ngữ trong cấu trúc ĐSGT được dùng để diễn tả dữ liệu chuỗi thời gian. Do đó, các tham số tính mờ có thể được tối ưu nhằm cải thiện các kết quả dự báo. Giả sử w = (#', #), … , #;) là một quần thể (swarm) bao gồm • cá thể (particle) và 9$4 là vị trí của cá thể thứ + của thế hệ thứ S. Vị trí này được cập nhật như sau:
9$4 = 9$4#'+ h$4. (3.1) Trong công thức (3.1), vận tốc của các thể thứ + tại thế hệ thứ S, h$4, được cập nhật theo công thức sau đây:
h$4 = ü. h$4#'+ 5'. â'. Jm$4#'− 9$4#'K + 5). â). JmP4#'− 9$4#'K, (3.2) trong đó mP4#' và m$4#' tương ứng là giá trị tối ưu toàn cục (g-best) và giá trị tối ưu cục bộ (p-best) tại thế hệ thứ S − 1; â' và â) tương ứng là các số ngẫu nhiên phân phối trong đoạn [0,1]; 5', 5) và ü tương ứng là hệ số tự nhận thức, hệ số nhận thức xã hội và trọng số quán tính. Trọng số quán tính lớn hơn tạo điều kiện cho việc khai phá toàn cục và trọng số qn tính nhỏ hơn có xu hướng tạo điều kiện cho việc khai phá cục bộ. Giải thuật tối ưu được thực hiện tóm tắt qua các bước sau:
Bước 1: Khởi tạo quần thể w và vec-tơ vị trí 9, vec-tơ vận tốc h, kích thước quần thể • và biến thời gian S.
Bước 2: Tính tốn hàm mục tiêu U(9$4) cho từng cá thể.
Bước 3: Kiểm tra hàm mục tiêu của mỗi cá thể, nếu hàm mục tiêu của cá thể
hiện tại tốt hơn so với so với giá trị tối ưu cục bộ (p-best) mXY thì cập nhật lại giá trị của mXY
là giá trị của hàm mục tiêu hiện tại của cá thể.
Bước 4: Kiểm tra giá trị tối ưu cục bộ của phần tử. Nếu tồn tại một giá trị tối
ưu cục bộ tốt hơn so với giá trị tối ưu tồn cục (g-best) thì cập nhật lại giá trị tối ưu toàn cục là giá trị tối ưu cục bộ đó.
Bước 5: Với từng cá thể, cập nhật vận tốc hXY và vị trí hiện tại 9XY sử dụng tương ứng các cơng thức (3.2) và (3.1).
Bước 6: Tăng biến thời gian S và quay lại Bước 2 cho đến khi hết số vòng lặp.
Xét cấu trúc ĐSGT bao gồm hai phần tử sinh (giả sử là small và large) và hai gia tử (giả sử là Little và Very). Khi cố định số lượng các từ ngôn ngữ trong mơ hình dự báo thì số lượng các tham số đó chỉ là 02. Hai tham số đó chính là độ đo tính mờ của một trong hai phần tử sinh và một trong hai gia tử của mơ hình.
Mỗi cá thể (particle) 9$4, (+ = 1, … , •) trong quần thể (swarm) sẽ lưu giữ giá trị của hai tham số này khi mơ hình dự báo được triển khai. Sử dụng mơ hình đề xuất với hàm mục tiêu là MSE, giải thuật chi tiết của mơ hình dự báo chuỗi thời gian ngơn ngữ với hai tham số tính mờ được tối ưu bằng giải thuật PSO (LTSPSO) như sau:
Giải thuật 3.1. LTSPSO
Input: Dữ liệu lịch sử c•ng kh™ng gian nền;
Cấu trœc ĐSGT với c‡c gi‡ trị ngữ nghĩa; C‡c tham số: 5+, X,-.. // 5+ lˆ k’ch thước quần thể, X,-. lˆ số thế hệ. Output: Bộ tham số tốt nhất Y/ 0!"#'# . Begin
Khởi tạo ngẫu nhi•n quần thể Z1 = {\!1; ^!
1 | 3 = 1, … , 5}; Sắp xếp c‡c phần tử của \!1;
For 3 = 1 to 5+ do begin
Thực hiện từ Bước 2 đến Bước 6 đối với \!1; T’nh to‡n gi‡ trị MSE sử dụng c™ng thức (1.1); Cập nhật gi‡ trị tối ưu cục bộ Y!1 dựa tr•n MSE;
End;
Cập nhật gi‡ trị tối ưu toˆn cục Y/1 dựa tr•n MSE; K = 1; Repeat For 3 = 1 to 5+ do begin Cập nhật lại vận tốc ^!2 sử dụng (3.2); Cập nhật lại vị tr’ \!2 sử dụng (3.1); Sắp xếp c‡c phần tử của \! 2;
Thực hiện từ Bước 2 đến Bước 6 đối với \!2; T’nh to‡n gi‡ trị MSE sử dụng c™ng thức (1.1);
If \!
2 tốt hơn \!2'# then
Cập nhật lại gi‡ trị tối ưu cục bộ Y!
2 dựa tr•n MSE;
End; End;
Cập nhật gi‡ trị tối ưu toˆn cục Y/2 dựa tr•n MSE; K = K + 1; Until K = X,-.; Return Phương ‡n tốt nhất Y/ 0!"#'# ; End.
Dựa vào bộ tham số tốt nhất thu được từ giải thuật LTSPSO, ta có thể tính tốn các giá trị dự báo cho các điểm dữ liệu và đánh giá kết quả thu được tương ứng với các giá trị tối ưu.
Trong thuật tốn LTSPSO, q trình thực hiện thủ tục dự báo LTS-FM tốn lượng thời gian là O(N) với N là số mẫu dữ liệu huấn luyện. Tại mỗi vòng lặp (thế hệ), mỗi cá thể sẽ gọi thủ tục dự báo LTS-FM một lần. Như vậy, độ phức tạp của LTSPSO là O(Gmax×Np×N) với Np là số cá thể và Gmax là số thế hệ.
3.3.1.2. Một số kết quả và thảo luận
Xét tập dữ liệu EUA và mơ hình dự báo được đề xuất trong Chương 2. Trong
Phần 2.4.1, các tham số tính mờ của mơ hình dự báo được lựa chọn theo kinh
nghiệm là 3 = .(5#) = 0,57; 6 = !(ℎ#) = 0,49. Sai số dự báo, hay nói chính xác hơn là giá trị dự báo sẽ thay đổi khi lựa chọn các cặp giá trị 3; 6 khác nhau. Chú ý rằng giá trị các tham số này giới hạn trong đoạn [0,1]. Việc tìm ra giá trị tối ưu của cặp tham số này được thực hiện bằng giải thuật PSO sẽ giúp cải thiện độ chính xác dự báo.
Các tham số của giải thuật tính tốn dự báo LTSPSO trong thực nghiệm được lựa chọn như sau:
¥! Hệ số tự nhận thức và nhận thức xã hội: 5' = 5) = 1,5. ¥! Hệ số qn tính: ü = 0,7.
¥! Số phần tử ở mỗi thế hệ: 300. ¥! Số thế hệ: 1000.
Hình 3.2. So sánh sai số MSE của kết quả dự báo dữ liệu EUA
Thực nghiệm giải thuật dự báo LTSPSO được tiến hành với các tham số như trên trong 05 lần và chọn kết quả dự báo với sai số nhỏ nhất. Ta có biểu đồ so sánh giá trị MSE trong các nghiên cứu của Song & Chissom [2], Chen [4], LTS- FM ở Chương 2 và phương pháp dự báo tối ưu tham số trong mơ hình LTSPSO như trong Hình 3.2.
Trong thực nghiệm mơ hình LTSPSO trên, giá trị tối ưu tìm được là 3 = .(5#) = 0,57; 6 = !(ℎ#) = 0,25. Các giá trị được làm tròn đến 2 chữ số sau dấu phẩy thập phân.
Hình 3.3. So sánh sai số MSE của dự báo với bộ 17, 33 và 65 từ sử dụng
LTSPSO 412499 407507 262326 158172 0 50000 100000 150000 200000 250000 300000 350000 400000 450000
Song & Chissom Chen LTS-FM LTSPSO
68351 11035 1620 0 20000 40000 60000 80000 Độ dài 3 (17) Độ dài 4 (33) Độ dài 5 (65)
Khi gia tăng độ dài từ, số lượng các từ trong bộ từ được sử dùng trong mơ hình dự báo sẽ tăng. Biểu đồ Hình 3.3 trình bày về sai số kết quả dự báo của mơ hình chuỗi thời gian ngơn ngữ tương ứng với 17, 33 và 65 từ bằng sử dụng thuật giải LTSPSO.
Như vậy, khi tăng độ dài của từ ngôn ngữ sẽ làm tăng lực tượng bộ từ được sử dụng và khi kết hợp với thuật tốn LTSPSO sẽ làm gia tăng đáng kể độ chính xác của kết quả dự báo.
3.3.2. Tối ưu tham số kết hợp tối ưu việc lựa chọn các hạng từ trong mơ hình dự báo chuỗi thời gian ngơn ngữ dự báo chuỗi thời gian ngôn ngữ
Trong mơ hình dự báo chuỗi thời gian ngơn ngữ, mỗi từ ngôn ngữ dùng để diễn tả các trạng thái khác nhau của biến ngôn ngữ ). Trong dữ liệu chuỗi thời gian, việc phân bố dữ liệu theo ngữ nghĩa của các giá trị ngơn ngữ có thể khơng đồng đều. Nói cách khác, trong thực tế có những giá trị ngơn ngữ tương ứng với nhiều điểm dữ liệu thực tế, nhưng cũng có những giá trị ngơn ngữ không tương ứng với điểm dữ liệu nào trong thực tế. Do đó, việc tối ưu lựa chọn các giá trị ngơn ngữ được dùng trong mơ hình dự báo có thể đem lại kết quả dự báo tốt hơn. Xét cấu trúc ĐSGT gồm hai phần tử sinh là 5# = *(tjj và 55 = jtâ,i, hai gia tử âm, dương tương ứng là ℎ# = 0(0+SSji), ℎ5 = h(hiâÜ). Với tập các từ có độ dài tối đa là 3 sẽ bao gồm các giá trị ngôn ngữ 9(1) = {0, Very Very small, Very
small, Litle Very small, … , Little Very large, Very large, Very Very large, 1}. Có
tất cả 17 hạng từ như vậy. Tuy nhiên, trong thực tế các dữ liệu quan sát có thể khơng tương ứng với tất cả các giá trị ngơn ngữ này. Nói cách khác, với từng bộ dữ liệu lịch sử và cấu trúc ĐSGT được sử dụng, có thể tồn tại các giá trị ngơn ngữ không biểu diễn cho bất kỳ điểm dữ liệu lịch sử nào. Do đó, việc loại bỏ chúng ra khỏi mơ hình tính tốn sẽ làm cho chương trình được tối ưu, thực hiện nhanh hơn. Bài tốn tối ưu các hạng từ trong mơ hình dự báo bằng chuỗi thời gian ngơn ngữ có thể phát biểu như sau: “Cho một khơng gian ngơn ngữ bài tốn, trong đó
cấu trúc ĐSGT bao gồm có N hạng từ. Hãy chọn ra M hạng từ (M<N) sao cho phản ánh tốt nhất đối với một bộ dữ liệu chuỗi thời gian đang xét”.
Ta cũng có thể kết hợp giữa tối ưu lựa chọn tham số và tối ưu bộ từ được sử dụng. Đó là một giải thuật dự báo tối ưu gồm hai pha được thực hiện đồng thời trong từng bước. Theo đó, sau khi lựa chọn được giá trị của .(c#) và !(0), thuật giải tiến tới lựa chọn các giá trị ngữ nghĩa tốt nhất sử dụng các hàm mục tiêu chính là các sai số như MSE, RMSE hay MAPE…
3.3.2.1. Mơ hình dự báo chuỗi thời gian ngơn ngữ đồng tối ưu tham số và bộ từ bằng giải thuật PSO
Trong phần này, mơ hình lai giữa phương pháp dự báo chuỗi thời gian ngơn ngữ và tính tốn đồng tối ưu bầy đàn (PSCO - Particle Swarm Co-Optimization) sẽ được giới thiệu. Trong các phần trước, bộ từ ngôn ngữ dùng để biểu diễn chuỗi thời gian dạng số được lựa chọn bởi người thiết kế. Do đó, bộ từ này chưa được tối ưu mà phụ thuộc nhiều vào trực cảm và kinh nghiệm của người thiết kế. Để lựa chọn một bộ từ ngôn ngữ tốt nhất để biểu diễn cho một dữ liệu chuỗi thời gian cụ thể, có thể sử dụng các giải thuật tối ưu để lựa chọn chúng. Bên cạnh đó, việc gia tăng khơng gian ngơn ngữ trong mơ hình dự báo cũng đặt ra nhu cầu tối ưu để lựa chọn được bộ từ ngôn ngữ phản ánh tốt nhất bộ dữ liệu chuỗi thời gian như đã thảo luận ở Phần 3.2. Mặt khác, các tham số tính mờ của mơ hình cũng có thể được tối ưu song song với việc lựa chọn bộ từ. Do đó, giải thuật thiết kế sẽ bao gồm hai lớp tối ưu:
¥! Tối ưu bên trong: dùng để tối ưu bộ từ với số lượng từ cho trước.
¥! Tối ưu bên ngồi: dùng để tối ưu các tham số tính mờ của cấu trúc
ĐSGT.
Khi thực hiện chương trình, hai lớp tối ưu sẽ được thực hiện đồng thời. Song song với việc tìm ra bộ tham số tính mờ tốt nhất, giải thuật sẽ thực hiện tối ưu bộ từ được chọn. Chi tiết giải thuật đồng tối ưu theo hàm mục tiêu MSE được trình bày như sau đây.
Giải thuật 3.2. DWO (53+,pZ[\],Ä^_Y,qZ,u) /* Tối ưu bộ từ (Declare Word-set Optimization) */
Input: Dữ liệu lịch sử chuỗi thời gian c•ng kh™ng gian nền;
// 53+ lˆ k’ch thước quần thể; X3,-. lˆ số thế hệ; a452 lˆ bộ từ của b$;I3 lˆ lực lượng của a452; c lˆ bộ tham số t’nh mờ.
Output: Bộ từ tốt nhất Z/
0$!"#'#
;
Begin
Khởi tạo ngẫu nhi•n quần thể a1 = {\!1; ^!1 | 3 = 1, … , 53+}; // \!2 lˆ tập c‡c chỉ số, tập con của đoạn [0,I3]; Sắp xếp c‡c phần tử trong \!1;
For 3 = 1 to 53+ do begin
Thực hiện từ Bước 2 đến Bước 6 đối với c vˆ \!1; T’nh to‡n gi‡ trị MSE sử dụng c™ng thức (1.1); Cập nhật c‡ thể tốt nhất Z!1 theo MSE;
End;
Cập nhật gi‡ trị tối ưu toˆn cục Z/1 theo MSE; K = 1; Repeat For 3 = 1 to 53+ do begin Cập nhật lại vận tốc ^! 2 sử dụng (3.2); Cập nhật lại vị tr’ \!2 sử dụng (3.1); Sắp xếp c‡c phần tử của \!2;
Thực hiện từ Bước 2 đến Bước 6 đối với c vˆ \!2; T’nh to‡n gi‡ trị MSE sử dụng c™ng thức (1.1);
If \!
2 tốt hơn \!2'# then
Cập nhật lại gi‡ trị tối ưu cục bộ Z!2 dựa tr•n MSE;
End; End;
Cập nhật gi‡ trị tối ưu toˆn cục Z/2 dựa tr•n MSE; K = K + 1; Until K = X3,-.; Return Phương ‡n tốt nhất Z/ 0$!"#'# ; End.
Giải thuật 3.3. LTSPSCO
Input: Dữ liệu lịch sử chuỗi thời gian c•ng kh™ng gian nền;
// 56 vˆ 53+ lˆ k’ch thước ngoˆi vˆ trong của quần thể; X,-. vˆ X3,-. lˆ số thế hệ b•n ngoˆi vˆ b•n trong của giải thuật PSO; d,-. lˆ độ dˆi tối đa của từ ng™n ngữ; I3 lˆ lực lượng của bộ từ trong m™ h“nh.
Output: Bộ tham số tối ưu Y/
0!"#'#
vˆ bộ từ tối ưu tương ứng;
Begin
Sinh bộ từ a452 của b$ với độ dˆi từ tối đa d,-.; Khởi tạo ngẫu nhi•n quần thể a1 = {\!1; ^!1 | 3 = 1, … , 56}; // \!2 lˆ tập c‡c tham số t’nh mờ;