HỌC VIỆN NGÂN HÀNG KHOA HỆ THỐNG THÔNG TIN QUẢN LÝHọc phần: Trí tuệ nhân tạo trong kinh doanh Đề tài: “XÂY DỰNG MÔ HÌNH DỰ BÁO, DỰ ĐOÁN TÌNH HÌNH THỜI TIẾT DỰA TRÊN CÁC THÔNG SỐ” Giảng
Trang 1HỌC VIỆN NGÂN HÀNG KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ
Học phần: Trí tuệ nhân tạo trong kinh doanh
Đề tài:
“XÂY DỰNG MÔ HÌNH DỰ BÁO, DỰ ĐOÁN
TÌNH HÌNH THỜI TIẾT DỰA TRÊN CÁC THÔNG SỐ”
Giảng viên hướng dẫn: Ngô Thuỳ Linh
Nhóm thực hiện: 06
Nhóm lớp: IS42A16
Hà Nội, tháng 6 năm 2022
BÀI TẬP LỚN
Trang 2PHÂN CHIA CÔNG VIỆC CỦA THÀNH VIÊN
Mức độ đóng góp
Đoàn Thị Thảo Diệp 22A407002
5 0565442336
Nghiên cứu code, chạy Google Colab,làm word phần 3
20%
2
Trang 3MỤC LỤC
LỜI MỞ ĐẦU 4
PHẦN I: GIỚI THIỆU VỀ BÀI TOÁN 5
1 Giới thiệu khái quát chung 5
2 Phát biểu bài toán và lý do chọn bài toán 5
3 Mục đích của mô hình 6
PHẦN II: PHÂN TÍCH THU THẬP DỮ LIỆU 7
A Giới thiệu cách thức thu thập dữ liệu và trình bày một phần dữ liệu thu thập được Thực hiện tiền xử lý dữ liệu trước khi đưa vào mô hình 7
1 Thu thập dữ liệu (data) 7
2 Tiền xử lý dữ liệu 8
B Phân tích, xác định tên các thuộc tính dữ liệu cần thu thập, kiểu dữ liệu và giá trị minh họa 8
PHẦN III: GIỚI THIỆU VỀ THUẬT TOÁN VÀ CÁC KHỐI LỆNH TRONG CHƯƠNG TRÌNH 10
A Giới thiệu tổng quan về thuật toán sử dụng 10
B Mô tả ngắn gọn ý nghĩa của các khối lệnh trong chương trình: 11
PHẦN IV: ĐÁNH GIÁ MÔ HÌNH 18
1 Ý nghĩa và sự khả thi trên thực tế của ứng dụng 18
2 Ưu – nhược điểm của mô hình 18
KẾT LUẬN 20
TÀI LIỆU THAM KHẢO 21
Trang 4LỜI MỞ ĐẦU
Đời sống xã hội đang ngày một phát triển và nâng cao, không nằm ngoài xu hướngphát triển của cuộc cách mạng khoa học – công nghệ (cuộc cách mạng công nghiệp lầnthứ 4), những năm qua việc ứng dụng trí tuệ nhân tạo, kĩ thuật tiên tiến vào lĩnh vực dựbáo thời tiết trên địa bàn cả nước cho thấy đây là một giải pháp tối ưu trong việc giảm nhẹcác tác động do thiên tai gây ra
Sạt lở, lũ quét, hạn hán… luôn là những vấn đề nhức nhối, là dấu chấm hỏi lớn đặt
ra cho nhà nước, chính phủ cũng như các doanh nghiệp tư nhân cần phải đưa ra các giảipháp phù hợp và những cảnh báo cấp thiết tới người dân địa phương để kịp thời ứng phó
Có thể nói thời gian qua, thị trường công nghệ phục vụ trong lĩnh vực dự báo thời tiếtphần lớn là sự tham gia của các trung tâm, cơ sở nghiên cứu của Nhà nước Tuy nhiên,nắm bắt được tiềm năng phân khúc của thị trường này, một số đơn vị tư nhân cũng bắtđầu nghiên cứu, cung cấp các ứng dụng công nghệ hữu ích và hiệu quả Từ đó có thể thấy,vấn đề thời tiết luôn được đặt lên hàng đầu trong đời sống hàng ngày, nhờ có dự báo thờitiết, đời sống của con người trở nên ổn định và có những biện pháp nhanh chóng ứng biếnvới thiên tai, hạn chế những rủi ro có thể ập đến bất cứ lúc nào
4
Trang 5PHẦN I: GIỚI THIỆU VỀ BÀI TOÁN
1 Giới thiệu khái quát chung
Dự báo thời tiết là ứng dụng của khoa học – công nghệ để dự đoán trạng thái củakhí quyển trong một thời gian tương lai và một thời điểm nhất định
Cảnh báo thời tiết là dự báo quan trọng bởi vì nó cung cấp thông tin nhằm bảo vệcuộc sống con người cũng như tài sản và các hoạt động ngoài trời
Dự báo thời tiết trong đời sống hiện nay đã phát triển với những tiến bộ to lớntrong công nghệ, giúp lĩnh vực kinh tế - xã hội ngày một nâng cao, trong đó có lĩnhvực hàng không, giúp cho các chuyến bay di chuyển thuận lợi và đến nơi an toàn.Các tác hại do thiên tai gây ra như động đất, sạt lở, hạn hán, hay điển hình như lũlụt tại các tỉnh miền Trung, Việt Nam, có thể thấy, nếu không có dự báo thời tiết,người dân sẽ rơi vào thế bị động, không kịp ứng phó khi thiên tai bất ngờ ập đến Đây
là một vấn đề cấp thiết luôn được cập nhật và báo cáo hàng ngày tới toàn bộ người dântrên địa phương để có những đề xuất, giải pháp chủ động chuẩn bị đối phó
2 Phát biểu bài toán và lý do chọn bài toán
Dự báo thời tiết là một bài toán khó và phức tạp Đặc biệt là các nước ở vùng nhiệtđới như Việt Nam
Trong một bài báo đã từng viết: “Việt Nam là một trong những nước dễ bị tổnthương nhất trên thế giới đối với biến đổi khí hậu, trẻ em và phụ nữ là nhóm đặc biệt
có nguy cơ rất cao.” Trên toàn cầu, Việt Nam là quốc gia xếp thứ sáu chịu ảnh hưởngnặng nề do biến đổi khí hậu Mỗi năm, các diễn biến thời tiết ngày càng phức tạp vànếu không thể dự báo trước được sẽ gây ra tỷ lệ tử vong và thiệt hại cho cơ sở hạ tầngrất cao Chính vì thế, dự báo trước thời tiết là điều vô cùng cần thiết
Hàng ngày, chúng ta đều thấy các bản tin dự báo thời tiết, nó quan trọng vì giúpcon người lập kế hoạch lao động, sản xuất, du lịch và tham quan hoạt động ngoàitrời Biết trước hiện tượng thời tiết cực đoan nào sắp xảy ra để có các biện pháp thíchnghi hoặc ứng phó kịp thời
Giải pháp duy nhất giúp cho đời sống của người dân được cải thiện và nâng cao,nền kinh tế - văn hoá – xã hội ngày một đi lên đó là ứng dụng công nghệ kĩ thuật trong
Trang 6việc chuẩn đoán thời tiết, đưa ra các con số cụ thể và cảnh báo tình hình thiên tai kịpthời, đúng lúc.
Do đó, nhóm đã xây dựng một mô hình dự báo, dự đoán tình hình thời tiết dựa trêncác thông số Từ đó, áp dụng các thuật toán, mô hình học máy, áp dụng công nghệ trítuệ nhân tạo nhằm giúp do việc dự báo thời tiết đối với người dân trở nên hữu ích vàthuận tiện hơn
3 Mục đích của mô hình
Mục đích xây dựng mô hình chuẩn đoán tình hình thời tiết qua các thông số
Đưa ra được các dự báo tình trạng thời tiết dựa trên các thông số về sựngưng tụ hơi nước, nhiệt độ, sức gió
Việc xây dựng mô hình giúp chủ động đưa ra các lựa chọn phù hợp với tìnhhình thời tiết đã được dự báo, dự đoán
6
Trang 7PHẦN II: PHÂN TÍCH THU THẬP DỮ LIỆU
A Giới thiệu cách thức thu thập dữ liệu và trình bày một phần dữ liệu thu thập được Thực hiện tiền xử lý dữ liệu trước khi đưa vào mô hình
1 Thu thập dữ liệu (data)
Dữ liệu là một yếu tố bắt buộc trong tất cả các bài toán Machine Learning Với bàitoán dự báo thời tiết dựa trên thông số cho trước, có thể tìm kiếm và download dữ liệutại trang Kaggle để phục vụ cho việc tiến hành thu thập dữ liệu và khởi chạy chươngtrình
Dữ liệu cần thu thập là một số thông tin về thời tiết, thông số, ngày tháng ghi chép
dữ liệu, cụ thể:
- Thời điểm ghi chép dữ liệu: ngày tháng cụ thể của từng mẫu thời tiết được ghi lại
rõ ràng, có thứ tự
- Độ ngưng tụ hơi nước được đánh giá dựa trên thang đo từ mức 0
- Nhiệt độ (chia làm nhiệt độ cao nhất và nhỏ nhất): nhiệt độ được đo tại các trạmkhí tượng cung cấp số liệu báo cáo, đơn vị đo ºC
- Sức gió
- Trạng thái thời tiết
Trang 92 Tiền xử lý dữ liệu
Sau khi tiến hành thu thập dữ liệu, nhóm đã kiểm tra tổng quan dữ liệu và thấy
số liệu ổn định, không có sự rối loạn giữa các số liệu Do dữ liệu nhóm thu thập là ởdạng số, nên không cần chuẩn hoá dữ liệu về dạng số (ví dụ: Nam/nữ: 0/1)
B Phân tích, xác định tên các thuộc tính dữ liệu cần thu thập, kiểu dữ liệu và giá trị minh họa
Thuộc tính mô tả
Thời gian ghi dữ liệu object
Độ ngưng tụ hơi nước (precipitation) float64Nhiệt độ cao nhất (temp_max) float64Nhiệt độ thấp nhất (temp_min) float64
Thuộc tính nhãn Loại thời tiết:
Trang 1010
Trang 11PHẦN III: GIỚI THIỆU VỀ THUẬT TOÁN VÀ CÁC KHỐI LỆNH TRONG
CHƯƠNG TRÌNH
A Giới thiệu tổng quan về thuật toán sử dụng
- Logistic regression
Logistic Regression là 1 thuật toán phân loại được dùng để gán các đối tượng cho
1 tập hợp giá trị rời rạc (như 0, 1, 2, ) Một ví dụ điển hình là phân loại Email, gồm
có email công việc, email gia đình, email spam, Giao dịch trực tuyến có là an toànhay không an toàn, khối u lành tính hay ác tình
- Naive Bayes
Naive Bayes Classifications (NBC) là một thuật toán dựa trên định lý Bayes về lýthuyết xác suất để đưa ra các phán đoán cũng như phân loại dữ liệu dựa trên các dữ liệuđược quan sát và thống kê
Định lý Bayes sẽ giúp ta tính ra xác suất xảy ra của một giả thuyết bằng cách thuthập các bằng chứng nhất quán hoặc không nhất quán với một giả thuyết nào đó Khicác bằng chứng tích lũy, mức độ tin tưởng vào một giả thuyết thay đổi Khi có đủ bằngchứng, mức độ tin tưởng này thường trở nên rất cao hoặc rất thấp, tức là xác xuất sảy
ra giả thuyết sẽ thay đổi thì các bằng chứng liên quan đến nó thay đổi
- Decision tree
Thuật toán này là tiền đề để ra đời những phương pháp dự báo theo dòng based method như là: Random Forest, Bagging, AdaBoost, Gradient Boosting Machine(GBM) và mới nhất là Extreme Gradient Boosting (XGBoost)
Tree-Cây quyết định ứng dụng phổ biến trong các bài toán thuộc lĩnh vực ngân hàng vàmột vài lĩnh vực khác
Một Decision Tree được bao gồm 4 thành phần như sau:
Root Node: Nhánh chia đầu tiên của Decision Tree
Trang 12B Mô tả ngắn gọn ý nghĩa của các khối lệnh trong chương trình:
1 Khai báo thư viện
Khai báo thư viện và hàm được sử dụng trong bài:
Pandas
Khai báo thư viện hỗ trợ đọc và phân tích dữ liệu ở dạng bảng,
đa chiều, có tiềm năng không đồng nhất) và dữ liệu chuỗi thờigian
Matplotlib
Là một thư viện Python sử dụng Python Script để giúp tạo racác đồ thị 2D Thư viện này có hỗ trợ tạo nhiều giao điểm giữahai trục số trong cùng một lúc Ngoài ra cũng có thể dùngMatplotlib để thao tác trực tiếp đến các đặc điểm khác nhaucủa đồ thị
Seaborn
Là một trong những thư viện Python được đánh giá cao nhấtthế giới được xây dựng nhằm mục đích tạo ra các hình ảnh trựcquan đẹp mắt Nó có thể được coi là một phần mở rộng củamột thư viện khác có tên là Matplotlib vì nó được xây dựngtrên đó
Sklearn Là thư viện mạnh mẽ nhất dành cho các thuật toán học máy
được viết trên ngôn ngữ Python Thư viện cung cấp một tập cáccông cụ xử lý các bài toán machine learning và statisticalmodeling gồm: classification, regression, clustering, và
12
Trang 14Hiển thị dữ liệu cần sử dụng bằng biểu đồ thể hiện tổng số ngày của các phần tửtrong cột Weather:
⇨ Dựa vào biểu đồ trên có thể thấy ngày mưa và nắng khoảng hơn 600 ngày, ngày cótuyết và mưa phùn dưới 100 ngày, ngày nhiều sương là 100 ngày
14
Trang 15● Lấy dữ liệu cần thiết:
Trong bảng dữ liệu gốc bao gồm cả dữ liệu điều kiện (Precipitation,temp_max, temp_min, wind) và kết quả (weather)
Để dự đoán ra được kết quả ta sẽ sử dụng phần dữ liệu điều kiện để dự đoánnên ta sử dụng lệnh
x = df.drop(colums = [‘weather’,’date’] tức là lấy tất cả df ngoại trừ cộthoặc hàng weather và date
Sau đó chỉ lấy cột kết quả ‘Weather’ là vì cột date không ảnh hưởng đến kếtquả mưa hay nắng ) để loại trừ phần kết quả ra
Data bao gồm các giá trị của df (các giá trị của cột ‘Weather’)
Chia bộ dữ liệu thành 2 phần: train sẽ lấy 75% và test là 25% để quan sáttiếp theo
● Chuẩn hóa dữ liệu:
StandarScaler: là một phương pháp chia tỷ lệ dựa trên trung bình Côngthức của StandardScaler là (Xi-Xmean) / Xstd, vì vậy nó điều chỉnh giá trị trungbình là 0 StandardScaler dễ bị tác động ảnh hưởng bởi những ngoại lệ vì nhữngngoại lệ ảnh hưởng tác động đến giá trị trung bình
Trang 16● Xây dựng mô hình
Sử dụng 3 mô hình khác nhau là Bayes, Logic và Tree Đưa ra bộ dữ liệuđiều kiện và có sẵn kết quả tương ứng để mô hình học và nhận biết
Ý nghĩa lệnh này là để cho các mô hình học các dữ liệu train
- Sau khi train xong, đưa ra bộ dữ liệu điều kiện khác để tiến hành kiểm tra kếtquả dự đoán của 3 mô hình
- ypred là dự đoán của ytest của từng mô hình
Sau khi tiến hành kiểm tra, mô hình sẽ đưa ra kết quả dự đoán ypred Sosánh sự trùng hợp giữa ypred và ytest để đánh giá được độ chính xác của từng môhình Từ đó chấm điểm chính xác đối với từng mô hình
16
Trang 17Lệnh này để in ra điểm độ chính xác của từng mô hình Sau khi thực hiệnlệnh, được kết quả bảng dưới đây:
Trong bảng kết quả của các mô hình:
Hàng là giá trị ypred (giá trị bot dự đoán), cột là giá trị ytest (giá trị thực tế) Theothứ tự từ trái sang phải, các loại thời tiết lần lượt ứng với các cột là là: drizzle, fog, sun,snow, rain Tương tự, theo thứ tự từ trên xuống dưới, các loại thời tiết lần lượt ứng với cáchàng là: drizzle, fog, sun, snow, rain Như vậy có thể thấy, vị trí các ô bot đoán đúng(ytest và ypred trùng nhau) chính là hàng chéo của bảng trên, giá trị của các ô trong hàngchéo là số lần bot đoán đúng Vậy các giá trị còn lại trong bảng chính là số lần bot đoánsai
Trang 18 Giá trị các ô trong hàng chéo khác 0 càng nhiều, thì mô hình đó có tỉ lệ dự đoánđúng càng cao
● Sử dụng mô hình và thử dự báo với giá trị dữ liệu mới
Thử đưa ra bộ data ngẫu nhiên để 3 mô hình dự đoán
Gán data_need_to_predict bằng với các giá trị cần đoán ứng với các điềukiện Precipitaton, temp_max, temp_min, wind
Kết quả ta sẽ được phần dự đoán thời tiết ngày hôm đó nếu các điều kiện làcác dữ liệu đưa vào ngẫu nhiên đó
18
Trang 19PHẦN IV: ĐÁNH GIÁ MÔ HÌNH
1 Ý nghĩa và sự khả thi trên thực tế của ứng dụng
Ứng dụng mô hình dự báo, dự đoán tình hình thời tiết qua các thông số cũng giốngnhư các mô hình công nghệ trí tuệ nhân tạo khác đã được áp dụng trong lĩnh vực này.Tình hình thời tiết luôn là vấn đề được người dân, Nhà nước quan tâm hàng đầu Môhình này, thông qua các thông số được cập nhật sẽ chuẩn đoán ra thời tiết hôm nay sẽnhư thế nào, từ đó giúp mọi người chủ động hơn trong công việc, hoạt động sinh hoạtđời thường, đặc biệt là trong thị trường hàng không, sẽ hạn chế các rủi ro cho nhữngchuyến bay tránh thời tiết xấu, đem đến cho khách hàng sự an tâm, đồng thời phát triểnnền kinh tế hàng không nói riêng và nền kinh tế đất nước nói chung
Cụ thể, mô hình này giúp mang những lợi ích ví dụ như sau:
Đối với đời sống sinh hoạt:
+ Để dễ dàng sắp xếp lịch
+ Để dễ dàng tận dụng (phơi đồ…)
Đối với đời sống sản xuất:
+ Lên kế hoạch xử lí nông sản
+ Để dễ dàng theo dõi tình hình bệnh tình trên đồng ruộng (dự báo thời tiếtnông vụ)
Đối với an ninh, tình hình:
+ Ứng biến kịp thời với thiên tai
+ Đảm bảo an toàn cho tàu thuyền, ngư dân đánh bắt
Ứng dụng này khả thi và có ý nghĩa quan trọng trong đời sống hoạt động thườngngày
2 Ưu – nhược điểm của mô hình
Ưu điểm chung:
Cả 3 mô hình xử khá nhanh do dữ liệu đã được chuẩn hóa, đưa ra kết quả khá là
Trang 20 Nhược điểm chung:
Dữ liệu đầu vào thực tế do có sự thiết hụt và chênh lệnh quá lớn giữa các thuộctính nhãn nên việc sai sót là không thể tránh khỏi Tỉ lệ dự đoán sai của cả 3 môhình lên các thuộc tính nhãn này là khá cao
Mô hình
Naive Bayes
Có tỉ lệ đúng cao nhất trong 3 mô hình
Những thuộc tính nhãn có ít dữ liệu thì dự đoán gần như là sai hết
Mô hình
Logistic
regression
Những thuộc tính nhãn có ít dữ liệu thì không dự đoán đúng được cái nào cả
Mô hình
Decision Tree
Các thuộc tính nhãn
ít dữ liệu vẫn có khảnăng dự đoán đúng
Tỉ lệ đúng thấp nhất trong cả 3 môhình
20
Trang 21KẾT LUẬN
Mô hình dự báo, dự đoán tình hình thời tiết qua các thông số là một ứng dụng hiệuquả và tiện ích đối với đời sống hiện nay Dự báo thời tiết có một vai trò to lớn trong đờisống kinh tế, xã hội Dự báo đúng sẽ giúp con người đưa ra những quyết định đúng đắn,
dự báo sai sẽ có thể mang lại những hậu quả vô cùng khủng khiếp
Một xã hội văn minh, hiện đại, đời sống người dân ấm no hạnh phúc phụ thuộc vàorất nhiều yếu tố Dự báo thời tiết chính xác sẽ là bước đẩy quan trọng giúp cho chúng ta
tự chủ trong mọi hành động, tránh những rủi ro xấu có thể xảy ra bất cứ lúc nào Thay vì
dự báo thời tiết qua những kinh nghiệm dân gian xưa như: quan sát hình dạng đám mây
và hướng di chuyển của chúng, quan sát trăng và sao hay quan sát cách di chuyển đườngbay của chuồn chuồn… ứng dụng này sẽ mang đến hiệu quả khoa học chính xác và tiệnlợi hơn
Có thể thấy, dự báo thời tiết không chỉ giúp ích cho đời sống người dân mà cònlàm tăng lợi ích kinh tế - xã hội của một đất nước đi lên đáng kể Biết trước những thayđổi thời tiết là một trong những bước quan trọng trong công cuộc xây dựng, hoàn thiệnmột nền văn minh hiện đại, ấm no và phồn thịnh