You are on page 1of 6

Nguyễn Tân Ân và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 90(02): 65 - 70

HỆ DỰ BÁO THỜI TIẾT VỚI ỨNG DỤNG CỦA MẠNG NƠRON NHÂN TẠO

Nguyễn Tân Ân1*, Nguyễn Quang Hoan2


1
Trường Đại học Sư Phạm Hà Nội,
2
Học viện Bưu chính viễn thông

TÓM TẮT
Bài báo này giới thiệu một mô hình hệ thống dự báo sự biến đổi của một số thông số thời tiết dùng
mạng nơron nhân tạo với máy tính cá nhân. Sơ đồ khối của mô hình, vấn đề huấn luyện mạng, vấn
đề tìm ra những tham số hợp lý cho mô hình nhƣ số nơron lớp ẩn, phạm vi giá trị khởi tạo các
trọng số, tốc độ huấn luyện mạng cũng đƣợc thảo luận. Giá trị các tham số trên cho một bài toán
thực tế đã đƣợc tìm bằng thực nghiệm. Hệ thống dự báo với giá trị các tham số vừa tìm đƣợc làm
việc tốt. Kết quả chạy thử đƣợc so sánh với dữ liệu thống kê thực tế.
Từ khóa:Mạng nơron nhân tạo, dự báo, dự báo thời tiết, thuật toán lan truyền ngược.

GIỚI THIỆU* Dự báo thời tiết là vấn đề đƣợc rất nhiều


Dự báo là xem xét, đánh giá một hoặc một ngƣời quan tâm do kết quả dự báo thời tiết
nhóm các sự vật, các quá trình nào đó (gọi ảnh hƣởng trực tiếp đến đời sống hàng ngày
chung là đối tƣợng dự báo) trong mối liên hệ của mỗi ngƣời dân. Vì có rất nhiều yếu tố ảnh
với các yếu tố liên quan, từ đó bằng những hƣởng đến thời tiết, vì sự biến đổi rất khó
suy luận hợp lý đƣa ra những phán đoán về lƣờng của thiên nhiên, bài toán dự báo thời
mức độ hay trạng thái của chúng trong tiết là một bài toán có độ phức tạp tính toán
tƣơng lai. lớn nhƣng độ chính xác lại không cao nên
ngƣời ta luôn tìm tòi, cải tiến các phƣơng
Dự báo có một vai trò to lớn trong đời sống pháp giải quyết nó.
kinh tế, xã hội. Dự báo đúng sẽ giúp con
Ứng dụng mạng nơron nhân tạo để giải bài
ngƣời ra đƣợc những quyết định đúng. Dự
toán dự báo nói chung và bài toán dự báo thời
báo sai có thể dẫn đến những thảm họa
tiết nói riêng là một hƣớng đi tỏ ra có nhiều
khôn lƣờng.
ƣu điểm vì mạng nơron là một mô hình tính
Khoa học dự báo đã xuất hiện từ xa xƣa, toán mô phỏng hoạt động của não ngƣời. Đây
nhƣng thời cổ dự báo đƣợc liệt vào loại khoa là mô hình tính toán mềm dẻo, chấp nhận
học thần bí và các phƣơng pháp dựa báo thông tin không chính xác, dễ thích nghi và
thƣờng chỉ dựa vào kết quả thống kê sau đó ngƣời ta đã chứng minh đƣợc rằng mạng
căn cứ vào kinh nghiệm sống con ngƣời đƣa nơron truyền thẳng với ít nhất một lớp ẩn có
ra phán đoán về tƣơng lại. Ngày nay, do tầm thể xấp xỉ mọi hàm bất kỳ với độ chính xác
quan trọng của nó, bài toán dự báo đã đƣợc tùy ý [2]. Dự báo thời tiết với ứng dụng mạng
chú ý đúng mức và dự báo đã trở thành một nơron nhân tạo làm giảm đáng kể độ phức tạp
ngành khoa học với cơ sở là nhiều ngành
tính toán.
khoa học khác. Kết quả dự báo cũng dần
chính xác hơn góp phần tích cực vào việc Trên thế giới cũng nhƣ ở Việt Nam, đã có
thúc đẩy sự phát triển kinh tế, xã hội của từng nhiều nghiên cứu, ứng dụng mạng nơron nhân
quốc gia và của toàn nhân loại. tạo trong dự báo [1,...,10]. Những công trình
đó, với những vấn đề cụ thể, đã khẳng định
Có nhiều phƣơng pháp dự báo. Mỗi khả năng của mạng nơron nhân tạo trong bài
phƣơng pháp đều có ƣu điểm và nhƣợc toán dự báo. Tuy nhiên khi xây dựng mạng
điểm của mình. nơron cho mỗi bài toán cụ thể, dễ thấy rằng số
lớp ẩn, số nơron của mỗi lớp ẩn ảnh hƣởng rất
*
Tel: 0912 321 559; Email: nguyentanan@yahoo.com lớn tới chất lƣợng của mạng. Làm thế nào để
65

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Nguyễn Tân Ân và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 90(02): 65 - 70

