TỔNG QUAN VỀ ĐỀ TÀI
ĐẶT VẤN ĐỀ
Nuôi trồng nấm bào ngư ở Việt Nam đang thu hút sự quan tâm lớn, với năng suất phụ thuộc vào các yếu tố môi trường như nước, ánh sáng và đặc biệt là nhiệt độ Nhiệt độ đóng vai trò quan trọng trong sự phát triển và chất lượng của nấm bào ngư; nếu quá cao hoặc quá thấp, nấm sẽ gặp khó khăn trong sinh trưởng và có thể bị tổn hại nghiêm trọng Để xác định khoảng nhiệt độ tối ưu cho việc nuôi trồng nấm bào ngư, cần thực hiện các thí nghiệm với nhiều mức nhiệt độ khác nhau, từ đó thu thập thông tin quan trọng về ảnh hưởng của nhiệt độ đến năng suất nấm.
Bảng 1.1: Ảnh hưởng của nhiệt độ đến năng suất của nấm bào ngư
Temperature 2 DAI 4 DAI 6 DAI 8 DAI
Hình 1.1: Nhiệt độ ảnh hưởng đến sự phát triển của nấm bào ngư
Nghiên cứu cho thấy nhiệt độ tối ưu cho sự phát triển của nấm bào ngư là 28°C, tiếp theo là 32°C và 24°C Sau 8 ngày ở nhiệt độ 36°C, nấm không có dấu hiệu tăng trưởng Kết quả này chỉ ra rằng nấm bào ngư phát triển tốt nhất trong khoảng nhiệt độ ấm giữa năm, không quá cao, từ đó mở ra cơ hội phát triển sản xuất nấm bào ngư tại Việt Nam.
Hiện nay, hầu hết các trang trại nuôi trồng nấm ở Việt Nam vẫn sử dụng hệ thống giám sát cố định và cảnh báo thủ công Điều này dẫn đến việc chưa thể tự động phân tích và dự báo xu hướng nhiệt độ, cũng như cung cấp cảnh báo sớm Do đó, người dùng không nhận được gợi ý phù hợp để chuẩn bị và điều chỉnh môi trường sống cho nấm một cách kịp thời.
Đề tài "Ứng dụng máy học thiết kế thiết bị biên để hỗ trợ ra quyết định trong nuôi trồng nấm bào ngư" nhằm phát triển một hệ thống theo dõi và dự báo biến động nhiệt, giúp người dùng điều chỉnh kịp thời môi trường sống của nấm Hệ thống này sẽ cải thiện điều kiện nuôi trồng, nâng cao chất lượng và năng suất nấm Nghiên cứu sẽ triển khai mô hình trong nhà nấm sử dụng Machine Learning để xây dựng hệ thống giám sát, đưa ra cảnh báo và điều chỉnh môi trường nuôi trồng một cách hiệu quả.
MỤC TIÊU ĐỀ TÀI
Based on various relevant studies, both domestically and internationally, such as "Design and Development of a Smart Mushroom Cultivation System Using IoT and Machine Learning" (Nguyen et al., 2019) and "Real-Time Monitoring and Decision Support System for Mushroom Cultivation Using Machine Learning" (Liu et al., 2020), a monitoring and decision support system for oyster mushroom cultivation is presented This system utilizes environmental data and applies neural network models to predict and adjust critical factors like temperature, humidity, and light.
Mục tiêu chính của đề tài là phát triển một mô hình dự đoán nhiệt độ nhằm tối ưu hóa quy trình nuôi trồng nấm bào ngư, dựa trên dữ liệu lịch sử đã thu thập Hệ thống áp dụng các thuật toán máy học để phân tích và mô hình hóa dữ liệu nhiệt độ, từ đó đưa ra dự đoán về nhiệt độ trong tương lai, giúp người dùng điều chỉnh nhiệt độ hiệu quả và nâng cao năng suất nấm bào ngư.
Các mục tiêu cụ thể bao gồm:
Nghiên cứu các mô hình học máy để dự báo nhiệt độ là rất quan trọng Việc so sánh và lựa chọn mô hình tối ưu dựa trên độ chính xác, khả năng dự báo và tính ổn định sẽ giúp nâng cao hiệu quả trong công tác dự báo.
Xây dựng cơ sở dữ liệu nhiệt độ từ các trang trại nuôi trồng nấm là cần thiết để thu thập dữ liệu phục vụ cho việc huấn luyện và đánh giá các mô hình máy học Việc tối ưu hóa các tham số của mô hình sẽ giúp tạo ra một mô hình hiệu quả và đạt kết quả tốt nhất trong việc phân tích và dự đoán.
Xây dựng giao diện giám sát nhiệt độ trong nhà nấm bằng mô hình máy học giúp người dùng nhận cảnh báo về những bất thường trong môi trường sống Hệ thống này cung cấp lời khuyên kịp thời để điều chỉnh điều kiện, đảm bảo sự phát triển tối ưu cho nấm.
PHƯƠNG PHÁP NGHIÊN CỨU
Nhóm nghiên cứu bắt đầu bằng việc tìm hiểu các lý thuyết về machine learning (ML) và môi trường sống của nấm bào ngư Qua việc khảo sát tài liệu, nhóm đã nắm bắt được các khía cạnh liên quan đến đề tài một cách sâu sắc hơn.
Nhóm tiến hành thử nghiệm hệ thống nhằm đánh giá hiệu quả và độ tin cậy của nó Bên cạnh đó, việc thực hiện các bài kiểm tra liên tục trong nhiều ngày là cần thiết để kiểm tra tính ổn định và phát hiện các yếu tố không lường trước được.
ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU
Nghiên cứu này nhằm khảo sát nấm bào ngư trong các trang trại nuôi cấy, với mục tiêu nâng cao năng suất và tối ưu hóa môi trường phát triển cây trồng.
Nghiên cứu này tập trung vào các trang trại nuôi cấy nấm, đặc biệt là nấm bào ngư Mục tiêu chính là phân tích các yếu tố ảnh hưởng đến quá trình phát triển và năng suất của loại nấm này.
BỐ CỤC QUYỂN BÁO CÁO
Chương 1 sẽ nêu lên vấn đề hiện nay của các trang trại nuôi trồng nấm Đồng thời, chương này cũng sẽ nhấn mạnh tầm quan trọng của nhiệt độ trong nuôi trồng nấm bào ngư, và trình bày nguyên nhân và các giải pháp
Chương 2 sẽ giới thiệu về thiết bị biên, phần cứng, các mô hình học máy và thuật toán để triển khai ứng dụng
Chương 3 sẽ nói tổng quan về thiết kế hệ thống với mục đích nâng cao năng suất của nấm bào ngư, bao gồm các bước như thiết lập phần cứng để thu thập dữ liệu, quy trình chuẩn bị, lưu đồ thuật toán các mô hình học máy, cách lựa chọn các tham số để xây dựng mô hình và xây dựng ứng dụng cho người dùng
Chương 4 sẽ đưa ra kết quả thực tế của các mô hình dựa theo các thang đo hoặc tiêu chí Đặc biệt, chương này sẽ so sánh độ chính xác giữa các mô hình và đánh giá hiệu quả của nó rồi đưa ra mô hình tốt nhất sẽ sử dụng trong thực tế
Chương 5 sẽ là phần tổng kết và đưa ra những hướng phát triển tiềm năng cho đề tài nghiên cứu này.
CƠ SỞ LÝ THUYẾT
TỔNG QUAN THIẾT BỊ BIÊN
2.1.1 Giới thiệu thiết bị biên
Thiết bị biên (Edge Device) là thành phần quan trọng trong hệ thống IoT, tạo ra sự kết nối giữa thế giới thực và công nghệ số Với khả năng xử lý dữ liệu ngay tại điểm thu thập, thiết bị biên giúp giảm tải cho mạng Ngoài ra, thiết bị này còn hỗ trợ kết nối với các mạng như Wifi, Bluetooth, Zigbee và các giao thức mạng di động, cho phép truyền dữ liệu đến các thiết bị mạng, máy chủ hoặc Cloud để lưu trữ và xử lý hiệu quả.
2.1.2 Ứng dụng thiết bị biên
Trong đề tài này, Raspberry Pi được sử dụng như một thiết bị biên quan trọng mang lại nhiều ưu điểm cho hệ thống
Raspberry Pi, với vai trò là thiết bị biên, không chỉ thu thập dữ liệu mà còn xử lý dữ liệu tại chỗ, cho phép thực hiện các thuật toán phân tích và dự đoán nhiệt độ trong thời gian thực Nhờ đó, nó loại bỏ sự cần thiết phải truyền dữ liệu lên máy chủ từ xa, tạo điều kiện cho việc đưa ra quyết định nhanh chóng và kịp thời dựa trên thông tin nhiệt độ hiện tại và dự đoán về nhiệt độ tương lai.
Thiết bị biên không chỉ thu thập dữ liệu mà còn truyền tải thông tin lên nền tảng điện toán đám mây, giúp lưu trữ và sử dụng dữ liệu hiệu quả Lưu trữ trên đám mây mang lại khả năng truy cập và quản lý dữ liệu từ xa một cách dễ dàng.
TỔNG QUAN PHẦN CỨNG
Raspberry Pi là một máy tính nhỏ gọn, thường được sử dụng trong giáo dục và nghiên cứu Thiết bị này bao gồm tất cả các thành phần cần thiết và sử dụng chip vi xử lý SoC Broadcom BCM2835.
Hình 2.1: Thiết bị Raspberry Pi 4 thực tế
Hình 2.2: Bản đồ chân Raspberry Pi 4
Bảng 2.1: Thông số kỹ thuật Raspberry Pi 4
CPU Broadcom BCM2711, SoC 64-bit quad-core ARM
Kết nối mạng Gigabit Ethernet
Kết nối không dây Wi-Fi 802.11 và Bluetooth 5.0
Cổng USB 2 cổng USB 2.0 và 2 cổng USB 3.0
Cổng HDMI 2 cổng Micro HDMI
Cổng hiển thị MIPI DSI 2 làn
Cổng camera MIPI CSI 2 làn Điện áp làm việc 5.1V / 3A
ESP32 là mô-đun IoT và hệ thống điều khiển trên chip (SoC) của Espressif System, được thiết kế để nâng cấp từ ESP8266 Mô-đun này có hai phiên bản: lõi đơn và lõi kép, cả hai đều sử dụng bộ xử lý 32-bit Xtensa LX6 của Tensilica ESP32 tích hợp Wifi và Bluetooth, đặc biệt sử dụng công nghệ 40nm giúp tiết kiệm năng lượng hiệu quả.
Hình 2.3: Thiết bị ESP32 thực tế
Hình 2.4: Sơ đồ khối chức năng ESP32
Bảng 2.2: Thông số kỹ thuật ESP32
CPU Xtensa Dual-Core LX6 microprocessor 32 bit
Giao tiếp không dây Wifi 802.11 và Bluetooth v4.2
Hỗ trợ giao tiếp UART, SPI, I2C, I2S và PWM
GPIO 36 chân GPIO Điện áp làm việc 2.2V ÷ 3.6V
Cảm biến DHT11 được sử dụng để đo nhiệt độ và độ ẩm, đi kèm với bộ chuyển đổi đặc biệt và vi điều khiển 8-bit Thiết bị này truyền dữ liệu về nhiệt độ và độ ẩm dưới dạng dữ liệu liên tục.
Hình 2.5: Thiết bị DHT11 thực tế
Bảng 2.3: Thông số kỹ thuật DHT11 Điện áp làm việc 3V ÷ 5V (DC)
Dải độ ẩm làm việc 20% ÷ 90% RH, sai số ±5%RH Dải nhiệt độ làm việc 0°C ÷ 50°C, sai số ±2°C
Tần số lấy mẫu tối đa 1 Hz
Khoảng cách truyền tối đa 20m
TẬP DỮ LIỆU HUẤN LUYỆN VÀ ĐÁNH GIÁ
Dữ liệu nhiệt độ thu thập theo giờ là nguồn thông tin quý giá cho việc nghiên cứu và phân tích thời tiết, khí hậu, cũng như các biến đổi nhiệt đới.
Hiệu chuẩn dữ liệu là quá trình cần thiết để đảm bảo tính nhất quán và độ tin cậy của tập dữ liệu nhiệt độ Quy trình này bao gồm việc kiểm tra, xử lý các giá trị bất thường hoặc sai sót, và áp dụng các phương pháp thống kê nhằm xác định các tham số quan trọng như độ chính xác và độ tin cậy của dữ liệu.
Mỗi mẫu dữ liệu nhiệt độ trong tập dữ liệu đều kèm theo thông tin thời gian ghi lại theo đơn vị giờ, giúp phân tích các xu hướng, chu kỳ và mô hình hóa dữ liệu một cách hiệu quả.
Phân tích thống kê dữ liệu nhiệt độ cho phép chúng ta khám phá các thông tin quan trọng như trung bình, phương sai, phân phối, tương quan và xu hướng theo thời gian Những phân tích này giúp hiểu rõ biến đổi nhiệt độ và phát hiện các mô hình hoặc xu hướng tiềm năng.
Dựa trên dữ liệu nhiệt độ theo giờ, có thể áp dụng các mô hình dự báo và dự đoán để ước lượng nhiệt độ tương lai Những mô hình này sử dụng các phương pháp thống kê, học máy và mạng nơ-ron nhằm phân tích xu hướng và biến đổi của nhiệt độ.
Dữ liệu nhiệt độ theo từng giờ có nhiều ứng dụng quan trọng trong các lĩnh vực khác nhau, đặc biệt là nông nghiệp Thông qua việc phân tích dữ liệu này, nông dân có thể dự đoán thời điểm tối ưu để trồng và thu hoạch cây trồng, đồng thời có thể đưa ra các biện pháp phòng ngừa kịp thời dựa trên những dự đoán về điều kiện thời tiết.
MÁY HỌC
2.4.1 Tổng quan về Máy học
Máy học, một nhánh quan trọng của trí tuệ nhân tạo, tập trung vào việc phát triển các mô hình có khả năng tự động học hỏi và cải thiện độ chính xác trong dự đoán hoặc thực hiện các tác vụ cụ thể.
Trong Machine Learning, dữ liệu đóng vai trò là tài nguyên quan trọng, là đầu vào cho các mô hình học Các mô hình và thuật toán Machine Learning được sử dụng để phân tích dữ liệu nhằm phát hiện các đặc điểm, quy luật và thông tin cốt lõi Những mô hình này được huấn luyện để nhận diện các mối quan hệ phức tạp, từ đó tạo ra dự đoán, phân loại, phân cụm và xử lý thông tin mới.
Machine Learning đang trở thành xu hướng chủ đạo với ứng dụng rộng rãi trong nhiều lĩnh vực như nhận diện hình ảnh, xử lý ngôn ngữ, dự đoán tài chính và tự động hóa Điểm nổi bật của Machine Learning là khả năng tự động học hỏi và cải thiện hiệu suất dự đoán khi tiếp nhận dữ liệu mới.
Triển khai Machine Learning không chỉ yêu cầu hiểu biết về các thuật toán mà còn cần chuẩn bị dữ liệu, đánh giá và cải thiện mô hình để đạt hiệu quả tối ưu.
2.4.2 Mô hình mạng học có giám sát
Mô hình mạng học có giám sát là một phương pháp trong học máy, nơi dữ liệu huấn luyện được kèm theo nhãn hoặc thông tin giám sát Mục tiêu chính của mô hình này là học từ các cặp dữ liệu đầu vào và nhãn đã được gán, nhằm dự đoán và phân loại các mẫu mới một cách chính xác.
Mạng nơ-ron nhân tạo (ANN) là một mô hình học máy phổ biến, được cấu thành từ các đơn vị nơ-ron liên kết với nhau qua các trọng số Mô hình này hoạt động bằng cách điều chỉnh các trọng số để cải thiện độ chính xác trong việc dự đoán các mẫu dữ liệu mới.
Quá trình huấn luyện mạng Neural có giám sát gồm hai giai đoạn chính: lan truyền tiến và lan truyền ngược Trong giai đoạn lan truyền tiến, dữ liệu đầu vào được truyền qua các lớp Neural để tạo ra đầu ra dự đoán Sau đó, sai số giữa đầu ra dự đoán và đầu ra thực tế được tính toán để điều chỉnh mô hình.
Trong giai đoạn lan truyền ngược, sai số từ lan truyền tiến được truyền ngược qua mạng để điều chỉnh trọng số Phương pháp Gradient Descent được sử dụng để hiệu chỉnh trọng số, trong đó Gradient của hàm mất mát được tính toán và áp dụng để cập nhật trọng số nhằm tối thiểu hóa hàm mất mát.
2.4.3 Mô hình mạng học không giám sát
Mô hình mạng học không giám sát là một loại mạng nơ-ron trong học máy, tập trung vào việc phát hiện cấu trúc, mẫu và đặc trưng ẩn trong dữ liệu mà không cần nhãn giám sát Điều này có nghĩa là quá trình học diễn ra mà không có sự can thiệp của con người trong việc phân loại hoặc gán nhãn dữ liệu đào tạo.
Mạng học không giám sát là công cụ quan trọng để khám phá thông tin ẩn trong dữ liệu, phát hiện cấu trúc tiềm ẩn, nhóm các mẫu tương tự và tạo ra biểu diễn dữ liệu mới Các mô hình này được áp dụng rộng rãi trong nhiều lĩnh vực như xử lý ngôn ngữ tự nhiên, phân cụm dữ liệu, phát hiện bất thường, trích xuất thông tin và khám phá tri thức.
MÔ HÌNH THUẬT TOÁN ARIMA
Chuỗi thời gian là loại dữ liệu ghi lại các giá trị quan sát theo thời gian một cách liên tục Mỗi chuỗi thời gian có thể thể hiện xu hướng, chu kỳ, tính mùa vụ và sự biến động không theo quy tắc.
Theo xu hướng, một chuỗi thời gian có thể có xu hướng giảm, tăng hoặc không thay đổi trong một khoảng thời gian dài Chẳng hạn, nó có thể phản ánh sự gia tăng dân số, số lượng nhà ở trong một thành phố, hoặc thậm chí là tác động của các đợt dịch bệnh.
Theo mùa, một khoảng thời gian trong năm, tháng hoặc ngày, có sự biến đổi rõ rệt do các yếu tố như khí hậu, thời tiết, phong tục và truyền thống Những yếu tố này không chỉ ảnh hưởng đến cuộc sống hàng ngày mà còn định hình các hoạt động văn hóa và xã hội theo từng mùa.
Theo chu kỳ, một chuỗi thời gian có thể trải qua những biến đổi do hoàn cảnh và lặp lại theo chu kỳ
Cuối cùng, các biến động không theo quy tắc trong chuỗi thời gian là những thay đổi ngẫu nhiên do các yếu tố không thể đoán trước, thường không lặp lại theo một mô hình cụ thể Những biến động này có thể bao gồm chiến tranh, động đất, thiên tai và các sự kiện không thường xuyên khác Hiện tại, không có phương pháp thống kê nào có thể đo lường chính xác các biến động ngẫu nhiên trong chuỗi thời gian.
Trong lĩnh vực Machine Learning, dự báo chuỗi thời gian đóng vai trò quan trọng, dựa trên giả định rằng các quy luật và mẫu lặp lại trong quá khứ sẽ tiếp tục tồn tại trong tương lai Mục tiêu chính của việc xây dựng mô hình chuỗi thời gian là phân tích mối quan hệ giữa các biến độc lập và biến phụ thuộc, nhằm dự đoán giá trị của biến mục tiêu trong thời gian tới.
2.5.2 Mô hình thuật toán ARMA
Mô hình ARMA (p, q) kết hợp giữa mô hình AR (p) và MA (q), thường được áp dụng trong chuỗi thời gian đơn biến Mô hình AR (p) dự đoán giá trị tương lai dựa trên các giá trị quá khứ và sai số ngẫu nhiên, trong khi mô hình MA (q) dự đoán giá trị tương lai dựa vào các sai số ngẫu nhiên trước đó.
Mô hình ARMA (p, q) có thể được biểu thị toán học bằng công thức [5]:
Với 𝑦 𝑡 và 𝜀 𝑡 tương ứng với giá trị thực và sai số ngẫu nhiên tại thời điểm 𝑡
𝜑 𝑖 (𝑖 = 1, 2, … , 𝑝) là các thông số của mô hình
𝑝 là cấp bậc của mô hình
Mô hình MA (q) sử dụng các sai số trong quá khứ để phân tích và làm rõ các biến Tương tự như mô hình AR (p) cho dữ liệu lịch sử, mô hình MA (q) giúp cải thiện độ chính xác trong dự đoán.
Với 𝑦 𝑡 và 𝜀 𝑡 tương ứng với giá trị thực và sai số ngẫu nhiên tại thời điểm 𝑡
𝜇 là giá trị trung bình của dãy dữ liệu
𝜃 𝑗 (𝑗 = 1, 2, … , 𝑞) là các thông số của mô hình
𝑞 là cấp bậc của mô hình
Mô hình ARMA (p, q) kết hợp cả hai thành phần AR (p) và MA (q), cho phép chúng ta mô phỏng sự phụ thuộc không chỉ vào dữ liệu quá khứ mà còn vào các sai số ngẫu nhiên.
Mô hình ARMA (p, q) có thể được biểu thị toán học bằng công thức [5]:
Với 𝑝, 𝑞 lần lượt tương ứng với cấp bậc của mô hình AR, MA
Mô hình ARMA thường được thao tác thông qua ký hiệu lag (𝐿), trong đó toán tử lag được định nghĩa là 𝐿𝑦 𝑡 = 𝑦 𝑡−1 Để biểu diễn mô hình ARMA, đa thức lag được sử dụng theo cách sau [5]:
2.5.3 Mô hình thuật toán ARIMA
Mô hình ARMA chỉ phù hợp với chuỗi thời gian ổn định, trong khi nhiều chuỗi thời gian thực tế thường không ổn định Các chuỗi thời gian có sự kết hợp giữa xu hướng và yếu tố theo mùa cũng không cố định, dẫn đến việc mô hình ARMA không đủ khả năng để mô hình hóa chính xác các chuỗi này.
Mô hình ARIMA được đề xuất để giải quyết vấn đề thời gian không cố, phù hợp cho cả các trường hợp ổn định và không ổn định.
Trong mô hình ARIMA, chuỗi thời gian không ổn định được chuyển đổi thành ổn định thông qua phương pháp sai phân hữu hạn giữa các điểm dữ liệu.
𝜑(𝐿)(1 − 𝐿) 𝑑 𝑦 𝑡 = 𝜃(𝐿)𝜀 𝑡 (2.6) Thay công thức ở trên vào ta được:
Trong mô hình ARIMA, p, d và q là các số nguyên không âm tương ứng với cấp bậc của các phần AR, I và MA, trong đó d là cấp bậc vi phân Khi d = 1, mô hình này có thể áp dụng cho hầu hết các trường hợp, còn khi d = 0, ARIMA (p, 0, q) sẽ trở thành mô hình ARMA (p, q).
Mô hình ARIMA (p, 0, 0) không khác gì ngoài mô hình AR (p) và ARIMA (0, 0, q) là mô hình MA (q)
Mô hình ARIMA (0, 1, 0) là một dạng đặc biệt được biết đến với tên gọi mô hình Random Walk, thường được áp dụng cho các dữ liệu không ổn định.
MÔ HÌNH THUẬT TOÁN SVM
SVM (Support Vector Machine) là một thuật toán máy học có giám sát, chuyên dùng để giải quyết các bài toán phân loại Điểm nổi bật của SVM là khả năng tìm ra siêu phẳng tối ưu để phân tách hai lớp dữ liệu, với mục tiêu tối đa hóa khoảng cách giữa siêu phẳng và các điểm gần nhất của hai lớp, được gọi là Margin Nhờ vào đặc điểm này, SVM đảm bảo độ chính xác cao trong việc phân loại.
Mặc dù SVM có thể áp dụng cả cho hồi quy và phân loại, nhưng thường sử dụng trong bài toán phân loại
Hình 2.6: Phân tích thuật toán SVM (1)
2.6.2 Mô hình thuật toán SVM Ý tưởng của thuật toán là tìm một siêu phẳng, với độ lệch nhất định (e) từ các Input Training y, có dạng phương trình [6]:
𝑓(𝑥)= 𝑦 = 𝜔 𝑥 + 𝑏 (2.8) Để tối ưu thuật toán SVM thì cần phải tìm ω và b sao cho Margin tại Input Training y tới siêu phẳng đạt giá trị lớn nhất [6]:
Phương trình trên có thể đưa về bài toán tối ưu có ràng buộc sau [6]:
Hình 2.7: Phân tích thuật toán SVM (2)
Trong điều kiện lý tưởng, việc tìm siêu phẳng yêu cầu các đầu vào huấn luyện có margin nhỏ hơn hoặc bằng 𝜀 Để xử lý các trường hợp này, cần sử dụng các biến slack 𝜉 𝑖 ≥ 0.
C là tham số xác định penalty degree
Hình 2.8: Phân tích thuật toán SVM với tập dữ liệu có điểm gây nhiễu
Khi dữ liệu bài toán phi tuyến tính, việc sử dụng kernel để ánh xạ dữ liệu sang không gian F nhiều chiều là cần thiết, giúp biến đổi dữ liệu thành dạng tuyến tính.
Trong không gian nhiều chiều F, việc tính toán trở nên tốn kém về bộ nhớ và thời gian Để đơn giản hóa quá trình xử lý tính toán, chúng ta áp dụng các hàm kernel function.
MÔ HÌNH THUẬT TOÁN KẾT HỢP HYBRID
Phương pháp kết hợp nhiều mô hình khác nhau đã cho thấy hiệu quả cao trong dự đoán nhiệt độ Mô hình HYBRID, với khả năng tích hợp cả mô hình tuyến tính và phi tuyến, là lựa chọn tối ưu cho việc này Mô hình HYBRID (Zt) được trình bày như sau [7]:
Trong mô hình, 𝑌 𝑡 đại diện cho phần tuyến tính, trong khi 𝑁 𝑡 là phần phi tuyến tính, cả hai đều được dự đoán từ tập dữ liệu Dữ liệu 𝑌̃ 𝑡 được dự đoán từ mô hình tuyến tính tại thời điểm t, và 𝜀 𝑡 thể hiện sai số tại thời điểm t được thu thập từ mô hình tuyến tính.
Các sai số đó sẽ được dự đoán từ mô hình Nonlinear và có thể biểu diễn như sau [7]:
Với f là hàm Nonlinear được tạo bởi mô hình Nonlinear và ∆ 𝑡 là sai số ngẫu nhiên
Từ đó, mô hình được kết hợp [7]:
Với 𝑁̃ 𝑡 là kết quả dự đoán từ mô hình Nonlinear.
MÔ HÌNH THUẬT TOÁN LSTM
LSTM là một cải tiến của mạng hồi quy, cho phép học được các mối tương quan dài mà mạng hồi quy truyền thống gặp hạn chế
Trong khi các mạng hồi quy truyền thống gặp khó khăn với sự tăng vọt của Gradient qua nhiều lớp trong mô hình chuỗi theo thời gian, LSTM lại tỏ ra hiệu quả trong việc học các mối tương quan dài hạn trong chuỗi dữ liệu Mối tương quan dài hạn này đề cập đến ảnh hưởng của các giá trị đầu vào từ các thời điểm trước đến giá trị đầu ra ở các thời điểm sau Thuật ngữ "Long-Term" trong LSTM ám chỉ chiều dài của chuỗi dữ liệu, thể hiện mối quan hệ giữa đầu ra của các lớp mạng trước và các lớp mạng phía sau trong mô hình, diễn ra theo thời gian.
LSTM có khả năng mô hình hóa và học các mối quan hệ phức tạp trong dữ liệu chuỗi, cho phép xử lý hiệu quả các chuỗi có mối tương quan lâu dài Với khả năng ghi nhớ thông tin từ các chuỗi dài, LSTM trở thành công cụ mạnh mẽ trong việc xử lý dữ liệu chuỗi.
2.8.2 Mô hình thuật toán LSTM
Mô hình một lớp trong mạng hồi quy tại một thời điểm sử dụng hàm Tanh cho khối xử lý ngõ ra Mặc dù LSTM có cấu trúc phức tạp hơn, nhưng nó vẫn dựa vào các kết nối hồi quy cơ bản Hình ảnh dưới đây minh họa mô hình LSTM.
Hình 2.10: LSTM Cell Ở state thứ t của mô hình LSTM:
Ngõ ra: 𝑐 𝑡 , ℎ 𝑡 Trong đó c được gọi là Cell State, h được gọi là Hidden State
Ngõ vào: 𝑐 𝑡−1 , ℎ 𝑡−1 Trong đó 𝑥 𝑡 là dữ liệu vào của state thứ t trong mô hình mạng
Và 𝑐 𝑡−1 , ℎ 𝑡−1 là ngõ ra của Layer trước đó, h đóng vai trò khá giống với mạng RNN, và c là điểm mới của LSTM được thể hiện ở hình trên
𝑓 được gọi là forget gate, 𝑖 được gọi là input gate, 𝑜 được gọi là output gate
Từ mô tả trong hình trên có thể rằng phần Forget Gate được tính như sau [8]:
Trong mô hình này, 𝜎 biểu thị hàm kích hoạt Sigmoid, trong khi W và U là các ma trận trọng số cho các kết nối hồi quy và ngõ vào Forget Gate được tính toán nhằm xác định mức độ truyền tải trạng thái trước đó ℎ 𝑡−1 Giá trị của Forget Gate dao động từ 0 đến 1 nhờ vào hàm Sigmoid.
Input Gate quyết định mức độ ảnh hưởng của các giá trị đầu vào hiện tại Phương pháp tính toán của Input Gate tương tự như Forget Gate, cho thấy sự liên kết giữa hai thành phần này trong quá trình xử lý thông tin.
Các Output Gate sẽ quyết định những thông tin giá trị nào cần được lưu trữ từ trạng thái hiện tại để sử dụng cho trạng thái tiếp theo.
Các trạng thái lớp ẩn hiện tại được biểu diễn bởi 𝑐 𝑡, được tính toán dựa trên giá trị ngõ vào hiện tại và trạng thái lớp ẩn ở lần xử lý trước.
Và cuối cùng là tính giá trị cho trạng thái Cell 𝑐 𝑡 và trạng thái lớp ẩn ℎ 𝑡 [8]:
Các cổng Input Gate (i), Output Gate (o) và Forget Gate (f) được tính toán dựa trên giá trị đầu vào hiện tại và trạng thái ẩn trước đó Các hàm này áp dụng hàm Sigmoid để tạo ra kết quả trong khoảng [0, 1] Khi nhân các vectơ này với một vectơ khác, chúng ta sử dụng phép nhân từng phần tử.
Qua đó, ta có thể quyết định giá trị của vectơ thứ hai được truyền qua bao nhiêu
Khi giá trị của vectơ đầu tiên nhỏ sau khi áp dụng hàm Sigmoid, vectơ thứ hai sẽ bị giảm khi nhân từng phần tử với vectơ đầu tiên Các toán tử trong công thức được biểu diễn bằng hình tròn trong hình vẽ, thể hiện các phép cộng và nhân từng phần tử trong ma trận hoặc vectơ.
Trạng thái hiện tại của Cell được xác định bằng cách nhân từng phần tử của trạng thái trước đó với giá trị của Forget Gate (f) Giá trị của Forget Gate quyết định mức độ ảnh hưởng của trạng thái trước đến trạng thái hiện tại: nếu giá trị nhỏ hoặc bằng 0, trạng thái trước sẽ bị quên; ngược lại, giá trị lớn cho thấy trạng thái trước vẫn có ảnh hưởng đáng kể đến trạng thái hiện tại.
2.8.3 LSTM chống được Vanishing Gradient
Trong mạng RNN, hiện tượng Gradient giảm dần về 0 có thể gây ra vấn đề Underfitting, khiến cho việc cập nhật trọng số không hiệu quả và mô hình không thể học được Nguyên nhân chính là do độ dài của chuỗi thời gian trong RNN và việc sử dụng hàm kích hoạt Sigmoid, vốn có thể dẫn đến hiện tượng Vanishing Gradient, với đạo hàm nhỏ hơn 1 Kết quả là tổng Gradient trở nên rất nhỏ, dẫn đến việc các trọng số không được cập nhật hoặc chỉ được cập nhật rất ít.
Trong các Cell của LSTM, giá trị của Cell chịu ảnh hưởng từ Forget Gate (f) Khi f = 1, các Gradient không giảm, cho phép tất cả giá trị trong các lần thực hiện được lưu giữ trong các Cell Trong quá trình huấn luyện, Forget Gate quyết định thông tin nào sẽ được giữ lại hoặc loại bỏ.
Hình 2.11: Mô hình LSTM qua nhiều lớp.
MÔ HÌNH THUẬT TOÁN RF
RF là một thuật toán máy học hiệu quả trong học có giám sát, đặc biệt trong phân tích dữ liệu nhiệt độ Thuật toán này hoạt động như một bộ phân loại, được cấu thành từ nhiều cây quyết định độc lập, giúp cải thiện độ chính xác trong dự đoán.
Cây quyết định được hình thành từ các tập con khác nhau của dữ liệu huấn luyện, và kết quả cuối cùng được xác định bằng cách tính giá trị trung bình của các cây quyết định này.
Khác với việc sử dụng một cây quyết định đơn lẻ, Random Forest (RF) thu thập dự đoán từ nhiều cây và áp dụng phương pháp đa số phiếu để đưa ra kết quả cuối cùng, giúp cải thiện độ chính xác dự đoán Việc sử dụng nhiều cây trong RF không chỉ tăng cường độ chính xác mà còn ngăn ngừa vấn đề Overfitting, với số lượng cây trong rừng quyết định có tác động trực tiếp đến hiệu suất của mô hình.
2.9.2 Mô hình thuật toán RF
Trong thuật toán Random Forest, mỗi cây quyết định được xây dựng từ một phần dữ liệu huấn luyện, điều này có thể làm giảm khả năng dự đoán của từng cây Tuy nhiên, lợi thế của Random Forest là khả năng tổng hợp thông tin từ nhiều cây quyết định, giúp cải thiện độ chính xác của mô hình cuối cùng nhờ vào việc các cây này bổ sung thông tin cho nhau.
MÔ HÌNH THUẬT TOÁN RF-LSTM
Kết hợp mô hình RF và LSTM mang lại nhiều lợi ích cho việc xử lý và dự đoán dữ liệu phức tạp trong lĩnh vực máy học Sự kết hợp này giúp cải thiện độ chính xác và khả năng phân tích dữ liệu, từ đó tối ưu hóa hiệu suất của các ứng dụng máy học.
Random Forest mạnh mẽ trong việc tổng hợp các kết quả từ các cây bằng cách kết hợp nhiều cây quyết định để đưa ra kết quả dự đoán
LSTM là một mô hình mạng Neural hồi quy đặc biệt, được thiết kế để mô hình hóa và dự đoán các mối tương quan dài trong dữ liệu chuỗi Mô hình này có khả năng học hỏi và ghi nhớ các đặc trưng từ quá khứ, từ đó sử dụng thông tin đó để dự đoán các xu hướng tương lai.
Khi kết hợp mô hình RF và LSTM, chúng ta tận dụng được ưu điểm của cả hai RF xử lý và trích xuất đặc trưng từ dữ liệu đa chiều và không gian rộng, trong khi LSTM học và dự đoán các mối tương quan dài trong chuỗi dữ liệu Sự kết hợp này tạo ra một mô hình mạnh mẽ, có khả năng xử lý thông tin không gian và chuỗi, đồng thời phát huy khả năng học tập và dự đoán từ cả hai mô hình.
Hình 2.13: Mô hình RF-LSTM.
GIỚI THIỆU FRAMEWORK REACT NATIVE
Được phát triển bởi Facebook, React Native là một framework hướng đến phát triển ứng dụng di động đa nền tảng
React Native cho phép lập trình viên sử dụng JavaScript để phát triển ứng dụng di động cho cả Android và iOS, giúp tăng tốc độ lập trình, giảm chi phí và dễ dàng sửa chữa Nhiều ứng dụng nổi tiếng như Instagram, Facebook và Skype đã áp dụng React Native Bên cạnh đó, React Native còn có những khái niệm cơ bản như TSX, components, props và state.
TSX là một phần mở rộng của TypeScript, được thiết kế đặc biệt cho React Native và React, cho phép lập trình viên viết các phần tử giao diện bằng cú pháp JSX Kết hợp giữa JavaScript và XML, TSX giúp tạo ra mã nguồn dễ đọc và dễ hiểu.
Components là các thành phần giao diện độc lập, có thể tái sử dụng, giúp tách biệt vấn đề và kiểm thử dễ dàng Chúng có thể được định nghĩa dưới dạng function (stateless) hoặc class (stateful) trong JavaScript Mỗi component có các thuộc tính props và state (nếu được định nghĩa bằng class) Để phân biệt React component với thẻ HTML, tất cả các React components phải được viết theo kiểu CamelCase, bắt đầu bằng chữ cái in hoa và không có khoảng trắng hoặc dấu câu xen kẻ.
Props are attributes passed into a component that can only be read For instance, in the Sign up tag, the attributes passed are className and child, which can be accessed via props Accessing props.className returns the value "active," while props.child holds the value "Sign up." Props can be of various types, including objects, functions, strings, and numbers.
State là trạng thái riêng của một component, được quản lý nội bộ và không thể truy cập từ bên ngoài Việc sử dụng state chỉ khả thi trong các stateful component.
THIẾT KẾ HỆ THỐNG
THIẾT KẾ TỔNG QUAN HỆ THỐNG
Hệ thống hỗ trợ quyết định cho người dùng được xây dựng từ các thành phần phần cứng như ESP32, cảm biến, Raspberry Pi và phần mềm tích hợp công nghệ như Socket, Firestore, Realtime Firebase và Machine Learning Mục tiêu chính của hệ thống là thu thập và phân tích dữ liệu để dự báo xu hướng nhiệt độ, lưu trữ thông tin và cung cấp giao diện hiển thị cho người dùng, giúp họ tối ưu hóa môi trường sống cho cây trồng.
Phần cứng của hệ thống được phân chia thành hai khối chính, bao gồm khối xử lý (Processor) và khối Node Sensor
Hình 3.1: Sơ đồ khối phần cứng
Khối Processor sử dụng Raspberry Pi để xử lý dữ liệu nhận từ Node Sensor Raspberry Pi không chỉ thực hiện các thuật toán dự đoán để tính toán và đưa ra dự đoán chính xác về nhiệt độ, mà còn lưu trữ dữ liệu thu thập được lên Firestore Đồng thời, dữ liệu dự đoán nhiệt độ trong 7 ngày tiếp theo cũng được cập nhật lên Realtime Firebase.
Khối Node Sensor sử dụng phần cứng ESP32 kết nối với cảm biến DHT11, thực hiện chức năng thu thập dữ liệu liên tục mỗi 6 phút tại một địa điểm cố định Để đảm bảo độ chính xác cao, cảm biến sẽ đo lại nhiệt độ sau mỗi chu kỳ 6 phút Dữ liệu thu thập được sẽ được truyền đến khối Processor thông qua kết nối Socket sử dụng giao thức TCP/IP.
Sơ đồ khối phần cứng cho thấy Processor hoạt động như một Server, trong khi các Node Sensor được coi là Client kết nối để thu thập dữ liệu Tuy nhiên, nếu nhìn nhận từ một góc độ rộng hơn, sơ đồ này mô tả tổng quan toàn bộ quá trình của hệ thống, không chỉ dừng lại ở việc thu thập và gửi dữ liệu về một nơi để xử lý.
Hình 3.2: Sơ đồ tổng quan toàn bộ hệ thống
Khối Node Sensor và Processor trong hình trên đại diện cho Client, trong khi Server là nơi lưu trữ các dữ liệu.
Dữ liệu thu thập và kết quả dự đoán sẽ được lưu trữ trên Firestore, đảm bảo an toàn và truy cập linh hoạt từ bất kỳ vị trí nào Dự đoán nhiệt độ cho 7 ngày tới sẽ được đồng bộ hóa lên Realtime Firebase.
Giao diện ứng dụng cho phép người dùng theo dõi nhiệt độ và tình trạng sức khỏe cây trồng một cách dễ dàng và trực quan Dữ liệu được lấy từ Firebase, bao gồm thông tin về nhiệt độ hiện tại và dự đoán nhiệt độ trong tương lai Ứng dụng cũng cung cấp dự báo thời tiết cho những ngày tiếp theo Nếu môi trường sống không đạt tiêu chuẩn, ứng dụng sẽ gửi thông báo và cảnh báo để hướng dẫn người dùng điều chỉnh và tối ưu hóa môi trường cho nấm.
Người dùng có thể nhận cảnh báo từ ứng dụng để kịp thời điều chỉnh môi trường sống cho nấm, nhằm tối ưu hóa năng suất trồng.
3.1.2 Sơ đồ khối lựa chọn mô hình máy học Để có cái nhìn chi tiết hơn về cách lựa chọn mô hình nào là tối ưu để sử dụng cho đề tài này, dưới đây là sơ đồ mô tả cách lựa chọn mô hình máy học:
Để lựa chọn mô hình máy học tối ưu, cần kiểm chứng kết quả dựa trên các tiêu chí như MAE, RMSE, R-squared, bộ nhớ sử dụng và thời gian thực thi Bước đầu tiên là thu thập dữ liệu từ các Node Sensor, sau đó tiến hành tiền xử lý, chuẩn hóa và chia dữ liệu thành các phần: dữ liệu huấn luyện, dữ liệu đánh giá và dữ liệu chưa từng học qua.
Nhóm nghiên cứu đã so sánh 6 mô hình máy học, bao gồm ARIMA, SVM, HYBRID, RF, LSTM và RF-LSTM Tất cả các mô hình này đều được xây dựng, huấn luyện và kiểm tra độ chính xác dựa trên các tiêu chí đánh giá cụ thể.
Để lựa chọn mô hình máy học tối ưu cho ứng dụng thực tế, cần tiến hành đánh giá trên tập dữ liệu Test nhằm đảm bảo kết quả chính xác nhất.
THIẾT KẾ DATABASE
Firebase Firestore is utilized for designing a database to store temperature data To establish a storage solution, a collection named "Database" is created This collection will contain multiple documents, with each document representing a specific day and holding information about the temperature recorded for that day.
Trong mỗi tài liệu, các trường được sử dụng để lưu trữ giá trị nhiệt độ theo từng giờ trong ngày Mỗi giờ được biểu thị bằng một trường dữ liệu cụ thể, chẳng hạn như "0h", "1h", và tiếp tục như vậy cho đến hết 24 giờ.
"2h" và tiếp tục cho đến "23h" Mỗi trường này sẽ chứa giá trị nhiệt độ thu thập được tại giờ tương ứng trong ngày đó
Hình 3.4: Cấu trúc dữ liệu trên Firestore Database
Với cấu trúc như hình trên nhóm có thể dễ dàng truy xuất dữ liệu từng giờ, từng ngày và có thể dễ dàng quản lý
Realtime Database được sử dụng để thiết kế cấu trúc lưu trữ thông tin về nhiệt độ hiện tại và nhiệt độ dự đoán Thông tin này được tổ chức trong hai tài liệu chính, bao gồm "Actual" và một tài liệu khác liên quan.
Phần "Actual" chỉ bao gồm một cặp key-value duy nhất, trong đó key là "Temperature" và value là giá trị nhiệt độ tại thời điểm hiện tại.
Phần "Predict" lưu trữ thông tin dự đoán nhiệt độ cho từng ngày và giờ trong tương lai Mỗi cặp key-value trong "Predict" thể hiện một ngày cụ thể và từng giờ trong ngày đó, với key được xác định theo ngày và giờ, còn value là giá trị dự đoán nhiệt độ tại thời điểm tương ứng.
Hình 3.5: Cấu trúc dữ liệu trên Realtime Database
Với cấu trúc như hình trên nhóm có thể lưu trữ thông tin về nhiệt độ hiện tại trong
"Actual" và "Predict" cho phép lưu trữ và truy xuất thông tin dự đoán nhiệt độ theo ngày và giờ một cách tổ chức và linh hoạt trong Firebase Realtime Database.
THIẾT KẾ PHẦN MỀM
3.3.1 Lưu đồ thuật toán cho mô hình xử lý trên Raspberry Pi
Từ những chức năng chính của khối xử lý (Processor), lưu đồ thuật toán của mô hình được mô tả hình dưới
Hình 3.6: Lưu đồ thuật toán xử lý trên Raspberry Pi 4
Khi khởi động, hệ thống thiết lập kết nối với các Node Sensor và Firebase, cho phép khối xử lý chờ đợi các sự kiện kết nối từ Node Sensor Khi kết nối được xác nhận, hệ thống bắt đầu truyền và nhận dữ liệu Mỗi 6 phút, dữ liệu sẽ được gửi từ Node Sensor đến khối xử lý.
Khi nhận dữ liệu, Processor sẽ tiến hành xử lý và sử dụng thông tin này để dự báo nhiệt độ Sau khi hoàn thành dự đoán, bước tiếp theo là gửi dữ liệu dự đoán đi.
31 lên Firebase Điều này giúp lưu trữ dữ liệu và cho phép ứng dụng lấy dữ liệu đó để hiển thị
3.3.2 Lưu đồ thuật toán thiết lập kết nối giữa Node Sensor và Processor
Thiết lập kết nối giữa Node Sensor và khối xử lý là bước quan trọng không thể bỏ qua để đảm bảo hệ thống hoạt động hiệu quả Nếu không thực hiện việc kết nối này, toàn bộ hệ thống sẽ không hoạt động Dưới đây là lưu đồ hướng dẫn cách thiết lập kết nối giữa Node Sensor và khối xử lý.
Hình 3.7: Lưu đồ thuật toán thiết lập kết nối giữa Node Sensor và khối xử lý
Theo lưu đồ thuật toán, quá trình bắt đầu với hai bước chính Đầu tiên, tạo một Socket mới và liên kết nó với địa chỉ IP và Port trên khối xử lý, đảm bảo khối xử lý sẵn sàng tiếp nhận kết nối từ Client.
Sau khi hoàn tất việc liên kết, khối xử lý sẽ bắt đầu lắng nghe các kết nối từ Node Sensor Nếu không có kết nối nào, nó sẽ chờ cho đến khi có kết nối mới Khi một kết nối được chấp nhận và thiết lập thành công, một Thread mới sẽ được tạo ra để xử lý kết nối đó.
Sử dụng Thread cho phép xử lý đồng thời nhiều kết nối từ các Node Sensor khác nhau, với mỗi Thread đảm nhận một kết nối riêng biệt, đảm bảo hiệu quả và sự song song trong quá trình xử lý.
Việc sử dụng Thread không chỉ tiết kiệm tài nguyên mà còn tối ưu hóa hiệu suất của Server Khi một kết nối bị ngắt, Thread tương ứng sẽ bị hủy, giúp giải phóng tài nguyên hiệu quả Điều này góp phần giảm thiểu lãng phí tài nguyên, đảm bảo hoạt động ổn định và hiệu quả cho hệ thống.
3.3.3 Lưu đồ thuật toán cho xử lý dữ liệu và thực hiện dự doán
Lưu đồ thuật toán của mô hình ARIMA
Hình 3.8: Lưu đồ thuật toán mô hình ARIMA
Để huấn luyện mô hình hiệu quả, việc chuẩn bị dữ liệu là rất quan trọng Đầu tiên, cần tiến hành tiền xử lý dữ liệu nhằm nâng cao chất lượng đầu vào cho mô hình Mô hình ARIMA yêu cầu dữ liệu đầu vào phải ổn định, vì vậy cần sử dụng phương pháp ADF để kiểm tra tính ổn định của dữ liệu Nếu dữ liệu không ổn định, các biến đổi như lấy sai phân bậc một hoặc tính log sẽ được áp dụng để đạt được sự ổn định cần thiết.
Sau khi kiểm tra tính Stationary của dữ liệu, dữ liệu được chia thành hai phần để xây dựng mô hình Khi mô hình hoàn thiện, cần đánh giá xem nó có đáp ứng được các kết quả mong đợi hay không Để thực hiện việc này, sử dụng tập dữ liệu kiểm tra để dự đoán giá trị và đánh giá độ chính xác của mô hình.
Lưu đồ thuật toán của mô hình SVM
Hình 3.9: Lưu đồ thuật toán mô hình SVM
Mô hình SVM cũng yêu cầu tiền xử lý dữ liệu Tuy nhiên, khác với mô hình ARIMA, SVM không nhất thuêts dữ liệu đầu vào phải ổn định
Sau khi hoàn thành bước tiền xử lý, chúng ta tiến hành xây dựng mô hình SVM để dự đoán giá trị nhiệt độ trong tương lai Đánh giá kết quả của mô hình là bước tiếp theo, tập trung vào độ chính xác của nó.
Lưu đồ thuật toán của mô hình HYBRID
Hình 3.10: Lưu đồ thuật toán mô hình HYBRID
Mô hình HYBRID kết hợp những ưu điểm nổi bật của ARIMA và SVM, do đó, trước khi tiến hành các bước tiếp theo, cần kiểm tra tính ổn định của dữ liệu để đảm bảo sự tương đồng với mô hình ARIMA.
Để xây dựng mô hình HYBRID, chúng ta sử dụng mô hình ARIMA đã được tinh chỉnh với các giá trị siêu tham số, và chỉ cần điều chỉnh các siêu tham số của mô hình SVM để đạt được kết quả tối ưu Quá trình dự đoán của mô hình HYBRID diễn ra qua hai bước: đầu tiên, mô hình ARIMA thực hiện dự đoán giá trị, sau đó kết quả này được sử dụng làm đầu vào cho mô hình SVM để tiếp tục dự đoán và đạt được kết quả cuối cùng.
Để sử dụng kết quả của mô hình ARIMA làm đầu vào cho mô hình SVM, cần thực hiện một bước chuyển đổi vì giá trị dự đoán từ ARIMA đã trải qua các biến đổi như log và sai phân, không còn giữ định dạng gốc Bước chuyển đổi này là cần thiết để mô hình SVM có thể thực hiện dự đoán chính xác Sau khi hoàn tất quá trình huấn luyện, kết quả của mô hình sẽ được đánh giá.
Lưu đồ thuật toán của mô hình LSTM
Hình 3.11: Lưu đồ thuật toán mô hình LSTM
Mô hình LSTM, giống như các mô hình học máy khác, yêu cầu quá trình tiền xử lý dữ liệu để đảm bảo việc sử dụng dữ liệu hiệu quả Quá trình này bao gồm hai bước chính.
Bước đầu tiên trong quá trình chuẩn hóa dữ liệu là đưa nó về mức Zero Base Để thực hiện điều này, ta chia tất cả các giá trị trong dữ liệu cho giá trị đầu tiên và sau đó trừ đi 1 Phương pháp này giúp chuyển đổi dữ liệu sang dạng tương đối so với giá trị ban đầu.
KẾT QUẢ
TIÊU CHÍ ĐÁNH GIÁ
Trong quá trình đánh giá hiệu suất của các mô hình, nhóm đã áp dụng ba tiêu chí chính: Sai số trung bình tuyệt đối (MAE), Căn bậc hai của sai số bình phương trung bình (RMSE) và hệ số xác định (R-squared, R2).
Các tiêu chí và thang đo như MAE, RMSE và R2 là công cụ quan trọng để đánh giá hiệu quả của các mô hình MAE đo lường sự chênh lệch trung bình giữa giá trị dự đoán và giá trị thực tế, trong khi RMSE tính toán sự chênh lệch trung bình theo bình phương R2 giúp xác định khả năng giải thích sự biến thiên của biến phụ thuộc trong mô hình.
Bằng cách áp dụng cả ba tiêu chí này, nhóm có thể xác định mô hình tối ưu cho bài toán cụ thể, đồng thời thực hiện các điều chỉnh cần thiết để cải thiện hiệu suất và nâng cao khả năng dự đoán của mô hình.
Khi đánh giá mô hình, tiêu chí MAE (Mean Absolute Error) được sử dụng để đo độ chính xác của mô hình MAE được tính bằng cách lấy trung bình giá trị tuyệt đối của sai số giữa giá trị dự đoán và giá trị thực tế Tiêu chí này giúp đo lường chênh lệch tuyệt đối giữa hai giá trị mà không quan tâm đến hướng sai số.
Giá trị MAE nhỏ cho thấy mô hình có độ chính xác cao trong dự đoán Khi MAE gần bằng 0, tức là sai số trung bình rất nhỏ, khả năng dự đoán của mô hình sẽ tốt hơn.
RMSE (Root Mean Square Error) là một chỉ số quan trọng trong thống kê, được tính bằng cách lấy căn bậc hai của giá trị trung bình các sai số bình phương giữa giá trị dự đoán và giá trị thực tế Chỉ số này giúp đánh giá độ chính xác của các mô hình dự đoán, cho phép người dùng nhận diện mức độ sai lệch giữa dự đoán và thực tế một cách rõ ràng.
Độ chính xác của mô hình được đánh giá thông qua giá trị RMSE; giá trị RMSE càng thấp, tức là gần 0, cho thấy mô hình càng chính xác Khi RMSE thấp, sự chênh lệch giữa dự đoán và giá trị thực tế cũng nhỏ, dẫn đến kết quả mô hình tốt hơn.
R2 là chỉ số thống kê quan trọng để đánh giá độ phù hợp của mô hình, phản ánh khả năng giải thích biến thiên của biến phụ thuộc dựa trên các biến độc lập Chỉ số này được tính bằng cách so sánh sai số của mô hình với tổng sai số của mô hình trung bình, giúp người dùng hiểu rõ hơn về hiệu quả của mô hình.
Giá trị R2 nằm trong khoảng từ 0 đến 1, với giá trị gần 1 cho thấy mô hình hồi quy có độ chính xác cao và giải thích được hầu hết sự biến động của dữ liệu Ngược lại, giá trị R2 gần 0 chỉ ra rằng mô hình không phù hợp với dữ liệu Nếu R2 âm, điều này có nghĩa là mô hình hoạt động kém hơn so với mô hình trung bình, cho thấy dự đoán của nó không đạt yêu cầu so với giá trị trung bình của dữ liệu.
CHUẨN BỊ TẬP DỮ LIỆU ĐỂ HUẤN LUYỆN
Dữ liệu nhiệt độ dùng để huấn luyện và đánh giá mô hình được thu thập trực tiếp từ cảm biến theo từng giờ tại cùng một khu vực và lưu trữ trên Firebase Trong quá trình thu thập, đã xảy ra một khoảng thời gian không thu thập dữ liệu Để đảm bảo tính liên tục trong biểu đồ dữ liệu, giá trị trục x đã được điều chỉnh thành số lượng mẫu dữ liệu.
Hình 4.1: Dữ liệu nhiệt độ theo thời gian
Tập dữ liệu được chia theo tỷ lệ 90:10, trong đó 90% được sử dụng cho việc huấn luyện mô hình, còn 10% còn lại dùng để đánh giá hiệu quả của mô hình.
KẾT MÔ HÌNH ARIMA
4.3.1 Xử lý chuỗi dữ liệu về Stationary sử dụng phương pháp ADF
Mô hình ARIMA là một trong những phương pháp dự đoán chuỗi thời gian phổ biến nhất hiện nay Với ba siêu tham số chính là p, d và q, mô hình này cung cấp một cách tiếp cận toàn diện để phân tích và dự đoán dữ liệu thời gian Trong đó, mỗi siêu tham số đại diện cho một khía cạnh cụ thể trong quá trình tạo ra dự đoán, bao gồm tự hồi quy (p), sai phân (d) và trung bình trượt (q), giúp mô hình ARIMA trở thành một công cụ mạnh mẽ trong phân tích dữ liệu thời gian.
Trước khi chọn các siêu tham số, việc đánh giá tính Stationary hoặc Non-stationary của chuỗi thời gian là rất quan trọng Điều này giúp xác định xu hướng và sự biến đổi của chuỗi thời gian Tính stationary là điều kiện thiết yếu để áp dụng mô hình ARIMA một cách hiệu quả.
Hình 4.2: Sai phân bậc một cho chuỗi dữ liệu gốc
Hình 4.3: Dữ liệu nhiệt độ biến đổi theo log
Hình 4.4: Sai phân bậc một cho chuỗi dữ liệu biến đổi theo log
Tính stationary là yếu tố quan trọng trong việc xây dựng mô hình, đặc biệt là mô hình ARIMA Kết quả kiểm tra tính stationary qua phương pháp Augmented Dickey-Fuller test (ADF) cho thấy cả dữ liệu gốc và dữ liệu đã được biến đổi bằng log đều không đạt yêu cầu về tính stationary.
46 phép sai phân bậc 1 cho cả dữ liệu gốc và dữ liệu đã được biến đổi bằng log, cả hai đều đạt được tính Stationary
Bảng 4.1: Kết quả chỉ số p-value và ADF Statistic
Trong phương pháp ADF Test, p-values được trình bày trong dấu ngoặc đơn, trong khi ADF Statistic xuất hiện trước dấu ngoặc Nếu p-value nhỏ hơn 0.01, điều này chứng minh rằng dữ liệu là stationary.
The ADF Statistic is used to assess the stationarity of a time series dataset If the ADF Statistic value is less than the Critical Values, the data series is considered stationary; conversely, if the ADF Statistic exceeds the Critical Values, the data series is deemed non-stationary.
Giá trị p-value là một công cụ quan trọng để đánh giá sự hiện diện của xu hướng trong chuỗi dữ liệu thời gian Khi p-value nhỏ hơn ngưỡng đáng tin cậy (ví dụ 0.01), chuỗi dữ liệu được xem là Stationary, tức là không có xu hướng Ngược lại, nếu p-value lớn hơn ngưỡng này, chuỗi dữ liệu sẽ được coi là non-stationary và có chứa xu hướng.
Giá trị Critical Values càng lớn thì độ tin cậy càng cao Nếu giá trị ADF Statistic nhỏ hơn giá trị Critical Values tương ứng với mức ý nghĩa 1%, 5% và 10%, chúng ta có thể bác bỏ giả thuyết không có tính Stationary với độ tin cậy lần lượt là 99%, 95% và 90%.
4.3.2 Xác định các siêu tham số trong mô hình ARIMA
Khi xác định các siêu tham số p, d và q trong mô hình ARIMA, có nhiều phương pháp khác nhau được áp dụng Trong nghiên cứu này, nhóm tác giả đã chọn sử dụng phương pháp tìm kiếm lưới (Grid Search) để tối ưu hóa các tham số này.
Phương pháp này thử nghiệm tất cả các giá trị khả thi cho p, d và q, sau đó đánh giá các mô hình ARIMA được tạo ra từ từng bộ giá trị Mục tiêu là xác định bộ giá trị tối ưu nhất cho mô hình.
Mặc dù phương pháp tìm kiếm lưới có thể mất thời gian, nhưng nó giúp khám phá nhiều giá trị siêu tham số và tìm ra giá trị tối ưu cho mô hình ARIMA.
Bảng 4.2: Kết quả chỉ số MAE cho mô hình ARIMA q p
Bảng 4.3: Kết quả chỉ số RMSE cho mô hình ARIMA q p
Việc chọn giá trị d = 1 trong mô hình ARIMA là hợp lý vì nhiệt độ thường thay đổi ổn định mà không có xu hướng tăng hoặc giảm đột ngột Sử dụng bước sai phân đơn giản giúp xử lý tính ổn định này và giảm thiểu khả năng mất thông tin trong dữ liệu.
Mô hình ARIMA đã cho kết quả dự đoán khả quan, với độ chính xác cao nhờ khả năng huấn luyện lại khi có dữ liệu mới, mặc dù vẫn có một số sai lệch ở những thời điểm nhất định.
Hình 4.5: Kết quả dự đoán mô hình ARIMA.
KẾT MÔ HÌNH SVM
4.4.1 Xác định các siêu tham số trong mô hình SVM
SVM là một mô hình phổ biến cho phân loại và dự đoán, với hai siêu tham số quan trọng là C và gamma Để tối ưu hóa mô hình cho dự đoán nhiệt độ, cần xác định giá trị tốt nhất cho các siêu tham số này Nhóm nghiên cứu đã áp dụng phương pháp Grid Search để tìm kiếm giá trị tối ưu cho C và gamma.
Bảng 4.4: Kết quả chỉ số MAE cho mô hình SVM
Bảng 4.5: Kết quả chỉ số RMSE cho mô hình SVM
Trong mô hình SVM, việc xác định Kernel là một yếu tố quan trọng bên cạnh các siêu tham số C và gamma Đối với bài toán dự đoán giá trị nhiệt độ, dữ liệu có xu hướng biến đổi không đồng đều theo thời gian và thể hiện đặc điểm không tuyến tính Điều này cho thấy khả năng tồn tại các mô hình chu kỳ, không tuyến tính hoặc dao động không đều Hơn nữa, dữ liệu nhiệt độ còn phụ thuộc vào nhiều yếu tố như mùa vụ, điều kiện thời tiết và vùng địa lý, làm tăng tính không tuyến tính và sự phức tạp của dữ liệu.
Để dự đoán giá trị nhiệt độ, chúng ta sẽ sử dụng kernel RBF (Radial Basis Function) vì nó phù hợp trong việc mô hình hóa các đặc điểm không tuyến tính và không đều của dữ liệu nhiệt độ Kernel RBF giúp cải thiện độ chính xác của mô hình dự đoán.
SVM mở rộng không gian đặc trưng để tìm ra quy luật phức tạp hơn và dự đoán nhiệt độ hiệu quả hơn
Mô hình SVM, giống như ARIMA, sẽ thực hiện huấn luyện lại khi có dữ liệu mới Tuy nhiên, do SVM chủ yếu mạnh về phân loại, nên khi áp dụng cho dự đoán, kết quả không đạt hiệu quả cao.
Hình 4.6: Kết quả dự đoán mô hình SVM.
KẾT QUẢ MÔ HÌNH HYBRID
4.5.1 Xác định các siêu tham số trong mô hình HYBRID
Mô hình HYBRID kết hợp sức mạnh của ARIMA và SVM để dự đoán nhiệt độ, tận dụng khả năng mô hình hóa chu kỳ của ARIMA và xử lý phi tuyến tính của SVM Để xây dựng mô hình này, cần xác định các tham số p, d, q, C và gamma.
Giống với ARIMA và SVM, việc xác định giá trị tối ưu cho p, d, q, C và gamma trong mô hình HYBRID cũng được thực hiện bằng kỹ thuật Grid Search
Bảng 4.6: Kết quả chỉ số MAE cho mô hình HYBRID
Bảng 4.7: Kết quả chỉ số RMSE cho mô hình HYBRID
Các siêu tham số p, d, q đã được tối ưu hóa trong mô hình ARIMA, vì vậy không cần tìm kiếm lại Mô hình HYBRID kết hợp ARIMA và SVM, trong đó ARIMA có khả năng mô hình hóa thành phần chu kỳ của dữ liệu nhiệt độ Điều này cho phép mô hình HYBRID hiệu quả hơn trong việc xử lý các yếu tố chu kỳ như mùa vụ, tuần hoặc ngày trong dữ liệu nhiệt độ.
ARIMA là công cụ hữu ích để tối ưu hóa các siêu tham số của SVM Kết quả từ ARIMA giúp đánh giá hiệu suất của SVM và điều chỉnh các siêu tham số như kernel, C và gamma, nhằm đạt được hiệu quả tối ưu trong phân tích dữ liệu.
Mô hình HYBRID, kết hợp giữa ARIMA và SVM, cho kết quả dự đoán vượt trội nhờ khả năng huấn luyện lại khi có dữ liệu mới, mang lại độ chính xác cao hơn so với từng mô hình riêng lẻ.
Hình 4.7: Kết quả dự đoán mô hình HYBRID.
KẾT QUẢ MÔ HÌNH LSTM
4.6.1 Xác định các tham số trong mô hình LSTM
Mô hình LSTM là một phiên bản nâng cấp của mạng hồi quy, giúp học các mối quan hệ dài hạn mà các mạng hồi quy truyền thống không thể thực hiện Tương tự như ARIMA và SVM, mô hình LSTM cũng cần xác định các siêu tham số để tối ưu hóa hiệu suất Các tham số quan trọng cần được xác định bao gồm:
- Kiến trúc mô hình LSTM: Quyết định về kiến trúc của mô hình LSTM, bao gồm số lớp LSTM, số đơn vị LSTM trong mỗi lớp,
Để xây dựng mô hình LSTM hiệu quả, cần xác định cách chia dữ liệu đầu vào và đầu ra Việc này bao gồm việc phân chia dữ liệu thành các chuỗi thời gian, xác định số lượng bước thời gian cần dự đoán, cùng với cách biểu diễn dữ liệu đầu vào và đầu ra cho mô hình.
Choosing the appropriate loss function is crucial for prediction tasks; for instance, Mean Squared Error (MSE) is ideal for regression problems, while Cross-Entropy is suitable for classification tasks.
- Thuật toán tối ưu (Optimizer): Thuật toán để điều chỉnh trọng số của mô hình Các thuật toán phổ biến bao gồm Gradient Descent, Adam, RMSprop và Adagrad
Để tối ưu hóa quá trình huấn luyện mô hình, cần xác định các tham số quan trọng như số lần lặp (Epoch), kích thước mẫu (Batch Size) và tốc độ học (Learning Rate) Những tham số này ảnh hưởng trực tiếp đến hiệu suất và độ chính xác của mô hình.
Bảng 4.8: Ý nghĩa các thông số trong mô hình LSTM
Input Layer = 1 Tương ứng với lớp đầu tiên trong mạng, số lượng biến độc lập hoặc thuộc tính đầu vào
Hidden Layer = 2 Tương ứng số lượng lớp LSTM xếp chồng lên nhau để xử lý và học các mẫu trong dữ liệu chuỗi
Output Layer = 1 Lớp cuối cùng trong một mạng Neural, nơi mà kết quả dự đoán được sinh ra từ quá trình huấn luyện
Window Size = 5 Số lượng điểm dữ liệu trước đó dùng để đưa ra dự đoán cho điểm dữ liệu tiếp theo
Loss Function = MSE Dùng để đo đánh giá chênh lệch giữa giá trị dự đoán và thực tế
Dropout = 0.2 Kỹ thuật bỏ bớt các kết nối nhằm hạn chế Overfitting trong mô hình mạng Neural nhiều lớp
The Adam optimizer is an algorithm designed to optimize weights and biases in machine learning models Its primary goal is to identify parameter values that minimize the loss function, ensuring improved model performance.
Activation Function = Tanh Hàm kích hoạt được áp dụng trong lớp ẩn
Batch Size = 32 Kích thước mẫu
Kiến trúc mô hình LSTM xây dựng sau khi xác định các thông số và thuộc tính phù hợp với bài toán dự đoán giá trị nhiệt độ
Hình 4.9: Kiến trúc mô hình LSTM
Mô hình LSTM dự đoán kết quả khác biệt so với các mô hình ARIMA, SVM và HYBRID, vì nó không cần huấn luyện lại khi có dữ liệu mới.
Để đạt được kết quả tốt nhất trong việc dự đoán, cần sử dụng 55 mô hình khác nhau Kết quả dự đoán nhìn chung khá chính xác, không bị lệch nhiều ngay cả khi nhiệt độ tại thời điểm đó có sự bất thường.
Hình 4.8: Kết quả dự đoán mô hình LSTM.
KẾT QUẢ MÔ HÌNH RF
4.7.1 Xác định các tham số trong mô hình RF
Mô hình Random Forest (RF) được sử dụng phổ biến trong học có giám sát, đặc biệt trong dự đoán giá trị RF không cần xác định các tham số đặc biệt để xây dựng, mà thay vào đó, nó sử dụng một tập hợp các cây quyết định để tạo ra dự đoán cuối cùng.
Quá trình xây dựng mô hình Random Forest (RF) bao gồm việc chọn ngẫu nhiên mẫu và đặc trưng từ tập dữ liệu để tạo ra các cây quyết định Mỗi cây quyết định được huấn luyện dựa trên một phần dữ liệu và một tập hợp đặc trưng ngẫu nhiên Dự đoán cuối cùng được tổng hợp từ các dự đoán của từng cây quyết định trong mô hình.
Bảng 4.9: Ý nghĩa các thông số trong mô hình RF
Trong bài viết này, chúng ta sẽ tìm hiểu về các thuộc tính quan trọng trong mô hình Random Forest Đầu tiên, tham số n_estimators được đặt là 500, xác định số lượng cây quyết định trong mô hình Tiếp theo, max_depth là 10, cho biết độ sâu cực đại của cây quyết định, ảnh hưởng đến khả năng mô hình học được các quy tắc phức tạp Tham số min_samples_split là 2, chỉ ra số lượng mẫu tối thiểu cần thiết để tách một nút trong cây Ngoài ra, min_samples_leaf được đặt là 1, xác định số lượng mẫu tối thiểu cần thiết để tạo thành một lá khi xây dựng cây quyết định Cuối cùng, random_state được thiết lập là 42, dùng để khởi tạo bộ sinh số ngẫu nhiên, hỗ trợ trong việc tạo ra các cây quyết định trong mô hình Random Forest.
Mô hình RF đã cho kết quả dự đoán tốt, vượt trội hơn so với LSTM, mặc dù cả hai mô hình đều không thực hiện huấn luyện lại khi có dữ liệu mới.
Hình 4.9: Kết quả dự đoán mô hình RF.
KẾT QUẢ CỦA MÔ HÌNH RF-LSTM
4.8.1 Xác định các tham số trong mô hình RF-LSTM
Mô hình RF-LSTM kết hợp giữa Random Forest (RF) và Long Short-Term Memory (LSTM) để tối ưu hóa độ chính xác và giảm thiểu hiện tượng Overfitting, nhờ vào việc khai thác những ưu điểm của cả hai phương pháp này.
Trong mô hình RF-LSTM, việc sử dụng Random Forest (RF) làm đầu vào cho Long Short-Term Memory (LSTM) đã chứng minh mang lại hiệu quả vượt trội so với việc áp dụng RF ở đầu ra của LSTM Thực tế, kết quả từ việc sử dụng RF ở đầu ra kém hơn so với chỉ sử dụng LSTM một cách độc lập Vì vậy, RF được lựa chọn làm đầu vào cho LSTM nhằm khai thác tối đa các đặc trưng được học từ mô hình RF.
Sau khi huấn luyện mô hình bằng mạng Random Forest, dữ liệu được chuyển tiếp vào mạng LSTM Nhờ vào việc đã trích xuất đặc trưng qua mô hình Random Forest, quá trình huấn luyện mạng LSTM chỉ cần một vài epoch để đạt được kết quả khả quan Mạng LSTM trong trường hợp này bao gồm hai lớp LSTM với 128 và 64 neural, tiếp theo là một lớp ẩn với 25 neural, và cuối cùng là đầu ra kết quả.
Hình 4.10: Kiến trúc mô hình LSTM được xây dựng trong RF-LSTM
Dưới đây là kết quả dự đoán của mô hình RF-LSTM, RF-LSTM là sự kết hợp giữa
RF và LSTM không cần huấn luyện lại khi có dữ liệu mới Sự kết hợp giữa hai mô hình này tận dụng những điểm mạnh riêng biệt, từ đó mang lại kết quả dự đoán tốt hơn so với từng mô hình riêng lẻ.
Hình 4.11: Kết quả dự đoán mô hình RF-LSTM
SO SÁNH KẾT QUẢ GIỮA CÁC MÔ HÌNH
Các mô hình đã được trình bày có mục tiêu dự đoán giá trị nhiệt độ trong tương lai, và chúng được đánh giá dựa trên các tiêu chí như MAE, RMSE và R2 Kết quả thực hiện được trên PC và Raspberry Pi với cấu hình tương ứng.
PC: Intel(R) Xeon(R) CPU @ 2.20GHz, 12 Gb RAM
PI: Broadcom BCM2711, SoC 64-bit quad-core ARM Cortex-A72, 4 GB RAM Bảng dưới đây cung cấp chi tiết kết quả của từng mô hình
Bảng 4.10: So sánh kết quả giữa các mô hình
Mô hình RF-LSTM đã chứng tỏ hiệu quả vượt trội trong số các mô hình được đánh giá, với chỉ số MAE và RMSE thấp nhất, cho thấy khả năng dự đoán chính xác và ổn định hơn so với mô hình RF Mặc dù mô hình RF cũng đạt kết quả tốt, nhưng vẫn không thể so sánh với RF-LSTM.
Mô hình LSTM và HYBRID đã cho kết quả tương đối khả quan, tuy nhiên vẫn không vượt qua được RF và RF-LSTM Trong khi đó, các mô hình ARIMA và SVM chưa đạt hiệu suất cao như các mô hình khác, nhưng vẫn có thể hữu ích trong những tình huống đặc biệt hoặc khi dữ liệu có đặc điểm không tuyến tính rõ ràng.
Ngoài độ chính xác, tốc độ xử lý và mức sử dụng bộ nhớ của các mô hình cũng cần được xem xét Dưới đây là bảng so sánh tốc độ thực thi của các mô hình.
Bảng 4.11: Thời gian thực thi đối với tập dữ liệu kiểm tra
Bảng 4.12: Thời gian thực thi khi thực hiện huấn luyện mô hình
Bảng 4.13: Thời gian thực thi khi huấn luyện và kiểm tra mô hình
Kết quả thời gian thực thi cho thấy ba mô hình RF, LSTM, và RF-LSTM có tốc độ nhanh hơn so với ba mô hình ARIMA, SVM, và HYBRID Trong số đó, mô hình RF đạt tốc độ thực thi nhanh nhất, tiếp theo là mô hình RF-LSTM với tốc độ chậm hơn một chút Tuy nhiên, việc đánh giá mô hình nào là tốt nhất không chỉ dựa vào tốc độ.
61 dựa trên tốc độ thực thi, mà còn phụ thuộc vào các yêu cầu và tiêu chí khác như độ chính xác, khả năng dự đoán,
Một yếu tố quan trọng khác trong việc so sánh các mô hình là đánh giá mức độ sử dụng bộ nhớ của chúng Dưới đây là bảng thể hiện mức sử dụng bộ nhớ của các mô hình.
Bảng 4.14: Bộ nhớ sử dụng khi thực thi kiểm tra đánh giá mô hình
Memory Usage 427 MB 156 MB 491 MB
Bảng 4.15: Bộ nhớ sử dụng khi thực thi huấn luyện và đánh giá mô hình
ARIMA SVM HYBRID LSTM RF RF-LSTM
Memory Usage 280 MB 114 MB 233 MB 469 MB 188 MB 533 MB
Dựa trên các tiêu chí MAE, RMSE, R2, tốc độ thực thi và bộ nhớ sử dụng, mô hình RF-LSTM được xác định là lựa chọn tối ưu nhất Mô hình này không chỉ đạt hiệu suất dự đoán vượt trội với độ chính xác cao, mà còn mặc dù tiêu tốn nhiều bộ nhớ hơn do kết hợp từ hai mô hình khác nhau, nhưng những lợi ích mà nó mang lại hoàn toàn xứng đáng với việc sử dụng bộ nhớ cao đó.
Mô hình RF-LSTM nổi bật với khả năng xử lý các đặc trưng phi tuyến tính và quan hệ không đồng nhất trong dữ liệu Nó có khả năng nắm bắt các mẫu dữ liệu theo thời gian và quản lý thông tin trạng thái dài hạn, từ đó đạt được độ chính xác cao nhất so với các mô hình khác.
Việc lựa chọn mô hình tối ưu phụ thuộc vào yêu cầu và tiêu chí cụ thể của từng vấn đề Nếu tốc độ thực thi là yếu tố quan trọng nhất, thì Random Forest (RF) là sự lựa chọn phù hợp hơn.
Mô hình RF-LSTM được xác định là lựa chọn tối ưu nhất nhờ vào việc so sánh các tiêu chí đánh giá, đồng thời phù hợp với tập dữ liệu nhiệt độ, mang lại kết quả với độ chính xác cao.
Cách đo Memory Usage sử dụng mprof:
Trước khi thực hiện đo Memory usage của một mô hình, ta cần thực hiện một số bước chuẩn bị sau:
Cài đặt thư viện memory_profiler sử dụng command “pip install memory_profiler”
Để đo lường mức sử dụng bộ nhớ trong chương trình Python, bạn cần cài đặt thư viện memory_profiler và thêm decorator trước tên hàm mà bạn muốn theo dõi.
Hình 4.12: Cách thêm thư viện và Decorator
Tiến hành đo Memory Usage sử dụng mprof bằng command “mprof run RF_LSTM.py”
Sau khi chạy xong sẽ xuất hiện file có đuôi “.dat” sẽ lưu lại bộ nhớ sử dụng hoặc có thể xem trực tiếp trên Terminal
Hình 4.13: Cấu trúc file lưu Memory Usage đã sử dụng Ý nghĩa các trường thông tin trong file lưu Memory Usage:
Line : số dòng trong file cần đo Memory Usage
Mem Usage : bộ nhớ sử dụng tại thời điểm đó
Increment : độ chênh lệch bộ nhớ sử dụng giữa thời điểm hiện tại và trước đó Occurrences : số lần thực thi dòng đó
Line Content: nội dung của dòng đó
Dựa vào ý nghĩa của các trường thông tin, chúng ta có thể đo lường mức sử dụng bộ nhớ tối đa của các mô hình bằng cách xác định giá trị cao nhất trong cột Mem Usage, giá trị này đã được trình bày trong bảng 4.14 và bảng 4.15.
KẾT QUẢ THỰC TẾ MÔ HÌNH VÀ ỨNG DỤNG SAU THI CÔNG
Dưới đây là mô hình thi công thực tế sau khi xây dựng và thiết kế thành công
Mô hình thực tế phần cứng sau khi thi công bao gồm hai phần chính để hiển thị thông tin nhiệt độ Phần đầu tiên hiển thị nhiệt độ theo từng giờ trong ngày, trong khi phần thứ hai cung cấp danh sách nhiệt độ dự báo cho 7 ngày tiếp theo.
Hình 4.15: Giao diện app cho người dùng thao tác
Thông tin nhiệt độ hiện tại được cập nhật theo thời gian thực từ cảm biến sẽ hiển thị lớn ở trung tâm, đảm bảo người dùng nhận được thông tin mới nhất Để có cái nhìn tổng quan về thời tiết, nhiệt độ của 7 ngày tiếp theo được trình bày chi tiết dưới dạng danh sách, bao gồm khoảng nhiệt độ trong từng ngày Người dùng có thể nhấn vào một ngày cụ thể để xem biểu đồ nhiệt độ, giúp họ hiểu rõ hơn về sự biến đổi nhiệt độ trong ngày đó.
Ứng dụng sẽ kiểm tra dữ liệu nhiệt độ dự đoán vào ngày chủ nhật để xác định tính phù hợp với điều kiện nuôi trồng và phát triển nấm bào ngư Nếu dữ liệu không phù hợp, ứng dụng sẽ gửi cảnh báo đến người dùng.
66 cho người dùng Thông tin này giúp người dùng nhận biết tình huống và có sự chuẩn bị để đối mặt
Hình 4.17: Thông báo khi nhiệt ảnh hưởng đến nấm