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

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.

pdf 10 trang kimcuc 3200
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

Tóm tắt nội dung 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

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
1TẠP CHÍ KHÍ TƯỢNG THỦY VĂNSố tháng 11 - 2019
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
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
1. Đặt vấn đề
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
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).
Do đó, đóng góp chính của bài viết này là
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 
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.
2 TẠP CHÍ KHÍ TƯỢNG THỦY VĂNSố tháng 11 - 2019
BÀI BÁO KHOA HỌC
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.
2. Phương pháp nghiên cứu
a. Lập trình di truyền
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ưạ
trên ly ́thuyêt́ tiêń hoá cuả 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).




Hình 1. Biểu diễn chương trình GP
Toán tử di truyề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:
• 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.
Toán tử đột biến (Mutation) 
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ẹ).
• Xóa cây con thuộc nốt được chọn.
• Sinh ngẫu nhiên một cây con mới vào vị trí
vừa xóa.
Tái sinh (reproduction)
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) 
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.
3TẠP CHÍ KHÍ TƯỢNG THỦY VĂNSố tháng 11 - 2019
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. 
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 đó):
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
suất phụ thuộc vào độ tốt của chúng để tham gia
vào các toán tử di truyền c.
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ái sinh
• Lai ghép
• Đột biến
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à
mạng nơron các nghiên cứu đã cho thấy rằng GP
cũng là một phương pháp giải bài toán dự báo
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
4 TẠP CHÍ KHÍ TƯỢNG THỦY VĂNSố tháng 11 - 2019
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
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.
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.
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.
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ử
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.
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. 
a. Tham số của GP
7KDPVӕ *LiWUӏ
7ұSKjP [VLQFRVOQ—
7ұSNӃW %LӃQWKXӝFWtQK
.tFKWKѭӟF
TXҫQWKӇ

7KXұWWRiQNKӣLWҥR 5DPSHGKDOIDQGKDOI
ĈӝFDROӟQQKҩWFӫD
Fk\

6ӕWKӃKӋ 
;iFVXҩWWKӵFKLӋQ
ODLJKpS

;iFVXҩWWKӵFKLӋQ
ÿӝWELӃQ

3KѭѫQJSKiSFKӑQ 7UDQKÿҩXNtFKWKѭӟF
Bảng 1. Tham số của GP
5TẠP CHÍ KHÍ TƯỢNG THỦY VĂNSố tháng 11 - 2019
BÀI BÁO KHOA HỌC
Bảng 1 trình bày các tham số cụ thể để chạy
GP. Ở đây hàm đánh giá độ tốt của mỗi cá thể
nghiên cứu sử dụng hàm RMSE (root mean
square error). 
GP chạy 30 lần mỗi lần với giá trị khởi tạo
khác nhau, mỗi lần sẽ nhận được một lời giải tốt
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.
b. Dữ liệu bài toán
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).
Dữ liệu được lấy từ ngày 1/6/2016 đến ngày
1/1/2019, mỗi ngày gồm 8 giá trị (đo cách nhau
3 giờ). 
Sau khi có dữ liệu dạng chuỗi thời gian,
nghiên cứu chuyển thành dữ liệu phụ thuộc có
dạng:
(1)
Trong đó rt là lượng mưa ở thời điểm t.
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.



   	 
     
         
                      


     
    

   
 

   
      
   
                  
  
 
       
 HHH     




    
         
                     


     
    

   
 

   
      
   
                  
  
 
       
 HHH     



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 
Để 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:
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
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):
(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 và 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ô



    
         
                      


     

  
      

   
 

   
      
   
                  
  
 
       
 HHH     




    
         
                      


     
    

  	 
	      
    
 

   
      
   
                  
  
 
       
 HHH     

6 TẠP CHÍ KHÍ TƯỢNG THỦY VĂNSố tháng 11 - 2019
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): 
(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): 
(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.
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.
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.
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.
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):
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
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.



    
         
                      


     
    

   
 


     
 
  !    
      
   
                  
  
 
       
 HHH     




    
         
                      


     
    

   
 

   
      

     "
 
  !    
                  
  
 
       
 HHH     




    
         
                      


     
    

   
 

   
      
   
                  