xác định đúng đắn số lớp ẩn và số nơron Quy trình thực hiện dự báo đƣợc mô tả nhƣ
trong mỗi lớp ẩn để xây dựng cấu trúc một hình 2.
mạng giải quyết hiệu quả bài toán đặt ra vẫn Dữ liệu huấn luyện và thử nghiệm là 6 thông
là một vấn đề khó. Phân tích để tìm ra chính số thời tiết trên từng ngày trong 3 tháng:
xác giá trị của các con số này là vấn đề không Tháng 6, tháng 7 và tháng 8 năm 2008 tại
đơn giản vì các con số này không những phụ trạm khí tƣợng thủy văn Vĩnh Phúc.
thuộc vào tập mẫu huấn luyện mà còn phụ
Chuẩn Mạng Xử lý
thuộc vào nhiệm vụ cụ thể của mạng. Hơn hóa dữ nơron kết
nữa khi huấn luyện mạng theo một phƣơng liệu quả ra
pháp nào đó, việc xác định các thông số huấn vào
luyện cũng rất cần thiết. Nếu lựa chọn đúng Hình 2: Sơ đồ khối hệ dự báo thời tiết với ứng
các thông số huấn luyện, thời gian huấn luyện dụng của mạng nơron
sẽ giảm, độ chính xác của kết quả sẽ tăng.
Bên cạnh các phƣơng pháp dựa vào lý thuyết, Mô đun 1: Chuẩn hóa dữ liệu đầu vào: tất cả
thƣờng thì ngƣời ta phải kiểm tra các thông số các thông số thời tiết đều đƣợc đƣa về một giá
nói trên bằng thực nghiệm và cũng có thể xác trị tƣơng ứng nằm trong khoảng [0, 1].
định các thông số trên bằng thực nghiệm. - Các tham số mây và mƣa đƣợc chuẩn hóa
Bài báo này sẽ xây dựng hệ thống dự báo thời nhƣ Hình 3 và Hình 4 (với   0, 1 là giá trị
tiết với ứng dụng của mạng nơron nhân tạo, của biến số thời tiết sau khi đã đƣợc chuẩn hóa):
xác định các thông số hợp lý của mạng, các
thông số huấn luyện mạng theo thuật toán lan
truyền ngƣợc bằng thực nghiệm, trên cơ sở đó
lập hệ dự báo thời tiết để dự báo sự biến đổi
của một số thông số thời tiết ảnh hƣởng trực
tiếp đến đời sống hàng ngày chạy trên máy
tính cá nhân.
Nội dung bài báo gồm:
- Giới thiệu
- Xây dựng mạng nơ ron nhân tạo làm nhiệm
vụ dự báo thời tiết, thử nghiệm trên số liệu
thực tế. Hình 3. Đồ thị biểu diễn mức độ mưa
- Thử nghiệm và những kết quả NG: Trời nắng gắt; N: Trời nắng; KM: Không
XÂY DỰNG HỆ THỐNG DỰ BÁO THỜI TIẾT mưa; MBM: Mưa bóng mây;
MPN: Mưa phùn nhẹ; MP: Mưa phùn; MV: Mưa
Mô tả bài toán
vừa; MT: Mưa to; MRT: Mưa rất to.
Dự báo thời tiết đƣợc thử nghiệm trên 6 thông
số thời tiết:
Nhiệt độ: đơn vị là °C.
Độ ẩm: tính theo %.
Mƣa: tính theo % (tùy theo mƣa to hay nhỏ).
Hƣớng gió: đơn vị là độ.
Tốc độ gió: đơn vị là km/h.
Mây: tính theo % (tùy theo nhiều mây hay ít).
Dữ liệu đầu vào là các thông số thời tiết của
một ngày.
Hình 4. Đồ thị biểu diễn mức độ mây
Dữ liệu đầu ra là các thông số thời tiết của KM: Không mây; IM: Ít mây; CM: Có mây;
ngày tiếp theo. NM: Nhiều mây; RNM: Rất nhiều mây.
66

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Nguyễn Tân Ân và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 90(02): 65 - 70

