Ứng dụng học máy có giám sát trong dự báo thời tiết

MỤC LỤC

Các nghiên cứu liên quan

Dự đoán thời tiết: nắng, mưa

Với sự phát triển của công nghệ học máy và sự hợp tác của các nhà khoa học, các nhà nghiên cứu và các cơ quan quản lý, việc dự đoán thời tiết bằng học máy có thể trở thành một công cụ hiệu quả để giúp ích cho đời sống mọi người. Trong nông nghiệp, mô hình này có thể giúp các nhà máy sản xuất chủ động trong việc điều chỉnh hoạt động sản xuất, tránh những thiệt hại do thời tiết gây ra.

Phương pháp phân tích dự đoán liên quan

Trong tương lai, họ có kế hoạch sử dụng Internet of Things (IoT) với chi phí thấp, chẳng hạn như cảm biến nhiệt độ và độ ẩm, trong việc thu thập dữ liệu thời tiết từ các khu vực khác nhau của thành phố. Trong bài nghiên cứu khác về dự đoán thời tiết bằng kỹ thuật học máy.Trong bài báo này, dữ liệu thời tiết được xem xét với các phương pháp khác nhau để dự báo thời tiết.

Phương pháp luận nghiên cứu

Lý do chọn mô hình (so sánh với học máy không có giám sát)

Tuy nhiên, trong trường hợp dự đoán, dự báo về thời tiết, việc sử dụng mô hình học máy không giám sát có thể không hiệu quả bằng mô hình học máy có giám sát do sự phức tạp của dữ liệu và sự khó khăn trong việc xác định các mối quan hệ giữa các biến đầu vào và đầu ra. Do đó, lựa chọn mô hình học máy có giám sát giúp cho việc dự đoán, dự báo thời tiết trong tương lai trở nên chính xác hơn và giúp cho mọi người có sự chuẩn bị cho mình tốt hơn.

