Để giúp cải thiện khả năng dự báo này, chúng tôi đề xuất một ứng dụng quan trọng: "Xây dựng hệ thống dự báo thời tiết sử dụng Machine Learning ML".. Hệ thống sẽ được pháttriển với khả nă
Trang 11
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
VÀ TRUYỀN THÔNG VIỆT - HÀN
KHOA KHOA HỌC MÁY TÍNH
Sinh viên thực hiện : 1 NGUYỄN ĐÌNH PHI - 21IT505
2 NGUYỄN NHẬT HUY - 21IT617
3 NGUYỄN TÙNG LÂM - 21IT357 Giảng viên hướng dẫn : ThS ĐỖ CÔNG ĐỨC
Trang 2Ứng dụng Machine Learning trong dự báo thời tiết
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
VÀ TRUYỀN THÔNG VIỆT - HÀN
KHOA KHOA HỌC MÁY TÍNH
Sinh viên thực hiện : 1 NGUYỄN ĐÌNH PHI - 21IT505
2 NGUYỄN NHẬT HUY - 21IT617
3 NGUYỄN TÙNG LÂM - 21IT357
Giảng viên hướng dẫn : ThS ĐỖ CÔNG ĐỨC
Đà Nẵng, 20 tháng 05 năm 2024
Trang 3Trong quá trình xây dựng đề tài, cũng như là trong quá trình làm bài báocáo, khó tránh khỏi sai sót, rất mong các thầy, các cô bỏ qua Đồng thời do trình
độ lý luận cũng như kinh nghiệm thực tiễn còn hạn chế nên bài báo cáo khôngthể tránh khỏi những thiếu sót, chúng em rất mong nhận được ý kiến đóng gópthầy, cô để chúng em học thêm được nhiều kinh nghiệm và sẽ hoàn thành tốthơn các bài báo cáo đồ án sắp tới và cũng như đồ án tốt nghiệp sau này.Chúng em xin chân thành cảm ơn!
Trang 4Ứng dụng Machine Learning trong dự báo thời tiết
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Trang 5
Ứng dụng Machine Learning trong dự báo thời tiết
MỤC LỤC
LỜI CẢM ƠN 2
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 3
MỤC LỤC 4
DANH MỤC BẢNG 5
DANH MỤC HÌNH ẢNH 5
DANH MỤC CÁC TỪ VIẾT TẮT 7
MỞ ĐẦU 8
1 Giới thiệu đề tài 8
2 Lí do chọn đề tài 8
3 Bố cục báo cáo 9
CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI 14
1.1 Tìm hiểu về Python 14
1.1.1 Python là gì? 14
1.1.2 Ứng dụng của Python 15
1.1.2.1 Phân tích dữ liệu và học máy 15
1.1.2.2 Phát triển web 15
1.1.2.3 Tự động hóa và phát triển 15
1.1.3 Một số thư viện có sẵn của Python 16
1.1.3.1 Thư viện TensorFlow 16
1.2 Phân công công việc 17
Trang 6Ứng dụng Machine Learning trong dự báo thời tiết
2.1.5 Biểu đồ Trình tự 22
CHƯƠNG 3 XÂY DỰNG MÔ HÌNH HỌC MÁY 23
3.1 Giới thiệu về Mô Hình Học Máy 23
3.2 Thu thập dữ liệu 23
3.3 Tiền xử lý dữ liệu 23
3.4 Các thuật toán sử dụng 23
CHƯƠNG 4 DEMO KẾT QUẢ 24
KẾT LUẬN 25
1 Kết quả đạt được 25
2 Ưu nhược điểm của ứng dụng 25
3 Hướng phát triển 25
TÀI LIỆU THAM KHẢO 26
Trang 8Ứng dụng Machine Learning trong dự báo thời tiết
DANH MỤC HÌNH ẢNH
Hình 1.1 : Logo Python 14Hình 1.3 : Thư viện TensorFlow 16
Trang 10Ứng dụng Machine Learning trong dự báo thời tiết
MỞ ĐẦU
1 Giới thiệu đề tài
Trong thời đại hiện đại, việc dự báo thời tiết đóng vai trò quan trọng trong việcquản lý và điều hành các hoạt động hàng ngày của mọi người Tuy nhiên, việc dự báochính xác thời tiết thường đối mặt với nhiều thách thức do sự biến đổi khó lường củathời tiết Để giúp cải thiện khả năng dự báo này, chúng tôi đề xuất một ứng dụng quan
trọng: "Xây dựng hệ thống dự báo thời tiết sử dụng Machine Learning (ML)".
Đề tài này nhằm tạo ra một công cụ thông minh và hiệu quả để cung cấp thôngtin dự báo thời tiết chính xác và đáng tin cậy cho người dùng Hệ thống sẽ được pháttriển với khả năng sử dụng Machine Learning để phân tích dữ liệu thời tiết từ cácnguồn đáng tin cậy và tạo ra dự báo dựa trên các mô hình học máy
Chức năng chính của ứng dụng sẽ là cung cấp thông tin dự báo thời tiết chi tiết
và chính xác cho người dùng Điều này bao gồm việc dự đoán nhiệt độ, lượng mưa,tốc độ gió và các yếu tố khác của thời tiết trong tương lai Hệ thống cũng sẽ có khảnăng cập nhật thông tin thời tiết liên tục để đáp ứng nhanh chóng và chính xác nhu cầucủa người dùng
Đề tài "Xây dựng hệ thống dự báo thời tiết sử dụng Machine Learning" hứahẹn mang lại nhiều lợi ích cho cộng đồng, giúp mọi người chuẩn bị kế hoạch và thíchnghi tốt hơn với biến đổi thời tiết Hy vọng rằng ứng dụng này sẽ cung cấp thông tinthời tiết chính xác và hữu ích, giúp mọi người tránh được những tác động tiêu cực củathời tiết không lường trước được
Trong xã hội hiện đại, nhu cầu dự báo thời tiết chính xác và kịp thời ngày càngtrở nên quan trọng, đặc biệt là trong bối cảnh biến đổi khí hậu toàn cầu Tuy nhiên,việc dự báo thời tiết chính xác thường gặp nhiều thách thức do sự phức tạp và khôngthể đoán trước của thời tiết Đó là lý do vì sao một ứng dụng dự báo thời tiết sử dụngMachine Learning (ML) có thể đáp ứng một nhu cầu quan trọng trong xã hội hiện đại.Ứng dụng này có thể giải quyết vấn đề tiếp cận thông tin dự báo thời tiết mộtcách thuận tiện và hiệu quả Thông qua việc áp dụng trí tuệ nhân tạo và công nghệ xử
lý ngôn ngữ tự nhiên, ứng dụng có khả năng phân tích và tổng hợp dữ liệu thời tiết từcác nguồn đáng tin cậy Người dùng có thể truy vấn và nhận được dự báo thời tiếtchính xác và dễ hiểu một cách nhanh chóng Điều này giúp tiết kiệm thời gian và côngsức cho những ai muốn chuẩn bị và thích nghi với điều kiện thời tiết hàng ngày
Hơn nữa, ứng dụng "Xây dựng hệ thống dự báo thời tiết sử dụng Machine
Learning" có thể giúp giải quyết các vấn đề liên quan đến dự báo thời tiết cụ thể như
nhiệt độ, lượng mưa, tốc độ gió và các yếu tố khác Với khả năng cung cấp thông tin
Trang 11Ứng dụng Machine Learning trong dự báo thời tiết
dự báo chính xác và đáng tin cậy, ứng dụng giúp người dùng có được cái nhìn tổngquan và chi tiết về thời tiết, từ đó đưa ra quyết định phù hợp cho các hoạt động hàngngày, du lịch hay nông nghiệp
Một vấn đề khác mà ứng dụng này có thể giải quyết là cung cấp thông tin dựbáo thời tiết liên tục cập nhật Với sự phát triển của công nghệ và khoa học dữ liệu,ứng dụng có thể tự động cập nhật và học hỏi từ dữ liệu thời tiết mới nhất, từ đó cungcấp dự báo thời tiết chính xác và kịp thời cho người dùng
Đề tài "Xây dựng hệ thống dự báo thời tiết sử dụng Machine Learning" sẽ manglại nhiều lợi ích quan trọng Nó không chỉ cung cấp thông tin dự báo thời tiết chínhxác và đáng tin cậy mà còn giúp người dùng tiết kiệm thời gian và công sức, từ đónâng cao khả năng chuẩn bị và thích nghi với thời tiết, góp phần vào việc bảo vệ và cảithiện cuộc sống hàng ngày Từ những yếu tố trên, nhóm chúng tôi đã quyết định thực
hiện đề tài “XÂY DỰNG HỆ THỐNG DỰ BÁO THỜI TIẾT SỬ DỤNG
MACHINE LEARNING”.
Sau phần Mở đầu, báo cáo được trình bày trong bốn chương, cụ thể nhưsau:
Chương 1 Tổng quan về đề tài
Chương 2 Phân tích thiết kế hệ thống
Chương 3 Xây dựng mô hình học máy
Chương 4 Demo sản phẩm
Kết luận
Cuối cùng là Tài liệu tham khảo và Phụ lục liên quan đến đề tài
Trang 12Ứng dụng Machine Learning trong dự báo thời tiết
1.1 Tìm hiểu về Python
1.1.1 Python là gì?
Python là một ngôn ngữ lập trình thông dịch, đa nền tảng và có cú phápđơn giản Nó được tạo ra bởi Guido van Rossum và được phát hành lần đầu vàonăm 1991 Python được thiết kế để dễ đọc, dễ hiểu và dễ học, với mục tiêu tạo
ra một ngôn ngữ lập trình thân thiện đối với người dùng
Hình 1.1: Logo Python
Python có một cộng đồng lớn và sôi động, cung cấp nhiều thư viện vàframework hữu ích, giúp phát triển các ứng dụng đa dạng như phân tích dữ liệu,trí tuệ nhân tạo, web development, automation, scientific computing và nhiềulĩnh vực khác
Một trong những đặc điểm nổi bật của Python là cú pháp đơn giản và dễđọc Nó sử dụng khoảng trắng để phân tách các khối mã, không cần dấu ngoặcnhọn như nhiều ngôn ngữ khác Điều này giúp mã nguồn Python dễ đọc, giảmthiểu lỗi cú pháp và tăng khả năng tái sử dụng mã
Python cũng hỗ trợ nhiều phong cách lập trình như lập trình hướng đốitượng, lập trình cấu trúc và lập trình hàm Nó cung cấp một loạt các tính năng vàcông cụ hữu ích như garbage collection tự động, quản lý bộ nhớ động, và hệthống module mạnh mẽ
Trang 13Ứng dụng Machine Learning trong dự báo thời tiết
Với tính đa nền tảng, Python có thể chạy trên hầu hết các hệ điều hànhphổ biến như Windows, macOS và Linux Nó cũng có sẵn trên nhiều thiết bịnhúng và di động
Python đã trở thành một trong những ngôn ngữ lập trình phổ biến và được
ưa chuộng trong cộng đồng lập trình Sự kết hợp giữa tính mạnh mẽ và dễ sửdụng của Python đã thu hút rất nhiều lập trình viên, từ người mới học đến cácchuyên gia trong lĩnh vực công nghệ thông tin
1.1.2 Ứng dụng của Python 1.1.2.1 Phân tích dữ liệu và học máy
Python đã trở thành một yếu tố chính trong khoa học dữ liệu, cho phépcác nhà phân tích dữ liệu và các chuyên gia khác sử dụng ngôn ngữ này để thựchiện các phép tính thống kê phức tạp, tạo trực quan hóa dữ liệu, xây dựng thuậttoán học máy, thao tác và phân tích dữ liệu cũng như hoàn thành các nhiệm vụkhác liên quan đến dữ liệu
Python có thể xây dựng nhiều dạng trực quan hóa dữ liệu khác nhau,chẳng hạn như biểu đồ đường và thanh, biểu đồ hình tròn, biểu đồ 3D Pythoncũng có một số thư viện cho phép các lập trình viên viết chương trình để phântích dữ liệu và học máy nhanh hơn và hiệu quả hơn, như TensorFlow và Keras
1.1.2.2 Phát triển web
Python thường được sử dụng để phát triển back-end của trang web hoặcứng dụng-những phần mà người dùng không nhìn thấy Vai trò của Python trongphát triển web có thể bao gồm gửi dữ liệu đến và đi từ máy chủ, xử lý dữ liệu vàgiao tiếp với cơ sở dữ liệu, định tuyến URL và đảm bảo tính bảo mật Pythoncung cấp một số khuôn khổ để phát triển web Những cái thường được sử dụng
Trang 14Ứng dụng Machine Learning trong dự báo thời tiết
nhiều tệp, chuyển đổi tệp, thực hiện phép toán đơn giản và loại bỏ các bản saotrong dữ liệu
Python thậm chí có thể được sử dụng bởi những người mới bắt đầu để tựđộng hóa các tác vụ đơn giản trên máy tính-chẳng hạn như đổi tên tệp, tìm và tảixuống nội dung trực tuyến hoặc gửi email hoặc văn bản theo khoảng thời gianmong muốn Trong phát triển phần mềm, Python có thể hỗ trợ các tác vụ nhưkiểm soát bản dựng, theo dõi lỗi và thử nghiệm Với Python, các nhà phát triểnphần mềm có thể tự động kiểm tra các sản phẩm hoặc tính năng mới Một sốcông cụ Python được sử dụng để kiểm thử phần mềm bao gồm Green vàRequestium
1.1.3 Một số thư viện có sẵn của Python
Hình 1.2: Thư viện TensorFlow
TensorFlow là một thư viện mã nguồn mở phổ biến và mạnh mẽ tronglĩnh vực học máy và trí tuệ nhân tạo Nó được phát triển bởi Google và hỗ trợcho nhiều ngôn ngữ lập trình, bao gồm cả Python
Thư viện TensorFlow cho Python cung cấp một cách tiếp cận linh hoạt đểxây dựng và triển khai mô hình học máy, đặc biệt là mô hình học sâu (deeplearning) TensorFlow hỗ trợ việc xây dựng và huấn luyện các mạng nơ-ronnhân tạo, bao gồm cả mạng nơ-ron sâu đa tầng (deep neural networks)
Các tính năng chính của TensorFlow bao gồm:
- Tính toán trên các biểu đồ tính toán đại số tensor
- Tích hợp tính toán đa luồng và phân phối trên nhiều GPU
Trang 15Ứng dụng Machine Learning trong dự báo thời tiết
- Các lớp, hàm và thuật toán hỗ trợ cho việc xây dựng mô hình học máy
- Cung cấp các công cụ và lớp để tạo và quản lý các biến và các phiênbản mô hình
- Tích hợp với các công cụ như Keras để cung cấp giao diện cao cấp và
dễ sử dụng cho xây dựng mô hình
TensorFlow cũng cung cấp một loạt các API và công cụ phát triển, baogồm TensorFlow Keras cho việc xây dựng mô hình học sâu, TensorFlow Litecho triển khai trên thiết bị di động và nhúng, TensorFlow.js cho triển khai trêntrình duyệt web, và TensorFlow Extended (TFX) cho việc triển khai mô hìnhtrong môi trường sản xuất
Với TensorFlow cho Python, bạn có thể xây dựng và huấn luyện các môhình học máy phức tạp, thực hiện các tác vụ như phân loại, nhận dạng, dịchmáy, dự đoán và nhiều tác vụ khác liên quan đến trí tuệ nhân tạo
1.2 Phân công công việc
1.2.2 Phân công công việc
1 Phân tích đối tượng, các chức
năng cần thiết
Nguyễn Tùng lâm Nguyễn Đình Phi
Trang 16Ứng dụng Machine Learning trong dự báo thời tiết
1.3 Ý nghĩa lý luận và ý nghĩa thực tiễn của đề tài
Trong thời đại công nghệ số hiện nay, việc ứng dụng Machine Learning (ML) vào dự báo thời tiết mang lại những cải tiến đáng kể về độ chính xác và hiệu quả Dự báo thời tiết là một trong những lĩnh vực quan trọng, ảnh hưởng đến nhiều khía cạnh của đời sống xã hội và kinh tế Sử dụng ML trong dự báo thời tiết không chỉ giúp cải thiện độ chính xác của các dự báo mà còn giúp phân tích và xử lý lượng lớn dữ liệu thời tiết từ quá khứ và hiện tại để dự đoán các xu hướng thời tiết trong tương lai
Công nghệ ML cho phép máy tính học hỏi từ dữ liệu, tự động phát hiện mẫu và thực hiện dự báo mà không cần được lập trình một cách cụ thể cho từng tình huống Điều này đặc biệt hữu ích trong lĩnh vực dự báo thời tiết, nơi mà các
mô hình thời tiết thường xuyên phải đối mặt với sự phức tạp và biến đổi không ngừng của điều kiện khí hậu
Ứng dụng ML trong dự báo thời tiết không chỉ giới hạn ở việc dự đoán nhiệt độ, lượng mưa, hoặc gió mà còn mở rộng ra việc dự báo các hiện tượng thời tiết cực đoan như bão, lũ lụt, hạn hán, giúp cảnh báo sớm và giảm thiểu thiệt hại cho cộng đồng và nền kinh tế
Ngoài ra, việc tích hợp ML vào hệ thống dự báo thời tiết còn góp phần thúc đẩy sự phát triển của công nghệ và ứng dụng AI trong lĩnh vực khoa học khí quyển Điều này không chỉ nâng cao hiệu quả và chất lượng dịch vụ dự báo thời tiết mà còn mở ra cánh cửa nghiên cứu và phát triển trong lĩnh vực này, từ
đó tạo ra giá trị to lớn cho xã hội thông qua việc áp dụng công nghệ tiên tiến.Tóm lại, việc ứng dụng ML trong dự báo thời tiết không chỉ có ý nghĩa lý luận mà còn mang lại những ứng dụng thực tiễn quan trọng, giúp cải thiện độ chính xác của dự báo thời tiết, đồng thời thúc đẩy sự phát triển của công nghệ vàứng dụng AI trong lĩnh vực khoa học khí quyển
Trang 17Ứng dụng Machine Learning trong dự báo thời tiết
2.1 Phân tích thiết kế hệ thống
2.1.1 Mô tả hệ thống
Ứng dụng Machine Learning (ML) dự báo thời tiết sẽ sử dụng dữ liệu thời tiết lịch sử
để huấn luyện mô hình dự báo Dữ liệu này bao gồm thông tin về nhiệt độ, độ ẩm, áp suất không khí, tốc độ gió, và các yếu tố khác được thu thập từ các trạm quan trắc thời tiết Sau khi mô hình đã được huấn luyện, người dùng có thể nhập vào vị trí hoặc tọa độ của họ để ứng dụng dự báo thời tiết cho khu vực đó Mô hình sẽ sử dụng dữ liệu thời tiết hiện tại và dự báo của các trạm quan trắc gần đó để đưa ra dự báo thời tiết cho khu vực đó trong khoảng thời gian cụ thể.
Đồng thời, ứng dụng cũng có thể cung cấp thông tin chi tiết về dự báo thời tiết như nhiệt độ, độ ẩm, cơ hội mưa, tốc độ gió, và chỉ số UV Người dùng cũng có thể xem biểu đồ hoặc biểu đồ về xu hướng thời tiết trong thời gian gần đây để hiểu rõ hơn về dự báo thời tiết Tính năng thông minh của ứng dụng ML dự báo thời tiết giúp người dùng chuẩn bị kế hoạch cho các hoạt động ngoại trời một cách hiệu quả và tiện lợi.
2.1.2 Biểu đồ ca người dùng
Trang 21Ứng dụng Machine Learning trong dự báo thời tiết
3.1 Giới thiệu về Mô Hình Học Máy
3.2 Thu thập dữ liệu
3.3 Tiền xử lý dữ liệu
3.4 Các thuật toán sử dụng
Trang 22Ứng dụng Machine Learning trong dự báo thời tiết
Trang 23- Hiểu được nghiệp vụ của 1 hệ thống.
- Xây dựng ứng dụng thông qua hướng dẫn của giảng viên, phân tích đềtài và đặc tả được giao diện một cách cơ bản
- Khả năng làm việc nhóm ngày càng được nâng lên
- Ưu điểm: Hệ thống có giao diện thân thiện và dễ sử dụng, có các chứcnăng phù hợp với nhu cầu của nhiều đối tượng người dùng
- Nhược điểm: Là một hệ thống chưa kiểm tra hết các trường hợp có thểxảy ra, khả năng tận dụng tốc độ chưa đạt hiệu quả tốt nhất, hệ thống còn thiếulinh động, sáng tạo
- Phát triển thành một hệ thống hoàn chỉnh