- Các tham số nhiệt độ, độ ẩm, hƣớng gió, tốc Trong quá trình huấn luyện mạng nơron, đầu
độ gió đƣợc chuẩn hóa nhƣ sau: vào của mạng là các thông số thời tiết của
Nhiệt độ: Giá trị nhiệt độ đƣợc chia cho 100. ngày thứ nhất thì đầu ra mong muốn là các
Độ ẩm: Giữ nguyên giá trị %. thông số thời tiết của ngày thứ hai, đầu vào
của mạng là các thông số thời tiết của ngày
Hƣớng gió: Giá trị hƣớng gió đƣợc chia cho 360.
thứ hai thì đầu ra mong muốn là các thông số
Tốc độ gió: Giá trị tốc độ gió đƣợc chia cho 100. thời tiết của ngày thứ ba,… mỗi một cặp đầu
Mô đun 3: Xử lý dữ liệu đầu ra: Các giá trị vào, đầu ra mong muốn nhƣ thế gọi là một
đầu ra của mạng nơron là các giá trị nằm mẫu huấn luyện, sau khi huấn luyện mạng
trong khoảng [0, 1], mô đun 3 làm ngƣợc lại nơron nhiều lần với L mẫu huấn luyện nhƣ
với mô đun 1 để chuyển các giá trị này thành thế thì mạng nơron có thể đã nắm đƣợc quy
các giá trị có đơn vị của các thông số thời tiết. luật biến đổi của thời tiết (trong trƣờng hợp L
Cụ thể nhƣ sau: đủ lớn và các cặp dữ liệu biểu diễn đƣợc
- Các thông số nhiệt độ, độ ẩm, tôc độ gió quy luật biến đổi thực tế của thời tiết trong
a   (a) *100 . một mùa).
- Thông số hƣớng gió: a   (a) * 360 . Quá trình huấn luyện thực hiện theo thuật
- Thông số mƣa: toán lan truyền ngƣợc đã trình bày ở trên.
IF ( 0 ≤ (a) < 5) THEN a = “Nắng gắt”. Sau khi huấn luyện xong, muốn mạng nơron
IF ( 5 ≤ (a) < 10) THEN a = “Nắng”. dự báo thời tiết của ngày mai thì nó sẽ lấy
thông số thời tiết của ngày hôm nay để làm
IF (10 ≤ (a) < 20) THEN a = “Không mƣa”.
đầu vào và thực hiện dự báo.
IF (20 ≤ (a) < 30) THEN a = “Mƣa bóng
mây”. THỬ NGHIỆM, LỰA CHỌN CÁC THÔNG
SỐ CỦA MẠNG
IF (30 ≤ (a) < 40) THEN a = “Mƣa phùn
nhẹ”. Chƣơng trình thử nghiệm dự báo thời tiết
đƣợc viết trên ngôn ngữ Java.
IF (40 ≤ (a) < 50) THEN a = “Mƣa phùn”.
Các thử nghiệm đƣợc tiến hành trên máy tính
IF (50 ≤ (a) < 60) THEN a = “Mƣa vừa”.
với CPU Pentium IV, tốc độ 3 GHz, RAM
IF (60 ≤ (a) < 80) THEN a = “Mƣa to”. 512 MB.
ELSE a = “Mƣa rất to”. Mạng nơron có 3 lớp: Lớp vào, lớp ẩn và lớp
- Thông số mây: ra. Số nơron lớp vào, sô nơron lớp ra đều là 6
IF ( 0 ≤ (a) < 20) THEN a = “Không mây”. ứng với 6 thông số thời tiết. Số nơron lớp ẩn
IF (20 ≤ (a) < 40) THEN a = “Ít mây”. đƣợc xác định qua thử nghiệm.
IF (40 ≤ (a) < 60) THEN a = “Có mây”. Giả thiết rằng nếu sau 150000 vòng lặp mà
IF (60 ≤ (a) < 80) THEN a = “Nhiều mây”. quá trình huấn luyện mạng chƣa giảm đƣợc
ELSE a = “Rất nhiều mây”. lỗi tới mức mong muốn thì coi nhƣ quá trình
Với  (a)  0,1 là giá trị của biến số thời đó không hội tụ.
tiết a tại đầu ra của mạng nơron. Kết quả thu đƣợc nhƣ sau:
Mô đun chính là mô đun 2: Mạng nơron, các Thử nghiệm 1: Xác định hằng số học
giá trị ở các đầu vào và đầu ra mạng nơron Có thể chọn hằng số học theo từng bƣớc huấn
đều là các giá trị thuộc khoảng [0, 1]. luyện, tức là hằng số học thay đổi theo thời
Dữ liệu huấn luyện là tập các cặp ( X h , D h ), gian. Tuy nhiên đây là hệ thống nhỏ nên ta
trong đó X h là thông số thời tiết của ngày h, chọn hằng số học cố định cúng đủ đảm bảo
D h là thông số thời tiết của ngày h+1. Tức là chất lƣợng của hệ thống. Sau đây là kết quả
D h = X h 1 . Cụ thể nhƣ sau: thực nghiệm để tìm hằng số học.
67

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Nguyễn Tân Ân và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 90(02): 65 - 70

