Dự báo lượng mưa tại một số trạm quan trắc Việt Nam dựa trên lập trình di truyền

BÀI BÁO KHOA HỌC  
DỰ BÁO LƯỢNG MƯA TẠI MỘT SỐ  
TRẠM QUAN TRẮC VIỆT NAM DỰA TRÊN  
LẬP TRÌNH DI TRUYỀN  
Nguyễn Thị Hiền1, Nguyễn Xuân Hoài2, Đặng Văn Nam3, Ngô Văn Mạnh4  
Tóm tắt: Dự báo lượng mưa là một trong những bài toán thách thức nhất, vì nó thể hiện các đặc  
điểm rất độc đáo không tồn tại trong dữ liệu chuỗi thời gian khác. Hơn nữa, lượng mưa là một thành  
phần chính và rất cần thiết cho việc áp dụng quy hoạch tài nguyên nước. Chính vì vậy, bài viết này  
tập trung vào việc dự đoán lượng mưa sử dụng dữ liệu từ Cơ quan Khí tượng Việt Nam. Hiện nay  
trong hầu hết các nghiên cứu dự báo lượng mưa, quá trình dự báo thường bị chi phối bởi các mô  
hình thống kê, cụ thể là sử dụng chuỗi Markov được mở rộng với dự báo lượng mưa (MCRP). Trong  
bài báo này, nghiên cứu trình bày một phương pháp mới để giải quyết bài toán dự đoán lượng mưa  
là lập trình di truyền (Genetic Programming - GP). Đây là lần đầu tiên GP được sử dụng trong bối  
cảnh dự báo lượng mưa ở một số thành phố tại Việt Nam. Nghiên cứu sẽ so sánh hiệu suất của GP  
và các thuật toán học máy khác như SVM, MLP, DCT, kNN trên 3 bộ dữ liệu khác nhau của các thành  
phố tại Việt Nam và báo cáo kết quả. Mục tiêu là để xem liệu GP có khả năng dự báo tốt hơn so với  
các phương pháp học máy khác hay không? Các kết quả đều chỉ ra rằng nói chung GP vượt trội đáng  
kể so với các phương pháp học máy khác, đó là cách tiếp cận chủ đạo trong bài viết.  
Từ khóa: Lập trình di truyền, dự báo lượng mưa.  
Ban Biên tập nhận bài: 12/09/2019 Ngày phản biện xong: 20/10/2019 Ngày đăng bài:25/11/2019  
1. Đặt vấn đề  
báo này chứ không phải các kỹ thuật học máy  
khác, bởi vì GP đưa ra lời giải bài toán ở dạng  
hộp trắng (giúp ta có thể hiểu được sự phụ thuộc  
của lời giải vào các thuộc tính đã chọn, trái  
ngược với mô hình hộp đen), nó cho phép ta hiểu  
sâu hơn về lời giải. Hơn nữa, chúng ta có thể có  
hiểu được phần phi tuyến trong mẫu dữ liệu mà  
không cần bất kỳ giả định nào liên quan đến dữ  
liệu. Điều này sẽ cho phép chúng ta dễ dàng đưa  
ra một mô hình dự báo có thể phản ánh quá trình  
thay đổi lượng mưa. Xa hơn nữa, người dự báo  
có thể nắm bắt được những sai lệch hàng năm  
mà hiện tại một số cách tiếp cận truyền thống  
không thể làm được (sử dụng chuỗi Markov để  
dự báo).  
Mưa là một hiện tượng quan trọng trong hệ  
thống khí hậu, có bản chất hỗn loạn có ảnh  
hưởng trực tiếp đến quy hoạch tài nguyên nước,  
nông nghiệp và hệ thống sinh học. Bài toán dự  
báo lượng mưa đặt ra khá nhiều trở ngại, cả trong  
nghiên cứu và trong thực tiễn (lượng mưa là  
tương đối khó để đo được chính xác). Đã có khá  
nhiều các nghiên cứu được thực hiện để giải  
quyết bài toán này. Trong bài viết này nghiên  
cứu sẽ mô tả việc sử dụng lập trình di truyền để  
áp dụng cho bài toán dự báo lượng mưa tích lũy.  
Mục đích bài viết này là khám phá xem GP có  
vượt trội hơn so với các cách tiếp cận khác  
thường được áp dụng trong bài toán dự báo  
lượng mưa hay không. GP được lựa chọn cho bài  
Do đó, đóng góp chính của bài viết này là  
1Học viện Kỹ thuật quân sự  
2Viện AI Việt nam  
3Đại học Mỏ-Địa Chất  
4Trung tâm Thông tin và Dữ liệu khí tượng thủy văn  
Email: manh.ngovan@gmail.com; nguyenthihienqn@gmail.com  
TẠP CHÍ KHÍ TƯỢNG THỦY VĂN  
Số tháng 11 - 2019  
1
BÀI BÁO KHOA HỌC  
a. Lập trình di truyền  
nghiên cứu đề xuất GP với một số thay đổi nhỏ  
áp dụng cho bài toán dự báo lượng mưa và so  
sánh hiệu suất dự đoán của nó so với các phương  
pháp học máy khác thường được áp dụng cho  
những bài toán dự báo tương tự.  
Phần còn lại của bài báo này được tổ chức  
như sau. Phần 2 sẽ trình bày về GP bao gồm giới  
thiệu chung, và một số điểm riêng dùng cho bài  
toán dự báo lượng mưa. Phần 3 sẽ đưa ra các  
tham số cụ thể của GP khi chạy thực nghiệm, dữ  
liệu để thí nghiệm, cùng với các phương pháp  
học máy khác để so sánh với GP. Phần 4 trình  
bày kết quả của thí nghiệm đánh giá, phân tích,  
so sánh kết quả của các phương pháp. Cuối cùng,  
phần 5 kết luận lại những phát hiện và đề xuất  
các nghiên cứu trong tương lai.  
Lập trình di truyền (Genetic Programming -  
GP) ra đời vào năm 1992 [3] với tham vọng  
nhằm đưa ra một quần thể các chương trình mà  
chúng có thể tiến hóa một cách tự động trên  
những dữ liệu huấn luyện. Với nghĩa này, GP  
được xem như là một phần của học máy. Dựa  
trên lýthuyết tiến hoá của Darwinian, GP đưa ra  
các chương trình mã hóa dưới dạng các chuỗi di  
truyền thông qua quá trình tiến hóa và chọn lọc  
tự nhiên để tìm được chuỗi di truyền (chương  
trình) tốt đáp ứng được yêu cầu bài toán.  
Biểu diễn chương trình  
Chương trình trong GP được biểu diễn dưới  
dạng cây, trong đó mỗi nút được gán nhãn là một  
ký hiệu thuộc tập hàm (F) hay tập kết (T).  
2. Phương pháp nghiên cứu  
Hình 1. Biểu diễn chương trình GP  
Toán tử di truyền  
• Xóa cây con thuộc nốt được chọn.  
Toán tử lai ghép (crossover)  
Thể hiện quá trình trao đổi nhiễm sắc thể giữa  
hai cây bố mẹ. Toán tử gồm các bước sau:  
• Sinh ngẫu nhiên một cây con mới vào vị trí  
vừa xóa.  
Tái sinh (reproduction)  
• Chọn một nút ngẫu nhiên trên mỗi cây bố  
mẹ.  
• Hoán đổi hai cây con có gốc tại hai nút vừa  
chọn và tráo đổi chúng cho nhau.  
Nếu một cá thể được tái sinh chúng sẽ được  
sao chép y nguyên vào quần thể, hay nói cách  
khác là sẽ có hai cá thể giống nhau trong quần  
thể.  
Đánh giá độ tốt (fitness)  
Toán tử đột biến (Mutation)  
Mỗi một chương trình được gán một giá trị  
được gọi là độ tốt, giá trị này sẽ có ảnh hưởng  
quan trọng đến việc cá thể có được lựa chọn để  
thực hiện các toán tử di truyền hay không.  
Là quá trình đột biến của một bộ nhiễm sắc  
thể được tạo ra. Gồm các bước sau:  
• Chọn ngẫu nhiên một nốt bất kì trên cây cha  
(mẹ).  
TẠP CHÍ KHÍ TƯỢNG THỦY VĂN  
Số tháng 11 - 2019  
2
BÀI BÁO KHOA HỌC  
Hình 2. Toán tử lai ghép  
Hình 3. Toán tử biến dị  
Như vậy các bước để chạy một thuật toán GP:  
1) Khởi tạo ngẫu nhiên một quần thể (thế hệ  
0) các cá thể được tạo ra từ tập hàm và tập kết.  
• Tái sinh  
• Lai ghép  
• Đột biến  
2) Thực hiện lặp (các thế hệ) theo các bước  
phụ sau cho đến khi thỏa mãn điều kiện kết thúc  
(tìm thấy lời giải tối ưu hoặc đạt đến số thế hệ  
nào đó):  
Sau khi kết thúc quá trình tiến hóa, cá thể tốt  
nhất của toàn bộ quá trình chạy được coi như là  
kết quả của quá trình chạy.  
Bên cạnh các phương pháp truyền thống: cây  
quyết định, tập luật quyết định, hàm thống kê và  
a. Đánh giá độ tốt của các cá thể.  
b. Chọn 1 hoặc 2 cá thể từ quần thể với xác mạng nơron các nghiên cứu đã cho thấy rằng GP  
suất phụ thuộc vào độ tốt của chúng để tham gia cũng là một phương pháp giải bài toán dự báo  
vào các toán tử di truyền c.  
với độ chính xác cao bằng cách tiến hóa ra cây  
biểu thức. Một trong những lý do cho phép ta tin  
tưởng điều này là quá trình tìm kiếm của GP có  
kết quả tốt đối với những bài toán có không gian  
c. Tạo các cá thể mới cho quần thể bằng việc  
áp dụng các phép toán di truyền sau với một xác  
suất đã định.  
TẠP CHÍ KHÍ TƯỢNG THỦY VĂN  
Số tháng 11 - 2019  
3
BÀI BÁO KHOA HỌC  
tìm kiếm lớn.  
b. Lập trình di truyền cho dự báo lượng  
mưa  
dụng dữ liệu từ tháng 4 năm 2000. Có thể cải  
thiện dự báo dòng chảy với mô hình WRIP sử  
dụng cả lập trình di truyền và một mạng nơ-ron  
nhân tạo bằng cách cập nhật lỗi theo thời gian  
thực giữa dòng chảy cần đo và giá trị mô phỏng  
cho tối đa năm khoảng thời gian. Phương trình là  
kết quả của GP có thể được xem như một dạng  
cải tiến của mô hình hồi quy tự động.  
Việc sử dụng lập trình di truyền (GP) để dự  
báo lượng mưa theo thời gian thực đã mở rộng  
trong những năm gần đây. Madsen và cộng sự  
[4] đã tiến hành so sánh việc sử dụng các mô  
hình hồi quy tự động, AR (p), sử dụng GP và  
mạng nơ-ron để chỉnh sửa về lỗi dư thừa của mô  
hình có hiệu chỉnh. Để đánh giá ảnh hưởng của  
chất lượng mô hình mô phỏng lên dự báo, kỹ  
thuật sửa lỗi (hoặc cập nhật các giá trị đầu ra) đã  
được áp dụng cho cả mô hình hiệu chỉnh và mô  
hình không hiệu chỉnh.  
Trong nước hầu như chưa có nghiên cứu nào  
rõ ràng về bài toán dự báo lượng mưa, và hầu  
chắc chắn rằng chưa có nghiên cứu nào sử dụng  
công cụ học máy để dự báo lượng mưa.  
3. Thí nghiệm  
Trong phần này nghiên cứu trình bày cách  
thiết kế thí nghiệm và các tham số của GP đã  
được hiệu chỉnh cho phù hợp với bài toán dự báo  
lượng mưa.  
Whigham & Crapper [8] đề xuất sử dụng GP  
dựa trên văn phạm phi ngữ cảnh. Bài báo này đã  
xác định tập hàm GP bao gồm các hàm số học và  
hàm mũ. Tập kết bao gồm một số giá trị lượng  
mưa trong quá khứ cũng như lượng mưa trung  
bình trong 5, 10, 15, 25, 30, 40, 50, 60 và 100  
ngày gần nhất. Năm 2002, Liong và các cộng sự  
dùng GP để xác định mô hình mô tả mối quan  
hệ giữa lượng mưa và dòng chảy bằng cách sử  
dụng mã hóa cổ điển của GP giống như Koza đã  
định nghĩa [3] Tập hàm bao gồm các hàm số học  
và hàm mũ, mô hình được xây dựng như bài toán  
hồi quy. Hai bài báo này đưa ra mô hình nhưng  
không cung cấp một giải thích vật lý về hiện  
tượng.  
a. Tham số của GP  
Bảng 1. Tham số của GP  
7KDPꢀVӕꢀ  
7ұSꢀKjPꢀ  
*LiꢀWUӏꢀ  
ꢁꢂꢀꢃꢂꢀ[ꢂꢀꢄꢂꢀVLQꢂꢀFRVꢂꢀOQꢂꢀ—ꢀꢀ  
%LӃQꢀWKXӝFꢀWtQKꢀ  
ꢅꢆꢆꢆꢀ  
7ұSꢀNӃWꢀ  
.tFKꢀWKѭӟFꢀ  
TXҫQꢀWKӇꢀ  
Khu và các cộng sự [2] sử dụng GP và mạng  
nơ-ron để sinh lỗi thời gian thực dựa trên tiến  
hóa cập nhật chương trình để bổ sung cho mô  
hinhd dự báo thời gian thực gọi là WRIP (Bộ xử  
lý thông tin thời tiết radar) dựa trên các phép đo  
lượng mưa được ghi lại bằng radar.  
7KXұWꢀWRiQꢀNKӣLꢀWҥRꢀ 5DPSHGꢀKDOIꢃDQGꢃKDOIꢀ  
ĈӝꢀFDRꢀOӟQꢀQKҩWꢀFӫDꢀ ꢅꢇꢀ  
Fk\ꢀ  
6ӕꢀWKӃꢀKӋꢀ  
ꢈꢆꢆꢀ  
ꢆꢂꢉꢀ  
Các thử nghiệm đã được thực hiện bằng cách  
sử dụng tổng lượng mưa và lượng mưa thực tế,  
với cả mạng nơ-ron và GP để tối ưu hóa lỗi. Đối  
với chức năng hiệu chỉnh, dữ liệu được ghi lại  
trong trận mưa tháng 12 năm 1999 ở lưu vực  
nông thôn ngược dòng từ Taunton, Vương quốc  
Anh đã được sử dụng và, trong quá trình hợp lệ,  
một ước tính đã được thực hiện bằng cách sử  
;iFꢀVXҩWꢀWKӵFꢀKLӋQꢀ  
ODLꢀJKpSꢀ  
;iFꢀVXҩWꢀWKӵFꢀKLӋQꢀ  
ÿӝWꢀELӃQꢀ  
ꢆꢂꢅꢀ  
3KѭѫQJꢀSKiSꢀFKӑQꢀ 7UDQKꢀÿҩXꢀNtFKꢀWKѭӟFꢀ  
TẠP CHÍ KHÍ TƯỢNG THỦY VĂN  
Số tháng 11 - 2019  
4
BÀI BÁO KHOA HỌC  
Bảng 1 trình bày các tham số cụ thể để chạy Dữ liệu được lấy từ ngày 1/6/2016 đến ngày  
GP. Ở đây hàm đánh giá độ tốt của mỗi cá thể 1/1/2019, mỗi ngày gồm 8 giá trị (đo cách nhau  
nghiên cứu sử dụng hàm RMSE (root mean 3 giờ).  
square error).  
Sau khi có dữ liệu dạng chuỗi thời gian,  
GP chạy 30 lần mỗi lần với giá trị khởi tạo nghiên cứu chuyển thành dữ liệu phụ thuộc có  
khác nhau, mỗi lần sẽ nhận được một lời giải tốt dạng:  
nhất sau đó lựa chọn lời giải trung vị (median)  
của dãy 30 lời giải tốt nhất đó dùng làm mô hình  
cuối cùng.  
(1)  
ꢀꢀꢀꢀ ꢂ ꢃꢄꢁꢅꢆꢇ ꢀ ꢇ ꢈ ꢈ ꢇ ꢀ ꢀ  
ꢁꢅ  
ꢁꢅꢉ  
Trong đó rt là lượng mưa ở thời điểm t.  
b. Dữ liệu bài toán  
Sau khi chuyển về dữ liệu phụ thuộc và chọn  
= 6, nghiên cứu lấy 5000 bản ghi làm dữ liệu  
huấn luyện, phần còn lại 2556 bản ghi làm dữ  
liệu kiểm tra.  
Dữ liệu thử nghiệm là dữ liệu đo được ở  
Mường Lay (trạm 1), Lào Cai (trạm 2), Hà  
Giang (trạm 3), Sơn La (trạm 4), Cao Bằng (trạm  
5), Điện Biên (trạm 6), Tuyên Quang (trạm 7).  
ꢀ  
Hình 4. Một số giá trị lượng mưa đo được tại trạm Mường Lay  
c. Tổng quan các kỹ thuật học máy  
cộng thêm giá trị này vào hàm lỗi. Để minh họa  
ta xem xét một mô hình tuyến tính dự báo cho  
bởi công thức (2):  
Để so sánh GP với các kỹ thuật học máy khác  
khi giải quyết bài toán dự báo lượng mưa, nghiên  
cứu lựa chọn 4 kỹ thuật học máy đưa ra mô hình  
dự báo chỉ dựa vào dữ liệu và có khả năng phản  
ánh được ánh xạ giữa các biến đầu vào và đầu ra  
(bài toán dự báo) mà không cần xem xét trực tiếp  
các quy luật vật lý của cơ chế mưa. Những mô  
hình này hoàn toàn dựa trên thông tin có được từ  
việc thu thập dữ liệu. Đó là các mô hình sau:  
(2)  
ꢁ ꢃ  
ꢀ ꢂ ꢄ ꢅ ꢂ ꢇ ꢈ  
trong đó w là véc-tơ trọng số, b là độ dốc và  
x là véc-tơ đầu vào. Gọi xm ym lần lượt là véc-  
tơ đầu vào, giá trị đầu ra thứ m của tập huấn  
luyện. Công thức tính hàm lỗi như công thức (3):  
ꢃ ꢃ  
ꢑ  
ꢋ ꢌꢍꢎ  
ꢒꢓꢂ  
(3)  
ꢀ ꢁ  
ꢅ ꢆ  
Số hạng thứ nhất của hàm lỗi chính là giá trị  
phạt độ phức tạp của mô hình, còn số hạng thứ  
hai là giá trị lỗi nhạy cảm với ε. Nếu hàm lỗi nhỏ  
hơn ε thì sẽ không phạt, đây là tham số được đưa  
thêm vào để điều chỉnh giảm độ phức tạp của mô  
Máy vec-tơ hỗ trợ (Support Vector Machine)  
Máy véc tơ hỗ trợ hồi quy (Support Vector  
Regression -SVR) [5], là một phương pháp thành  
công để xử phạt sự phức tạp mô hình bằng cách  
TẠP CHÍ KHÍ TƯỢNG THỦY VĂN  
Số tháng 11 - 2019  
5
BÀI BÁO KHOA HỌC  
hình. Chính vì vậy lời giải sẽ cực tiểu hóa hàm  
lỗi như công thức (4):  
Một đối tượng được phân lớp dựa vào k láng  
giềng của nó, k là số nguyên dương được xác  
định trước khi thực hiện thuật toán. Người ta  
thường dùng khoảng cách Euclidean để tính  
khoảng cách giữa các đối tượng.  
  !  
    
 
       
(4)  
ꢇꢌꢍ  
Trong đó α*m, αm là nhân tử Lagrange. Véc-  
tơ huấn luyện đưa ra các số nhân Lagrange khác  
không được gọi là các véc-tơ hỗ trợ và đây là  
một khái niệm chính về lý thuyết SVR. Các véc-  
tơ không hỗ trợ không đóng góp trực tiếp vào lời  
giải và số lượng vectơ hỗ trợ là độ đo đo độ phức  
tạp của mô hình. Mô hình này được mở rộng cho  
trường hợp phi tuyến tính thông qua khái niệm  
nhân κ sinh ra công thức (5):  
Mạng Perceptron nhiều lớp (Multi-layer  
Perceptron - MLP) [7] là mạng nơ-ron nhân tạo  
được gọi là perceptron nhiều lớp bởi vì nó là tập  
hợp của các perceptron chia làm nhiều nhóm,  
mỗi nhóm tương ứng với một layer. Hoạt động  
của chúng có thể được mô tả như sau tại tầng đầu  
vào các nơron nhận tín hiệu vào xử lý (tính tổng  
trọng số, gửi tới hàm truyền) rồi cho ra kết quả  
(là kết quả của hàm truyền); kết quả này sẽ được  
truyền tới các nơron thuộc tầng ẩn thứ nhất; các  
nơron tại đây tiếp nhận như là tín hiệu đầu vào,  
xử lý và gửi kết quả đến tầng ẩn thứ 2;…; quá  
trình tiếp tục cho đến khi các nơron thuộc tầng ra  
cho kết quả. Bốn mô hình trên được sử dụng rất  
phổ biến cho các bài toán học máy và cũng cho  
thấy hiệu năng đáng kể của chúng.  
  !  
 
(5)  
    
   "ꢁꢂꢂꢃ    
ꢇꢌꢍ  
Trong thí nghiệm này nghiên cứu sẽ sử dụng  
nhân Gauss.  
Cây quyết định (Decision Tree - DCT) [6] là  
một kiểu mô hình dự báo. Mỗi một nút trong của  
cây tương ứng với một biến; cạnh nối giữa nó  
với nút con của nó thể hiện một giá trị cụ thể cho  
biến đó. Mỗi nút lá đại diện cho giá trị dự báo  
của biến mục tiêu, cho trước các giá trị của các  
biến được biểu diễn bởi đường đi từ nút gốc tới  
nút lá đó. Kỹ thuật học máy dùng trong cây  
quyết định được gọi là học bằng cây quyết định,  
hay chỉ gọi với cái tên ngắn gọn là cây quyết  
định.  
Cây quyết định có thể được học bằng cách  
chia tập hợp nguồn thành các tập con dựa theo  
một kiểm tra giá trị thuộc tính. Quá trình này  
được lặp lại một cách đệ quy cho mỗi tập con  
dẫn xuất. Quá trình đệ quy hoàn thành khi không  
thể tiếp tục thực hiện việc chia tách được nữa,  
hay khi một phân loại đơn có thể áp dụng cho  
từng phần tử của tập con dẫn xuất. Một bộ phân  
loại rừng ngẫu nhiên (random forest) sử dụng  
một số cây quyết định để có thể cải thiện tỉ lệ  
phân loại.  
4. Phân tích kết quả  
Trong phần này, ta sẽ xem xét các kết quả khi  
chạy GP so với các thuật toán học máy điển hình.  
Để so sánh hiệu suất của GP với các phương  
pháp khác nghiên cứu sử dụng hai độ đo như  
công thức (6, 7):  
)
*
/3)  
(
ꢂ+  
,-.ꢃ/  
ꢄ+  
012ꢃ/  
*
#$%&' ꢀ  
ꢀ ꢀ  
ꢁ5ꢂꢀ  
ꢁ7ꢂꢀ  
ꢂ+  
ꢄ+  
,-.ꢃ456  
,-.ꢃ4/*  
*
/3)  
ꢂ+  
+7 ꢅꢂ+  
+7  
012ꢃ/ 012  
,-.ꢃ/  
,-.  
ꢆꢆ ꢀ  
ꢀ  
*
/3)  
(
ꢂ+  
,-.ꢃ/  
+7 ꢅꢂ+  
+7  
,-.  
012ꢃ/  
012  
Trong đó NRMSE (normal root mean  
squared error) là RMSE chuẩn hóa tính theo  
phần trăm, CC (correlation coefficien) là hệ số  
tương quan.  
Trong công thức trên n là độ lớn tập huấn  
luyện, ypre,i là giá trị dự báo của điểm mẫu i còn  
k-láng giềng gần nhất (k Nearest Neighbor  
- kNN) [1] là phương pháp để phân lớp các đối  
tượng dựa vào khoảng cách gần nhất giữa đối  
tượng cần xếp lớp và tất cả các đối tượng trong  
tập dữ liệu.  
yobs,i là giá trị đo được ở điểm mẫu i.  
Mục đích của GP là quá trình tiến hóa làm sao  
tìm cây kết quả có giá trị NRMSE nhỏ và CC  
lớn.  
TẠP CHÍ KHÍ TƯỢNG THỦY VĂN  
Số tháng 11 - 2019  
6
BÀI BÁO KHOA HỌC  
Hình 6. Giá trị NRMSE và CC của các mô hình  
dự báo với dữ liệu tại trạm Lào Cai  
Hình 5. Giá trị NRMSE và CC của các mô hình  
dự báo với dữ liệu tại trạm Mường Lay  
Trong hình 5, giá trị NRMSE của 5 phương pháp rơi vào khoảng từ 0,025 đến 0,030, trong  
pháp dự báo nằm trong khoảng từ 0,035 đến đó MLP và SVM khá gần nhau cũng như DCT  
0,045. Còn giá trị CC nằm trong khoảng từ 0,03 và GP. Tuy nhiên giá trị CC của SVM nhỏ hơn  
đến 0,4. Và ta cũng thấy phương pháp GP vừa 0 trong khi giá trị này của các phương pháp còn  
cho kết quả giá trị NRMSE nhỏ và CC lớn nhất lại từ 0,1 đến 0,4. Và cũng tương tự như dự báo  
trong 5 phương pháp.  
trạm Mường Lay, lời giải GP cho kết quả tốt nhất  
cả về NRMSE lẫn CC.  
Trong hình 6, giá trị NRMSE của 5 phương  
Hình 7. Giá trị NRMSE và CC của các mô hình  
dự báo với dữ liệu tại trạm Hà Giang  
Hình 8. Giá trị NRMSE và CC của các mô hình  
dự báo với dữ liệu tại trạm Sơn La  
Trong hình 7, giá trị NRMSE của các mô DCT là tốt nhất.  
hình nằm trong khoảng 0,04 đến 0,05, trong đó  
giá trị này của SVM và MLP gần như bằng nhau,  
giá trị DCT và GP trùng nhau. Giá trị CC của các  
phương pháp nằm trong khoảng từ 0,05 đến 0,35  
trong đó DCT và GP gần như bằng nhau. Đối với  
dữ liệu tại trạm này thì hiệu năng của GP và  
Kết quả trong hình 8 cho thấy giá trị NRMSE  
của các phương pháp học máy hầu như tương  
đồng với nhau. Chỉ có giá trị CC là khác biệt  
trong đó GP có giá trị CC lớn nhất, MLP, SVM  
là phương pháp cung cấp giá trị CC của dữ liệu  
dự báo kém nhất.  
TẠP CHÍ KHÍ TƯỢNG THỦY VĂN  
Số tháng 11 - 2019  
7
BÀI BÁO KHOA HỌC  
Hình 10. Giá trị NRMSE và CC của các mô  
hình dự báo với dữ liệu tại trạm Điện Biên  
Hình 9. Giá trị NRMSE và CC của các mô hình  
dự báo với dữ liệu tại trạm Cao Bằng  
Hình 11. Giá trị NRMSE và CC của các mô hình dự báo với dữ liệu tại trạm Tuyên Quang  
Kết quả trong hình 9 cho thấy không có sự Như vậy trên 7 tập dữ liệu thực tế tại 7 trạm  
khác biệt lắm về kết quả của 2 mô hình SVM và khác nhau, GP cho mô hình dự báo tốt nhất trên  
MLP, trong khi đó GP vẫn chiếm ưu thế vượt 5 tập dữ liệu. Trên các bài toán còn lại GP chỉ  
trội cả về hai giá trị này.  
thua kém so với DCT không đáng kể về sai số  
của mô hình. Các kết quả khẳng định hiệu năng  
của GP vượt trội so với các mô hình dự báo khác.  
Hình 10 cho thấy khả năng dự báo của các mô  
hình trên dữ liệu trạm 6 không có sự khác biệt  
về sai số, chỉ có giá trị CC khác nhau, trong đó  
DCT có giá trị này lớn nhất, GP thứ hai. SVM và  
MLP hầu như cũng không có khác biệt.  
Mô hình kết quả tiến hóa GP  
Dưới đây là một cây lời giải cho bài toán dự  
báo lượng mưa ở trạm 1 là kết quả của quá trình  
Kết quả trên hình 11 cho thấy kNN có giá trị tiến hóa của GP có dạng:  
sai số mô hình dự báo tồi hơn hẳn các mô hình  
sqrt(add(mul(mul(sqrt(mul(X4,X3)),X2),add  
còn lại, SVM và MLP tương đương nhau tuy  
nhiên CC của MLP tốt hơn. Với dữ liệu trạm 7  
mô hình DCT cho kết quả tốt nhất, GP kém chút  
ít cả về lỗi và giá trị CC.  
(mul(mul(X2,X2),mul(X2,X2)),mul(add(X3,X3  
),X2))),mul(add(mul(add(X3,X3),sin(X3)),div(  
mul(X4,X5),sin(X5))),sin(sqrt(X3))))).  
Biểu thức tương ứng với cây trên là:  
TẠP CHÍ KHÍ TƯỢNG THỦY VĂN  
Số tháng 11 - 2019  
8
BÀI BÁO KHOA HỌC  
=
: < : < : < : ꢁ >: < : ꢁ >:;  
9
;
=
;
B
(8)  
C
8
HHHꢀ ꢀ  
< ?@A :; ꢁ := < DꢃꢄB ꢁ EFG :  
9
;
C
Với mô hình kết quả như trên việc dự báo trở các kết quả cho thấy GP vượt trội hơn về hiệu  
nên khá dễ dàng với các biến Xi chính là các giá năng so với các phương pháp dự báo khác (MLP,  
trị đầu vào. Và với mô hình nhận được ta nhận SVM, kNN, DCT). Tuy nhiên giá trị CC của mô  
thấy sự phụ thuộc của kết quả vào các tham số đó hình còn tương đối thấp, tức là kết quả dự báo  
cũng là một tham khảo để lựa chọn đặc trưng cho vẫn còn chưa đoán được đúng xu thế của dữ liệu.  
phù hợp bài toán. Đây chính là ý nghĩa hộp trắng Chính vì vậy, trong tương lai nghiên cứu sẽ tiếp  
của GP mà chỉ có mô hình DCT trong số 4 mô tục cải tiến GP để thu được kết quả dự báo tốt  
hình trên mới có.  
hơn nữa. Ngoài ra tham số phụ thuộc vào số giá  
trị thời điểm trước cũng cần được điều chỉnh linh  
hoạt để có được kết quả dự báo phù hợp với thực  
tế.  
5. Kết luận  
Bài báo trình bày việc sử dụng GP để dự báo  
lượng mưa tại một số trạm quan trắc Việt Nam,  
Lời cảm ơn: Nghiên cứu này được hỗ trợ bởi đề tài “Nghiên cứu cơ sở khoa học và giải pháp  
ứng dụng trí tuệ nhân tạo để nhận dạng, hỗ trợ dự báo và cảnh báo một số hiện tượng khí tượng thủy  
văn nguy hiểm trong bối cảnh biến đổi khí hậu tại Việt Nam”, mã số BĐKH.34/16-20.”  
Tài liệu tham khảo  
1. Hastie, T.T., (2009), The Elements of Statistical Learning: Data Mining, Inference and Pre-  
diction. New York: Springer.  
2. Khu, S.T., (2004), An evolutionary-based real-time updating technique for an operational  
rainfall-runoff forecasting model. Proceedings of the 2nd Biennial Meeting of the International En-  
vironmental Modelling and Software Society, Manno, Switzerland, 141-146.  
3. Koza, J.R., (1992), Genetic Programming: On the Programming of Computers by Means of  
Natural Selection. Cambridge, MA, USA: MIT Press.  
4. Madsen, H.B., (2000), Data assimilation in rainfall-runoff forecasting. Hydroinformatics 2000,  
4th International Conference of Hydroinformatics , (pp. 1-6). Iowa, USA.  
5. ̈olkop, A.J., (2004), A tutorial on support vector regression. Statistics and Computing, 14(3),  
199-222.  
6. Rokach, L., Maimon, O. (Eds). Data mining with decision trees: theory and applications.  
World Scientific Publishing Co., Inc. River Edge, NJ, USA, Series in Machine Perception and Ar-  
tificial Intelligence, 81, pp. 328.  
7. Rosenblatt, F., (1961), Principles of Neurodynamics: Perceptrons and the Theory of Brain  
Mechanisms. Arch Gen Psychiatry. 7(3), 218-219.  
8. Whigham, P.A. (2001), Modelling rainfall-runoff using genetic programming. Mathematical  
and Computer Modelling, 33, (6–7), 707-721.  
TẠP CHÍ KHÍ TƯỢNG THỦY VĂN  
Số tháng 11 - 2019  
9
BÀI BÁO KHOA HỌC  
A GENETIC PROGRAMMING-BASED RAINFALL PREDICTION USING DATA  
FROM THE VIETNAM METEOROLOGICAL AGENCY  
Nguyen Thi Hien1, Nguyen Xuan Hoai2, Dang Van Nam3, Ngo Van Manh4  
1Le Quy Don Technical University  
2AI Academy Vietnam  
3Hanoi University of Mining and Geology  
4Center for Hydro-Meteorological Data and Information  
Abstract: Rainfall is one of the most challenging variables to predict, as it exhibits very unique  
characteristics that do not exist in other time series data. Moreover, rainfall is a major component  
and is essential for applications that surround water resource planning. In particular, this paper is  
interested in the prediction of rainfall using data from the Vietnam Meteorological Agency. Cur-  
rently in the rainfall prediction literature, the process of predicting rainfall is dominated by statis-  
tical models, namely using a Markov chain extended with rainfall prediction (MCRP). In this paper  
we outline a new methodology to be carried out by predicting rainfall with Genetic Programming  
(GP). This is the first time in the literature that GP is used within the context of rainfall prediction  
in some city at Vietnam. We have used a GP to this problem domain and we compare the perform-  
ance of the GP and SVM, MLP, DCT, kNN on 3 different data sets of cities at Vietnam and report the  
results. The goal is to see whether GP can outperform other machine learning methods. Results in-  
dicate that in general GP significantly outperforms other machine learning methods, which is the  
dominant approach in the literature.  
Keywords: Genetic Programming, rainfall prediction.  
TẠP CHÍ KHÍ TƯỢNG THỦY VĂN  
Số tháng 11 - 2019  
10  
pdf 10 trang Hứa Trọng Đạt 09/01/2024 340
Bạn đang xem tài liệu "Dự báo lượng mưa tại một số trạm quan trắc Việt Nam dựa trên lập trình di truyền", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfdu_bao_luong_mua_tai_mot_so_tram_quan_trac_viet_nam_dua_tren.pdf