#$%&' 
()* +,-./+012/
*
/3)
+,-.456+,-.4/*
  5
   +,-./+7,-.+012/+7012
*
/3)
( +,-./+7,-.+012/+7012*/3)
 7
       
 HHH     

7TẠP CHÍ KHÍ TƯỢNG THỦY VĂNSố tháng 11 - 2019
BÀI BÁO KHOA HỌC
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
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 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ô
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à
DCT là tốt nhất.
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.
Trong hình 5, giá trị NRMSE của 5 phương
pháp dự báo nằm trong khoảng từ 0,035 đến
0,045. Còn giá trị CC nằm trong khoảng từ 0,03
đến 0,4. Và ta cũng thấy phương pháp GP vừa
cho kết quả giá trị NRMSE nhỏ và CC lớn nhất
trong 5 phương pháp.
Trong hình 6, giá trị NRMSE của 5 phương
pháp rơi vào khoảng từ 0,025 đến 0,030, trong
đó MLP và SVM khá gần nhau cũng như DCT
và GP. Tuy nhiên giá trị CC của SVM nhỏ hơn
0 trong khi giá trị này của các phương pháp còn
lại từ 0,1 đến 0,4. Và cũng tương tự như dự báo
trạm Mường Lay, lời giải GP cho kết quả tốt nhất
cả về NRMSE lẫn CC.
8 TẠP CHÍ KHÍ TƯỢNG THỦY VĂNSố tháng 11 - 2019
BÀI BÁO KHOA HỌC
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 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 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ự
khác biệt lắm về kết quả của 2 mô hình SVM và
MLP, trong khi đó GP vẫn chiếm ưu thế vượt
trội cả về hai giá trị này.
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.
Kết quả trên hình 11 cho thấy kNN có giá trị
sai số mô hình dự báo tồi hơn hẳn các mô hình
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. 
Như vậy trên 7 tập dữ liệu thực tế tại 7 trạm
khác nhau, GP cho mô hình dự báo tốt nhất trên
5 tập dữ liệu. Trên các bài toán còn lại GP chỉ
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.
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
tiến hóa của GP có dạng:
sqrt(add(mul(mul(sqrt(mul(X4,X3)),X2),add
(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à:
9TẠP CHÍ KHÍ TƯỢNG THỦY VĂNSố tháng 11 - 2019
BÀI BÁO KHOA HỌC



    
         
                      


     
    

   
 

   
      
   
                  
  
 
       
8
9:; :; :;
< ?@A:;  := <
BC
DBC
 EFG9:; HHH     

(8)
Với mô hình kết quả như trên việc dự báo trở
nên khá dễ dàng với các biến Xi chính là các giá
trị đầu vào. Và với mô hình nhận được ta nhận
thấy sự phụ thuộc của kết quả vào các tham số đó
cũng là một tham khảo để lựa chọn đặc trưng cho
phù hợp bài toán. Đây chính là ý nghĩa hộp trắng
của GP mà chỉ có mô hình DCT trong số 4 mô
hình trên mới có.
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,
các kết quả cho thấy GP vượt trội hơn về hiệu
năng so với các phương pháp dự báo khác (MLP,
SVM, kNN, DCT). Tuy nhiên giá trị CC của mô
hình còn tương đối thấp, tức là kết quả dự báo
vẫn còn chưa đoán được đúng xu thế của dữ liệu.
Chính vì vậy, trong tương lai nghiên cứu sẽ tiếp
tục cải tiến GP để thu được kết quả dự báo tốt
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ế.
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. ölkop, 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.
10 TẠP CHÍ KHÍ TƯỢNG THỦY VĂNSố tháng 11 - 2019
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.

File đính kèm:

  • pdfdu_bao_luong_mua_tai_mot_so_tram_quan_trac_viet_nam_dua_tren.pdf