Bảng 1: Độ hội tụ với các hằng số học khác nhau ngoài khoảng [-1, 1]. Kết quả chọn qua thực
Số vòng lặp
nghiệm cho thấy trọng số khởi tạo cho mạng
Hằng số học ()
giả bài toán dự báo đề ra nên nằm trong [-0.7, 0.7].
0.4 Không hội tụ
0.5 Không hội tụ Thử nghiệm 3: Xác định số nơron lớp ẩn
0.6 142065 Thử nghiệm này đƣợc thực hiện trên các
0.7 111883 mạng có cùng giá trị các tham số về hằng số
0.8 111858 học là 0.8, khoảng giá trị khởi tạo trọng số
thuộc [-0.7, 0.7], giá trị lỗi cực đại cho phép
0.9 124058
là 0.0005. Kết quả thực nghiệm đƣợc chỉ ra
1.0 Không hội tụ
trong Bảng 3.
Thử nghiệm đƣợc tiến hành trên 10 mẫu với Bảng 3: Độ hội tụ của mạng với các số nơron lớp
cùng một cấu trúc mạng có số nơron tƣơng ẩn khác nhau
ứng lớp vào - ẩn - ra là 6 - 15 - 6, giá trị trọng
Số nơron lớp ẩn Số vòng lặp
số đƣợc khởi tạo ngẫu nhiên trong khoảng [-
10 Không hội tụ
0.5, 0.5], lỗi cho phép cực đại là 0.0005.
11 Không hội tụ
Mạng đƣợc huấn luyện với các giá trị  khác
12 Không hội tụ
nhau. Kết quả thực nghiệm đƣợc chỉ ra nhƣ
trong Bảng 1. Theo đó với  = 0.8 mạng hội 13 175444
tụ nhanh nhất. 14 160718
15 108174
Thử nghiệm 2: Xác định phạm vi khởi tạo
16 139839
giá trị trọng số
17 171451
Bảng 2: Độ hội tụ của mạng với các giá trị khởi
18 83250
tạo trọng số
19 105991
Phạm vi trọng số
Số vòng lặp 20 109077
khởi tạo
30 133113
[-0.1, 0.1] 162939
40 82765
[-0.2, 0.2] 132162
[-0.3, 0.3] Không hội tụ Thực nghiệm đƣợc thực hiện trên 10 mẫu cho
[-0.4, 0.4] 108633 thấy, những mạng có số nút ẩn nhỏ hơn 13,
thì mạng không hội tụ (theo ý nghĩa đã quy
[-0.5, 0.5] 111858
định ở trên). Với những mạng có nhiều hơn
[-0.6, 0.6] 148246 13 nút ẩn thì thực nghiệm cho thấy mạng có
[-0.7, 0.7] 108174 18 nơron lớp ẩn là hợp lý hơn cả vì với số nút
[-0.8, 0.8] 136578 ẩn quá lớn (> 40), tốc độ hội tụ có nhanh hơn
nhƣng không đáng kể, hơn nữa lại tiêu tốn
Thử nghiệm đƣợc tiến hành trên 10 mẫu với nhiều tài nguyên máy tính. Thực nghiệm đã
cùng một cấu trúc mạng có số nơron tƣơng chứng tỏ rằng, số nơron lớp ẩn là một trong
ứng của lớp vào - lớp ẩn - lớp ra là 6 - 15 - 6, những nhân tố ảnh hƣởng nhiều tới độ hội tụ
của mạng trong quá trình học.
hằng số học là 0.8, lỗi cho phép cực đại là
Thử nghiệm 4: Thời gian hội tụ
0.0005. Kết quả thực nghiệm đƣợc chỉ ra nhƣ
Các thử nghiệm về dự báo thời tiết đƣợc thực
trong Bảng 2.
hiện trên máy tính cấu hình nhƣ đã nói ở trên.
Kết quả thực nghiệm cho thấy rằng, để mạng Cấu trúc mạng với số nơron lớp vào - lớp ẩn -
hội tụ đƣợc các trọng số khởi tạo phải khác lớp ra tƣơng ứng là 6 - 18 - 6, hằng số  là
nhau nhƣng không nên để chúng khác nhau 0.8, lỗi cực đại cho phép là 0.0005, phạm vi
quá nhỏ và cũng không nên để chúng khác khởi tạo trọng số là [-0.7, 0.7]. Số mẫu thử
nhau quá lớn và không nên để chúng nằm nghiệm là 90 (bảng phụ lục).
68

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Nguyễn Tân Ân và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 90(02): 65 - 70