Các mô hình áp dụng của học máy có giám sát

     Phụ thuộc vào kích thước dữ liệu: KNN có hiệu suất giảm khi tập dữ liệu lớn vì việc tính toán khoảng cách giữa các điểm dữ liệu mất nhiều thời gian.  Yêu cầu lưu trữ toàn bộ dữ liệu huấn luyện: KNN yêu cầu lưu trữ toàn bộ dữ liệu huấn luyện trong bộ nhớ để tính toán khoảng cách và tìm điểm dữ liệu gần nhất. Hyper-plane nó chỉ hiểu đơn giản là 1 đường thẳng/1 mặt phẳng/1 siêu phẳng (tùy chiều không gian) có thể phân chia các lớp ra thành hai phần riêng biệt.

     Xử lý trên không gian số chiều cao: SVM tính toán hiệu quả trong không gian chiều cao, đặc biệt áp dụng cho các bài toán phân loại văn bản và phân tích quan điểm nơi chiều có cỡ chiều cao cực kỳ lớn.  Yêu cầu bộ nhớ thấp hơn: chỉ có một tập hợp con của các điểm được sử dụng trong quá trình huấn luyện và ra quyết định thực tế, nên chỉ có những điểm cần thiết mới được lưu trữ trong bộ nhớ khi ra quyết định.  Tính linh hoạt - phân lớp thường là phi tuyến tính: hiệu suất phân loại lớn hơn nhờ khả năng ứng dụng dụng Kernel mới, cho phép linh động giữa các phương pháp tuyến tính và phi tuyến tính.

    Gradient Boosting là một kỹ thuật tối ưu hóa mô hình dự đoán bằng cách kết hợp các mô hình yếu thành một mô hình dự đoán mạnh mẽ hơn, bằng cách tính sai số dự đoán r và điều chỉnh các trọng số của mô hình yếu nhằm giảm sai số. Các hàm mất mát là một cách để đo lường độ chính xác của sự phù hợp của mô hình trên tập dữ liệu, tính toán lỗi và tối ưu hóa mô hình để giảm lỗi đó.  Tính linh hoạt: XGboost cho phép người dùng sử dụng hàm tối ưu và chỉ tiêu đánh giá của riêng họ, không bị hạn chế bởi những hàm cung cấp sẵn.

    Mô tả, phân tích tổng quan về dữ liệu

    Tổng quát về dữ liệu phân tích

    Phương thức hoạt động là kết hợp các kỹ thuật để điều chỉnh các trọng số lỗi trên các mô hình yếu để tạo ra một mô hình mạnh hơn. Nguyên tắc thuật toán XGBoost là đưa ra mô hình tối ưu dựa trên cây quyết định và kỹ thuật tăng cường độ dốc (Gradient Boosting). Các cây mới sinh ra tuần tự được giảm thiểu lỗi từ cây trước đó bằng cách học lại lỗi của cây trước đó, thực hiện sửa lỗi để được cây tốt hơn.

     Tốc độ xử lý: tốc độ xử lý có thể tăng gấp 10 lần so với GBM XGBoost thực hiện tính toán song song.  Xử lý dữ liệu thiếu: XGBoost bao gồm cơ chế tự động xử lý dữ liệu thiếu nên có thể bỏ qua bước này khi chuẩn bị dữ liệu cho XGBoost.  Tự động cắt tỉa: Tính năng tree pruning hỗ trợ việc tự động bỏ qua những leaves, nodes không mang giá trị tích cực trong quá trình mở rộng tree.

    Trong bài nghiên cứu này, nhóm chọn bộ dữ liệu ‘Seattle-weather.csv’ được lấy từ dataset về thời tiết có sẵn trên Kaggle. Kaggle được biết đến là một nền tảng web online nổi tiếng có nguồn lực cộng đồng lớn mạnh về khoa học dữ liệu và học máy. Bộ dữ liệu về thời tiết này khá hữu ích để nghiên cứu và phát triển các mô hình dự đoán về thời tiết trong tương lai.

    Mô tả dữ liệu

    • Giai đoạn 1: Data Exploration (Khám phá dữ liệu)

      Sử dụng dòng weather.isna().any() để kiểm tra xem có giá trị thiếu (NaN) nào trong DataFrame weather không, trả về giá trị là True nếu cột đó chứa ít nhất một giá trị NaN, và False nếu không có giá trị NaN nào trong cột đó. Biểu đồ heatmap được sử dụng để trực quan hóa mối quan hệ giữa các biến trong dữ liệu và giúp xác định các mối quan hệ tương quan có thể tồn tại giữa chúng. Ngược lại, các biến “fog”, “drizzle” và “snow” lần lượt xếp vị trí thứ ba, bốn, năm và bằng khoảng so với tần suất của hai biến trên.⅙ so với tần suất của hai biến trên.

      Tần suất xuất hiện mưa là cao nhất, kề ngay sau đó là nắng với tỷ lệ gần bằng, lần lượt sương mù, mưa phùn và tuyết xếp thứ ba, tư và năm. Biểu đồ histogram với kernel density estimation (KDE) để trực quan hóa phân phối của các biến số liên tục tương ứng với mỗi loại thời tiết. Dùng hàm ‘iqroutliers’ để xác định giá trị ngoại lệ và chỉ mục tương ứng, sau đó sử dụng ‘data.drop(..)’ để loại bỏ các dòng chứa giá trị ngoại lệ.

      Biểu đồ histogram với KDE cho mỗi biến số liên tục sẽ hiển thị hình dạng chi tiết của phân phối và giúp nhận biết sự biến động tùy thuộc vào loại thời tiết. Để trực quan hóa phân phối và các giá trị ngoại lệ của các biến số liên tục (lượng mưa, nhiệt độ tối đa, nhiệt độ tối thiểu và tốc độ gió) dựa trên loại thời tiết trong DataFrame ‘weather’. Boxplot cung cấp thông tin về giá trị trung bình, phạm vi, và phân bố của dữ liệu, đồng thời cũng có thể giúp phát hiện các giá trị ngoại lệ.

      Bằng cách chia tất cả các giá trị trong cột cho giá trị lớn nhất của cột đó giúp đưa các biến về cùng một phạm vi và là bước quan trọng trong tiền xử lý dữ liệu. Chuẩn hóa là một bước quan trọng trong tiền xử lý dữ liệu để cải thiện hiệu suất của mô hình và tránh tác động của biến số có đơn vị đo lường khác nhau.

      Bảng thống kê mô tả cho các biến số (numerical variables) như trên cung cấp một cái nhìn tổng quan về phân phối và tính chất của dữ liệu.
      Bảng thống kê mô tả cho các biến số (numerical variables) như trên cung cấp một cái nhìn tổng quan về phân phối và tính chất của dữ liệu.

      Kết quả thử nghiệm và phân tích kết quả

        Đây là một kết quả tích cực, và nó gợi ý rằng mô hình có khả năng tổng quát hóa tốt trên dữ liệu mới. Sự chênh lệch giữa Train Accuracy và Test Accuracy: Nhìn chung chênh lệch giữa độ chính xác trên tập huấn luyện và tập kiểm tra không quá lớn, đây là một kết quả tích cực, mô hình tổng quát hoá tốt trên dữ liệu mới. Precision (Chính xác): Tỷ lệ số lượng dự đoán đúng của một lớp so với tổng số lượng mẫu được dự đoán là thuộc lớp đó.

        Recall (Tính nhớ): Tỷ lệ số lượng dự đoán đúng của một lớp so với tổng số lượng mẫu thực sự thuộc lớp đó. Tổng quan, mô hình GBC và XGBC có Precision và Recall cao đồng thời, F1-score cũng cao chứng tỏ hai mô hình này có hiệu suất hoạt động tốt nhất trên tập kiểm tra. So sánh độ chính xác trên tập huấn luyện của các mô hình phân loại khác nhau thông qua biểu đồ cột.

         Tuy nhiên, độ chính xác của mô hình GBC và SVM đều tăng khi chuyển từ tập huấn luyện sang tập kiểm tra, đây là dấu hiệu tốt về khả năng tổng quát hóa của mô hình.  Sự so sánh và các đánh giá trên đây đã thể hiện rằng mô hình Gradient Boosting có mức độ chính xác cao nhất và hiệu suất hoạt động tốt nhất, do đó nhóm đã chọn mô hình này để phát triển. So sánh độ chính xác trên tập kiểm tra của các mô hình phân loại khác nhau thông qua biểu đồ cột.