4.1 Xử Lý Giá Trị Thiếu Missing Values Giá trị thiếu trong dữ liệu có thể gây ra nhiều vấn đề cho các mô hình phân tích và dự đoán.. - Xem Các Giá Trị Duy Nhất:+ Để kiểm tra các giá trị
TỔNG QUAN VỀ CÁC KIỂU DỮ LIỆU
Dữ liệu định tính (Qualitative Data)
Dữ liệu định tính mô tả các đặc điểm hoặc thuộc tính mà không thể biểu diễn bằng số Nó bao gồm:
Dữ liệu danh nghĩa (Nominal Data) là loại dữ liệu dùng để gán tên hoặc nhãn cho các danh mục mà không có thứ tự cụ thể Ví dụ về dữ liệu danh nghĩa bao gồm giới tính (nam, nữ) và loại xe (xe hơi, xe máy, xe đạp).
Dữ liệu thứ tự (Ordinal Data) là loại dữ liệu danh nghĩa có thứ tự hoặc mức độ Ví dụ điển hình bao gồm mức độ hài lòng, từ "rất không hài lòng" đến "rất hài lòng", và cấp bậc học vấn như tiểu học, trung học và đại học.
Dữ liệu định lượng (Quantitative Data)
Dữ liệu định lượng là dữ liệu có thể được đo lường và biểu diễn bằng số Nó bao gồm:
Dữ liệu khoảng (Interval Data) là loại dữ liệu có khoảng cách đồng đều giữa các giá trị, nhưng không có điểm gốc tuyệt đối Ví dụ điển hình cho loại dữ liệu này bao gồm nhiệt độ (°C, °F) và năm (như 1990, 2000).
Dữ liệu tỉ lệ (Ratio Data) là loại dữ liệu có khoảng cách đều nhau và điểm gốc tuyệt đối, cho phép thực hiện các phép toán như nhân và chia Ví dụ về dữ liệu tỉ lệ bao gồm chiều cao, cân nặng, tuổi tác và thu nhập.
Dữ liệu dạng văn bản (Text Data)
Dữ liệu văn bản là chuỗi ký tự dùng để biểu diễn thông tin không có cấu trúc rõ ràng, bao gồm các dạng như bài viết, bình luận và email.
Dữ liệu dạng thời gian (Time Series Data)
Dữ liệu thời gian là loại dữ liệu được thu thập liên tục hoặc theo khoảng thời gian đều đặn, chẳng hạn như giá cổ phiếu hàng ngày, nhiệt độ hàng giờ và doanh số bán hàng hàng tháng.
Dữ liệu dạng không gian (Spatial Data)
Dữ liệu không gian là thông tin liên quan đến vị trí địa lý, bao gồm các yếu tố như tọa độ GPS, bản đồ và dữ liệu địa lý Những thông tin này giúp xác định và phân tích các đặc điểm không gian một cách chính xác.
Dữ liệu hình ảnh (Image Data)
Dữ liệu hình ảnh bao gồm các dạng đồ họa như ảnh kỹ thuật số, ảnh y khoa và nhiều loại hình ảnh khác, chẳng hạn như ảnh chụp và biểu đồ.
Dữ liệu âm thanh (Audio Data)
Dữ liệu âm thanh là dữ liệu dạng sóng âm thanh, thường được biểu diễn dưới dạng tín hiệu số Ví dụ: bản ghi âm, podcast, nhạc.
Dữ liệu video (Video Data)
Dữ liệu video là tập hợp các khung hình hình ảnh kết hợp với âm thanh, tạo thành một chuỗi video Ví dụ: video clip, phim, ghi hình.
Kết luận: Nhận diện và hiểu rõ các kiểu dữ liệu là bước quan trọng trong phân tích dữ liệu Mỗi loại dữ liệu yêu cầu phương pháp xử lý và phân tích riêng, do đó, lựa chọn phương pháp phù hợp sẽ nâng cao hiệu quả và độ chính xác trong quá trình phân tích.
GIỚI THIỆU VỀ DATASET
Tổng quan về dataset
Bộ dữ liệu weatherAUS.csv cung cấp thông tin quan sát thời tiết hàng ngày trong suốt 10 năm từ nhiều trạm thời tiết tại Úc, với tổng cộng 145460 hàng và 23 cột khác nhau Nó bao gồm các yếu tố thời tiết quan trọng như nhiệt độ, độ ẩm, lượng mưa và các chỉ số liên quan, giúp người dùng có cái nhìn tổng quan về điều kiện khí hậu tại các địa điểm khác nhau ở Úc.
RainTomorrow là biến mục tiêu để dự đoán Nó có nghĩa là trời có mưa vào ngày hôm sau không, Yes or No ( Có hoặc Không?)
Cột này là Yes (Có) nếu lượng mưa trong ngày hôm đó là 1mm trở lên.
Các cột dữ liệu chính trong dataset
- Date: Ngày ghi nhận dữ liệu (định dạng YYYY-MM-DD).
- Location: Địa điểm ghi nhận dữ liệu (tên các thành phố hoặc thị trấn ở Úc).
- MinTemp: Nhiệt độ thấp nhất trong ngày (°C).
- MaxTemp: Nhiệt độ cao nhất trong ngày (°C).
- Rainfall: Lượng mưa trong ngày (mm).
- Evaporation: Lượng nước bốc hơi trong ngày (mm).
- Sunshine: Thời gian có nắng trong ngày (giờ).
- WindGustDir: Hướng gió giật mạnh nhất trong ngày.
- WindGustSpeed: Tốc độ gió giật mạnh nhất trong ngày (km/h).
- WindDir9am: Hướng gió lúc 9 giờ sáng.
- WindDir3pm: Hướng gió lúc 3 giờ chiều.
- WindSpeed9am: Tốc độ gió lúc 9 giờ sáng (km/h).
- WindSpeed3pm: Tốc độ gió lúc 3 giờ chiều (km/h).
- Humidity9am: Độ ẩm lúc 9 giờ sáng (%).
- Humidity3pm: Độ ẩm lúc 3 giờ chiều (%).
- Pressure9am: Áp suất khí quyển lúc 9 giờ sáng (hPa).
- Pressure3pm: Áp suất khí quyển lúc 3 giờ chiều (hPa).
- Cloud9am: Mức độ mây che phủ lúc 9 giờ sáng (okta).
- Cloud3pm: Mức độ mây che phủ lúc 3 giờ chiều (okta).
- Temp9am: Nhiệt độ lúc 9 giờ sáng (°C).
- Temp3pm: Nhiệt độ lúc 3 giờ chiều (°C).
- RainToday: Có mưa trong ngày (Yes hoặc No).
- RainTomorrow: Có mưa vào ngày hôm sau (Yes hoặc No).
Mục đích sử dụng của dataset
Dự báo thời tiết là một trong những ứng dụng hàng đầu của dataset này, cho phép các mô hình máy học được đào tạo để dự đoán các yếu tố thời tiết tương lai như nhiệt độ, lượng mưa và hướng gió.
Phân tích xu hướng thời tiết thông qua dữ liệu lịch sử giúp chúng ta nhận diện các biến đổi khí hậu theo thời gian Việc này không chỉ cung cấp cái nhìn sâu sắc về sự thay đổi của thời tiết mà còn cho phép hiểu rõ hơn về tác động của biến đổi khí hậu đến từng khu vực cụ thể.
Thông tin thời tiết đóng vai trò quan trọng trong quyết định nông nghiệp, giúp nông dân xác định thời gian trồng trọt và thu hoạch cũng như bảo vệ cây trồng khỏi điều kiện thời tiết khắc nghiệt Dataset weatherAUS.csv cung cấp nguồn dữ liệu phong phú cho phân tích và dự báo thời tiết, và việc hiểu cấu trúc cũng như ý nghĩa của từng cột dữ liệu là bước đầu tiên cần thiết để tối ưu hóa giá trị của nó.
GIẢI THÍCH CÁC BIẾN TRONG DATASET
Dataset weatherAUS.csv chứa nhiều biến số, mỗi biến số thể hiện một yếu tố hoặc chỉ số thời tiết Dưới đây là bảng giải thích chi tiết về từng biến số trong dataset này.
Bảng 1 : Giải thích các biến trong bộ dữ liệu
STT Tên biến Loại dữ liệu Định dạng Đơn vị Mô tả
YYYY- MM-DD (năm- tháng- ngày)
Ngày ghi nhận dữ liệu
Tên các thành phố hoặc thị trấn ở Úc Địa điểm ghi nhận dữ liệu
Nhiệt độ thấp nhất trong ngày
Số thực °C (độ C) Nhiệt độ cao nhất trong ngày
Lượng nước bốc hơi trong ngày
Số thực giờ Thời gian có nắng trong ngày
Chuỗi ký tự (ký hiệu hướng gió)
Hướng gió giật mạnh nhất trong ngày (ví dụ:
9 WindGustSpeed Định Số nguyên km/h Tốc độ gió lượng (Ratio)
(kilômét/giờ ) giật mạnh nhất trong ngày
Chuỗi ký tự (ký hiệu hướng gió)
Hướng gió lúc 9 giờ sáng.
Chuỗi ký tự (ký hiệu hướng gió)
Hướng gió lúc 3 giờ chiều
12 WindSpeed9am Định lượng (Ratio) Số nguyên. km/h (kilômét/giờ )
Tốc độ gió lúc 9 giờ sáng
13 WindSpeed3pm Định lượng (Ratio)
Số nguyên. km/h (kilômét/giờ )
Tốc độ gió lúc 3 giờ chiều
14 Humidity9am Định lượng (Ratio)
Số nguyên % Độ ẩm lúc 9 giờ sáng
(Ratio) Số nguyên % Độ ẩm lúc 3 giờ chiều
16 Pressure9am Định lượng (Ratio)
Số thực. hPa (hectopascal ) Áp suất khí quyển lúc 9 giờ sáng
17 Pressure3pm Định lượng (Ratio)
(hectopascal ) Áp suất khí quyển lúc 3 giờ chiều
18 Cloud9am Định lượng (Interval)
Số nguyên (0-8) okta (đơn vị đo lượng mây)
Mức độ mây che phủ lúc 9 giờ sáng
19 Cloud3pm Định lượng (Interval)
Số nguyên (0-8) okta (đơn vị đo lượng mây)
Mức độ mây che phủ lúc 3 giờ chiều (okta)
20 Temp9am Định lượng (Ratio)
Số thực °C (độ C) Nhiệt độ lúc
21 Temp3pm Định lượng (Ratio) Số thực °C (độ C)
Có mưa trong ngày không (Yes hoặc No)
Có mưa vào ngày hôm sau không(Yes hoặcNo)
TRÌNH BÀY CÁC BƯỚC TIỀN XỬ LÝ DỮ LIỆU
Xử Lý Giá Trị Thiếu (Missing Values)
Giá trị thiếu trong dữ liệu có thể gây ra nhiều vấn đề cho các mô hình phân tích và dự đoán Để xử lý giá trị thiếu trong bộ dữ liệu thời tiết ở Australia, cần thực hiện các bước sau: xác định vị trí các giá trị thiếu, phân tích nguyên nhân gây ra giá trị thiếu, áp dụng các phương pháp thay thế như trung bình, trung vị hoặc mô hình hồi quy, và cuối cùng là kiểm tra lại tính chính xác của mô hình sau khi xử lý.
- Khám phá biến mục tiêu RainTomorrow:
+ Để kiểm tra số lượng giá trị thiếu trong biến mục tiêu RainTomorrow
Hình 2 : Khám phá biến mục tiêu - RainTomorrow
Biến RainTomorrow có 3267 giá trị thiếu, cho thấy cần xử lý một lượng lớn dữ liệu thiếu trước khi tiến hành các bước phân tích tiếp theo.
- Xem Số Lượng Giá Trị Duy Nhất:
+ Để kiểm tra số lượng giá trị duy nhất trong biến RainTomorrow
Hình 3 : Xem số lượng giá trị duy nhất 1 - RainTomorrow
Biến RainTomorrow chỉ có hai giá trị duy nhất, cho thấy đây là một biến phân loại nhị phân Hai trạng thái của biến này là "Yes" (có mưa vào ngày mai) và "No" (không có mưa vào ngày mai).
- Xem Các Giá Trị Duy Nhất:
+ Để kiểm tra các giá trị duy nhất trong biến RainTomorrow:
Hình 4 : Xem số lượng giá trị duy nhất 2 - RainTomorrow
Biến RainTomorrow có ba giá trị: 'No', 'Yes' và nan, cho thấy rằng dữ liệu của chúng ta có một số bản ghi thiếu giá trị trong biến này.
Sau khi loại bỏ các bản ghi thiếu giá trị trong biến RainTomorrow, tất cả các bản ghi hiện có đều đầy đủ giá trị, đảm bảo không còn bất kỳ thiếu sót nào trong biến này.
Trực quan hóa phân bố tần số của biến RainTomorrow cho thấy sự khác biệt rõ rệt giữa hai loại giá trị Biểu đồ cột và biểu đồ ngang minh họa rằng số lượng trường hợp dự đoán không có mưa (No) vượt trội hơn hẳn so với trường hợp có mưa, với cột màu đỏ thể hiện con số vượt quá 100.000.
+ Yes (Có mưa): Cột màu xanh biểu thị số lượng trường hợp dự đoán có mưa ngày mai, thấp hơn đáng kể, chỉ khoảng 30.000.
Hình 5 : Biểu đồ số lượng record trong RainTomorrow
Các loại biến: Trong phần này, tách tập dữ liệu thành các biến phân loại và số.
Trong tập dữ liệu, có sự kết hợp giữa các biến phân loại và biến số Các biến phân loại có kiểu dữ liệu là đối tượng, trong khi các biến số được định dạng với kiểu dữ liệu float64 Đầu tiên, chúng ta sẽ xác định các biến phân loại.
Khám phá các biến phân loại là bước quan trọng trong việc phân tích dữ liệu, với 7 biến được xác định, bao gồm thông tin về thời gian, địa điểm, hướng gió và tình trạng mưa Những biến này đóng vai trò thiết yếu trong việc dự báo thời tiết ngày mai Việc xử lý và chuyển đổi chính xác các biến này sẽ nâng cao chất lượng của mô hình dự đoán thời tiết.
Trong quá trình phân tích tập dữ liệu, đã xác định được 6 biến phân loại quan trọng, bao gồm: Location, WindGustDir, WindDir9am, WindDir3pm, RainToday và RainTomorrow.
Các biến này cung cấp thông tin quan trọng về thời gian, địa điểm, hướng gió và tình trạng mưa, cần thiết cho dự báo thời tiết ngày mai Tuy nhiên, một số biến gặp phải vấn đề giá trị còn thiếu (missing values).
+ WindGustDir: 9,330 giá trị còn thiếu.
+ WindDir9am: 10,013 giá trị còn thiếu.
+ WindDir3pm: 3,778 giá trị còn thiếu.
+ RainToday: 1,406 giá trị còn thiếu.
Để đảm bảo tính toàn vẹn của dữ liệu, các chiến lược phù hợp sẽ được áp dụng để xử lý giá trị thiếu trong các biến hướng gió như WindGustDir, WindDir9am và WindDir3pm Giá trị thiếu có thể được điền bằng giá trị phổ biến nhất (mode) hoặc thay thế dựa trên đặc thù khu vực theo Location Biến RainToday sẽ được xử lý dựa vào mode hoặc lượng mưa (Rainfall); nếu lượng mưa vượt quá ngưỡng xác định (ví dụ: >1mm), giá trị sẽ được điền là Yes, ngược lại là No Hai biến Location và RainTomorrow không có giá trị thiếu nên sẽ được giữ nguyên.
Hình 7 : Khám phá các vấn đề trong biến phân loại
- Xử lý các giá trị bị thiếu trong các biến phân loại
Trong quá trình phân tích, chúng tôi phát hiện rằng một số biến phân loại có dữ liệu bị thiếu Cụ thể, tỷ lệ dữ liệu thiếu của các biến là: WindGustDir với 6.56%, WindDir9am đạt 7.04%, WindDir3pm là 2.66%, và RainToday chỉ có 0.99%.
Hình 8 : Xử lý các giá trị bị thiếu trong biến phân loại - 1
Để xử lý dữ liệu thiếu, chúng tôi đã sử dụng giá trị mode (giá trị xuất hiện nhiều nhất) của từng biến để lấp đầy các ô trống Sau khi thực hiện phương pháp này, dữ liệu phân loại không còn giá trị thiếu Kết quả kiểm tra cho thấy tất cả các biến đã được hoàn thiện mà không còn giá trị thiếu nào.
Hình 9 : Xử lý các giá trị bị thiếu trong biến phân loại - 2
Để nắm bắt sâu sắc dữ liệu, chúng tôi phân tích tần suất xuất hiện của từng giá trị trong các biến phân loại Kết quả về tần suất của các biến phân loại sẽ được trình bày chi tiết.
+ Date: Có 3436 giá trị khác nhau, mỗi giá trị tương ứng với một ngày cụ thể. + Location: Có 49 địa điểm khác nhau.
+ WindGustDir: Có 16 hướng gió khác nhau, với hướng W chiếm tỷ lệ cao nhất (13.44%).
+ WindDir9am: Có 16 hướng gió khác nhau, với hướng N chiếm tỷ lệ cao nhất (15.05%).
+ WindDir3pm: Có 16 hướng gió khác nhau, với hướng SE chiếm tỷ lệ cao nhất (10.16%).
RainToday: Có hai giá trị: "No" (77.88%) và "Yes" (22.12%).
RainTomorrow: Có hai giá trị: "No" (77.58%) và "Yes" (22.42%).
Hình 10 : Xem tần suất của các biến phân loại
Hình 11 : Kiểm tra số lượng trong các biến phân loại
- Khám phá các biến số : Trong tập dữ liệu của chúng ta, có tổng cộng 19 biến số học (numerical variables) cần được xem xét kỹ lưỡng
Hình 12 : Khám phá biến số
- Giá trị thiếu trong các biến số:
+ MinTemp và MaxTemp: Có ít giá trị thiếu so với tổng số lượng dữ liệu. (MinTemp: 637 giá trị thiếu, MaxTemp: 322 giá trị thiếu.)
+ Rainfall: Lượng mưa thiếu nhiều hơn, với 1406 giá trị thiếu.
+ Evaporation và Sunshine: Có lượng giá trị thiếu rất lớn (Evaporation: 60843 giá trị thiếu, Sunshine: 67816 giá trị thiếu.)
+ WindGustSpeed, WindSpeed9am, WindSpeed3pm: Các giá trị liên quan đến tốc độ gió cũng thiếu đáng kể (WindGustSpeed: 9270 giá trị thiếu WindSpeed9am:
1348 giá trị thiếu WindSpeed3pm: 2630 giá trị thiếu.)
+ Humidity9am và Humidity3pm: Độ ẩm thiếu ở mức vừa phải.(Humidity9am:
1774 giá trị thiếu Humidity3pm: 3610 giá trị thiếu.)
+ Pressure9am và Pressure3pm: Áp suất có nhiều giá trị thiếu.(Pressure9am:
14014 giá trị thiếu Pressure3pm: 13981 giá trị thiếu.)
+ Cloud9am và Cloud3pm: Độ che phủ mây thiếu nhiều nhất.(Cloud9am:
53657 giá trị thiếu Cloud3pm: 57094 giá trị thiếu.)
+ Temp9am và Temp3pm: Nhiệt độ thiếu ở mức trung bình.(Temp9am: 904 giá trị thiếu Temp3pm: 2726 giá trị thiếu.)
+ Year, Month, Day: Không có giá trị thiếu cho các biến này.
Hình 13 : Kiểm tra giá trị còn thiếu trong các biến số
Chúng tôi đã xử lý các giá trị thiếu trong các biến số bằng cách thay thế chúng bằng giá trị trung vị của cột tương ứng Dưới đây là các bước chi tiết và kết quả kiểm tra sau khi thực hiện quy trình này.
+ Chúng ta tính tỷ lệ giá trị thiếu cho từng biến số và hiển thị chúng:
Hình 14 : Xử lý ngoại lệ cho các biến số - 1 + Thay thế giá trị thiếu bằng giá trị trung vị
Hình 15 : Xử lý ngoại lệ cho các biến số - 2 + Kiểm tra lại giá trị thiếu sau khi thay thế
Hình 16 : Danh sách các biến số sau khi xử lý ngoại lệ
Xử Lý Giá Trị Ngoại Lai (Outlier Values)
Giá trị ngoại lai là những giá trị khác biệt rõ rệt so với phần còn lại của dữ liệu, và chúng có thể tác động tiêu cực đến kết quả phân tích Để xử lý giá trị ngoại lai, cần thực hiện các bước cụ thể nhằm đảm bảo độ chính xác và tính đáng tin cậy của phân tích dữ liệu.
Khám phá và xử lý giá trị ngoại lệ với các biến số - Rainfall, Evaporation, WindSpeed9am, WindSpeed3pm
Trong quá trình kiểm tra dữ liệu, các biến số như Lượng mưa, Bốc hơi, Tốc độ gió lúc 9 giờ sáng và Tốc độ gió lúc 3 giờ chiều đã được xác định có khả năng chứa giá trị ngoại lệ Để phân tích sâu hơn, biểu đồ hộp đã được sử dụng để trực quan hóa phân phối giá trị và phát hiện các ngoại lệ trong dữ liệu.
Hình 17 : Trước khi xử lý ngoại lai
Biểu đồ cho thấy một số giá trị vượt quá khoảng giới hạn trên (upper whisker), được coi là ngoại lệ Các giá trị này nằm trong khoảng từ 0.6 đến 1.0 mm.
Các cơn mưa lớn bất thường có thể là nguyên nhân dẫn đến những nhận xét này Cần tiến hành kiểm tra thêm các ngoại lệ này để đánh giá tính hợp lệ và tác động của chúng đến quá trình phân tích.
Biểu đồ cho thấy sự phân bố giá trị với nhiều điểm ngoại lệ ở phía trên Đa số các giá trị tập trung dưới 8 mm, trong khi một số ít điểm cao vượt ngưỡng 12-14 mm.
Trong những ngày thời tiết khắc nghiệt hoặc khi có lỗi đo lường, việc nhận xét về dữ liệu có thể xảy ra Do đó, các giá trị này cần được xử lý cẩn thận để giảm thiểu tác động tiêu cực đến kết quả phân tích.
Tốc độ gió vào lúc 9 giờ sáng cho thấy sự phân phối đồng đều, với phạm vi từ 0 đến khoảng 35 km/h và không có ngoại lệ rõ ràng Dữ liệu này có thể được sử dụng trực tiếp mà không cần xử lý thêm.
Quan sát tương tự như WindSpeed9am, biểu đồ không cho thấy ngoại lệ đáng kể Phân bố giá trị nằm trong khoảng từ 0 đến khoảng 40 km/h.
Nhận xét tốc độ gió lúc 3 giờ chiều có sự phân bố ổn định và không cần các biện pháp xử lý ngoại lệ phức tạp.
-Xử lý ngoại lệ sử dụng phương pháp Interquartile Range (IQR)
Trong phân tích dữ liệu, xử lý giá trị ngoại lệ là bước thiết yếu để loại bỏ yếu tố gây méo mó kết quả và ảnh hưởng tiêu cực đến mô hình Phương pháp Interquartile Range (IQR) được sử dụng để xác định và thay thế giá trị ngoại lệ bằng cách tính ngưỡng dưới và ngưỡng trên dựa trên khoảng cách giữa phần tư thứ ba (Q3) và phần tư thứ nhất (Q1) Đối với biến Rainfall, các giá trị ngoại lệ được xác định là nhỏ hơn -3.0 hoặc lớn hơn 3.2 và đã được thay thế bằng giá trị trung bình của cột để giảm thiểu sai lệch Tương tự, biến Evaporation cũng áp dụng phương pháp này, với các giá trị nhỏ hơn -3.0 hoặc lớn hơn 3.225 được thay thế bằng giá trị trung bình, đảm bảo tính toàn vẹn của dữ liệu.
Biến WindSpeed9am đã được xử lý bằng cách thay thế các giá trị ngoại lệ nhỏ hơn 2.5 hoặc lớn hơn 23.5 bằng trung bình của cột này Đối với WindSpeed3pm, các giá trị ngoài khoảng 8.35 và 28.5 cũng đã được thay thế để đảm bảo tính chính xác Sau khi xử lý, biểu đồ boxplot được vẽ lại cho thấy rằng các giá trị cực đoan đã được loại bỏ hợp lý mà không làm ảnh hưởng đến cấu trúc dữ liệu tổng thể Điều này đảm bảo rằng các biến số Rainfall, Evaporation, WindSpeed9am và WindSpeed3pm đã sẵn sàng cho các phân tích sâu hơn hoặc xây dựng mô hình dự báo.
Hình 18 : Sau khi xử lý ngoại lai
CHUẨN HÓA DỮ LIỆU
Định nghĩa và Mục đích
Chuẩn hóa dữ liệu là quá trình điều chỉnh các giá trị trong tập dữ liệu về một khoảng giá trị chung, nhằm loại bỏ sự ảnh hưởng của các đơn vị đo lường khác nhau.
- Mục đích chính của chuẩn hóa dữ liệu là:
Tăng tốc độ và hiệu quả của các thuật toán học máy bằng cách chuẩn hóa các đặc trưng để có cùng khoảng giá trị, giúp cải thiện hiệu suất Đồng thời, việc này cũng giảm thiểu sự thiên lệch trong quá trình xử lý, đảm bảo rằng các thuật toán không bị ảnh hưởng bởi các đặc trưng có giá trị lớn hơn.
+ Cải thiện độ chính xác: Giúp các mô hình học máy đạt độ chính xác cao hơn do các đặc trưng được đưa về cùng một khoảng giá trị.
Các phương pháp chuẩn hoá phổ biến
Phương pháp Min-Max Scaling, hay còn gọi là tỉ lệ hóa cực tiểu - cực đại, giúp đưa các giá trị về khoảng [0, 1] hoặc một khoảng giá trị xác định Công thức chuyển đổi của phương pháp này rất đơn giản và hiệu quả trong việc chuẩn hóa dữ liệu.
Hình 19 : Min-Max Scaling + Ưu điểm: Giữ nguyên mối quan hệ tỷ lệ giữa các giá trị gốc.
+ Nhược điểm: Nhạy cảm với các giá trị ngoại lai (outliers).
- Standardization (Z-score Normalization): Standardization (Chuẩn hóa Z- score) đưa các giá trị về dạng phân phối chuẩn với trung bình là 0 và độ lệch chuẩn là
+ μ là giá trị trung bình của tập dữ liệu.
+ σ là độ lệch chuẩn của tập dữ liệu.
+ Ưu điểm: Ít nhạy cảm hơn với các giá trị ngoại lai so với Min-Max Scaling. + Nhược điểm: Không giữ nguyên tỷ lệ giữa các giá trị gốc.
Robust Scaling là phương pháp chuẩn hóa dữ liệu sử dụng giá trị trung vị và khoảng tứ phân vị, nhằm giảm thiểu tác động của các giá trị ngoại lai Công thức chuyển đổi này giúp cải thiện độ chính xác của mô hình phân tích dữ liệu.
Hình 21 : Robust Scaling Trong đó:
+ median là giá trị trung vị của tập dữ liệu.
+ IQR là khoảng tứ phân vị (Interquartile Range).
+ Ưu điểm: Giảm ảnh hưởng của các giá trị ngoại lai.
+ Nhược điểm: Có thể làm mất một số thông tin của tập dữ liệu gốc.
Ứng dụng chuẩn hóa dữ liệu trong dataset weatherAUS.csv
Tiền xử lý dữ liệu: Trước khi chuẩn hóa, cần loại bỏ các giá trị bị thiếu và chuẩn bị dữ liệu:
Hình 22 : Tiền xử lý dữ liệu - Loại bỏ na
Hình 23 : Tiền xử lý dữ liệu - Xem mô tả tập dữ liệu
- Chuẩn hoá dữ liệu với Min-Max Scaling:
Hình 24 : Chuẩn hoá dữ liệu với Min-Max Scaling
- Kết quả sau khi chuẩn hoá:
Hình 25 : Kết quả chuẩn hoá dữ liệu với Min-Max Scaling
TẠO CÁC BIẾN MỚI CÓ Ý NGHĨA DỰA VÀO CÁC BIẾN ĐÃ CÓ
Mục tiêu
Trong phần này, chúng ta sẽ phát triển các biến mới từ biến Date hiện có nhằm cải thiện khả năng phân tích dữ liệu và tối ưu hóa việc xây dựng mô hình.
Tạo biến mới từ biến Date
Để bắt đầu, bước đầu tiên là chuyển đổi cột Date từ định dạng chuỗi (object) sang định dạng ngày giờ (datetime) Việc này giúp chúng ta dễ dàng trích xuất các thành phần như năm, tháng và ngày từ biến Date.
Hình 26 : Chuyển đổi biến Date sang định dạng datetime
Bước 2: Trích xuất các thành phần từ biến Date và kiểm tra dữ liệu sau khi trích xuất Sau khi chuyển đổi biến Date sang định dạng datetime, chúng ta sẽ trích xuất các thành phần năm, tháng và ngày, sau đó lưu chúng vào các cột mới.
Hình 27 : Trích xuất năm từ biến Date
Hình 28 : Trích xuất tháng từ biến Date Trích xuất ngày:
Hình 29 : Trích xuất ngày từ biến Date
- Sau khi trích xuất các thành phần năm, tháng, và ngày, chúng ta kiểm tra lại các giá trị của những cột mới tạo.
Sau khi tạo các cột mới từ biến Date, bước tiếp theo là loại bỏ biến Date ban đầu để tránh tình trạng dư thừa dữ liệu.
Hình 30 : Xoá biến Date ban đầu
Kiểm tra cấu trúc tập dữ liệu là bước quan trọng cuối cùng để xác nhận rằng các biến mới đã được tạo ra đúng cách và biến Date đã được loại bỏ một cách hiệu quả.
Hình 31 : Info của tập dataset
Tạo biến mới từ biến RainToday
- Mô tả biến RainToday: Biến RainToday là một biến phân loại với hai giá trị: + "Yes": Có mưa trong ngày.
+ "No": Không có mưa trong ngày.
Để chuyển đổi giá trị phân loại của biến RainToday thành dạng số cho các mô hình học máy, tôi đã áp dụng phương pháp mã hoá nhị phân (Binary Encoding).
Binary Encoding là phương pháp mã hóa hiệu quả cho các biến phân loại nhị phân ("Có"/"Không"), chuyển đổi chúng thành các cột nhị phân Cụ thể, chúng ta có thể tạo ra hai cột mới: RainToday_0 và RainToday_1, với các giá trị nhị phân tương ứng.
1 Chọn biến RainToday trong bộ dữ liệu.
2 Áp dụng phương pháp BinaryEncoder từ thư viện Category Encoders. Phương pháp này chuyển đổi biến RainToday thành hai cột nhị phân:
+ RainToday_0: Đại diện cho "No" (không có mưa).
+ RainToday_1: Đại diện cho "Yes" (có mưa).
Nếu giá trị của RainToday là "No", thì RainToday_0 sẽ được gán là 1 và RainToday_1 là 0 Ngược lại, nếu RainToday có giá trị "Yes", RainToday_0 sẽ là 0 và RainToday_1 sẽ là 1 Kết quả của quá trình mã hóa này là việc tạo ra hai cột mới, RainToday_0 và RainToday_1, trong bộ dữ liệu, giúp cho việc sử dụng các mô hình học máy yêu cầu đầu vào là các giá trị số trở nên khả thi.
+ Sự thay đổi trong bộ dữ liệu:
+ Ban đầu, biến RainToday có giá trị "Yes" và "No".
+ Sau khi mã hoá, biến này được chuyển thành hai cột mới với các giá trị nhị phân 0 và 1.
+ Nếu RainToday = "No", thì RainToday_0 = 1 và RainToday_1 = 0.
Nếu RainToday bằng "Yes", thì RainToday_0 sẽ là 0 và RainToday_1 sẽ là 1 Sau khi mã hóa, chúng ta tiến hành kiểm tra dữ liệu để xác định xem có giá trị nào bị thiếu hay không Kết quả cho thấy tất cả các giá trị thiếu trong bộ dữ liệu đã được xử lý hoàn toàn, và không còn giá trị thiếu nào trong các cột RainToday_0 và RainToday_1.
Hình 32 : Tạo ra biến phân loại mới RainToday_0 và RainToday_1
Kết luận
Trong bài viết này, chúng ta đã tạo ra các biến mới là Year, Month và Day từ biến Date ban đầu cùng với biến RainToday Việc trích xuất các thành phần này giúp dữ liệu dễ phân tích hơn và hỗ trợ hiệu quả cho việc xây dựng mô hình dự đoán Sau đó, chúng ta đã loại bỏ biến Date ban đầu để tránh dư thừa dữ liệu và kiểm tra lại cấu trúc của tập dữ liệu nhằm đảm bảo tính hợp lý.
NÊU CÁC CÂU HỎI NGHIÊN CỨU VÀ PHÂN TÍCH, THỐNG KÊ, TRỰC QUAN VÀ GIẢI THÍCH Ý NGHĨA CHO TỪNG BIỂU ĐỒ
Câu hỏi nghiên cứu 1
- Thời gian có nắng trong ngày có ảnh hưởng đến khả năng mưa vào ngày hôm sau không?
Để phân tích ảnh hưởng của thời tiết, chúng ta cần tính toán trung bình và độ lệch chuẩn của thời gian có nắng (Sunshine) cho các ngày có mưa và không có mưa vào ngày hôm sau (RainTomorrow) Bên cạnh đó, việc tổng hợp thời gian có nắng cho mỗi nhóm sẽ giúp xác định xem có sự khác biệt rõ ràng giữa hai nhóm này hay không.
+ mean: Trung bình thời gian có nắng cho mỗi nhóm (có mưa và không có mưa vào ngày hôm sau).
+ std: Độ lệch chuẩn của thời gian có nắng trong ngày.
+ sum: Tổng thời gian có nắng trong ngày cho mỗi nhóm.
Dựa trên ba biểu đồ thanh dưới đây, chúng ta có thể quan sát các thông số khác nhau liên quan đến số giờ có nắng (Sunshine) theo biến RainTomorrow Những biểu đồ này không chỉ cung cấp cái nhìn trực quan mà còn giải thích ý nghĩa của từng thông số, giúp người đọc hiểu rõ hơn về mối quan hệ giữa ánh nắng và khả năng mưa trong tương lai.
Hình 34 : Vẽ biểu đồ trực quan - Câu hỏi nghiên cứu 1
+ Trung bình số giờ có nắng (Mean Sunshine)
Biểu đồ đầu tiên minh họa giá trị trung bình số giờ nắng cho hai trạng thái của biến RainTomorrow (Không và Có), với màu sắc được lấy từ bảng màu coolwarm.
Biểu đồ cho thấy rằng khi không có mưa vào ngày mai (RainTomorrow = No), số giờ nắng trung bình cao hơn so với khi có mưa (RainTomorrow = Yes) Điều này hợp lý vì khi có mưa, bầu trời thường mây mù, dẫn đến việc giảm số giờ nắng.
+ Độ lệch chuẩn số giờ có nắng (Standard Deviation of Sunshine)
Biểu đồ thứ hai minh họa độ lệch chuẩn của số giờ nắng cho hai trạng thái của biến RainTomorrow (Không và Có), sử dụng bảng màu viridis để thể hiện thông tin một cách trực quan.
Biểu đồ cho thấy độ lệch chuẩn của số giờ nắng cao hơn khi có khả năng mưa vào ngày mai (RainTomorrow = Yes) so với khi không có mưa (RainTomorrow = No) Điều này chỉ ra rằng số giờ nắng có sự biến đổi lớn hơn trong trường hợp có mưa, có thể do các yếu tố thời tiết không ổn định.
+ Tổng số giờ có nắng (Sum of Sunshine)
Biểu đồ thứ ba cho thấy tổng số giờ có nắng trong hai trạng thái của biến RainTomorrow (Không và Có) Màu sắc được sử dụng từ palette magma Kết quả cho thấy tổng số giờ có nắng khi không có mưa vào ngày mai (RainTomorrow No) cao hơn đáng kể so với khi có mưa (RainTomorrow = Yes) Điều này hợp lý, vì khi có mưa, tổng số giờ nắng sẽ giảm do điều kiện thời tiết không thuận lợi.
Câu hỏi nghiên cứu 2
- Có mối quan hệ nào giữa nhiệt độ và khả năng mưa vào ngày hôm sau?
Hình 35 : Câu hỏi nghiên cứu 2
+ t-statistic cho chúng ta biết mức độ khác biệt giữa hai nhóm.
P-value là một chỉ số quan trọng trong kiểm tra giả thuyết Khi p-value nhỏ hơn mức ý nghĩa 0.05, chúng ta có thể kết luận rằng sự khác biệt giữa hai nhóm là có ý nghĩa thống kê.
T-test cho MinTemp cho thấy t-statistic đạt 31.697, cho thấy sự khác biệt rõ rệt giữa nhiệt độ tối thiểu của các ngày có mưa và không mưa Với p-value chỉ 0.000, điều này chứng tỏ rằng sự khác biệt này có ý nghĩa thống kê, xác nhận rằng nhiệt độ tối thiểu vào những ngày mưa khác biệt đáng kể so với những ngày không mưa.
Kết quả kiểm định T-test cho nhiệt độ tối đa (MaxTemp) cho thấy t-statistic là -60.520, một giá trị cực kỳ lớn và âm, chỉ ra sự khác biệt rõ rệt giữa nhiệt độ tối đa vào các ngày có mưa và không mưa Giá trị p-value là 0.000, nhỏ hơn 0.05, xác nhận rằng sự khác biệt này có ý nghĩa thống kê Như vậy, nhiệt độ tối đa vào các ngày có mưa khác biệt rõ rệt so với các ngày không có mưa.
Kết luận: Nhiệt độ tối thiểu (MinTemp) và tối đa (MaxTemp) cho thấy sự khác biệt rõ rệt giữa các ngày mưa và không mưa Cụ thể, nhiệt độ thường thấp hơn vào những ngày có mưa, cho thấy rằng những ngày này có xu hướng lạnh hơn so với những ngày không có mưa.
Biểu đồ histogram dưới đây minh họa phân phối nhiệt độ tối thiểu (MinTemp) và nhiệt độ tối đa (MaxTemp) liên quan đến biến RainTomorrow (Yes hoặc No) Mỗi biểu đồ cung cấp cái nhìn trực quan và phân tích sâu sắc về sự biến động của nhiệt độ, giúp người đọc hiểu rõ hơn về mối liên hệ giữa nhiệt độ và khả năng xảy ra mưa vào ngày hôm sau.
Hình 36 : Trực quan biểu đồ - Câu hỏi nghiên cứu 2
- Phân phối MinTemp theo RainTomorrow:
Biểu đồ bên trái minh họa sự phân phối nhiệt độ tối thiểu (MinTemp) với hai màu sắc đại diện cho hai trạng thái của biến RainTomorrow (Có và Không) Đường cong KDE (Kernel Density Estimate) được sử dụng để thể hiện mật độ xác suất, trong khi các đường kẻ đứng chỉ ra giá trị trung bình của MinTemp cho từng trạng thái RainTomorrow.
+ Giải thích: Biểu đồ này cho thấy phân phối của nhiệt độ tối thiểu khác nhau giữa hai trạng thái RainTomorrow Từ biểu đồ, ta thấy rằng:
+ Nhiệt độ tối thiểu trung bình khi có mưa ngày mai (RainTomorrow = Yes) thấp hơn so với khi không mưa ngày mai (RainTomorrow = No).
Phân phối nhiệt độ tối thiểu (MinTemp) trong điều kiện không mưa (màu xanh lá cây) cho thấy sự rộng rãi hơn và đỉnh cao hơn, cho thấy nhiệt độ tối thiểu có sự thay đổi trong khoảng rộng hơn và tập trung quanh giá trị cao hơn so với khi có mưa.
- Phân phối MaxTemp theo RainTomorrow:
Biểu đồ bên phải minh họa sự phân phối nhiệt độ tối đa (MaxTemp) với hai màu sắc khác nhau, tương ứng với hai trạng thái của biến RainTomorrow (Có và Không) Các đường cong KDE và các đường kẻ đứng cũng cho thấy giá trị trung bình của MaxTemp cho hai trạng thái này.
+ Giải thích: Biểu đồ này cho thấy phân phối của nhiệt độ tối đa khác nhau giữa hai trạng thái RainTomorrow Từ biểu đồ, ta thấy rằng:
Nhiệt độ tối đa trung bình khi có mưa ngày mai (RainTomorrow = Yes) thấp hơn so với khi không mưa ngày mai (RainTomorrow = No).
Phân phối MaxTemp không mưa (màu đỏ) thể hiện sự rộng rãi hơn và đỉnh cao hơn, cho thấy nhiệt độ tối đa biến đổi trong khoảng rộng hơn và tập trung quanh giá trị cao hơn so với tình trạng có mưa.
Câu hỏi nghiên cứu 3
- Lượng mưa có ảnh hưởng đến nhiệt độ cao nhất và độ ẩm vào cuối ngày không?
Hình 37 : Câu hỏi nghiên cứu 3
Biểu đồ phân tán thể hiện mối quan hệ giữa nhiệt độ cao nhất, lượng mưa và độ ẩm lúc 3 giờ chiều, giúp người xem dễ dàng nhận diện các xu hướng và tương quan giữa các yếu tố khí hậu Phân tích chi tiết biểu đồ này sẽ cung cấp cái nhìn sâu sắc về cách mà nhiệt độ, lượng mưa và độ ẩm tương tác với nhau, từ đó hỗ trợ trong việc dự đoán thời tiết và hiểu rõ hơn về biến đổi khí hậu.
Hình 38 : Biều đồ trực quan - Câu hỏi nghiên cứu 3
+ Trục X (Nhiệt độ cao nhất): Giá trị nhiệt độ cao nhất trong ngày (đơn vị: °C). + Trục Y (Lượng mưa): Lượng mưa trong ngày (đơn vị: mm).
Màu sắc trên biểu đồ phản ánh giá trị độ ẩm lúc 3 giờ chiều, với bảng màu viridis được áp dụng Các điểm có giá trị thấp nhất được biểu thị bằng màu tím, trong khi các giá trị cao nhất được thể hiện bằng màu vàng.
Kích thước các điểm trên biểu đồ phản ánh giá trị độ ẩm lúc 3 giờ chiều, với các điểm có độ ẩm cao hơn được thể hiện bằng kích thước lớn hơn.
Mối quan hệ giữa nhiệt độ cao nhất và lượng mưa không có sự phân bố rõ ràng hay mẫu mực cụ thể, cho thấy rằng không tồn tại mối liên hệ tuyến tính giữa hai yếu tố này Lượng mưa có thể xảy ra ở nhiều mức nhiệt độ khác nhau, điều này cho thấy sự phức tạp trong tương tác giữa khí hậu và lượng mưa.
Độ ẩm vào lúc 3 giờ chiều có sự phân bố đa dạng với các điểm màu vàng biểu thị độ ẩm cao và điểm màu tím thể hiện độ ẩm thấp Điều này cho thấy độ ẩm có thể thay đổi đáng kể ở mọi mức nhiệt độ Tuy nhiên, độ ẩm có xu hướng giảm dần khi nhiệt độ tăng, điều này có thể do không khí nóng thường giữ độ ẩm ở mức thấp hơn.
Kích thước các điểm trên biểu đồ thể hiện độ ẩm lúc 3 giờ chiều, với các điểm lớn hơn biểu thị độ ẩm cao và các điểm nhỏ hơn thể hiện độ ẩm thấp Sự phân bố của các điểm này tương tự như sự phân bố màu sắc trên biểu đồ.
Câu hỏi nghiên cứu 4
- Áp suất khí quyển có ảnh hưởng đến nhiệt độ và độ ẩm vào buổi sáng không?
Phân tích thống kê cho thấy mối quan hệ giữa lượng mưa, nhiệt độ tối đa (MaxTemp) và độ ẩm (Humidity3pm) vào cuối ngày Nghiên cứu này nhằm xác định xem mưa có ảnh hưởng đến việc giảm nhiệt độ và thay đổi độ ẩm hay không Kết quả sẽ giúp hiểu rõ hơn về tác động của thời tiết đến các yếu tố khí hậu này.
Hình 39 : Câu hỏi nghiên cứu 4
Biểu đồ nhiệt (heatmap) thể hiện ma trận tương quan giữa nhiệt độ, áp suất và độ ẩm vào lúc 9 giờ sáng, giúp người đọc dễ dàng nhận biết mối quan hệ giữa các yếu tố khí tượng này Sự trực quan hóa này không chỉ làm nổi bật các tương quan mạnh mà còn cung cấp cái nhìn sâu sắc về cách thức các yếu tố khí hậu tương tác với nhau trong thời điểm cụ thể Việc phân tích biểu đồ sẽ hỗ trợ trong việc dự đoán các điều kiện thời tiết và hiểu rõ hơn về ảnh hưởng của chúng đến môi trường sống.
Hình 40 : Trực quan biểu đồ - Câu hỏi nghiên cứu 4
+ Ma trận tương quan: Biểu đồ nhiệt hiển thị ma trận tương quan giữa ba biến Temp9am, Pressure9am, và Humidity9am.
Bảng màu coolwarm được sử dụng để thể hiện các giá trị tương quan, trong đó màu đỏ chỉ ra tương quan dương (giá trị lớn hơn 0) và màu xanh biểu thị tương quan âm (giá trị nhỏ hơn 0), trong khi màu trắng đại diện cho giá trị tương quan gần bằng 0 Các giá trị tương quan được hiển thị trong các ô của ma trận, với khoảng giá trị từ -1 đến 1.
Mối tương quan trong thống kê được biểu thị bằng các giá trị từ -1 đến 1 Giá trị +1 cho thấy mối tương quan hoàn hảo dương, nghĩa là cả hai biến đều tăng cùng nhau Ngược lại, giá trị -1 biểu thị mối tương quan hoàn hảo âm, trong đó một biến tăng thì biến kia giảm Cuối cùng, giá trị 0 cho thấy không có mối tương quan tuyến tính giữa hai biến.
+ Nhiệt độ lúc 9 giờ sáng (Temp9am) và Áp suất lúc 9 giờ sáng (Pressure9am):
Giá trị tương quan giữa Temp9am và Pressure9am cho thấy mức độ liên kết giữa hai biến này Khi giá trị tương quan gần 1, có mối tương quan dương mạnh; nếu gần -1, mối tương quan âm mạnh; và nếu gần 0, không có mối tương quan tuyến tính.
Giá trị tương quan giữa Nhiệt độ lúc 9 giờ sáng (Temp9am) và Độ ẩm lúc 9 giờ sáng (Humidity9am) phản ánh mức độ liên kết giữa hai yếu tố này Một giá trị tương quan gần 1 cho thấy mối quan hệ dương mạnh, trong khi giá trị gần -1 chỉ ra mối quan hệ âm mạnh Nếu giá trị gần 0, điều này có nghĩa là không có mối tương quan tuyến tính giữa nhiệt độ và độ ẩm.
Áp suất lúc 9 giờ sáng (Pressure9am) và độ ẩm lúc 9 giờ sáng (Humidity9am) có mối tương quan chặt chẽ, cho thấy sự liên hệ giữa hai yếu tố này Giá trị tương quan giữa Pressure9am và Humidity9am phản ánh mức độ ảnh hưởng của áp suất đến độ ẩm trong không khí.
Câu hỏi nghiên cứu 5
- Mối quan hệ giữa nhiệt độ (Temp), độ ẩm (Humidity) và lượng mưa (Rainfall) ảnh hưởng như thế nào đến khả năng dự báo mưa cho ngày hôm sau
Hình 41 : Câu hỏi nghiên cứu 5
Biểu đồ hình tròn minh họa tỷ lệ phần trăm ảnh hưởng của ba yếu tố chính: Nhiệt độ, Độ ẩm và Lượng mưa đối với khả năng dự báo mưa Nội dung này cung cấp cái nhìn trực quan và giải thích chi tiết về mối quan hệ giữa các yếu tố này trong việc dự đoán thời tiết.
Hình 42 : Biểu đồ trực quan - Câu hỏi nghiên cứu 5
Biểu đồ hình tròn là công cụ hữu ích để thể hiện tỷ lệ phần trăm của các yếu tố như nhiệt độ, độ ẩm và lượng mưa so với tổng ảnh hưởng.
Trong biểu đồ, ba màu sắc khác nhau được sử dụng để phân biệt các yếu tố: màu xanh da trời cho nhiệt độ (Temp), màu xanh lá cây nhạt cho độ ẩm (Humidity), và màu đỏ san hô nhạt cho lượng mưa (Rainfall) Các tỷ lệ phần trăm của mỗi yếu tố được hiển thị trên các lát của biểu đồ, giúp người xem dễ dàng nhận biết mức độ ảnh hưởng của từng yếu tố.
Biểu đồ nhiệt độ (Temp) thể hiện tỷ lệ phần trăm ảnh hưởng của nhiệt độ đến khả năng dự báo mưa Giá trị percent_temp xác định kích thước của phần biểu đồ này.
Độ ẩm (Humidity) là yếu tố quan trọng trong việc dự báo mưa, với biểu đồ thể hiện tỷ lệ phần trăm ảnh hưởng của độ ẩm Giá trị percent_humidity quyết định kích thước của phần biểu đồ này, giúp người xem dễ dàng nhận biết mối liên hệ giữa độ ẩm và khả năng mưa.
Lượng mưa có ảnh hưởng đáng kể đến khả năng dự báo mưa, được thể hiện qua biểu đồ với tỷ lệ phần trăm cụ thể Giá trị percent_rainfall quyết định kích thước của phần biểu thị này trong biểu đồ, cho thấy mối liên hệ giữa lượng mưa và độ chính xác trong dự báo thời tiết.
Biểu đồ hình tròn cho thấy tỷ lệ ảnh hưởng của các yếu tố như nhiệt độ, độ ẩm và lượng mưa đến khả năng dự báo mưa Mỗi lát cắt trong biểu đồ đại diện cho mức độ ảnh hưởng của từng yếu tố, giúp chúng ta nhận thức rõ hơn về tầm quan trọng của chúng trong dự báo mưa Nhờ vào biểu đồ này, chúng ta có thể dễ dàng xác định yếu tố nào có ảnh hưởng lớn nhất và yếu tố nào có ảnh hưởng ít nhất đến khả năng dự báo mưa.
Câu hỏi nghiên cứu 6
- Câu hỏi: Liệu nhiệt độ tối thiểu trong ngày có ảnh hưởng đến lượng mưa trong cùng ngày không?
- Cách tiếp cận: Tính trung bình của MinTemp và Rainfall theo RainToday
Hình 43 : Câu hỏi nghiên cứu 6
T-statistic và p-value là hai chỉ số quan trọng giúp xác định sự khác biệt có ý nghĩa thống kê giữa các nhóm có mưa và không có mưa Nghiên cứu này tập trung vào các ngày có nhiệt độ tối thiểu khác nhau để phân tích ảnh hưởng của mưa đến các nhóm này.
+ Phân tích biểu đồ phân phối MinTemp và Rainfall theo RainToday
Biểu đồ này cho phép chúng ta so sánh sự phân bố của nhiệt độ tối thiểu (MinTemp) và lượng mưa (Rainfall) giữa các ngày có mưa (RainToday = Yes) và không có mưa (RainToday = No).
Trong những ngày không mưa, đường cong phân phối nhiệt độ có hình dạng gần giống chuông, chủ yếu tập trung trong khoảng từ 10°C đến 20°C Điều này cho thấy nhiệt độ tối thiểu trong những ngày này thường dao động trong một khoảng hẹp và ổn định.
Ngày có mưa thường có nhiệt độ tối thiểu thấp hơn so với ngày không mưa, với đường cong phân phối dịch chuyển sang bên trái Tuy nhiên, sự phân tán dữ liệu trong những ngày có mưa khá lớn, cho thấy nhiệt độ tối thiểu có thể biến động đáng kể.
Đường kẻ sọc đứng thể hiện giá trị trung bình của MinTemp cho từng nhóm ngày có mưa và không mưa Sự xuất hiện của đường kẻ sọc cho ngày mưa nằm bên trái ngày không mưa một lần nữa khẳng định rằng nhiệt độ tối thiểu thường thấp hơn trong những ngày có mưa.
Trong những ngày không mưa, đường cong phân phối lượng mưa chủ yếu tập trung ở giá trị 0mm, với một số ít điểm dữ liệu ghi nhận lượng mưa rất nhỏ Điều này hoàn toàn hợp lý, bởi trong những ngày này, lượng mưa gần như không có.
Trong những ngày có mưa, đường cong phân phối lượng mưa cho thấy sự trải rộng hơn, với đỉnh cao khoảng 0.5mm và kéo dài đến 2mm Điều này chỉ ra rằng lượng mưa trong những ngày này thường khá nhỏ, chủ yếu tập trung dưới 2mm.
Mối quan hệ giữa nhiệt độ và mưa cho thấy rằng nhiệt độ tối thiểu thường thấp hơn vào những ngày mưa do ảnh hưởng của mây che phủ, độ ẩm cao và các quá trình làm mát khác Đặc biệt, trong tập dữ liệu này, hầu hết các ngày mưa đều ghi nhận lượng mưa nhỏ, với chỉ một số ít ngày có lượng mưa lớn hơn.
Câu hỏi nghiên cứu 7
- Câu hỏi: Tốc độ gió có liên quan đến độ ẩm trong không khí vào buổi sáng và chiều không?
- Cách tiếp cận: Tính trung bình của WindSpeed9am, WindSpeed3pm, và Humidity9am, Humidity3pm theo từng thời điểm
Hình 44 : Câu hỏi nghiên cứu 7
- Phân tích biểu đồ phân phối Rainfall theo RainTomorrow
● Phân loại: Dữ liệu được chia thành hai nhóm chính dựa trên biến
○ 0: Không mưa vào ngày hôm sau
○ 1: Có mưa vào ngày hôm sau
○ Ngày không mưa (RainTomorrow = 0): Phần lớn các ngày không mưa có lượng mưa bằng 0mm Một số ít ngày có lượng mưa rất nhỏ, dưới 0.5mm.
○ Ngày có mưa (RainTomorrow = 1): Lượng mưa phân bố rộng hơn, tập trung chủ yếu ở khoảng 0 - 0.5mm và có một số ngày có lượng mưa lớn hơn.
Mối quan hệ giữa lượng mưa hôm nay và khả năng mưa vào ngày mai rất rõ ràng Khi lượng mưa hôm nay bằng 0, khả năng không có mưa vào ngày mai là rất cao Tuy nhiên, việc có mưa hôm nay không đảm bảo rằng sẽ có mưa vào ngày mai, và điều này cũng đúng với trường hợp ngược lại.
Lượng mưa trong khu vực này thường thấp, đặc biệt trong những ngày không có mưa Ngay cả khi trời mưa, lượng mưa cũng thường chỉ đạt mức tối thiểu.
Câu hỏi nghiên cứu 8
- Câu hỏi: Nhiệt độ tối đa trong ngày có liên quan đến độ che phủ mây vào buổi sáng và chiều không?
- Cách tiếp cận: Tính trung bình của MaxTemp và Cloud9am, Cloud3pm.
Hình 45 : Câu hỏi nghiên cứu 8
Hình 46 : Trực quan biểu đồ - Câu hỏi nghiên cứu 8
- Phân tích biểu đồ so sánh WindSpeed9am và Pressure9am theo RainTomorrow
Biểu đồ hộp (box plot) cho thấy sự khác biệt rõ rệt giữa tốc độ gió lúc 9 giờ sáng (WindSpeed9am) và áp suất khí quyển lúc 9 giờ sáng (Pressure9am) trong các ngày có mưa (RainTomorrow = 1) so với những ngày không có mưa (RainTomorrow = 0) vào ngày hôm sau.
Tốc độ gió trung bình trong những ngày có mưa thường cao hơn so với những ngày không có mưa, cho thấy rằng gió thường mạnh hơn trước khi trời mưa.
Dữ liệu về tốc độ gió cho thấy sự phân tán lớn trong cả hai nhóm, cho thấy rằng tốc độ gió có thể biến đổi đáng kể ngay cả trong cùng một điều kiện thời tiết, bao gồm cả khi có mưa hoặc không mưa.
Trong một số ngày có mưa, đã ghi nhận tốc độ gió rất cao, thể hiện qua các điểm nằm ngoài râu của biểu đồ hộp Điều này cho thấy có những trường hợp ngoại lệ với tốc độ gió mạnh trước khi xảy ra mưa.
Áp suất khí quyển trung bình trong những ngày mưa thường thấp hơn so với những ngày không mưa, điều này phù hợp với kiến thức khí tượng học Sự giảm áp suất khí quyển thường liên quan đến các hệ thống thời tiết ẩm ướt, có khả năng gây ra mưa.
● Phân tán dữ liệu: Giống như tốc độ gió, áp suất khí quyển cũng có sự phân tán khá lớn trong cả hai nhóm.
Cả hai nhóm đều ghi nhận một số giá trị ngoại lệ về áp suất khí quyển, cho thấy sự tồn tại của những trường hợp đặc biệt không tuân theo xu hướng chung.
Tốc độ gió có ảnh hưởng đáng kể đến khả năng mưa vào ngày hôm sau; cụ thể, khi tốc độ gió cao, khả năng xuất hiện mưa lớn cũng tăng lên.
Áp suất khí quyển thấp thường báo hiệu khả năng xuất hiện mưa, điều này phù hợp với các nguyên tắc cơ bản của khí tượng học.
Câu hỏi nghiên cứu 9
- Câu hỏi: Áp suất khí quyển vào buổi sáng có ảnh hưởng đến khả năng mưa vào ngày hôm sau?
- Cách tiếp cận: Kiểm tra sự khác biệt của Pressure9am giữa các nhóm RainTomorrow.
Hình 47 : Câu hỏi nghiên cứu 9
- Giải thích về ma trận tương quan:
Nghiên cứu về mối liên hệ giữa nhiệt độ tối đa và lượng mưa cho thấy một hệ số tương quan âm nhỏ, cụ thể là -0.252 Điều này chỉ ra rằng nhiệt độ cao hơn có thể có một mối quan hệ yếu với lượng mưa.
Mối quan hệ giữa lượng mưa và độ ẩm vào buổi chiều được thể hiện qua hệ số tương quan dương nhỏ (0.405), cho thấy rằng lượng mưa có thể có ảnh hưởng yếu đến trung bình đến độ ẩm Ngược lại, mối quan hệ giữa nhiệt độ tối đa và độ ẩm vào chiều lại được chỉ ra qua hệ số tương quan âm (-0.500), cho thấy sự tương tác nghịch giữa hai yếu tố này.
Hình 48 : Biểu đồ trực quan - Câu hỏi nghiên cứu 9
- Giải thích về biểu đồ:
+ Trục X (MaxTemp): Đại diện cho nhiệt độ tối đa trong ngày.
+ Trục Y (Rainfall): Đại diện cho lượng mưa trong ngày.
Màu sắc trong biểu đồ thể hiện độ ẩm vào buổi chiều (Humidity3pm), với mỗi giá trị độ ẩm được ánh xạ thành màu sắc khác nhau dựa trên bảng màu viridis.
Kích thước của các điểm thay đổi tương ứng với giá trị độ ẩm vào lúc 3 giờ chiều Cụ thể, những điểm có độ ẩm cao sẽ có kích thước lớn hơn, cho thấy mối liên hệ giữa độ ẩm và kích thước điểm.
Hệ số tương quan giữa nhiệt độ tối đa (MaxTemp) và lượng mưa (Rainfall) là -0.252, cho thấy mối quan hệ giữa hai yếu tố này là yếu Mặc dù vậy, sự tương quan nghịch giữa nhiệt độ và độ ẩm có thể đóng vai trò quan trọng, vì độ ẩm cao thường liên quan đến lượng mưa nhiều hơn.
Biểu đồ phân tán là công cụ hữu ích để hiển thị mối quan hệ giữa các yếu tố, trong đó các điểm được phân loại bằng màu sắc khác nhau để thể hiện mức độ độ ẩm khác nhau.
Dựa trên những phân tích này, bạn có thể xác định xem lượng mưa có thể được dự đoán từ nhiệt độ tối đa và độ ẩm vào buổi chiều hay không, đồng thời nhận diện các yếu tố ảnh hưởng đến lượng mưa trong ngày.
Câu hỏi nghiên cứu 10
- Có sự thay đổi nào về lượng mưa khi tốc độ gió tăng lên không?
Hình 49 : Câu hỏi nghiên cứu 10
- Phân tích biểu đồ: Tốc độ gió và Lượng mưa
Biểu đồ phân tán minh họa mối liên hệ giữa tốc độ gió (WindGustSpeed) và lượng mưa (Rainfall), trong đó mỗi điểm trên biểu đồ đại diện cho một lần đo cụ thể Trục hoành thể hiện tốc độ gió, trong khi trục tung phản ánh lượng mưa tương ứng Màu sắc của các điểm trên biểu đồ được sử dụng để biểu thị cường độ lượng mưa, với màu tím tương ứng với lượng mưa thấp và màu vàng cho lượng mưa cao.
Trong phân tích dữ liệu, không có mối liên hệ tuyến tính rõ ràng giữa tốc độ gió và lượng mưa Các điểm dữ liệu phân bố ngẫu nhiên trên biểu đồ, không cho thấy xu hướng tăng hoặc giảm rõ rệt của lượng mưa khi tốc độ gió thay đổi Điều này chỉ ra rằng, trong tập dữ liệu này, tốc độ gió không phải là yếu tố quyết định trực tiếp đến lượng mưa.
Trên biểu đồ, sự phân bố cụm điểm cho thấy một số vùng tập trung nhất định, điều này chỉ ra rằng có thể tồn tại các yếu tố khác không được thể hiện trên biểu đồ, ảnh hưởng đến cả tốc độ gió và lượng mưa, từ đó dẫn đến sự hình thành các cụm này.
Phần lớn các sự kiện thời tiết ghi nhận lượng mưa thấp, với hầu hết các điểm dữ liệu tập trung ở phía dưới của biểu đồ Điều này cho thấy rằng trong phần lớn thời gian, lượng mưa thường ở mức thấp hoặc thậm chí không có mưa.
Một số sự kiện ghi nhận lượng mưa cao đã được xác định, với một số điểm dữ liệu nằm ở phần trên của biểu đồ, cho thấy có những thời điểm lượng mưa đạt mức đáng kể.
XÂY DỰNG CÁC MÔ HÌNH VÀ ĐÁNH GIÁ ĐỘ CHÍNH XÁC, GIẢI THÍCH Ý NGHĨA CỦA MÔ HÌNH, DỰ BÁO
Mô hình Logistic Regression
Hồi quy Logistic, hay mô hình logit, là một phương pháp phân tích thống kê phù hợp cho các biến phụ thuộc nhị phân Phương pháp này được sử dụng khi biến phụ thuộc có giới hạn, thuộc loại mô hình biến phụ thuộc bị giới hạn.
Hình 50 : Mô hình Logistic Regression
+ Khởi Tạo Mô Hình: Mô hình Logistic Regression được khởi tạo với giá trị tham số C0, sử dụng solver liblinear và random_state=0 để đảm bảo tính tái lập.
Hình 51 : Khởi tạo mô hình Logistic Regression
+ Huấn Luyện Mô Hình: Dữ liệu huấn luyện X_train và y_train được sử dụng để huấn luyện mô hình Logistic Regression.
Mô hình Logistic Regression đã được huấn luyện và lưu trữ vào file logistic_regression_model.joblib, cho phép người dùng dễ dàng tải lại khi cần thiết.
Hình 53: Lưu và tải mô hình Logistic Regression Sau khi tải lại mô hình Logistic Regression, nó được sử dụng để dự đoán trên bộ dữ liệu kiểm tra X_test.
+ Kết Quả Dự Đoán: Kết quả dự đoán được in ra màn hình
- Đánh Giá Độ Chính Xác:
Hình 54 : Cross-validated ROC AUC Logistic Regression
Kết quả đánh giá độ chính xác của mô hình bằng phương pháp cross-validation với ROC AUC:
+ Báo Cáo Phân Loại:Báo cáo phân loại cho thấy các giá trị precision, recall, f1-score và support cho từng lớp:
Hình 55 : Báo cáo phân loại mô hình Logistic Regression
Mô hình Logistic Regression có độ chính xác (accuracy) đạt 84%, với precision và recall lần lượt là 0.87 và 0.94 cho lớp 0, và 0.72 và 0.50 cho lớp 1.
Mô hình Logistic Regression được áp dụng để phân loại hai lớp với giá trị ROC AUC đạt 0.8727, cho thấy khả năng phân biệt giữa hai lớp tốt Độ chính xác cao cùng với các chỉ số precision và recall khẳng định hiệu quả của mô hình trong việc dự đoán.
Mô hình Logistic Regression, sau khi được huấn luyện và đánh giá, đã được áp dụng để dự đoán các giá trị mới Kết quả cho thấy mô hình này có khả năng phân loại hiệu quả với độ chính xác đạt 84%.
Hình 56 : Thời gian training mô hình Logistic Regression
Ma trận nhầm lẫn dưới đây minh họa kết quả phân loại của mô hình Logistic Regression trong phân tích dữ liệu thời tiết tại Australia Ma trận nhầm lẫn (confusion matrix) bao gồm các giá trị quan trọng thể hiện độ chính xác và hiệu suất của mô hình trong việc dự đoán các tình huống thời tiết.
+ True Positive (TP): Số lượng mẫu được dự đoán đúng là "Yes" (3162)
+ True Negative (TN): Số lượng mẫu được dự đoán đúng là "No" (20595) + False Positive (FP): Số lượng mẫu thực tế là "No" nhưng bị dự đoán sai là
+ False Negative (FN): Số lượng mẫu thực tế là "Yes" nhưng bị dự đoán sai là
Hình 57 : Ma trận nhầm lẫn mô hình Logistic Regression
+ Mô hình Logistic Regression có độ chính xác khá cao (85%), nhưng Recall thấp (50%), cho thấy mô hình có xu hướng bỏ sót nhiều trường hợp "Yes"
+ Precision của mô hình ở mức trung bình (72%), nghĩa là mô hình có khả năng dự đoán đúng các trường hợp "Yes" không quá tốt
+ F1-Score (0.59) cũng cho thấy mô hình cần cải thiện để cân bằng giữaPrecision và Recall.
Hình 58 : ROC Curve mô hình Logistic Regression
Hình 59 : Đánh giá hiệu suất mô hình Logistic Regression
Mô hình Random Forest
Random Forests is a supervised learning algorithm that can be utilized for both classification and regression tasks It is known for its flexibility and ease of use, making it one of the most accessible algorithms in machine learning.
- Thuật toán hoạt động như sau:
1 Chọn các mẫu ngẫu nhiên từ tập dữ liệu đã cho.
2 Thiết lập cây quyết định cho từng mẫu và nhận kết quả dự đoán từ mỗi quyết định cây
3 Hãy bỏ phiếu cho mỗi kết quả dự đoán
4 Chọn kết quả được dự đoán nhiều nhất là dự đoán cuối cùng.
Mô hình Random Forest được đánh giá cao nhờ vào độ chính xác và sức mạnh của nó, nhờ vào số lượng cây quyết định tham gia Phương pháp này không gặp phải vấn đề overfitting, vì nó tính toán trung bình của tất cả các dự đoán, giúp loại bỏ những thành kiến Trong phân tích dữ liệu thời tiết tại Australia, ma trận nhầm lẫn của mô hình Random Forest đã chỉ ra những kết quả quan trọng và cung cấp cái nhìn sâu sắc về hiệu suất của mô hình.
1 Khả năng phân loại của mô hình: Ma trận nhầm lẫn cho thấy mô hình Random Forest có khả năng phân loại tốt với một độ chính xác tổng thể cao (85.4%). Điều này cho thấy mô hình này có khả năng dự đoán đúng hầu hết các mẫu thời tiết.
2 Hiệu suất đối với từng lớp:
Lớp 0 (Không có hiện tượng thời tiết xấu): Mô hình dự đoán rất tốt cho lớp này với số lượng True Negative (20935) lớn và số lượng False Positive (878) nhỏ Điều này cho thấy mô hình hiếm khi dự đoán sai các mẫu thuộc lớp 0 là lớp 1.
Lớp 1 (Có hiện tượng thời tiết xấu): Mô hình dự đoán không tốt bằng cho lớp này, với số lượng False Negative (3235) lớn hơn so với số lượng True Positive (3110). Điều này chứng tỏ mô hình còn nhiều trường hợp không nhận diện đúng các mẫu thời tiết xấu.
Độ chính xác của mô hình cao (78.0%) cho lớp 1 cho thấy khi dự đoán thời tiết xấu, khả năng dự đoán đúng rất cao Điều này cho thấy mô hình hiếm khi nhầm lẫn thời tiết tốt với thời tiết xấu.
Mô hình lớp 1 có tỷ lệ recall thấp (49.0%), cho thấy khả năng bỏ sót nhiều mẫu thời tiết xấu, dẫn đến việc không nhận diện chính xác các hiện tượng này Điều này đặt ra một vấn đề nghiêm trọng trong các ứng dụng thực tế, nơi mà việc nhận diện chính xác thời tiết xấu là vô cùng quan trọng.
4 Khả năng cải thiện mô hình: Kết quả này gợi ý rằng cần có các biện pháp cải thiện mô hình, như tối ưu hóa tham số, sử dụng các kỹ thuật tiền xử lý dữ liệu tốt hơn,hoặc kết hợp với các mô hình khác để nâng cao hiệu suất dự đoán các hiện tượng thời tiết xấu.
Hình 61 : Ma trận nhầm lẫn mô hình Random Forest
- Dựa trên biểu đồ các chỉ số hiệu suất của mô hình Random Forest dưới đây, ta có thể rút ra các nhận xét sau:
1 Accuracy (Độ chính xác): Accuracy = 0.85 (85%): Điều này cho thấy rằng mô hình dự đoán đúng 85% tổng số trường hợp Đây là một kết quả khá tốt, cho thấy mô hình hoạt động hiệu quả trên toàn bộ tập dữ liệu
2 Precision (Độ chính xác khi dự đoán có hiện tượng thời tiết xấu): Precision 0.85 (85%): Mô hình đạt được độ chính xác 85% khi dự đoán các trường hợp có hiện tượng thời tiết xấu Nghĩa là, trong số các dự đoán là thời tiết xấu, 85% là chính xác.
3 Recall (Khả năng phát hiện hiện tượng thời tiết xấu): Recall = 0.72 (72%):
Mô hình nhận diện thời tiết xấu đạt tỷ lệ chính xác 72%, cho thấy vẫn còn 28% trường hợp thời tiết xấu chưa được phát hiện.
4 F1-Score (Chỉ số hài hòa giữa Precision và Recall): F1-Score = 0.76 (76%): Chỉ số này là sự kết hợp của Precision và Recall, cung cấp một cái nhìn cân bằng hơn về hiệu suất của mô hình Với F1-Score đạt 76%, mô hình Random Forest có khả năng khá tốt trong việc phân loại chính xác và phát hiện các trường hợp thời tiết xấu.
Hình 62 : Đánh giá hiệu suất mô hình Random Forest
Biểu đồ ROC (Receiver Operating Characteristic) là công cụ trực quan quan trọng để đánh giá hiệu suất của mô hình phân loại Biểu đồ này giúp người dùng nhận diện mối quan hệ giữa tỷ lệ dương tính thực và tỷ lệ âm tính giả, từ đó đánh giá chất lượng của mô hình.
1 True Positive Rate (TPR) hay Sensitivity (Trục Y): Đây là tỷ lệ các trường hợp dương tính thực sự được mô hình dự đoán chính xác.
2 False Positive Rate (FPR) (Trục X): Đây là tỷ lệ các trường hợp âm tính thực sự bị mô hình dự đoán sai thành dương tính.
3 Đường cong ROC: Đường cong ROC thể hiện mối quan hệ giữa TPR và FPR ở các ngưỡng khác nhau.
Một mô hình hoàn hảo sẽ có đường ROC đi qua điểm (0, 1), thể hiện rằng tỷ lệ dương tính thật (TPR) đạt giá trị 1 và tỷ lệ âm tính giả (FPR) bằng 0 Điều này có nghĩa là không có trường hợp âm tính nào bị dự đoán sai thành dương tính và tất cả các trường hợp dương tính đều được dự đoán chính xác.
4 Diện tích dưới đường cong (AUC - Area Under the Curve):
AUC = 0.89: Diện tích dưới đường cong ROC của mô hình Random Forest là 0.89 AUC là một chỉ số quan trọng để đánh giá hiệu suất của mô hình.
Với AUC = 0.89, mô hình Random Forest của bạn hoạt động rất tốt AUC gần bằng 1 chứng tỏ mô hình có khả năng phân biệt giữa các lớp rất tốt.
Mô hình Random Forest đạt hiệu suất tổng quát cao với AUC = 0.89, cho thấy khả năng dự đoán chính xác các hiện tượng thời tiết, đặc biệt là trong việc phân biệt giữa các ngày có và không có mưa.
Mô hình KNN (K-Nearest Neighbors)
Thuật toán K-Nearest Neighbors (KNN) là một phương pháp học máy có giám sát, hiệu quả trong việc giải quyết các vấn đề phân loại và thu hồi quy Được phát triển bởi Evelyn Fix và Joseph Hodges vào năm 1951, KNN đã được Thomas Cover mở rộng, mang lại nhiều ứng dụng trong thực tiễn Bài viết này sẽ khám phá các nguyên tắc cơ bản, cách thức hoạt động và sự phát triển của kỹ thuật KNN.
Thuật toán K-Nearest Neighbors (KNN) dự đoán nhãn hoặc giá trị cho một điểm dữ liệu mới bằng cách phân tích các nhãn hoặc giá trị của K láng giềng gần nhất trong tập dữ liệu đào tạo.
1 Chọn mức độ ưu tiên giá trị của K: K biểu thị số lượng hàng xóm gần nhất cần được xem xét khi đưa ra dự đoán.
2 Tính khoảng cách: Để đo lường tương quan giữa tiêu điểm dữ liệu và tạo dữ liệu, khoảng cách Euclidean được sử dụng Khoảng cách được tính toán giữa mỗi dữ liệu trong dữ liệu và tiêu điểm.
3 Tìm hàng xóm gần nhất: K điểm dữ liệu có khoảng cách nhỏ nhất đến điểm tiêu điểm là những điểm lân cận gần nhất.
4 Bỏ phiếu cho Phân loại hoặc Lấy Trung bình cho Hồi quy:
Trong bài toán phân loại, nhãn lớp K - gần nhất được xác định thông qua phương pháp bỏ phiếu đa số Lớp có số lần xuất hiện nhiều nhất trong số các xóm sẽ được chọn làm lớp dự đoán cho điểm dữ liệu tiêu chuẩn.
Trong bài toán phục hồi, nhãn lớp được xác định bằng cách tính giá trị trung bình của các mục tiêu giá trị từ K lân cận gần nhất Giá trị trung bình này sẽ trở thành đầu ra dự kiến cho tiêu điểm dữ liệu.
- Dưới đây là ma trận nhầm lẫn: Dựa trên ma trận nhầm lẫn của mô hình KNN ta có:
Bảng 2 : Ma trận nhầm lẫn của mô hình KNN
Actual\Predicted 0 (Không mưa) 1 (Có mưa) Tổng
Mô hình KNN đạt độ chính xác tổng thể 80.25%, cho thấy hiệu quả trong việc phân loại các ngày không mưa Số lượng dự đoán đúng cho lớp Không mưa lên tới 20,248, điều này củng cố khả năng dự đoán chính xác cho những ngày tiếp theo không có mưa.
Trong nghiên cứu, có tới 4,026 mẫu thuộc lớp "Có mưa" bị dự đoán nhầm sang lớp "Không mưa", dẫn đến chỉ số Recall cho lớp "Có mưa" chỉ đạt 36.57% Kết quả này rất thấp và có thể gây hậu quả nghiêm trọng trong thực tế, do nhiều ngày mưa không được dự báo chính xác.
Độ chính xác thấp (59.71%) cho lớp Có mưa cho thấy mô hình thường dự đoán sai, chuyển ngày không mưa thành có mưa Điều này dẫn đến việc lãng phí tài nguyên thiên nhiên và chuẩn bị không cần thiết.
Trong dự báo thời tiết, việc bỏ sót những ngày mưa dẫn đến FN cao và Recall thấp sẽ gây ra thiếu sót trong các biện pháp phòng ngừa kịp thời, như chuẩn bị dụng cụ che chắn và cảnh báo người dân Do đó, cần cải thiện đáng kể độ nhạy (Recall) của lớp 1 trong bài toán dự báo mưa để đảm bảo an toàn cho cộng đồng.
Hình 65 : Ma trận nhầm lẫn mô hình KNN
- Dựa trên biểu đồ biểu diễn các chỉ số hiệu suất của mô hình KNN dưới đây, ta có thể đưa ra một số nhận xét như sau:
Mô hình đạt được độ chính xác tổng thể 80%, một kết quả khả quan, đặc biệt khi các lớp dữ liệu không quá mất cân bằng Tuy nhiên, chỉ số này không phản ánh đầy đủ hiệu suất nếu bài toán yêu cầu ưu tiên cho một lớp cụ thể, chẳng hạn như lớp mưa.
Độ chính xác của mô hình đạt 80%, có nghĩa là khi dự đoán ngày mưa (lớp 1), có 80% khả năng dự đoán đó là chính xác Độ chính xác cao cho thấy mô hình giảm thiểu tình trạng "báo động giả" (False Positive), tức là dự đoán sai ngày mưa khi thực tế không có mưa Điều này rất quan trọng trong việc tiết kiệm tài nguyên, đặc biệt là khi chuẩn bị cho những ngày không mưa.
Mô hình hiện tại chỉ đạt Recall 65%, cho thấy nó chỉ phát hiện được 65% số ngày thực sự có mưa, dẫn đến việc bỏ sót một lượng lớn "ngày mưa thực sự" (False Negative) Trong dự báo thời tiết, việc không phát hiện được ngày mưa có thể gây ra những thiệt hại lớn, đặc biệt là trong nông nghiệp và giao thông Do đó, mức Recall này là một hạn chế đáng kể của mô hình.
F1-Score đạt 67% cho thấy mô hình có hiệu suất trung bình trong việc dự đoán ngày mưa, thể hiện sự cân bằng giữa Precision và Recall Mặc dù kết quả này là một dấu hiệu tích cực, vẫn còn cơ hội để cải thiện hiệu quả dự đoán trong tương lai.
Hình 66 : Các chỉ số hiệu suất mô hình KNN
+ Hiệu suất mô hình ở mức tạm chấp nhận được, đặc biệt trong việc hạn chế các dự đoán nhầm (Precision = 80%) cho lớp "Có mưa"
+ Tuy nhiên, việc bỏ sót các trường hợp lớp 1 (Có mưa) (Recall = 65%) có thể dẫn đến những vấn đề nghiêm trọng trong các ứng dụng thực tế
Mô hình KNN hiện tại chưa tối ưu hoàn toàn cho bài toán dự đoán mưa, thể hiện qua sự mất cân bằng giữa Precision và Recall Đặc biệt, lớp "Có mưa" cần được ưu tiên phát hiện một cách chính xác hơn để cải thiện hiệu quả dự đoán.
- Biểu đồ ROC dưới đây thể hiện:
Đường ROC nằm trên đường chéo (đường màu xám), cho thấy mô hình KNN hiệu quả hơn so với mô hình ngẫu nhiên Hình dạng cong lên của ROC phản ánh sự cân bằng tốt giữa TPR (True Positive Rate) và FPR (False Positive Rate) ở hầu hết các ngưỡng Giá trị AUC đạt 0.76.
Mô hình ANN
Mô hình Mạng Nơ-ron Nhân tạo (ANN) bao gồm ba thành phần chính: lớp đầu vào (input layer), lớp đầu ra (output layer) và lớp ẩn (hidden layer), trong đó lớp đầu vào và lớp đầu ra chỉ có một lớp, còn lớp ẩn có thể có một hoặc nhiều lớp tùy thuộc vào bài toán cụ thể ANN hoạt động theo cách mô phỏng hoạt động của hệ thần kinh, với các nơ-ron được kết nối với nhau.
Trong mạng nơ-ron nhân tạo (ANN), tất cả các nút trong các lớp khác ngoài lớp đầu vào đều được kết nối đầy đủ với các nút của lớp trước Mỗi nút trong lớp ẩn nhận ma trận đầu vào từ lớp trước và kết hợp với trọng số để tạo ra kết quả Trong khóa học của Andrew Ng trên Coursera, ông sử dụng hồi quy logistic cho các nút này.
Hình 70 : Mô hình ANN - 2Lưu mô hình: Lưu kiến trúc và trọng số vào file ANN.h5.
Biểu đồ Hình 71 minh họa đường cong học tập của mô hình KNN, cho thấy sự biến đổi của giá trị loss trong quá trình huấn luyện Đường màu xanh lá cây đại diện cho giá trị loss trên tập huấn luyện (training loss), trong khi đường màu tím thể hiện giá trị loss trên tập kiểm định (validation loss) Giá trị loss càng thấp, mô hình càng thể hiện sự phù hợp tốt hơn với dữ liệu.
+ Giảm dần: Ban đầu, cả hai đường loss đều giảm nhanh chóng, cho thấy mô hình đang học được các đặc trưng từ dữ liệu.
Sau một thời gian, hai đường trong mô hình sẽ bắt đầu đi ngang và chênh lệch nhau một khoảng nhỏ, điều này cho thấy hiện tượng overfitting (học quá mức) đã xảy ra Overfitting xảy ra khi mô hình học quá kỹ các đặc trưng của tập huấn luyện, dẫn đến khả năng tổng quát kém trên tập kiểm định.
+ Ổn định: Đến cuối quá trình huấn luyện, cả hai đường loss đều đạt đến một mức ổn định, cho thấy mô hình đã hội tụ.
Hình 72 : Learning curves accuracy mô hình KNN
Biểu đồ này minh họa sự biến đổi của độ chính xác trong quá trình huấn luyện mô hình học máy Đường màu xanh lá cây thể hiện độ chính xác trên tập huấn luyện, trong khi đường màu tím phản ánh độ chính xác trên tập kiểm định Độ chính xác cao cho thấy mô hình dự đoán chính xác hơn.
Trong giai đoạn đầu của quá trình huấn luyện, độ chính xác của mô hình tăng nhanh chóng, cho thấy khả năng học hỏi các đặc trưng từ dữ liệu Tuy nhiên, sau một thời gian, độ chính xác trên tập huấn luyện tiếp tục tăng nhẹ trong khi độ chính xác trên tập kiểm định bắt đầu ổn định, điều này chỉ ra rằng mô hình đã bắt đầu gặp phải hiện tượng overfitting, tức là học quá mức các đặc trưng của tập huấn luyện, dẫn đến khả năng tổng quát kém trên tập kiểm định.
+ Khác biệt giữa hai đường: Sự chênh lệch giữa độ chính xác trên tập huấn luyện và tập kiểm định cho thấy mô hình đang có xu hướng overfitting.
Hình 73 : Các chỉ số hiệu suất mô hình KNN - 1
+ Biểu đồ cột này so sánh các chỉ số đánh giá hiệu suất của một mô hình máy học Các chỉ số được đánh giá bao gồm:
Độ chính xác (Accuracy) là tỷ lệ giữa số dự đoán đúng và tổng số mẫu, trong khi độ chính xác (Precision) đo lường tỷ lệ các mẫu dự đoán dương thực sự là dương Độ nhạy (Recall) thể hiện tỷ lệ các mẫu dương được dự đoán chính xác.
+ F1-score: Trung bình hài hòa của Precision và Recall.
+ Độ chính xác cao: Mô hình đạt được độ chính xác khá cao (0.8), cho thấy mô hình đã dự đoán đúng một tỷ lệ lớn các mẫu.
Độ chính xác (Precision) và độ nhạy (Recall) của mô hình đạt mức trung bình khoảng 0.7, cho thấy khả năng cân bằng giữa việc phát hiện đúng các mẫu dương và hạn chế dự đoán sai các mẫu âm Chỉ số F1-score, phản ánh tổng hợp cả Precision và Recall, đạt giá trị trung bình 0.67, chứng tỏ mô hình có hiệu suất tổng thể khá tốt.
Dựa trên biểu đồ, mô hình này thể hiện hiệu suất ấn tượng với khả năng dự đoán chính xác một tỷ lệ lớn các mẫu Nó duy trì sự cân bằng tốt giữa việc không bỏ sót các mẫu dương và tránh dự đoán sai các mẫu âm.
Độ chính xác của mô hình KNN được đánh giá thông qua các chỉ số hiệu suất, trong đó nếu giá trị trên đường chéo chính (TN và TP) lớn hơn so với các giá trị khác, điều này cho thấy mô hình đạt độ chính xác cao.
Sai số loại I (False Positive) là tỷ lệ mẫu âm bị phân loại sai thành dương, được thể hiện qua giá trị ở ô (0,1) Một giá trị cao cho thấy mô hình có xu hướng dự đoán dương sai, điều này có thể ảnh hưởng đến độ chính xác của kết quả.
Sai số loại II (False Negative) là tỷ lệ mẫu dương bị phân loại sai thành âm, được thể hiện qua giá trị ở ô (1,0) Một giá trị cao trong ô này cho thấy mô hình có xu hướng bỏ sót các mẫu dương, điều này có thể ảnh hưởng tiêu cực đến độ chính xác của dự đoán.
Mô hình LSTM
Mô hình LSTM (Long Short-Term Memory) là một biến thể của mạng thần kinh tuần hoàn (RNN), được phát triển để khắc phục vấn đề gradient biến mất và bùng nổ LSTM cho phép mạng học hỏi và ghi nhớ thông tin từ các chuỗi dữ liệu dài một cách hiệu quả.
Cấu trúc của một tế bào LSTM:
○ Tính toán xác suất quyết định nên "quên" đi bao nhiêu thông tin từ trạng thái tế bào trước đó (Ct-1).
○ Sử dụng hàm sigmoid để đưa ra kết quả nằm trong khoảng [0, 1].
○ Giá trị gần 1: giữ lại thông tin.
○ Giá trị gần 0: quên đi thông tin.
○ Quyết định thông tin mới nào sẽ được cập nhật vào trạng thái tế bào.
○ Sử dụng hàm sigmoid để xác định lượng thông tin mới sẽ được thêm vào.
○ Tính toán một ứng viên cho giá trị mới của trạng thái tế bào.
○ Sử dụng hàm tanh để giới hạn giá trị trong khoảng [-1, 1].
○ Quyết định phần nào của trạng thái tế bào mới sẽ được truyền đến đầu ra của tế bào.
○ Sử dụng hàm sigmoid để xác định lượng thông tin sẽ được xuất ra.
● Trạng thái tế bào (Cell state):
○ Lưu trữ thông tin trên dài hạn của mô hình.
● Đầu ra ẩn (Hidden state):
○ Đầu ra của tế bào tại thời điểm t, được sử dụng làm đầu vào cho các tế bào tiếp theo hoặc lớp output.
- Quá trình hoạt động của một tế bào LSTM:
1 Tính toán cổng quên (ft): Dựa trên đầu vào hiện tại (xt) và trạng thái ẩn trước đó (ht-1), cổng quên quyết định phần nào của trạng thái tế bào trước đó (Ct-1) sẽ bị quên đi.
2 Tính toán cổng vào (it) và ứng viên cho trạng thái tế bào mới (Ct~): Cổng vào quyết định phần nào của thông tin mới sẽ được thêm vào trạng thái tế bào Ứng viên cho trạng thái tế bào mới được tính toán bằng cách sử dụng hàm tanh.
3 Cập nhật trạng thái tế bào (Ct): Trạng thái tế bào mới được tính toán bằng cách kết hợp trạng thái tế bào cũ, cổng quên và ứng viên mới.
4 Tính toán cổng xuất (ot): Cổng xuất quyết định phần nào của trạng thái tế bào mới sẽ được truyền đến đầu ra.
5 Tính toán đầu ra ẩn (ht): Đầu ra ẩn được tính toán bằng cách nhân phần tử theo phần tử giữa cổng xuất và hàm tanh của trạng thái tế bào mới.
LSTM có khả năng ghi nhớ thông tin trong thời gian dài, cho phép nó học và nhận diện các phụ thuộc dài hạn trong dữ liệu, điều mà các mạng thần kinh tuần hoàn truyền thống thường gặp khó khăn.
Cổng quên trong LSTM giúp điều chỉnh luồng thông tin, từ đó giải quyết hiệu quả vấn đề gradient biến mất và bùng nổ.
+ Ứng dụng rộng rãi: LSTM được sử dụng trong nhiều lĩnh vực như xử lý ngôn ngữ tự nhiên, nhận dạng giọng nói, dự báo chuỗi thời gian,
LSTM là một kiến trúc mạng thần kinh tuần hoàn mạnh mẽ, tối ưu cho việc xử lý chuỗi dữ liệu với độ dài khác nhau Kiến trúc này có khả năng nắm bắt các mối quan hệ phức tạp giữa các phần tử trong chuỗi, nhờ vào khả năng nhớ dài hạn LSTM đã chứng tỏ hiệu quả vượt trội trong nhiều ứng dụng thực tế.
Hình 76 : Khởi tạo tham số LSTM sequence_length:
● Đây có thể là độ dài của chuỗi đầu vào (nếu bạn làm việc với dữ liệu dạng chuỗi hoặc thời gian).
● Ví dụ: Trong bài toán dự đoán chuỗi thời gian, sequence_length = 364 có thể tương ứng với số ngày hoặc bước thời gian. batch_size:
● Số mẫu được đưa vào mô hình trong một lần huấn luyện.
● Batch nhỏ hơn sẽ tiêu tốn ít bộ nhớ GPU hơn nhưng có thể không ổn định. Ngược lại, batch lớn hơn sẽ cần nhiều tài nguyên. sampling_rate:
● Tỉ lệ mẫu hóa dữ liệu sampling_rate = 1 có nghĩa là không bỏ qua mẫu nào trong dữ liệu. epochs:
● Số lần huấn luyện trên toàn bộ tập dữ liệu (X_train và y_train).
Hình 77 : Định nghĩa mô hình LSTM
○ Lớp 1: 16 nút, return_sequences=True để trả về chuỗi đầu ra.
○ Lớp 2: 16 nút, return_sequencesse để lấy đầu ra cuối cùng.
2 BatchNormalization: Chuẩn hóa giữa 2 lớp LSTM.
3 Lớp Dense: 1 nút với hàm sigmoid, dùng cho phân loại nhị phân.
Tổng quan: Mô hình xử lý dữ liệu chuỗi, tối ưu hóa qua chuẩn hóa và sử dụng hàm sigmoid cho dự đoán nhị phân.
Hình 78 : Các chỉ số đánh giá mô hình LSTM
Giải thích ý nghĩa của mô hình
1 Logistic Regression Ý nghĩa: Logistic Regression là một mô hình thống kê được sử dụng để dự đoán xác suất của một biến nhị phân (biến có hai giá trị: 0 hoặc 1) Trong phân tích dữ liệu thời tiết, Logistic Regression có thể được sử dụng để dự đoán khả năng xảy ra một sự kiện cụ thể, chẳng hạn như khả năng mưa trong ngày dựa trên các yếu tố thời tiết như nhiệt độ, độ ẩm, áp suất khí quyển, v.v.
+ Dễ triển khai và hiểu.
+ Hiệu quả khi dữ liệu có phân phối tuyến tính.
+ Cung cấp khả năng xác định quan hệ giữa các biến độc lập và biến phụ thuộc.
+ Hiệu quả kém với các mối quan hệ phi tuyến tính.
+ Có thể bị ảnh hưởng bởi các giá trị ngoại lai.
2 Random Forest Ý nghĩa: Random Forest là một mô hình học máy sử dụng nhiều cây quyết định (decision trees) để dự đoán kết quả Mô hình này kết hợp dự đoán của nhiều cây để cải thiện độ chính xác và giảm overfitting Trong phân tích dữ liệu thời tiết, Random Forest có thể được sử dụng để dự đoán các biến liên tục hoặc phân loại các hiện tượng thời tiết dựa trên nhiều biến đầu vào.
+ Hiệu quả với dữ liệu phức tạp và không có cấu trúc.
+ Giảm overfitting bằng cách kết hợp nhiều cây quyết định.
+ Cung cấp tính quan trọng của từng biến đầu vào.
+ Tốn nhiều tài nguyên tính toán.
+ Khó giải thích hơn so với các mô hình đơn giản như Logistic Regression.
3 K-Nearest Neighbors (KNN) Ý nghĩa: KNN là một mô hình dựa trên khoảng cách để phân loại hoặc hồi quy.
Mô hình KNN dự đoán nhãn cho điểm dữ liệu mới dựa trên nhãn của các điểm dữ liệu lân cận trong không gian đặc trưng Trong phân tích dữ liệu thời tiết, KNN giúp dự đoán các giá trị thời tiết bằng cách sử dụng các quan sát gần nhất từ quá khứ.
+ Đơn giản và dễ hiểu.
+ Không yêu cầu giả định về phân phối dữ liệu.
+ Hiệu quả với dữ liệu không tuyến tính.
+ Hiệu suất giảm khi dữ liệu lớn.
+ Bị ảnh hưởng bởi các biến không quan trọng và nhiễu.
+ Cần lựa chọn số lượng hàng xóm (k) tối ưu.
4 Artificial Neural Network (ANN) Ý nghĩa: ANN là một mô hình học sâu (deep learning) mô phỏng cách hoạt động của não người Mô hình này bao gồm nhiều lớp nút (neurons) kết nối với nhau để học và dự đoán các mẫu trong dữ liệu Trong phân tích dữ liệu thời tiết, ANN có thể được sử dụng để dự đoán các giá trị liên tục hoặc phân loại các hiện tượng thời tiết phức tạp.
+ Hiệu quả với dữ liệu phi tuyến tính và phức tạp.
+ Có khả năng học các đặc trưng phức tạp từ dữ liệu lớn.
+ Linh hoạt và có thể áp dụng cho nhiều loại bài toán khác nhau.
+ Cần nhiều dữ liệu và tài nguyên tính toán.
+ Khó giải thích và phân tích các trọng số học được.
+ Dễ bị overfitting nếu không có kỹ thuật điều chỉnh phù hợp.
5 Long Short-Term Memory (LSTM) Ý nghĩa: LSTM là một loại mạng nơ-ron hồi quy (recurrent neural network) được thiết kế để học và dự đoán các chuỗi thời gian dài Mô hình này có khả năng nhớ thông tin trong thời gian dài và loại bỏ các vấn đề gradient biến mất Trong phân tích dữ liệu thời tiết, LSTM có thể được sử dụng để dự đoán các giá trị thời tiết trong tương lai dựa trên dữ liệu lịch sử.
+ Hiệu quả với dữ liệu chuỗi thời gian và dữ liệu có cấu trúc tuần tự.
+ Có khả năng ghi nhớ và sử dụng thông tin từ các bước thời gian trước đó. + Giảm thiểu vấn đề gradient biến mất so với RNN truyền thống.
+ Tốn nhiều tài nguyên tính toán và thời gian huấn luyện.
+ Cần nhiều dữ liệu để đạt được hiệu quả cao.
+ Khó giải thích và phân tích các trọng số học được.
Ứng dụng (Dự báo với dữ liệu mới)
Hình 79 : Ứng dụng dự báo