Thời gian huấn luyện khoảng 9 tiếng. TÀI LIỆU THAM KHẢO
Hệ thống đã dự báo đƣợc 6 thông số thời tiết [1]. Atiya, A. F., El-Shoura, S. M., et al. (1999). A
hàng ngày trong tháng 8/ 2008 với độ chính comparison between neuralnetwork forecasting
xác dự báo trung bình là 81.6 %. techniques. Case study: river flow forecasting.
IEEE Transactions on Neural Networks, 10(2),
(pp. 402–409).
[2]. Bart Kosko (1992). Neural networks and fuzzy
systems. Pentice-Hall Internastioanal, Inc.
[3] Bin Li (2002), Spatial Interpolation of
Weather Variables using Artificial Neural
Network, Master of Science, University of
Georgia, Greece.
[4] Ricardo A. Guarnieri et al (April 24 – 28,
2006), Solar Radiation Forcast using Artificial
Neural Networks in South Brazil, Proceedings of 8
ICSHMO, p.1777 – 1785.
Hình 5. So sánh kết quả dự báo của hệ thống [5]. Werbos, P. (1990). Backpropagation trough
với các tham số tìm được qua thử nghiệm và
time: what it does and how to do it. Proceedings of
dữ liệu quan trắc tại Vĩnh Phúc năm 2008
IEEE, 78.
KẾT LUẬN [6]. Lê Xuân Cầu (2004). Khả năng ứng dụng mạng
Khi xây dựng mạng thực hiện nhiệm vụ dự thần kinh nhân tạo vào dự báo lũ sôngTrà Khúc
báo, với dữ liệu huấn luyện cụ thể việc xác và sông Vệ, Tạp chí KTTV, số 1(481) năm 2004,
định các tham số của mạng, tham số huấn tr 26 – 35.
luyện mạng là rất quan trọng. Mặc dù đã có [7]. Nguyễn Hƣớng Điền, Hoàng Phúc Lâm (2006).
những nghiên cứu lý thuyết về cách xác định Dự báo tổng lượng bức xạ ngày cho khu vực đồng
một số tham số này nhƣng cũng còn có những bằng phía Bắc Việt Nam bằng phương pháp sử
tham số mà lý thuyết chƣa đề cập tới. Một dụng mạng thần kinh nhân tạo, Tạp chí khoa học
cách làm hiệu quả, đỡ tốn thời gian mà đảm ĐH QGHN, KHTN&CN, tập 22, số 2B PT, tr
bảo chính xác là tìm ra các tham số này thông 9 – 19.
qua thử nghiệm. [8]. Nguyễn Quang Hoan, Hoàng Thị Lan Phƣơng
Theo kết quả thử nghiệm, với bài toán đặt ra (2006). Dự báo giá chứng khoán sử dụng công
và với bộ dữ liệu thời tiết nhƣ bảng phụ lục, nghệ mạng nơron, Kỉ yếu hội nghị khoa học lần 3
để mạng hội tụ tốt, hệ thống cần chọn các về nghiên cứu, phát triển và ứng dụng công nghệ
tham số nhƣ sau: Hằng số học: 0.8, số nơron thông tin và truyền thông Hà Nội ICT.rda’06 (20-
lớp ẩn: 18, khoảng khởi tạo trọng số: [-0.7, 0.7]. 21/5/2006) tr 157 – 164.
Với cấu hình máy tính nhƣ đã trình bày, thời [9]. Hoàng Phúc Lâm (2006). Nghiên cứu và ứng
gian huấn luyện trung bình là 9 tiếng, thời dụng mạng thần kinh nhân tạo dự báo một số yếu
gian dự báo gần nhƣ tức thời. tố khí tượng cho khu vực đồng bằng phía Bắc Việt
Hệ thống dự báo đƣợc xây dựng với các Nam, Luận văn thạc sĩ khoa học.
thông số của mạng đã đƣợc chọn làm việc tốt. [10]. Hoàng Phúc Lâm, Nguyễn Hƣớng Điền,
input patern) nhằm thu đƣợc một mẫu ảnh Công Thanh, Hoàng Thanh Vân (2007). Sử dụng
đầu ra (binary output patern) sau một số bƣớc mạng nơron đa lớp truyền thẳng và mạng truy hồi
học. Thuật toán đƣợc cài đặt bằng trên môi dự báo tổng lượng bức xạ ngày cho một số trạm ở
trƣờng dotNet nên có thể chạy đƣợc trên tất đồng bằng phía bắc Việt Nam, Tạp chí Khí tƣợng
cả các loại máy tính. Thủy văn số 10(559).

69

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Nguyễn Tân Ân và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 90(02): 65 - 70

SUMMARY
SYSTEM OF WHEATHER FORECAST
USING ARTIFICIAL NEURAL NETWORKS

Nguyen Tan An1*, Nguyen Quang Hoan2


1
Hanoi University of Education,
2
Institute of Posts and Telecommunications

This paper introduces a model of forescating system for variations of some wheather parameters
using artificial neural networks (ANN) with personal computers. A block schema of model,
problems of training ANN, problems of finding out parameters of ANN as a number of neurals in
hidden class, a training speed, a interval of initial weight in this model are discussed. The values
of some parameters for ANN in the real case have been defined by an experiment method. With
those values, a forecast system run well. The wheather forecast resuls by this system are compared
with the data observed in real life.
Key words: Artificial neural networks, forescat, wheather forecasts, backpropogation

*
Tel: 0912 321 559; E-mail: nguyentanan@yahoo.com

70

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

You might also like