Đề án này đã áp dụng các thuật toán và mô hình học máy như KNN, SVM, XGBoost và LightGBM để phân tích dữ liệu từ hệ thống thông tin địa lý GIS và doanh số bán hàng của các cửa hàng hiện
Giới thiệu đề án
Trong lĩnh vực bán lẻ, dữ liệu đóng vai trò quan trọng trong việc giúp doanh nghiệp nắm bắt xu hướng mới, hiểu rõ mong muốn của người tiêu dùng và mở rộng cơ hội kết nối với khách hàng Sự phát triển của công nghệ thông tin cho phép thu thập và lưu trữ các sản phẩm tìm kiếm trên Internet dưới dạng dữ liệu, bao gồm hóa đơn, cuộc gọi và tin nhắn Tuy nhiên, để tận dụng hiệu quả nguồn dữ liệu lớn này, doanh nghiệp cần phân tích chúng một cách chính xác, điều này vẫn là thách thức lớn mà nhiều doanh nghiệp phải đối mặt.
Hình 1.2: Địa điểm mở cửa hàng bán lẻ (Nguồn: internet)
Khi lựa chọn địa điểm mở cửa hàng bán lẻ, các nhà bán lẻ cần xem xét kỹ lưỡng các yếu tố như cơ hội tăng trưởng thị trường và thị hiếu người tiêu dùng trong khu vực Phân tích địa điểm (PTĐĐMCHBL) là yếu tố quan trọng để tiếp thị sản phẩm và tiếp cận người tiêu dùng hiệu quả Việc lựa chọn vị trí không chỉ đòi hỏi nguồn đầu tư lớn mà còn ảnh hưởng trực tiếp đến doanh số của doanh nghiệp Địa điểm quyết định quy mô cửa hàng, giá sản phẩm và nguồn nhân lực cần thiết Khác với các chiến lược bán lẻ khác có thể thay đổi linh hoạt, địa điểm cửa hàng là quyết định lâu dài và khó thay đổi Trong bối cảnh mua sắm trực tuyến ngày càng phát triển, các cửa hàng phải đối mặt với áp lực cạnh tranh cao, vì vậy việc phân tích cẩn thận trước khi mở cửa hàng là điều cần thiết.
PTĐĐMCHBL có khả năng triển khai cho nhiều ngành nghề khác nhau, giúp xác định các địa điểm kinh doanh tiềm năng và phù hợp với nhu cầu của người dân Qua đó, các doanh nghiệp và thương hiệu có thể lập kế hoạch chính xác, tập trung vào sản phẩm và dịch vụ cần thiết Đặc biệt, đối với các cửa hàng thuốc, PTĐĐMCHBL hỗ trợ tối ưu hóa lợi nhuận bằng cách xác định khu vực dân cư xa bệnh viện, từ đó cung cấp thuốc men thuận tiện cho người dân Điều này không chỉ mang lại lợi ích kinh tế cho các cửa hàng mà còn cải thiện khả năng tiếp cận thuốc men cho cộng đồng.
PTĐĐMCHBL là một phương pháp hữu ích nhưng chưa được nhiều doanh nghiệp áp dụng, vì họ thường chỉ mở cửa hàng ở những khu vực đông dân cư mà không nhận ra rằng càng nhiều cửa hàng thì cạnh tranh càng cao Phương pháp này giúp khai phá và mở rộng thị trường, đồng thời mang lại hiệu quả và bền vững trong kinh doanh tại từng khu vực Mặc dù PTĐĐMCHBL đặt ra nhiều thách thức, nếu được áp dụng đúng cách, nó có thể cải thiện đáng kể hiệu suất kinh doanh.
Quá trình nghiên cứu
PTĐĐMCHBL là một thách thức lớn, với nhiều nghiên cứu hàng năm nhằm nâng cao hiệu quả Roig-Tierno và cộng sự đã sử dụng hệ thống thông tin địa lý (GIS) kết hợp với phân tích thứ bậc để xếp hạng các địa điểm, từ đó đưa ra quyết định mở siêu thị mới ở Tây Ban Nha GIS cung cấp dữ liệu chính xác và tích hợp, nhưng hạn chế trong việc ghi nhận sự kiện chỉ khi chúng xảy ra Trong khi đó, Ceren Erdinh và Halil Emre Akbas đã áp dụng phương pháp Fuzzy-TOPSIS để so sánh với GIS, cho thấy F-TOPSIS có thể điều chỉnh tiêu chí nhanh chóng và dự đoán biến động tương lai, mặc dù kết quả phụ thuộc vào đánh giá chủ quan của các chuyên gia.
Nghiên cứu của Aversa và các cộng sự áp dụng kiến trúc cơ sở dữ liệu Data Warehouse (DWH) và Data Lake (DL) để lưu trữ dữ liệu từ các giao dịch bán lẻ phục vụ cho phân tích DWH là cơ sở dữ liệu được tổng hợp và lọc từ nhiều nguồn trước khi lưu trữ, thường được sử dụng để tạo báo cáo và phân tích dữ liệu Trong khi đó, DL là kho lưu trữ dữ liệu thô với quy mô lớn, giữ nguyên định dạng gốc cho đến khi cần thiết để trích xuất và định dạng lại Phân tích dữ liệu kinh doanh cho thấy rằng độ chính xác của báo cáo tăng lên với khối lượng dữ liệu lớn, vì dữ liệu ít ỏi có thể dẫn đến những thất bại lớn trong ứng dụng thực tế do chỉ phản ánh một vùng hạn chế.
Phương pháp Hesitant Analytic Hierarchy Process (H-AHP) và Grey Relational Analysis (GRA) đã được Nurdan Yldız và Fatih Tüysüz áp dụng để vượt qua giới hạn phân tích chỉ trong một thành phố, mở rộng ra toàn quốc GRA sử dụng mô phỏng Monte Carlo, cho phép tác giả linh hoạt thêm hoặc bớt các tiêu chí đánh giá, từ đó cải thiện khả năng ra quyết định Điều này đóng vai trò quan trọng trong việc thay đổi phương thức kinh doanh hoặc vị trí nghiên cứu một cách hiệu quả và linh hoạt.
Phương pháp nghiên cứu
Tìm hiểu lý thuyết và chuẩn bị dữ liệu
Hệ thống thông tin địa lý (GIS) là công cụ quan trọng trong việc nghiên cứu và phân tích các thành phần địa lý, bao gồm vị trí, mật độ dân số và thu nhập bình quân Việc sử dụng GIS giúp hiểu rõ hơn về các yếu tố này và mối liên hệ giữa chúng trong không gian địa lý.
Tiền xử lý dữ liệu là bước quan trọng trong nghiên cứu, bao gồm các phương pháp như làm sạch, loại bỏ nhiễu và chuẩn hóa dữ liệu Những quy trình này giúp bảo đảm tính nhất quán cho các giai đoạn phân tích tiếp theo, từ đó nâng cao độ chính xác và hiệu quả của kết quả phân tích.
Chuẩn hóa dữ liệu là quá trình phân tích và áp dụng các phương pháp để đảm bảo rằng dữ liệu đầu vào có cùng quy mô và định dạng Việc chuẩn hóa này rất quan trọng vì nó giúp đảm bảo các mô hình phân tích hoạt động chính xác.
Phân tích và tóm tắt đặc điểm
Tiền xử lý dữ liệu GIS và doanh số là quá trình thu thập, tập hợp và chuẩn bị dữ liệu liên quan đến vị trí địa lý và doanh thu từ các cửa hàng Dữ liệu này bao gồm thông tin về vị trí cửa hàng, lưu lượng giao thông, doanh thu, mật độ dân cư và các yếu tố địa lý khác, giúp phân tích và tối ưu hóa hiệu quả kinh doanh.
Áp dụng các phương pháp phân tích dữ liệu để trích xuất các yếu tố đặc trưng từ dữ liệu GIS và doanh số, bao gồm khoảng cách tới tiện ích công cộng, mật độ dân cư xung quanh và các yếu tố ảnh hưởng đến doanh thu bán hàng.
Ứng dụng các mô hình phân tích
K-Nearest Neighbors (KNN): Sử dụng thuật toán KNN để tìm kiếm các khu vực, vị trí tiềm năng cho cửa hàng mới dựa trên sự tương đồng với các khu vực,vị trí hiện tại có hiệu suất kinh doanh cao KNN sẽ giúp tìm kiếm các khu vực có đặc điểm tương tự và dự đoán doanh số tại các vị trí mới
Thuật toán Support Vector Machine (SVM) được sử dụng để dự đoán và phân loại khả năng thành công của các vị trí mới SVM tối ưu hóa việc phân loại các điểm dữ liệu, đồng thời tìm kiếm những khu vực có tiềm năng lớn nhất dựa trên các yếu tố đặc trưng đã được rút trích.
Extreme Gradient Boosting (XGBoost) là một thuật toán học máy mạnh mẽ, thường được áp dụng trong các bài toán phân loại và hồi quy Với khả năng xử lý dữ liệu lớn, tốc độ huấn luyện nhanh và hiệu suất cao, XGBoost nổi bật trong các cuộc thi học máy như Kaggle Mô hình này sử dụng kỹ thuật boosting, kết hợp nhiều cây quyết định để tạo ra dự đoán chính xác hơn.
Thuật toán Light Gradient Boosting Machine (LightGBM) có khả năng phân tích dữ liệu nhân khẩu học, địa lý và kinh doanh để xác định các vị trí tối ưu cho việc mở cửa hàng mới Nhờ vào khả năng xử lý nhanh chóng và chính xác thông tin về dân số và thu nhập, LightGBM giúp dự đoán tiềm năng kinh doanh của các địa điểm khác nhau, từ đó hỗ trợ ra quyết định chiến lược về vị trí mở cửa hàng.
Đánh giá và điều chỉnh mô hình
Kỹ thuật cross-validation được sử dụng để đánh giá hiệu suất của các mô hình phân tích, giúp đảm bảo rằng các mô hình không bị overfitting và có khả năng tổng quát hóa với dữ liệu mới Quá trình điều chỉnh tham số tìm kiếm các giá trị tối ưu cho siêu tham số của mô hình học máy nhằm nâng cao hiệu suất dự đoán Đối với KNN, việc điều chỉnh tham số liên quan đến việc xác định số lượng hàng xóm k tối ưu, trong khi với SVM, nó bao gồm lựa chọn hạt nhân và hệ số điều chỉnh C Trong các mô hình boosting như XGBoost và LightGBM, điều chỉnh tham số thường tập trung vào việc tinh chỉnh tốc độ học, độ sâu cây và số lượng cây Việc điều chỉnh tham số đúng cách có thể tối ưu hóa hiệu suất mô hình, giảm thiểu lỗi dự đoán và ngăn ngừa overfitting.
Mục tiêu của đề án
Phân tích và xác định địa điểm tiềm năng để mở cửa hàng mới dựa trên dữ liệu bán hàng và phân tích không gian địa lý là một quy trình quan trọng Đề án áp dụng các thuật toán như KNN, SVM, XGBoost và LightGBM để đưa ra các đề xuất vị trí mở cửa hàng Các bước thực hiện bao gồm thu thập và tiền xử lý dữ liệu bán hàng cùng dữ liệu địa lý, phân tích để xác định các yếu tố then chốt ảnh hưởng đến doanh số, định vị các khu vực tiềm năng và đánh giá các địa điểm này Mục tiêu chính là tối ưu hóa doanh số và lợi nhuận bằng cách lựa chọn các vị trí chiến lược thông qua việc phân tích và mô hình hóa dữ liệu một cách chính xác.
Đóng góp của đề án
Đề án áp dụng các mô hình phân tích tiên tiến như KNN, SVM, XGBoost và LightGBM để dự đoán doanh số, nâng cao độ chính xác và tin cậy trong phân tích KNN xác định các vị trí tiềm năng dựa trên sự tương đồng, trong khi SVM hỗ trợ phân loại và dự báo hiệu suất cho các vị trí mới XGBoost và LightGBM tối ưu hóa dự báo doanh số bằng cách xử lý dữ liệu lớn, khai thác các đặc trưng quan trọng và giảm thiểu sai số dự đoán.
Kết hợp dữ liệu doanh số và GIS giúp tạo ra cái nhìn sâu sắc về các yếu tố ảnh hưởng đến hiệu quả hoạt động của cửa hàng bán lẻ Việc khảo sát nhu cầu, đánh giá địa lý và tình hình kinh tế cho phép hình thành một bức tranh toàn diện về thị trường.
Phương pháp tiếp cận dựa trên dữ liệu đảm bảo rằng các quyết định được đưa ra dựa trên nguyên tắc thực tiễn và khoa học, giúp loại bỏ cảm tính trong quá trình ra quyết định Nhờ đó, các quyết định kinh doanh được xây dựng trên nền tảng khoa học vững chắc, nâng cao tính chính xác và hiệu quả trong quản lý.
Đề án xác định vị trí tối ưu nhằm tìm kiếm các địa điểm tiềm năng có khả năng doanh số cao và tiếp cận hiệu quả với người tiêu dùng Sử dụng GIS và các mô hình phân tích, dự án giúp nhận diện những vị trí có mật độ dân cư đông, lưu lượng giao thông lớn và gần các tiện ích công cộng.
Tối ưu hóa hiệu quả kinh doanh thông qua phân tích dữ liệu và lịch sử doanh số giúp dự đoán và cải thiện doanh thu Đề án này cung cấp chiến lược kinh doanh phù hợp, xác định sản phẩm chủ lực và thời gian bán hàng cao điểm, đồng thời xem xét các yếu tố ảnh hưởng đến thói quen mua sắm của người tiêu dùng để đạt được kết quả tốt nhất.
Giảm thiểu rủi ro cho các cửa hàng mới bằng cách ứng dụng các mô hình phân tích tiên tiến Những phân tích khoa học này giúp nhận diện sớm các rủi ro tiềm ẩn như thị trường bão hòa, sự cạnh tranh mạnh và chuyển biến trong hành vi tiêu dùng, từ đó đưa ra quyết định dựa trên dữ liệu hiệu quả hơn.
Lập kế hoạch phát triển dài hạn là yếu tố quan trọng giúp xây dựng và mở rộng quy mô cửa hàng một cách bền vững và hiệu quả Phân tích thị trường và dự đoán doanh số chính xác trong kế hoạch dài hạn sẽ nâng cao khả năng cạnh tranh cho các công ty, đồng thời giúp họ chuẩn bị tốt hơn cho tương lai.
Nâng cao khả năng cạnh tranh là yếu tố quan trọng giúp doanh nghiệp tiếp cận gần hơn với thị trường và nhu cầu của người tiêu dùng Phân tích chi tiết hoạt động của đối thủ không chỉ giúp phát hiện lỗ hổng mà còn mở ra cơ hội mới trong thị trường Từ đó, doanh nghiệp có thể phát triển các chiến lược kinh doanh phù hợp, tối ưu hóa hiệu quả cạnh tranh và đáp ứng tốt hơn nhu cầu của khách hàng.
Cấu trúc của đề án
Cấu trúc đề án gồm có 5 chương, cùng các tài liệu tham khảo và phụ lục Cụ thể các chương chính bao gồm:
Chương 1 cung cấp cái nhìn tổng quan về phân tích địa điểm mở cửa hàng bán lẻ, giới thiệu khái quát về phương pháp phân tích địa điểm mở cửa hàng bán lẻ (PTĐĐMCHBL) và tóm tắt các nghiên cứu liên quan trước đó Bên cạnh đó, chương này cũng trình bày mục tiêu, phương pháp thực hiện và những đóng góp của đề án trong việc cải thiện hiệu quả kinh doanh cho các cửa hàng bán lẻ.
Chương 2: Cơ sở lý thuyết - Trong phần này, chúng tôi sẽ diễn giải các lý thuyết và phương pháp được áp dụng trong đề án, bao gồm các bước tiền xử lý dữ liệu, kỹ thuật tăng cường dữ liệu và các phương pháp phân loại sử dụng học máy.
Chương 3: Phương pháp đề xuất và kết quả thực nghiệm - Đề xuất các phương pháp và nhiệm vụ chính trong suốt các giai đoạn của đề án
Chương 4: Kết luận và hướng phát triển tổng kết những thành công và hạn chế của đề án, đồng thời chỉ ra những thiếu sót cần khắc phục Ngoài ra, chương này cũng trình bày định hướng phát triển trong tương lai nhằm nâng cao hiệu quả và bền vững cho dự án.
Chương 5: Tài liệu tham khảo – Danh sách các tài liệu tham khảo trong đề án
Các phương pháp thực hiện
Phân loại dữ liệu là một thuật toán học máy phổ biến, với mục tiêu gán nhãn cho các điểm dữ liệu mới dựa trên những điểm dữ liệu đã biết trước đó Mô hình sẽ được huấn luyện trên một tập dữ liệu đã được gán nhãn, sau đó sử dụng để dự đoán nhãn cho các điểm dữ liệu mới.
Hình 2.1: Phân loại điểm sẽ thuộc lớp nào (Nguồn: iostream)
• Dữ liệu đầu vào (features): Các đặc trưng hoặc thuộc tính của dữ liệu được sử dụng để phân loại
• Dữ liệu đầu ra (labels/classes): Nhãn hoặc lớp mà mô hình cần dự đoán
• Tập huấn luyện (training set): Tập dữ liệu có sẵn các đặc trưng và nhãn, được sử dụng để huấn luyện mô hình
• Tập kiểm tra (test set): Tập dữ liệu mới chưa được gán nhãn, được sử dụng để đánh giá hiệu suất của mô hình
Thu thập và tiền xử lý dữ liệu là bước quan trọng trong phân tích, bao gồm việc thu thập dữ liệu từ nhiều nguồn khác nhau, làm sạch và chuẩn hóa dữ liệu Quá trình này cũng bao gồm việc xử lý các dữ liệu thiếu, loại bỏ các giá trị ngoại lai và các biến không cần thiết để đảm bảo chất lượng dữ liệu.
Dữ liệu được phân chia thành hai tập chính: tập huấn luyện và tập kiểm tra Tập huấn luyện dùng để đào tạo mô hình, trong khi tập kiểm tra được sử dụng để đánh giá hiệu suất của mô hình.
Chọn mô hình phân loại phù hợp như KNN, SVM hay Decision Tree và tinh chỉnh các tham số của mô hình để tối ưu hóa hiệu suất.
• Huấn luyện mô hình: Sử dụng tập huấn luyện để huấn luyện mô hình, tìm hiểu mối quan hệ giữa các đặc trưng và nhãn
• Đánh giá mô hình: Sử dụng tập kiểm tra để đánh giá hiệu suất của mô hình dựa trên các chỉ số đánh giá (Accuracy, Precision, Recall, F1-Score, etc.)
• Tinh chỉnh và tối ưu hóa: Dựa trên kết quả đánh giá, tinh chỉnh các tham số và mô hình để cải thiện hiệu suất
Khi mô hình đạt hiệu suất mong muốn, việc triển khai mô hình để dự đoán và phân loại dữ liệu mới trong thực tế là rất quan trọng Để đánh giá hiệu suất của mô hình phân loại, người ta thường sử dụng các chỉ số và công cụ phù hợp nhằm đảm bảo tính chính xác và hiệu quả của mô hình.
• Độ chính xác (Accuracy): Tỷ lệ số lượng mẫu dự đoán đúng trên tổng số mẫu
• Precision, Recall và F1-score: Các chỉ số này đặc biệt hữu ích trong các bài toán phân loại không cân bằng
• Precision: Tỷ lệ mẫu dự đoán đúng trên tổng số mẫu được dự đoán thuộc lớp đó
• Recall: Tỷ lệ mẫu dự đoán đúng trên tổng số mẫu thực sự thuộc lớp đó
• F1-score: Trung bình điều hòa của Precision và Recall
• Confusion Matrix: Ma trận hiển thị số lượng dự đoán đúng và sai cho từng lớp
Hồi quy phi tuyến tính (Nonlinear Regression)
Hồi quy phi tuyến tính là một phương pháp thống kê nhằm mô hình hóa mối quan hệ giữa biến phụ thuộc và một hoặc nhiều biến độc lập, trong đó mối quan hệ này không theo dạng đường thẳng Thay vào đó, các biến có thể được biểu diễn qua các hàm toán học phi tuyến như hàm bậc hai, hàm mũ, hàm logarithm, hoặc các hàm phức tạp khác.
Hồi quy phi tuyến khác với hồi quy tuyến tính ở chỗ nó mô tả mối quan hệ giữa biến độc lập và biến phụ thuộc bằng một đường cong, cho phép nắm bắt các mô hình phức tạp mà hồi quy tuyến tính không thể thực hiện.
Hình 2.2: Biểu đồ minh họa sai số dự đoán trong mô hình hồi quy (Nguồn:
Vector 𝑋 đại diện cho các biến độc lập dùng để dự đoán biến phụ thuộc, trong khi β là vector các tham số mà mô hình nhằm ước lượng Các tham số này xác định hình dạng và đặc điểm của hàm hồi quy, và ϵ biểu thị sai số trong quá trình dự đoán.
Biến phụ thuộc (Dependent Variable - Y) là yếu tố mà chúng ta cố gắng dự đoán, mô hình hóa hoặc giải thích Nó đại diện cho kết quả hoặc đầu ra, phụ thuộc vào các biến độc lập.
Biến độc lập (X1, X2, X3, …, Xn) là các yếu tố đầu vào hoặc tham số có khả năng ảnh hưởng đến biến phụ thuộc Trong hồi quy phi tuyến tính, các biến độc lập có thể bao gồm cả biến liên tục và rời rạc, có thể quan sát trực tiếp hoặc cần phải ước lượng.
Hàm hồi quy (Regression Function - f) là một hàm số thể hiện mối quan hệ phi tuyến tính giữa biến phụ thuộc và các biến độc lập Dạng của hàm này có thể thay đổi tùy thuộc vào mô hình và dữ liệu thực tế được sử dụng.
Các tham số trong mô hình phi tuyến tính, như 𝛽 1, 𝛽 2, xác định hình dạng và độ dốc của hàm hồi quy Để có được giá trị chính xác cho các tham số này, cần thực hiện ước lượng từ dữ liệu thông qua các phương pháp tối ưu hóa.
Sai số (Error term - 𝜖) là sự chênh lệch giữa giá trị thực tế của biến phụ thuộc và giá trị dự đoán từ mô hình Nó phản ánh mức độ chính xác của mô hình và những yếu tố nhiễu chưa được xem xét.
Để xác định mô hình phi tuyến tính phù hợp, cần chọn một dạng hàm phi tuyến có khả năng mô tả chính xác mối quan hệ giữa biến phụ thuộc và các biến độc lập, dựa trên sự hiểu biết về dữ liệu cũng như lĩnh vực nghiên cứu.
Để tiến hành phân tích dữ liệu hiệu quả, trước tiên cần thu thập và chuẩn bị dữ liệu liên quan, bao gồm việc làm sạch dữ liệu, xử lý các giá trị thiếu và chuẩn hóa khi cần thiết Tiếp theo, sử dụng các phương pháp tối ưu hóa như Gradient Descent hoặc phương pháp Gauss-Newton để ước lượng các tham số trong mô hình phi tuyến tính, nhằm giảm thiểu sai số giữa giá trị thực tế và giá trị dự đoán.
Các thuật toán sử dụng
K-nearest Neighbor (KNN)
KNN, một thuật toán học máy giám sát đơn giản, được sử dụng phổ biến trong hồi quy và phân loại Thuật toán này dựa vào các điểm dữ liệu gần nhất trong không gian đặc trưng để dự đoán nhãn cho điểm dữ liệu mới Việc lựa chọn giá trị K phù hợp là rất quan trọng, vì K đại diện cho số lượng "lân cận" mà thuật toán xem xét trong quá trình dự đoán K không chỉ là một tham số mà còn ảnh hưởng lớn đến hiệu suất và độ chính xác của thuật toán Thông thường, K được chọn là số lẻ để tránh tình trạng hòa trong biểu quyết Nếu K quá nhỏ, mô hình sẽ trở nên nhạy cảm với nhiễu trong dữ liệu, trong khi K quá lớn có thể làm mất đi thông tin quan trọng từ các điểm dữ liệu lân cận.
Khoảng cách giữa một điểm dữ liệu mới và các điểm trong tập dữ liệu có thể được tính bằng nhiều phương pháp khác nhau, trong đó phương pháp tính khoảng cách Euclidean được sử dụng phổ biến nhất.
𝐴 = (𝑎 1 , 𝑎 2 , … , 𝑎 𝑛 ) và 𝐵 = (𝑏 1 , 𝑏 2 , … , 𝑏 𝑛 ) là 2 điểm trong không gian Euclidean với n chiều
Hình 2.3: Các bước phân loại bằng thuật toán KNN (Nguồn: springer) Ưu điểm:
Thuật toán không phức tạp và dễ hiểu
Không yêu cầu quá trình huấn luyện phức tạp
Dễ dàng thích ứng tốt với dữ liệu mới
Tốn kém về mặt tính toán khi tập dữ liệu lớn
Dễ bị nhiễu do các điểm dữ liệu ngoại lai
Chất lượng dự đoán có thể bị ảnh hưởng nếu chọn giá trị K không phù hợp.
Support vector machine (SVM)
SVM hoạt động bằng cách xác định một siêu mặt phẳng (hyperplane) tối ưu để phân loại các lớp dữ liệu, đảm bảo khoảng cách từ siêu mặt phẳng đến các điểm dữ liệu gần nhất trong mỗi lớp, được gọi là vectơ hỗ trợ, là lớn nhất.
Margin là khoảng cách giữa hai mặt phẳng song song với siêu mặt phẳng phân loại, mỗi mặt phẳng đi qua điểm dữ liệu gần nhất của từng lớp Tối đa hóa margin giúp giảm thiểu rủi ro trong quyết định phân loại, từ đó nâng cao độ chính xác của mô hình và giảm thiểu ảnh hưởng của nhiễu.
𝑤 là vector trọng số của siêu mặt phẳng
Vector hỗ trợ là những điểm dữ liệu gần biên giới phân loại nhất, và việc tìm ra các vector hỗ trợ thay vì sử dụng toàn bộ tập dữ liệu giúp giảm độ phức tạp tính toán và cải thiện hiệu suất của mô hình Trong không gian 2 chiều, khoảng cách từ điểm C với tọa độ (x0, y0) tới đường thẳng d' có phương trình w1x + w2y + b = 0 được xác định để hỗ trợ quá trình phân loại hiệu quả hơn.
Trong không gian 3 chiều, khoảng cách từ điểm 𝐶 với tọa độ (𝑥 0 , 𝑦 0 , 𝑧 0 ) tới mặt phẳng 𝜕 có phương trình 𝑤 1 𝑥 + 𝑤 2 𝑦 + 𝑤 3 𝑧 + 𝑏 = 0 được xác định bởi:
Công thức tổng quát với không gian 𝑛 chiều, thì khoảng cách từ điểm 𝐶 với tọa độ (𝑥 0 , 𝑦 0 , 𝑧 0 , … ) tạm ký hiệu là 𝑋 0 đến siêu phẳng 𝜕′ có phương trình 𝑤 1 𝑥 + 𝑤 2 𝑦 +
𝑤 3 𝑧+ +𝑏 = 0 tạm ký hiệu là 𝑊 𝑇 𝑥 + 𝑏 = 0 sẽ được tính bởi:
Để tối đa hóa margin, cần xác định siêu phẳng tối ưu, dẫn đến bài toán tối ưu hóa cho SVM Hình ảnh mô tả trong không gian sẽ giúp dễ hình dung hơn về vấn đề này.
Hình 2.4: Cách chọn siêu phẳng SVM (Nguồn: ResearchGate) Ưu điểm:
SVM (Support Vector Machine) thường đạt hiệu suất phân loại xuất sắc trong nhiều loại bài toán, đặc biệt là những bài toán có độ chiều dữ liệu cao.
Khả năng xử lý dữ liệu không tuyến tính: Nhờ vào "kernel trick", SVM có khả năng xử lý dữ liệu không tuyến tính một cách hiệu quả
Robust: Việc tối đa hóa margin giúp SVM có độ "robust" cao, tức là khả năng chịu được nhiễu và các điểm dữ liệu ngoại lai
Khả năng tổng quát hóa cao: Vì SVM cố gắng tối đa hóa margin, mô hình thường có khả năng tổng quát hóa tốt đối với dữ liệu mới
SVM cung cấp sự linh hoạt trong việc tối ưu hóa hiệu suất thông qua việc lựa chọn các hàm kernel và các tham số, giúp dễ dàng điều chỉnh mô hình.
Nhược điểm của SVM là độ phức tạp trong tính toán, đặc biệt khi xử lý các bài toán tối ưu hóa với tập dữ liệu lớn, điều này có thể dẫn đến việc cồng kềnh trong quá trình tính toán.
Khó diễn giải: Mô hình SVM có thể khá khó để mô tả, đặc biệt khi sử dụng các hàm kernel phức tạp
Chọn kernel: Việc chọn hàm kernel và tham số tương ứng có thể khó khăn và đôi khi yêu cầu kiến thức chuyên môn
Để SVM hoạt động hiệu quả, việc chuẩn hóa dữ liệu là cần thiết, điều này có thể được xem như một bước bổ sung trong quy trình tiền xử lý.
Đối với các bài toán phân loại đa lớp, SVM cần được cải tiến thông qua các kỹ thuật như "one-vs-all" hoặc "one-vs-one" để đạt hiệu quả tốt hơn.
Extreme Gradient Boosting (XGBoost)
XGBoost là một thuật toán học máy mạnh mẽ, sử dụng kỹ thuật tăng cường gradient để xây dựng các mô hình dự đoán hiệu quả Thuật toán này kết hợp nhiều cây quyết định yếu, được xây dựng tuần tự, nhằm sửa lỗi của cây trước đó trong quá trình gọi là "gradient boosting" Điểm khác biệt giữa XGBoost và Gradient Tree Boosting nằm ở phương pháp phân chia cây và cách xác định giá trị của nút lá.
Hàm Mất Mát (Objective Function):
Hàm mất mát của XGBoost bao gồm hai phần: phần lỗi (loss function) và phần điều chỉnh (regularization term)
𝑙 là hàm mất mát đo lường sự khác biệt giữa giá trị dự đoán 𝑦̂ 𝑖 và giá trị thực 𝑦 𝑖
𝛺 (𝑓 𝑘 ) là hàm điều chỉnh để tránh overfitting, thường có dạng: Ω (𝑓 𝑘 ) = 𝛾𝑇 𝑘 + 1
𝑇 𝑘 là số lượng lá trong cây quyết định thứ 𝑘
𝜔 𝑘𝑗 là trọng số của lá thứ 𝑗 trong cây thứ 𝑘
𝛾 và 𝜆 là các siêu tham số điều chỉnh mức độ phạt cho mô hình
Trong mỗi bước boosting, XGBoost thêm một cây mới 𝑓 𝑡 vào mô hình hiện tại để giảm thiểu hàm mất mát Dự đoán mới tại bước 𝑡 được tính như sau:
Xấp xỉ hàm mất mát: Để giảm thiểu hàm mất mát, XGBoost sử dụng xấp xỉ Taylor bậc hai của hàm mất mát:
𝑔 𝑖 = 𝜕 𝑦̂ (𝑡−1)𝑙(𝑦 𝑖 , 𝑦̂ (𝑡−1) ) là đạo hàm bậc nhất của hàm mất mát
ℎ 𝑖 = 𝜕 2 𝑦̂ (𝑡−1)𝑙(𝑦 𝑖 , 𝑦̂ (𝑡−1) ) là đạo hàm bậc hai của hàm mất mát
Ta có thể rút gọn công thức thành
Để tối ưu hóa cây quyết định mới 𝑓 𝑡, cần xác định các trọng số tối ưu cho từng lá trong cây Tổng hàm mất mát cho cây mới 𝑓 𝑡 được tính toán dựa trên các trọng số này.
𝐺 𝑖 = ∑ 𝑖 ∈𝐼 𝑗 𝑔 𝑖 là tổng đạo hàm bậc nhất cho các điểm dữ liệu trong lá 𝑗
𝐻 𝑖 = ∑ 𝑖 ∈𝐼 𝑗 ℎ 𝑖 là tổng đạo hàm bậc hai cho các điểm dữ liệu trong lá 𝑗
𝐼 𝑗 là tập hợp các điểm dữ liệu trong lá 𝑗
Trọng số tối ưu cho mỗi lá 𝑗 được tính bằng:
Giá trị của hàm mất mát sau khi thêm cây mới được giảm thiểu bằng:
Hình 2.5: Quá trình thực hiện mô hình XGBoost (Nguồn: Research Gate)
Light Gradient Boosting Machine (LightGBM)
LightGBM, thuật toán do Microsoft phát triển, nổi bật với phương pháp phát triển cây theo lá, giúp giảm thiểu mất mát hiệu quả hơn so với phương pháp phát triển theo cấp độ Thuật toán này hỗ trợ dữ liệu thưa và sử dụng phương pháp dựa trên biểu đồ để tìm điểm chia tối ưu, từ đó tăng tốc độ huấn luyện LightGBM tối ưu hóa bộ nhớ và tận dụng tài nguyên phần cứng đa luồng cùng GPU, cho phép xử lý hiệu quả các bộ dữ liệu lớn Quy trình chính của LightGBM bao gồm khởi tạo mô hình, tạo cây quyết định mới để dự đoán sai số, tính toán độ lợi cho từng điểm chia, cập nhật mô hình và lặp lại cho đến khi đạt tiêu chí dừng hoặc số lượng cây tối đa.
LightGBM khởi tạo mô hình với một giá trị dự đoán ban đầu Thường thì giá trị trung bình của mục tiêu được chọn làm giá trị khởi tạo
𝑦 𝑖 là giá trị thực của mục tiêu γ là giá trị dự đoán ban đầu
Với mỗi bước tăng cường, LightGBM tạo ra một cây quyết định mới để dự đoán sai số còn lại từ mô hình hiện tại
𝑟 𝑖𝑚 là sai số còn lại tại bước 𝑚
𝐹 𝑚−1 (𝑥 𝑖 ) là giá trị dự đoán tại bước 𝑚 − 1
Tính toán độ lợi (gain) cho mỗi điểm chia:
Sử dụng thuật toán dựa trên biểu đồ (histogram-based) để tìm điểm chia tốt nhất bằng cách tối ưu hóa độ lợi
∑ grad L là tổng gradient của các điểm thuộc nhánh trái
∑ grad R là tổng gradient của các điểm thuộc nhánh phải
∑ ℎ𝑒𝑠𝑠 𝐿 là tổng Hessian của các điểm thuộc nhánh trái
∑ ℎ𝑒𝑠𝑠 𝑅 là tổng Hessian của các điểm thuộc nhánh phải
𝜆 là tham số điều chỉnh độ lợi (regularization parameter) γ là tham số phạt (penalty parameter)
Sau khi tìm được điểm chia tốt nhất và tạo cây quyết định mới, LightGBM cập nhật mô hình hiện tại với cây mới
𝐹 𝑚−1 (𝑥) là giá trị dự đoán tại bước 𝑚 − 1.
𝜂 là hệ số học (learning rate)
𝑇 𝑚 (𝑥) là cây quyết định mới tại bước 𝑚
Hình 2.6: Quy trình tối ưu hóa lựa chọn đặc trưng trong LightGBM (Nguồn:
Bộ dữ liệu thực nghiệm
Doanh số bán hàng
Đề án này tập trung vào việc phân tích dữ liệu kinh doanh của một doanh nghiệp nội thất được thành lập từ năm 2014, hiện có khoảng 600 cửa hàng trên toàn quốc Với sự hiện diện tại 63 tỉnh thành, công ty dự định mở thêm cửa hàng để tăng doanh thu và nâng cao nhận diện thương hiệu, dựa trên tình hình kinh doanh thực tế của các cửa hàng hiện có Mục tiêu chính là xây dựng và thử nghiệm mô hình phân tích để dự đoán hiệu quả của các địa điểm mở cửa hàng bán lẻ tiềm năng.
Dữ liệu doanh số được thu thập từ năm 2014 đến năm 2021, tuy nhiên năm 2021 bị loại trừ do ảnh hưởng của dịch bệnh Hệ thống thông tin địa lý Việt Nam chỉ có dữ liệu từ năm 2016 đến năm 2022 Do đó, trong đề án này, chúng tôi sẽ kết hợp hai bộ dữ liệu và sử dụng tổng hợp từ năm 2016 đến năm 2020.
Bảng 3.1: Tổng hợp số liệu từ năm 2016 đến năm 2020
Với bộ dữ liệu kinh doanh của công ty với khoảng 100GB dữ liệu bao gồm các bảng:
Order: OrderCode, ShopCode, ProductCode, Quantity, CogsVal, Total
Product: ProductCode, ProductName, Branch, Type, Brand
Shop: ShopCode, ShopName, Address, OpenDate, ClosedDate, ProvinceCode Provice: ProvinceName, ProviceCode
Dữ liệu hệ thống thông tin địa lý Việt Nam
Bộ dữ liệu được lấy từ Tổng cục thống kê Việt Nam trong khoảng thời gian từ năm 2016 đến năm 2020 bao gồm 5 chỉ số:
Dân số trung bình là chỉ số thống kê quan trọng, thể hiện mức độ dân số của một khu vực trong một khoảng thời gian nhất định, thường là một năm Chỉ số này cung cấp thông tin về sự gia tăng hoặc giảm dân số, cùng với các xu hướng dân số khác.
Hình 3.1: Dân số trung bình (từ năm 2016 - 2020)
• Tỷ lệ lao động qua đào tạo có bằng cấp, chứng chỉ:
Lao động có bằng cấp qua đào tạo và chứng chỉ là những cá nhân trong lực lượng lao động đã được đào tạo chính quy và sở hữu bằng cấp từ sơ cấp trở lên Đối tượng này đáp ứng hai tiêu chí quan trọng: có trình độ học vấn đạt yêu cầu và được cấp chứng chỉ nghề phù hợp.
- Thất nghiệp hoặc đang làm việc trong nền kinh tế
Để được công nhận trình độ chuyên môn, cá nhân cần có ít nhất 3 tháng đào tạo tại trường hoặc cơ sở đào tạo kỹ thuật thuộc hệ thống giáo dục quốc dân Sau khi tốt nghiệp, họ sẽ nhận được bằng hoặc chứng chỉ chứng nhận trình độ chuyên môn, kỹ thuật hoặc nghiệp vụ, bao gồm các cấp từ sơ cấp, trung cấp nghề, cao đẳng nghề, trung cấp chuyên nghiệp, cao đẳng chuyên nghiệp, đến đại học và sau đại học.
Hình 3.2: Tỷ lệ lao động qua đào tạo có bằng cấp, chứng chỉ (từ năm 2016 - 2020)
• Tốc độ tăng tổng sản phẩm trên địa bàn (GRDP):
Tốc độ tăng trưởng tổng sản phẩm trên địa bàn (GRDP) trong 6 tháng hoặc năm được tính bằng tỷ lệ phần trăm so với cùng kỳ năm trước GRDP bình quân đầu người được xác định bằng cách chia tổng sản phẩm trên địa bàn cho dân số trung bình trong năm đó Có nhiều phương pháp tính GRDP bình quân đầu người, bao gồm sử dụng giá hiện hành, tính theo nội tệ hoặc ngoại tệ, và áp dụng giá so sánh.
Hình 3.3: Tốc độ tăng tổng sản phẩm trên địa bàn (từ năm 2016 - 2020)
• Chỉ số phát triển con người (HDI)
Chỉ số phát triển con người (HDI) là thước đo tổng hợp phản ánh sự tiến bộ của con người qua ba khía cạnh chính: sức khỏe, được thể hiện bằng tuổi thọ trung bình tại thời điểm sinh; tri thức, được đo bằng chỉ số giáo dục; và thu nhập, phản ánh qua tổng thu nhập quốc gia bình quân đầu người.
Hình 3.4: Chỉ số phát triển con người (từ năm 2016 - 2020)
• Tổng sản phẩm trên địa bàn bình quân đầu người theo giá hiện hành (GRDP bình quân đầu người)
Tổng sản phẩm trên địa bàn bình quân đầu người được tính bằng cách chia tổng sản phẩm trong năm cho dân số trung bình của năm đó Có thể tính chỉ số này theo giá hiện hành, sử dụng nội tệ hoặc ngoại tệ, và cũng có thể tính theo giá so sánh để xác định tốc độ tăng trưởng.
Hình 3.5: Tổng sản phẩm trên địa bàn bình quân đầu người theo giá hiện hành (từ năm 2016 - 2020)
Từ bộ dữ liệu ta chiết xuất thành 5 bảng dữ liệu:
GIS_ChiSoPhatTrienConNguoi: ProvinceCode, Value, Year
GIS_DanSoTrungBinh: ProvinceCode, Value, Year
GIS_GRDPBinhQuanDauNguoiTheoGiaHienHanh: ProvinceCode, Value, Year GIS_TocDoTangTruongGRDP: ProvinceCode, Value, Year
GIS_TyLeLaoDongQuaDaoTao: ProvinceCode, Value, Year.
Chuẩn hóa dữ liệu
Bảng Order có thể chứa giá trị NULL hoặc âm do lỗi nhập liệu, sự cố kỹ thuật, quy trình xử lý hoàn trả không chính xác, và lỗi tính toán trong phần mềm quản lý Những giá trị bất thường này cần được rà soát và loại bỏ để đảm bảo tính toàn vẹn của dữ liệu, giúp số lượng hàng hóa, giá vốn và tổng giá trị đơn hàng chính xác.
Bảng 3.2: Số lượng hoá đơn từ năm 2016 đến 2020
Chưa chuẩn hóa 8.632.047 9.914.174 10.526.426 14.739.857 12.464.494 Sau khi chuẩn hóa 7.716.941 8.947.027 8.715.308 12.888.701 11.636.017 Chênh lệch 915.106 967.147 1.811.118 1.851.156 828.477
Hình 3.6: Số lượng hóa đơn trước và sau khi chuẩn hóa
Chưa chuẩn hóa Sau khi chuẩn hóa
Từ các bảng dữ liệu đã được trích xuất, chúng tôi đã tổng hợp thành một tập dữ liệu hoàn chỉnh phục vụ cho quá trình thực nghiệm, với doanh số được tính theo hàng tuần và tổng cộng 29.239 dòng Tập dữ liệu này bao gồm nhiều thông tin quan trọng.
• ShopQuantity: Số lượng cửa hàng hiện có tại tỉnh/thành
• Profit: Doanh thu theo tuần tại tỉnh/thành
• AVGProfit: Doanh thu trung bình theo tuần của từng cửa hàng theo tỉnh/thành
• AVGNationalProfit: Doanh thu trung bình toàn quốc theo tuần
• IsSuccess: Đạt chỉ tiêu doanh thu theo tuần
• WeekOfYear: Tuần hiện tại trong năm
Doanh thu trung bình của tuần trước (tuần ngay trước tuần hiện tại) theo từng mã tỉnh, được gọi là WeekOfYear_lag_1, giúp mô hình nhận diện xu hướng ngắn hạn từ các tuần liền kề.
Doanh thu trung bình của tuần này trong năm trước (WeekOfYear_lag_52) phản ánh doanh thu của tuần tương ứng trong năm trước, giúp mô hình nhận diện các yếu tố theo mùa và chu kỳ hàng năm.
Giá trị trung bình động của doanh thu trung bình trong 4 tuần gần nhất (bao gồm tuần hiện tại) được gọi là WeekOfYear_roll_mean_4 Chỉ số này giúp mô hình nhận diện xu hướng tổng thể của các tuần gần đây, đồng thời làm giảm sự biến động ngắn hạn.
Độ lệch chuẩn động (rolling standard deviation) của doanh thu trung bình trong 4 tuần gần nhất, được gọi là WeekOfYear_roll_std_4, là chỉ số đo lường sự biến động trong doanh thu trung bình của các tuần gần đây Nếu chỉ số này cao, điều đó cho thấy có sự biến động lớn trong doanh thu của 4 tuần vừa qua.
• GIS_ChiSoPhatTrienConNguoi: Giá trị chỉ số phát triển con người theo năm
• GIS_DanSoTrungBinh: Giá trị dân số trung bình theo năm
• GIS_GRDPBinhQuanDauNguoiTheoGiaHienHanh: Giá trị GRDP bình quân đầu người theo giá hiện hành theo năm
• GIS_TocDoTangTruongGRDP: Giá trị tốc độ tăng trưởng GRDP theo năm
• GIS_TyLeLaoDongQuaDaoTao: Giá trị tỷ lệ lao động qua đào tạo theo năm.
Xây dựng mô hình
Xây dựng mô hình KNN
• Bước 1: Lựa chọn K và sắp xếp
Lựa chọn K dựa trên số lượng điểm dữ liệu hoặc khu vực cần phân tích
Sắp xếp các điểm dữ liệu dựa trên khoảng cách từ điểm cần phân tích
Bước 2 trong quá trình lựa chọn địa điểm tiềm năng là đánh giá và đưa ra quyết định Đối với mỗi địa điểm, cần xem xét K điểm gần nhất và đánh giá dựa trên các yếu tố quan trọng như số lượng cửa hàng cạnh tranh và mức thu nhập của khu vực.
Khi lựa chọn địa điểm, hãy xem xét ý kiến của đa số K láng giềng Chẳng hạn, nếu phần lớn K láng giềng có thu nhập cao và khu vực ít cửa hàng cạnh tranh, thì địa điểm đó sẽ là một lựa chọn tiềm năng tốt.
• Bước 3: Đánh giá và tinh chỉnh Đánh giá độ chính xác của mô hình KNN và hiệu suất trong việc đề xuất địa điểm tiềm năng
Tinh chỉnh tham số, chẳng hạn như giá trị K, hoặc thêm các đặc trưng mới để cải thiện hiệu suất
• Bước 4: Áp dụng và đưa ra kết luận:
Dựa vào kết quả từ mô hình KNN, thực hiện quyết định về việc chọn địa điểm mở cửa hàng mới
Cân nhắc các yếu tố ngoại vi như chi phí, giá thuê và các yếu tố chiến lược khác trước khi đưa ra kết quả cuối cùng.
Xây dựng mô hình SVM
• Bước 1: Lựa chọn các tham số
Lựa chọn Kernel: Dựa trên tính chất của dữ liệu, lựa chọn kernel thích hợp
Để nâng cao hiệu suất của mô hình trên tập huấn luyện, cần tùy chỉnh các tham số C và gamma (đối với kernel RBF) Việc sử dụng cross-validation sẽ giúp xác định giá trị tối ưu cho các tham số này.
• Bước 2: Huấn luyện mô hình
Sử dụng tập dữ liệu để đào tạo mô hình SVM Điều này sẽ giúp mô hình "học" cách phân loại địa điểm theo thuộc tính của chúng
Bước 3: Đánh giá mô hình là quá trình quan trọng để xác định hiệu suất của nó thông qua tập kiểm tra Để đánh giá độ hiệu quả, cần tính toán các chỉ số như độ chính xác, độ nhạy và độ đặc hiệu.
• Bước 4: Đánh giá và tinh chỉnh
Tiếp tục đánh giá và sửa đổi mô hình để nâng cao hiệu suất trong tương lai dựa vào kết quả thực tế và dự đoán của nó.
Xây dựng mô hình XGBoost
Bước đầu tiên trong quá trình huấn luyện mô hình là lựa chọn tham số n-estimators, tức là số lượng cây quyết định sẽ được tạo ra Việc tăng số lượng cây có thể cải thiện độ chính xác của mô hình, nhưng cũng có nguy cơ dẫn đến hiện tượng overfitting Để đảm bảo hiệu suất tối ưu, cần thực hiện kiểm tra thông qua cross-validation Số lượng n-estimators thường nằm trong khoảng từ 100 đến 1000, nhưng cần được điều chỉnh tùy theo kết quả thực tế của mô hình.
Tốc độ học (learning-rate), hay còn gọi là shrinkage, ảnh hưởng đến mức độ tác động của mỗi cây mới đến mô hình cuối cùng Giá trị nhỏ như 0.01 hoặc 0.1 giúp làm chậm quá trình học, từ đó tăng độ chính xác và giảm nguy cơ overfitting Thông thường, tốc độ học nằm trong khoảng từ 0.01 đến 0.3.
Độ sâu tối đa của cây quyết định, hay max-depth, ảnh hưởng đến khả năng học của mô hình Độ sâu lớn giúp cây quyết định nhận diện các mẫu phức tạp hơn, nhưng cũng dễ gây ra hiện tượng overfitting Thông thường, độ sâu tối ưu nằm trong khoảng từ 3 đến 10.
Min-child-weight là trọng số tối thiểu của một node con để có thể chia nhỏ, giúp ngăn chặn overfitting bằng cách không cho phép chia nhỏ các node con có ít dữ liệu, thường bắt đầu từ 1 và có thể tăng dần để xem xét ảnh hưởng Tham số subsample xác định tỷ lệ dữ liệu huấn luyện được sử dụng cho mỗi cây; việc sử dụng một phần nhỏ dữ liệu giúp giảm overfitting và tăng tính đa dạng của các cây, thường nằm trong khoảng từ 0.5 đến 1.0 Tương tự, colsample-bytree là tỷ lệ các đặc trưng được sử dụng cho mỗi cây, cũng giúp tăng tính đa dạng và giảm overfitting, thường nằm trong khoảng từ 0.5 đến 1.0.
• Bước 2: Huấn Luyện Mô Hình
Gradient Boosting: XGBoost áp dụng phương pháp gradient boosting, trong đó mỗi cây mới được đào tạo nhằm dự đoán phần lỗi còn lại từ các cây trước Quá trình này diễn ra liên tục cho đến khi đạt được số lượng cây quyết định hoặc không còn sự cải thiện đáng kể nào nữa.
Early Stopping là một kỹ thuật giúp ngừng quá trình huấn luyện sớm khi hiệu suất trên tập kiểm tra không có sự cải thiện sau một số vòng lặp nhất định Kỹ thuật này không chỉ giúp ngăn chặn hiện tượng overfitting mà còn tiết kiệm tài nguyên tính toán hiệu quả.
• Bước 3: Đánh giá mô hình
Sử dụng mô hình đã huấn luyện để dự đoán giá trị mục tiêu trên tập dữ liệu kiểm tra, đồng thời đánh giá các chỉ số như độ chính xác (accuracy), lỗi bình quân trung bình (MSE) và căn bậc hai của lỗi bình quân trung bình (RMSE) Áp dụng phương pháp k-fold cross-validation để đảm bảo mô hình có khả năng tổng quát tốt và tránh hiện tượng overfitting.
• Bước 4: Điều chỉnh tham số
Sử dụng Grid Search hoặc Random Search để thử nghiệm nhiều bộ tham số khác nhau và chọn bộ tham số tối ưu dựa trên hiệu suất của mô hình trên tập kiểm tra Đồng thời, áp dụng Bayesian Optimization giúp tìm kiếm bộ tham số tối ưu một cách hiệu quả hơn.
Xây dựng mô hình LightGBM
Khi xây dựng mô hình quyết định, việc lựa chọn các tham số như num_leaves, max_depth, learning_rate, n_estimators, min_data_in_leaf và feature_fraction là rất quan trọng Số lượng lá tối đa (num_leaves) quyết định độ phức tạp của cây, với số lượng lớn có thể học được nhiều mối quan hệ nhưng cũng dễ dẫn đến overfitting Độ sâu tối đa (max_depth) xác định số tầng nút trong cây; cây sâu hơn có khả năng học tốt hơn nhưng cũng tiềm ẩn nguy cơ overfitting Tốc độ học (learning_rate) ảnh hưởng đến mức độ điều chỉnh của mô hình; tốc độ học thấp giúp chi tiết hơn nhưng chậm hơn, trong khi tốc độ cao có thể bỏ qua các chi tiết quan trọng Số lượng cây (n_estimators) trong quá trình huấn luyện cũng cần được cân nhắc, vì nhiều cây có thể cải thiện khả năng học nhưng cũng có thể gây ra overfitting Cuối cùng, min_data_in_leaf đảm bảo mỗi lá có đủ dữ liệu để đưa ra quyết định hợp lý, giúp ngăn ngừa overfitting, và feature_fraction xác định tỷ lệ các đặc trưng được chọn ngẫu nhiên cho mỗi cây.
Sử dụng một phần nhỏ của các đặc trưng mỗi lần xây dựng cây giúp tăng tính đa dạng của các cây trong rừng và giảm overfitting
• Bước 2: Huấn Luyện Mô Hình
Histogram-based Decision Tree Learning optimizes the process of finding the best thresholds by dividing feature values into bins Instead of scanning the entire dataset, LightGBM utilizes histograms to efficiently compute the total gradient and Hessian, enhancing performance and speed in decision tree learning.
Cây quyết định phát triển theo lá, chọn những lá có độ lợi lớn nhất để tách nhánh, giúp cây tập trung vào những vùng có lỗi lớn nhất Phương pháp này cải thiện độ chính xác của mô hình.
Gradient-based One-Side Sampling (GOSS) là một phương pháp tối ưu hóa, giảm số lượng mẫu cần thiết để tính toán gradient Phương pháp này giữ lại các mẫu có gradient lớn, tức là những mẫu quan trọng, đồng thời ngẫu nhiên chọn các mẫu có gradient nhỏ, ít quan trọng hơn.
Chức năng Gộp Đặc trưng Độc quyền (EFB) giúp giảm số lượng đặc trưng bằng cách kết hợp các đặc trưng không liên quan vào các gói, từ đó giảm kích thước dữ liệu.
• Bước 3: Đánh giá mô hình Đánh giá hiệu suất của mô hình trên tập kiểm tra bằng các chỉ số như accuracy, ROC AUC, log loss
• Bước 4: Điều chỉnh tham số
Utilize Hyperband or Tree-structured Parzen Estimator (TPE) to explore various parameter sets and identify the best-performing parameters based on model performance on the test set Additionally, apply Genetic Algorithms for a more efficient search of optimal parameter configurations.
Thực nghiệm và kết quả các thực nghiệm
Lựa chọn địa điểm theo phương pháp phân loại
3.4.1.1 Tiêu chí đánh giá mô hình
Sau khi xây dựng mô hình, việc đánh giá độ chính xác của nó là rất quan trọng để xác định hiệu quả của mô hình Các tiêu chí đánh giá phổ biến bao gồm Accuracy (Độ chính xác), Precision (Độ chính xác của lớp), Recall (Độ phủ của lớp) và F1-Score, giúp đưa ra cái nhìn tổng quan về hiệu suất của mô hình.
Tỷ lệ giữa số lượng dự đoán đúng và tổng số mẫu trong tập dữ liệu là độ chính xác, một chỉ số đánh giá hiệu quả của mô hình Đặc biệt, trong các tình huống mà mỗi lớp có số lượng mẫu tương đương, độ chính xác có thể là chỉ số đáng tin cậy Tuy nhiên, khi xảy ra mất cân bằng giữa các lớp, như một lớp chiếm 95% dữ liệu và lớp còn lại chỉ 5%, độ chính xác có thể không phản ánh đúng hiệu suất thực tế của mô hình.
- True Positive (TP): Những trường hợp thực tế là positive và mô hình ta đoán đúng so với thực tế
- False Positive (FP): Những trường hợp thực tế là positive và mô hình ta đoán sai so với thực tế
- True Negative (TN): Những trường hợp thực tế là negative và mô hình ta đoán đúng so với thực tế
- False Negative (FN): Những trường hợp thực tế là negative và mô hình ta đoán sai so với thực tế
Precision là tỷ lệ phần trăm số dự đoán chính xác trong số những dự đoán được gán nhãn là positive, giúp xác định mức độ chính xác của mô hình Tuy nhiên, không nên chỉ dựa vào Precision mà bỏ qua Recall, vì việc tăng Precision có thể làm giảm Recall Do đó, để đánh giá hiệu suất của mô hình một cách toàn diện, cần xem xét cả hai chỉ số Precision và Recall.
- True Positive (TP): Những trường hợp thực tế là positive và mô hình ta đoán đúng so với thực tế
- False Positive (FP): Những trường hợp thực tế là positive và mô hình ta đoán sai so với thực tế
Tỷ lệ Recall đo lường khả năng phát hiện các trường hợp dương tính thực sự, được tính bằng số True Positives so với tổng số điểm dương tính thực tế, bao gồm cả True Positives và False Negatives Điều này cho thấy tỷ lệ phần trăm các trường hợp cần tìm đã được phát hiện trong tổng số trường hợp tồn tại.
- True Positive (TP): Những trường hợp thực tế là positive và mô hình ta đoán đúng so với thực tế
- False Negative (FN): Những trường hợp thực tế là negative và mô hình ta đoán sai so với thực tế
F1-score là chỉ số được sử dụng để cân bằng giữa Precision và Recall, giúp đánh giá hiệu suất của mô hình phân loại Giá trị của F1-score nằm trong khoảng từ 0 đến 1, phản ánh sự cân bằng giữa độ chính xác và khả năng phát hiện của mô hình.
F1-score nằm trong khoảng từ 0 đến 1, với giá trị 1 cho thấy cả Precision và Recall đều đạt mức hoàn hảo, trong khi giá trị 0 cho thấy ít nhất một trong hai chỉ số này bằng 0 Mô hình dự đoán sẽ trở nên hiệu quả hơn khi F1-score cao.
F1-score đóng vai trò quan trọng trong việc duy trì sự cân bằng giữa Precision và Recall, đặc biệt trong các tập dữ liệu mất cân đối Trong những trường hợp này, một mô hình có thể đạt độ chính xác cao bằng cách dự đoán tất cả dữ liệu thuộc về lớp chiếm ưu thế, nhưng Recall cho lớp thiểu số lại có thể rất thấp F1-score giúp đánh giá mô hình một cách toàn diện hơn trong những tình huống này.
Bảng 3.3: Tham số tốt nhất theo phương pháp phân loại của XGBoost
Tham số Giá trị colsample_bytree 0.9 learning_rate 0.1 max_depth 7 min_child_weight 1 n_estimators 200 subsample 0.9
Bảng 3.4: Kết quả thực nghiệm theo phương pháp phân loại của XGBoost
Hình 3.9: Ma trận nhầm lẫn của XGBoost
Bảng 3.5: Tham số tốt nhất theo phương pháp phân loại của LightGBM
Tham số Giá trị colsample_bytree 0.8 learning_rate 0.1 max_depth 7 min_child_samples 20 n_estimators 200 num_leaves 50 subsample 0.7
Bảng 3.6: Kết quả thực nghiệm theo phương pháp phân loại của LightGBM
Hình 3.10: Ma trận nhầm lẫn của LightGBM
Bảng 3.7: Tham số tốt nhất theo phương pháp phân loại của SVM
Bảng 3.8: Kết quả thực nghiệm theo phương pháp phân loại của SVM
Hình 3.11: Ma trận nhầm lẫn của SVM
Bảng 3.9: Tham số tốt nhất theo phương pháp phân loại của KNN
Tham số Giá trị metric manhattan n_neighbors 7 weights uniform
Bảng 3.10: Kết quả thực nghiệm theo phương pháp phân loại của KNN
Hình 3.12: Ma trận nhầm lẫn của KNN
Bảng 3.11: Kết quả phân loại lớp 0 của XGBoost
XGBoost thể hiện khả năng xác định chính xác các mẫu thuộc lớp 0, lớp chiếm ưu thế trong tập dữ liệu, với độ chính xác (precision) đạt 95%, nghĩa là 95% trong số các mẫu được dự đoán là lớp 0 là chính xác Độ nhạy (recall) đạt 98% cho thấy mô hình chỉ bỏ sót 2% mẫu thực sự thuộc lớp 0 F1-score 96% cho thấy sự cân bằng giữa precision và recall, khẳng định hiệu quả hoạt động của mô hình trên lớp này.
Bảng 3.12: Kết quả phân loại lớp 1 của XGBoost
Mô hình XGBoost đạt độ chính xác 80% cho lớp 1, cho thấy 80% dự đoán của nó là chính xác Tuy nhiên, với recall chỉ đạt 63%, mô hình đã bỏ sót 37% mẫu thực sự thuộc lớp 1, điều này có thể gây ra vấn đề nếu lớp 1 đại diện cho các trường hợp quan trọng F1-score 70% cho thấy XGBoost xử lý lớp 1 tốt nhưng không đạt hiệu suất cao như với lớp 0 Độ chính xác tổng thể đạt 93% cho thấy XGBoost có khả năng phân loại đúng phần lớn các mẫu trong tập dữ liệu, khẳng định sức mạnh của mô hình trong phân loại.
Bảng 3.13: Kết quả phân loại lớp 0 của LightGBM
Hiệu suất của LightGBM trên lớp 0 tương đương với XGBoost, đạt độ chính xác 94% và độ nhạy 98% Điều này cho thấy LightGBM có khả năng xác định chính xác hầu hết các mẫu thuộc lớp 0 F1-score 96% chứng tỏ mô hình này rất hiệu quả trong việc xử lý lớp chiếm ưu thế.
Bảng 3.14: Kết quả phân loại lớp 1 của LightGBM
Trong việc phân loại lớp 1, LightGBM có độ chính xác (precision) nhỉnh hơn XGBoost với 81%, nhưng chỉ đạt recall 54%, cho thấy mô hình này bỏ sót 46% mẫu thuộc lớp 1 F1-score 65% phản ánh sự chênh lệch rõ rệt, chỉ ra rằng LightGBM kém hiệu quả hơn trong việc phân loại các mẫu thuộc lớp 1.
Mặc dù LightGBM có sự chênh lệch lớn về hiệu suất đối với lớp 1, nhưng vẫn đạt độ chính xác tổng thể 93% Điều này cho thấy, mặc dù mô hình này có khả năng phân loại tốt, nhưng trong việc phân loại chính xác các mẫu thuộc lớp 1, nó không hiệu quả bằng XGBoost.
Bảng 3.15: Kết quả phân loại lớp 0 của SVM
Mô hình SVM đạt được độ chính xác (precision) 89% và độ nhạy (recall) 99% trên lớp 0, cho thấy khả năng xác định chính xác các mẫu thuộc lớp này rất cao F1-score đạt 94% cũng khẳng định hiệu suất vượt trội của SVM đối với lớp chiếm ưu thế.
Bảng 3.16: Kết quả phân loại lớp 1 của SVM
SVM gặp nhiều khó khăn trong việc xử lý lớp 1, với recall chỉ đạt 12%, cho thấy nó bỏ sót 88% mẫu thuộc lớp này Mặc dù precision đạt 76%, nhưng việc bỏ sót quá nhiều mẫu thực tế khiến F1-score chỉ đạt 21%, làm cho SVM không phù hợp nếu lớp 1 quan trọng Độ chính xác tổng thể của SVM là 89%, thấp hơn so với XGBoost và LightGBM, phản ánh sự mất cân bằng trong hiệu suất giữa các lớp, đặc biệt là sự yếu kém trong phân loại lớp 1.
Bảng 3.17: Kết quả phân loại lớp 0 của KNN
The KNN model achieved a precision of 90% and a recall of 97% for class 0, indicating its strong performance in this category With an F1-score of 93%, the overall efficiency of KNN for class 0 is considered acceptable.
Bảng 3.18: Kết quả phân loại lớp 1 của KNN
Dự đoán doanh số dự kiến theo phương pháp hồi quy
3.4.2.1 Tiêu chí đánh giá mô hình Để đánh giá mô hình có phù hợp với phương pháp hồi quy, có nhiều chỉ số có thể được sử dụng Trong nghiên cứu này, ba chỉ số chính sẽ được áp dụng để đánh giá:
Chỉ số MAE (Mean Absolute Error) đo lường mức độ sai số trung bình giữa các giá trị dự đoán và giá trị thực tế bằng cách tính trung bình các sai số tuyệt đối MAE không phân biệt hướng sai số, cho phép cung cấp một thước đo đơn giản và dễ hiểu về mức độ sai lệch tổng thể của mô hình dự đoán Giá trị MAE thấp cho thấy mô hình dự đoán có độ chính xác cao hơn.
𝑦 𝑖 là giá trị thực tế
𝑦̂ 𝑖 là giá trị dự đoán n là số lượng quan sát
• Root Mean Squared Error (RMSE):
Căn bậc hai của trung bình phương sai số (RMSE) là chỉ số quan trọng dùng để đo lường độ chính xác giữa giá trị dự đoán của mô hình và giá trị thực tế RMSE được tính bằng cách lấy căn bậc hai của trung bình bình phương sai số, giúp làm nổi bật các sai số lớn Với cùng đơn vị như biến mục tiêu, RMSE dễ hiểu và thường được áp dụng để đánh giá hiệu quả của các mô hình dự đoán, đặc biệt trong các bài toán hồi quy Một giá trị RMSE thấp cho thấy mô hình có độ chính xác cao, trong khi giá trị RMSE cao cho thấy sai số lớn trong dự đoán.
𝑦 𝑖 : Giá trị thực tế của biến mục tiêu ở quan sát thứ i
𝑦̂ 𝑖 : Giá trị dự đoán của mô hình cho biến mục tiêu ở quan sát thứ i n: Tổng số quan sát hoặc số lượng mẫu dữ liệu
Chỉ số R² là một thước đo thống kê phản ánh tỷ lệ phần trăm biến động trong dữ liệu thực tế mà mô hình dự đoán có thể giải thích Giá trị của R² dao động từ 0 đến 1, với 1 biểu thị rằng mô hình hoàn toàn giải thích được sự biến động của dữ liệu, trong khi 0 cho thấy mô hình không giải thích được bất kỳ biến động nào Một giá trị R² cao chỉ ra rằng mô hình có khả năng phù hợp tốt với dữ liệu.
𝑦 𝑖 là giá trị thực tế hực tế của biến phụ thuộc
𝑦̂ 𝑖 là giá trị dự đoán từ mô hình
𝑦̅ 𝑖 là giá trị trung bình của các giá trị thực tế 𝑦 𝑖 n là số lượng quan sát
Bảng 3.19: Kết quả thực nghiệm dự đoán dựa trên tập huấn luyện
Chỉ số XGB LightGBM SVR KNN
Bảng 3.20: Kết quả thực nghiệm dự đoán dựa trên tập kiểm tra
Chỉ số XGB LightGBM SVR KNN
Hình 3.13: Biểu đồ so sánh lợi nhuận thực tế và dự doán theo LightGBM
Hình 3.14: Biểu đồ so sánh lợi nhuận thực tế và dự doán theo XGBoost
Hình 3.15: Biểu đồ so sánh lợi nhuận thực tế và dự doán theo SVR
Hình 3.16: Biểu đồ so sánh lợi nhuận thực tế và dự doán theo KNN
XGBoost đạt được MAE thấp nhất cả trên tập huấn luyện và kiểm thử, với giá trị lần lượt là 14,225,914 và 10,171,102 Điều này cho thấy mô hình này có sai số dự đoán trung bình nhỏ nhất, khẳng định XGBoost là một trong những mô hình dự đoán chính xác nhất hiện nay.
LightGBM có MAE cao hơn một chút so với XGBoost, với giá trị 13,912,345 trên tập huấn luyện và 11,099,688 trên tập kiểm thử Mặc dù MAE của LightGBM vẫn trong giới hạn chấp nhận được, nhưng mô hình này không đạt hiệu suất tốt bằng XGBoost.
Mặc dù mô hình KNN đạt MAE bằng 0 trên tập huấn luyện, điều này cho thấy hiện tượng overfitting nghiêm trọng Khi kiểm tra trên tập dữ liệu thử nghiệm, MAE của KNN là 20,533,380, cao hơn nhiều so với các mô hình XGBoost và LightGBM, cho thấy khả năng tổng quát của KNN không tốt.
SVR có MAE cao nhất trong cả hai tập dữ liệu, với 50,774,678 trên tập huấn luyện và 17,478,719 trên tập kiểm thử, cho thấy mô hình này có sai số dự đoán lớn và hiệu suất kém.
XGBoost đạt được RMSE thấp nhất trên cả hai tập dữ liệu, với giá trị 22,657,785 trên tập huấn luyện và 14,288,324 trên tập kiểm thử, điều này cho thấy mô hình này có độ lệch chuẩn của sai số dự đoán thấp nhất.
LightGBM có RMSE cao hơn XGBoost, với giá trị lần lượt là 23,955,949 trên tập huấn luyện và 15,190,620 trên tập kiểm thử Mặc dù RMSE của LightGBM không bằng XGBoost, nhưng vẫn chấp nhận được và cho thấy mô hình này khá ổn định.
Mô hình KNN cho thấy hiện tượng overfitting khi đạt RMSE bằng 0 trên tập huấn luyện Tuy nhiên, trên tập kiểm thử, RMSE lại rất cao (25,114,340), cho thấy mô hình không phù hợp với dữ liệu mới.
SVR đã cho thấy chỉ số RMSE cao nhất trên cả hai tập dữ liệu, với giá trị 103,066,498 trên tập huấn luyện và 22,477,848 trên tập kiểm thử Điều này cho thấy độ lệch chuẩn của sai số dự đoán rất lớn, dẫn đến hiệu suất kém trong mô hình.
XGBoost đạt R² cao nhất trên cả hai tập dữ liệu, với 0.9831 trên tập huấn luyện và 0.6552 trên tập kiểm thử, cho thấy mô hình này có khả năng giải thích phần lớn biến động của dữ liệu và khả năng tổng quát hóa tốt.
Mặc dù LightGBM có chỉ số R² thấp hơn XGBoost (0.9811 trên tập huấn luyện và 0.6103 trên tập kiểm thử), nhưng nó vẫn cho thấy hiệu suất tốt và khả năng giải thích dữ liệu hiệu quả.
Mô hình KNN đạt R² bằng 1.0 trên tập huấn luyện, cho thấy hiện tượng overfitting Tuy nhiên, trên tập kiểm thử, R² lại âm (-0.0649), điều này chứng tỏ mô hình không thể giải thích được biến động của dữ liệu mới.