Các phương pháp quản trị và khai thác cơ sở dữ liệutruyền thống ngày càng không đáp ứng được thực tế, vì thế, một khuynh hướng dữthuật mới là kỹ thuật phát hiện tri thức và khai phá dữ l
TỔNG QUAN VỀ ĐỀ TÀI
Đặt vấn đề
Trong thời buổi hiện đại ngày nay, CNTT cũng như những ứng dụng của nó không ngừng phát triển, lượng thông tin và cơ sở dữ liệu được thu thập và lưu trữ cũng tích lũy ngày một nhiều lên được thu nhập từ rất nhiều nguồn khác nhau Con người cũng vì thế mà cần có thông tin với tốc độ nhanh nhất để đưa ra quyết định dựa trên lượng dữ liệu khổng lồ đã có Các phương pháp quản trị và khai thác cơ sở dữ liệu truyền thống ngày càng không đáp ứng được thực tế, vì thế, một khuynh hướng dữ thuật mới là kỹ thuật phát hiện tri thức và khai phá dữ liệu nhanh chóng được phát triển.
Khai phá dữ liệu đã và đang được nghiên cứu, ứng dụng trong nhiều lĩnh vực khác nhau ở các nước trên thế giới Các kết quả thử nghiệm chứng minh, với độ chính xác cao hơn, sự thành công của các mô hình này đem lại nguồn tri thức bổ ích
Khi cuộc sống con người ngày càng phát triển thì nhu cầu của con người ngày càng được nâng lên, từ nhu cầu ăn, mặc rồi đến nhu cầu vui chơi giải trí để tìm hiểu thiên nhiên, khám phá thế giới quanh ta Cùng với sự phát triển của xã hội và các ngành nghề khác thì du lịch được mệnh danh là một "Ngành công nghiệp không khói" hay còn gọi là "Con gà đẻ trứng vàng" Ngành kinh doanh này mang lại nguồn doanh thu khá lớn, đóng góp vào sự phát triển kinh tế Sự kết hợp chặt chẽ giữa du lịch và kinh doanh lưu trú là điều kiện tất yếu mang lại sự thành công trong kinh doanh ngành công nghiệp không khói này Nếu du lịch làm nhiệm vụ tổ chức cho du khách tham quan, giải trí thì kinh doanh lưu trú sẽ đảm nhận vai trò phục vụ và cung cấp nơi ăn chốn ở cho khách trong suốt thời gian du lịch Tuy nhiên trong điều kiện kinh tể thị trường khi sự cạnh tranh giữa các doanh nghiệp trở nên gay gắt, hàng loạt các khách sạn nhà hàng được đầu tư xây dụng với tiêu chuẩn chất lượng cao thì vấn đề làm sao để giữ vững được vị thế cạnh tranh của mình, giữ chân được du khách, không những làm họ đến một lần mà đến với chúng ta nhiều lần nữa, điều đó sẽ phụ thuộc rất nhiều vào chất lượng cũng như mức giá cả nhằm thu hút khách hàng Trong bối cảnh đó F1Hotel đã và đang không ngừng hoàn thiện và nâng cao chất lượng dịch vụ và đưa ra mức giá cạnh tranh để đáp úng tốt nhất mọi nhu cầu của khách hàng Và đó cũng chính là lý do vì sao trong khuôn khổ bài báo cáo này, chúng em tìm hiểu và trình bày về một kĩ thuật trong khai phá dữ liệu để phân lớp dữ liệu cũng như tổng quan về khai phá dữ liệu, với đề tài “Ứng dụng ai xây dựng mô hình dự đoán giá phòng tại khách sạn F1”
Một tệp dữ liệu được cung cấp phân tích chứa dữ liệu về 36275 thông tin đặt phòng của khách hàng Dữ liệu bao gồm thông tin đặt phòng của khách hàng (mã đặt phòng, số lượng người lớn, trẻ em ); một số thông số về dữ liệu đặt phòng (loại phòng đặt, loại kế hoạch bữa ăn, khả năng hủy phòng…) Từ cơ sở này giúp chúng ta có những thông tin thú vị giúp ích cho quá trình ra quyết định.
Mục tiêu đề tài
Xây dựng một mô hình dự đoán giá phòng sử dụng các kỹ thuật học máy và trí tuệ nhân tạo.
Tối ưu hóa quản lý thu nhập bằng cách áp dụng mô hình dự đoán giá phòng trong quá trình đặt phòng và quản lý giá.
Đối tượng và phương pháp nghiên cứu
Đối tượng nghiên cứu: 36275 khách hàng đã đặt phòng của khách sạn.
Phương pháp nghiên cứu: sử dụng các thuật toán để phân lớp đưa ra dự đoán.
Ý nghĩa của đề tài
Mô hình dự đoán giá phòng có thể giúp khách sạn đưa ra quyết định về giá cả linh hoạt Khả năng điều chỉnh giá một cách tự động giúp tối ưu hóa doanh thu và đáp ứng linh hoạt với biến động trong nhu cầu và cạnh tranh.
Dự đoán giá phòng giúp khách hàng có được thông tin đầy đủ và chính xác về giá trước khi đặt phòng, tăng tính minh bạch và tin cậy.
Khả năng dự đoán giá cả giúp quản lý khách sạn có cái nhìn tổng quan về xu hướng thị trường và cải thiện quyết định về quản lý giá cả và phòng.
Giảm công sức và thời gian trong quá trình quản lý giá cả, giúp nhân sự tập trung hơn vào các hoạt động khác.
Áp dụng trí tuệ nhân tạo vào quản lý giá cả là một bước tiến lớn, chứng tỏ sự đổi mới và sẵn sàng áp dụng công nghệ trong ngành khách sạn.
Bố cục đề tài
Đề tài gồm có 5 phần:
Chương 1: Tổng quan về đề tài.
Chương 2: Cơ sở lý thuyết.
Chương 3: Xây dựng mô hình dự báo.
Chương 4: Thực nghiệm và đánh giá.
CƠ SỞ LÝ THUYẾT
Tổng quan về kỹ thuật khai phá dữ liệu
2.1.1 Khái niệm khai phá dữ liệu
Khai phá dữ liệu (data mining) là quá trình tính toán để tìm ra các mẫu trong các bộ dữ liệu lớn liên quan đến các phương pháp tại giao điểm của máy học, thống kê và các hệ thống cơ sở dữ liệu Đây là một lĩnh vực liên ngành của khoa học máy tính. Mục tiêu tổng thể của quá trình khai thác dữ liệu là trích xuất thông tin từ một bộ dữ liệu và chuyển nó thành một cấu trúc dễ hiểu để sử dụng tiếp Ngoài bước phân tích thô, nó còn liên quan tới cơ sở dữ liệu và các khía cạnh quản lý dữ liệu, xử lý dữ liệu trước, suy xét mô hình và suy luận thống kê, các thước đo thú vị, các cân nhắc phức tạp, xuất kết quả về các cấu trúc được phát hiện, hiện hình hóa và cập nhật trực tuyến. Khai thác dữ liệu là bước phân tích của quá trình "khám phá kiến thức trong cơ sở dữ liệu" hoặc KDD (Knowledge Discovery in Databases).
Khai phá dữ liệu là một bước trong quy trình khám phá tri thức, nhằm:
Rút trích thông tin hữu ích, chưa biết, tiềm ẩn trong khối dữ liệu lớn.
Phân tích dữ liệu bán tự động.
Giải thích dữ liệu trên các tập dữ liệu lớn.
2.1.2 Các giai đoạn của quá trình khai phá dữ liệu
Quy trình khai phá dữ liệu là một chuỗi lặp (iterative) (và tương tác (interactive)) gồm các bước (giai đoạn) bắt đầu với dữ liệu thô (raw data) và kết thúc với tri thức (knowledge of interest) đáp ứng được sự quan tâm của người sử dụng.
Các bước chính trong quy trình khai phá dữ liệu:
1 Làm sạch dữ liệu: Trước tiên, cần làm sạch dữ liệu để nó phù hợp với tiêu chuẩn Dữ liệu bẩn hoặc không đầy đủ dẫn đến thông tin chi tiết kém và hệ thống bị lỗi gây tốn kém thời gian và tiền bạc.
2 Tích hợp dữ liệu: Đây là một trong những kỹ thuật khai thác hàng đầu để hợp lý hóa toàn bộ quá trình trích xuất, chuyển đổi và tải.
3 Giảm chiều dữ liệu: Quy trình tiêu chuẩn này trích xuất thông tin liên quan để phân tích dữ liệu và đánh giá mẫu.
4 Chuyển đổi dữ liệu: Chuyển đổi dữ liệu sang dạng có thể chấp nhận được để phù hợp với các mục tiêu khai thác Hợp nhất dữ liệu chuẩn bị để tối ưu hóa các quy trình khai thác dữ liệu và giúp dễ dàng phân biệt các mẫu trong tập dữ liệu cuối cùng.
5 Khai phá dữ liệu: Sử dụng các ứng dụng khai thác dữ liệu để trích xuất các xu hướng hữu ích và tối ưu hóa việc khám phá kiến thức để tạo ra thông tin kinh doanh.
6 Đánh giá mẫu: Đây là giai đoạn đưa những hiểu biết sâu sắc vào thế giới thực. Xác định bất kỳ mẫu hữu ích nào có thể tạo ra kiến thức kinh doanh.
7 Trình bày kiến thức trong khai phá dữ liệu: Phân tích dữ liệu sử dụng kết hợp trực quan hóa dữ liệu, báo cáo và các công cụ khai thác khác để chia sẻ thông tin với những người khác.
2.1.3 Các phương pháp khai phá dữ liệu
Phân lớp (Classification): Là phương pháp dự báo, cho phép phân loại một đối tượng vào một hoặc một số lớp cho trước.
Hồi quy (Regression): Khám phá chức năng học dự đoán, ánh xạ một mục dữ liệu thành biến dự đoán giá trị thực.
Phân cụm (Clustering): Một nhiệm vụ mô tả phổ biến trong đó người ta tìm cách xác định một tập hợp hữu hạn các cụm để mô tả dữ liệu.
Tổng hợp (Summarization): Một nhiệm vụ mô tả bổ sung liên quan đến phương pháp cho việc tìm kiếm một mô tả nhỏ gọn cho một bộ (hoặc tập hợp con) của dữ liệu.
Mô hình ràng buộc (Dependency modeling): Tìm mô hình cục bộ mô tả các phụ thuộc đáng kể giữa các biến hoặc giữa các giá trị của một tính năng trong tập dữ liệu hoặc trong một phần của tập dữ liệu.
Dò tìm biến đổi và độ lệch (Change and Deviation Detection): Khám phá những thay đổi quan trọng nhất trong bộ dữ liệu.
Bài toán phân lớp trong Khai phá dữ liệu
Dạng phân tích dữ liệu nhằm rút trích các mô hình mô tả các lớp dữ liệu hoặc dự đoán xu hướng dữ liệu
Việc phân loại dữ liệu giúp tổ chức xác định mức độ bảo vệ một loại dữ liệu nào đó tùy thuộc vào tính quan trọng, độ nhạy cảm hay mức độ bí mật của dữ liệu. Nói cụ thể hơn, việc phân loại dữ liệu giúp xác định cần bao nhiêu tiền, bao nhiêu tài nguyên phải cung cấp để bảo vệ một loại dữ liệu nào đó Phân loại dữ liệu làm căn cứ cho việc lưu trữ, xử lý, vận chuyển dữ liệu, hay ngay cả việc tiêu hủy dữ liệu.
2.2.2 Quá trình phân lớp dữ liệu
Quá trình gồm hai bước:
Bước học (giai đoạn huấn luyện): xây dựng bộ phân loại (classifier) bằng việc phân tích/học tập huấn luyện.
Bước phân loại (classification): phân loại dữ liệu/đối tượng mới nếu độ chính xác của bộ phân loại được đánh giá là có thể chấp nhận được (acceptable).
Cơ sở dữ liệu về Đặt phòng khách sạn
2.3.1 Tổng quan về giá cả khách sạn trên thị trường
Giá cả khách sạn là một lĩnh vực động lực và phức tạp trong ngành công nghiệp du lịch Sự biến động của giá cả khách sạn không chỉ phản ánh nhu cầu và cung ứng trong thời gian cụ thể mà còn chịu ảnh hưởng của nhiều yếu tố khác nhau. Một số yếu tố quan trọng bao gồm loại phòng khách ở, cạnh tranh giữa các nhà nghỉ, và sự thay đổi trong xu hướng đặt phòng trực tuyến.
Loại phòng trong khách sạn có ảnh hưởng đáng kể đến giá cả và thu nhập của khách sạn Những phòng lớn với các tiện nghi cao cấp, vị trí đẹp, dịch vụ đi kèm, trên tầng cao và có ban công thường có giá cao hơn Các loại phòng này thường được đánh giá cao về thoải mái và tiện ích Ngược lại, phòng tiêu chuẩn thường có giá thấp hơn vì chúng cung cấp các tiện nghi cơ bản và ít không gian hơn.
Sự phổ cập của đặt phòng trực tuyến và các trang web so sánh giá cũng làm cho người tiêu dùng dễ dàng so sánh và lựa chọn, đặt áp lực lên khách sạn để duy trì mức giá hấp dẫn và chất lượng dịch vụ.
Các chính sách giá, bao gồm cả chính sách hủy đặt và chính sách đặt trước, cũng đóng vai trò quan trọng trong việc xác định giá cả và ảnh hưởng đến sự linh hoạt của khách hàng trong quyết định đặt phòng Sự xuất hiện của công nghệ trí tuệ nhân tạo và dữ liệu lớn cũng mang lại những cơ hội mới để dự đoán xu hướng và tối ưu hóa giá cả.
Thị trường giá cả khách sạn là một môi trường đa dạng và thách thức, yêu cầu sự nhạy bén và sáng tạo từ phía các doanh nghiệp để duy trì sự cạnh tranh và đáp ứng mong đợi của khách hàng.
2.3.2 Mong đợi của khách hàng về giá cả khách sạn
Cái nhìn của khách hàng về giá cả khách sạn đóng vai trò quan trọng trong quyết định đặt phòng và trải nghiệm du lịch của họ Giá cả không chỉ là con số trên hóa đơn mà còn là yếu tố quyết định chất lượng và giá trị của trải nghiệm lưu trú. Khách hàng thường đặt ra nhiều tiêu chí và xem xét khi đối mặt với giá cả khách sạn.
Một trong những điểm quan trọng nhất là giá trị đối với dịch vụ nhận được. Khách hàng mong đợi một sự cân đối giữa mức giá và chất lượng dịch vụ Mức giá cao thường được chấp nhận khi đi kèm với những tiện ích và trải nghiệm độc đáo, trong khi giá rẻ hơn có thể được ưu tiên nếu dịch vụ và tiện ích vẫn đáp ứng đủ nhu cầu của họ. Đánh giá và phản hồi từ các khách hàng trước đó đóng một vai trò quan trọng trong quyết định của khách hàng mới Họ thường xem xét giá cả khách sạn trong ngữ cảnh của trải nghiệm thực tế và sự hài lòng của những người đã trải qua.
Sự linh hoạt với chính sách đặt phòng cũng được đánh giá cao Khả năng điều chỉnh lịch trình và hủy đặt có thể là quyết định đầy ý nghĩa trong những tình huống bất ngờ hoặc thay đổi kế hoạch.
Giá cả khách sạn không chỉ là một con số, mà là một yếu tố đa chiều mà khách hàng xem xét trong bối cảnh của nhu cầu, mong muốn và kỳ vọng cá nhân của họ Sự đồng thuận giữa giá và trải nghiệm lưu trú là chìa khóa để tạo ra một trải nghiệm du lịch đáng nhớ và hài lòng.
XÂY DỰNG MÔ HÌNH DỰ BÁO
Cơ sở dữ liệu
3.1.1 Phân tích, xác định các thuộc tính dữ liệu
Dữ liệu của bài toán gồm 36275 bản ghi và 19 thuộc tính Thông tin về các thuộc tính:
Các biến được chia như sau:
• Booking_ID: ‘INN’+ [00001, 00002, 00003 ]: mã định danh duy nhất của mỗi lượt đặt phòng Đây là biến không thêm bất kỳ thông tin nào, không có mối liên hệ giữa ID của một thông tin đặt phòng và giá phòng khách sạn, nó không đưa ra kết luận nào về giá phòng trong tương lai Ta có thể bỏ qua thông tin này cho dự đoán mô hình.
no_of_adults: Số lượng người lớn trong thông tin đặt phòng (phân loại: 5 giá trị)
no_of_children: Số lượng trẻ em trong thông tin đặt phòng (phân loại: 6 giá trị)
no_of_weekend_nights: Số đêm cuối tuần (Thứ 7 hoặc Chủ nhật) khách lưu trú hoặc đặt phòng lưu trú tại khách sạn (phân loại: 8 giá trị)
no_of_week_nights: Số đêm trong tuần (Thứ hai đến Thứ sáu) khách lưu trú hoặc đặt phòng lưu trú tại khách sạn (phân loại: 18 giá trị)
type_of_meal_plan: Loại gói bữa ăn do khách hàng đặt (phân loại: 4 giá trị)
required_car_parking_space: Khách hàng có yêu cầu chỗ đỗ xe không? (nhị phân: 2 giá trị)
room_type_reserved: Loại phòng khách hàng đã đặt (phân loại: 7 giá trị)
lead_time: Số ngày tính từ ngày đặt phòng đến ngày đến (số: tối đa 352 ngày)
arrival_year: Năm của ngày đến (phân loại: 2 giá trị)
arrival_month: Tháng của ngày đến (phân loại: 12 giá trị)
arrival_date: Ngày đến (phân loại: 31 giá trị)
market_segment_type: Phân khúc thị trường (phân loại: 5 giá trị)
repeated_guest: Khách hàng có phải là khách thường xuyên không? (nhị phân:
no_of_previous_cancellations: Số lần hủy trước lượt đặt chỗ hiện tại của khách (phân loại: 9 giá trị)
no_of_previous_bookings_not_canceled: Số lần đặt phòng trước lượt đặt chỗ hiện tại mà khách không hủy (số: lên tới 59)
avg_price_per_room: Giá trung bình mỗi ngày đặt phòng (euros) (số: dao động tới 3930)
no_of_special_requests: Tổng số yêu cầu đặc biệt của khách hàng (phân loại: 6 giá trị)
booking_status: Cho biết đặt phòng có bị hủy hay không (nhị phân: 2 giá trị)
– Các thuộc tính số: no_of_adults, no_of_children, no_of_weekend_nights, no_of_week_nights, lead_time, arrival_year, arrival_month, arrival_date, no_of_previous_cancellations, no_of_previous_bookings_not_canceled, avg_price_per_room, no_of_special_requests.
– Các thuộc tính phân loại: type_of_meal_plan, required_car_parking_space,room_type_reserved, market_segment_type, repeated_guest, booking_status.
Hình 1: Bộ dữ liệu gốc
Bộ dữ liệu bao gồm 36275 bản ghi với rất nhiều các thông tin mà nhóm đã thu thập được trên thực tế Với bộ dữ liệu như trên thì người dùng có thể tiến hành việc khai phá dữ liệu dựa trên nhiều thuật toán khác nhau phụ thuộc vào nhu cầu.
3.2 Mô hình hồi quy tuyến tính
3.2.1 Hồi quy tuyến tính là gì?
Hồi quy tuyến tính là một kỹ thuật phân tích dữ liệu dự đoán giá trị của dữ liệu không xác định bằng cách sử dụng một giá trị dữ liệu liên quan và đã biết khác Nó mô hình toán học biến không xác định hoặc phụ thuộc và biến đã biết hoặc độc lập như một phương trình tuyến tính Ví dụ, giả sử rằng bạn có dữ liệu về chi phí và thu nhập của bạn trong năm ngoái Kỹ thuật hồi quy tuyến tính phân tích dữ liệu này và xác định rằng chi phí của bạn là một nửa thu nhập của bạn Sau đó, họ tính toán một chi phí trong tương lai không rõ bằng cách giảm một nửa thu nhập được biết đến trong tương lai.
3.2.2 Hồi quy tuyến tính hoạt động như thế nào?
Về bản chất, một kỹ thuật hồi quy tuyến tính đơn giản cố gắng vẽ một đồ thị đường giữa hai biến dữ liệu, x và y Là biến độc lập, x được vẽ dọc theo trục hoành.Các biến độc lập còn được gọi là biến giải thích hoặc biến dự báo Biến phụ thuộc, y, được vẽ trên trục tung Bạn cũng có thể tham chiếu các giá trị y như các biến phản hồi hoặc các biến dự báo.
Các bước trong hồi quy tuyến tính Để có cái nhìn tổng quan, hãy xem xét dạng đơn giản nhất của phương trình đồ thị đường giữa y và x; y=c*x+m, trong đó c và m là hằng số cho tất cả các giá trị có thể có của x và y Vì vậy, chẳng hạn giả sử rằng tập dữ liệu đầu vào cho (x,y) là (1,5), (2,8), và (3,11) Để xác định phương pháp hồi quy tuyến tính, bạn sẽ thực hiện các bước sau:
Vẽ một đường thẳng và đo lường mối tương quan giữa 1 và 5.
Tiếp tục thay đổi hướng của đường thẳng cho các giá trị mới (2,8) và (3,11) cho đến khi tất cả các giá trị đều phù hợp.
Xác định phương trình hồi quy tuyến tính là y=3*x+2.
Ngoại suy hoặc dự đoán y là 14 khi x là…
3.2.3 Hồi quy tuyến tính trong máy học là gì?
Trong máy học, các chương trình máy tính gọi là thuật toán phân tích các tập dữ liệu lớn và làm việc ngược từ dữ liệu đó để tính toán phương trình hồi quy tuyến tính Các nhà khoa học dữ liệu đầu tiên sẽ đào tạo thuật toán trên các tập dữ liệu đã biết hoặc được dán nhãn và sau đó sử dụng thuật toán để dự đoán các giá trị chưa biết.
Dữ liệu thực tế phức tạp hơn so với ví dụ trước Đó là lý do tại sao phân tích hồi quy tuyến tính phải sửa đổi hoặc biến đổi các giá trị dữ liệu về mặt toán học để đáp ứng bốn giả định sau đây.
Mối quan hệ tuyến tính
Mối quan hệ tuyến tính phải tồn tại giữa các biến độc lập và phụ thuộc Để xác định mối quan hệ này, các nhà khoa học dữ liệu tạo ra một biểu đồ phân tán – một tập hợp ngẫu nhiên các giá trị x và y – để xem liệu chúng có nằm trên một đường thẳng hay không Nếu không, bạn có thể áp dụng các hàm phi tuyến tính như căn bậc hai hoặc log để tạo ra mối quan hệ tuyến tính giữa hai biến về mặt toán học.
Các nhà khoa học dữ liệu sử dụng phần dư để đo lường độ chính xác dự đoán. Phần dư là chênh lệch giữa dữ liệu quan sát được và giá trị dự đoán Phần dư không được có một mô hình nhận dạng được giữa chúng Ví dụ: bạn không muốn phần dư tăng lên theo thời gian Bạn có thể sử dụng các bài kiểm tra toán học khác nhau, như kiểm tra Durbin-Watson, để xác định phần dư độc lập Bạn có thể sử dụng dữ liệu giả để thay thế bất kỳ dữ liệu biến thiên nào, chẳng hạn như dữ liệu theo mùa.
Các kỹ thuật vẽ đồ thị như các biểu đồ Q-Q xác định xem các phần dư có phân bố bình thường hay không Các phần dư sẽ nằm dọc theo một đường chéo ở trung tâm của đồ thị Nếu phần dư không được chuẩn hóa, bạn có thể kiểm tra dữ liệu cho các điểm ngoại lai ngẫu nhiên hoặc các giá trị không phải là điển hình Loại bỏ các điểm ngoại lai hoặc thực hiện phép biến đổi phi tuyến tính có thể khắc phục sự cố.
Phương sai không đổi giả định rằng phần dư có phương sai cố định hoặc độ lệch chuẩn so với trung bình cho mọi giá trị của x Nếu không, kết quả phân tích có thể không chính xác Nếu giả định này chưa được đáp ứng, bạn có thể phải thay đổi biến phụ thuộc Bởi vì phương sai xuất hiện tự nhiên trong các tập dữ liệu lớn, giải thích được lý do phải thay đổi quy mô của biến phụ thuộc Ví dụ: thay vì sử dụng quy mô dân số để dự đoán số trạm cứu hỏa trong một thành phố, có thể sử dụng kích thước dân số để dự đoán số trạm cứu hỏa trên mỗi người.
3.2.4 Có những loại hồi quy tuyến tính nào?
Một số loại phân tích hồi quy phù hợp để xử lý các tập dữ liệu phức tạp hơn các loại khác Sau đây là một số ví dụ.
Hồi quy tuyến tính đơn giản
Hồi quy tuyến tính đơn giản được định nghĩa bằng hàm tuyến tính:
Y= β0*X + β1 + ε β0 và β1 là hai hằng số chưa biết đại diện cho độ dốc hồi quy, trong khi ε (epsilon) là thuật ngữ sai số.
Bạn có thể sử dụng hồi quy tuyến tính đơn giản để lập mô hình mối quan hệ giữa hai biến, chẳng hạn như sau:
Lượng mưa và sản lượng cây trồng
Tuổi và chiều cao ở trẻ em
Nhiệt độ và sự giãn nở của thủy ngân kim loại trong nhiệt kế
Hồi quy tuyến tính bội
Trong phân tích hồi quy tuyến tính bội, tập dữ liệu chứa một biến phụ thuộc và nhiều biến độc lập Hàm đường hồi quy tuyến tính thay đổi để bao gồm nhiều yếu tố như sau:
Y= β0*X0 + β1X1 + β2X2+…… βnXn+ ε Khi số lượng biến dự báo tăng lên, các hằng số β cũng tăng lên tương ứng.
Hồi quy tuyến tính bội lập mô hình nhiều biến và tác động của chúng lên một kết quả:
Lượng mưa, nhiệt độ và mức độ sử dụng phân bón đối với sản lượng cây trồng
Chế độ ăn uống và tập thể dục đối với bệnh tim.
Tăng trưởng tiền lương và lạm phát trên lãi suất cho vay gia đình
Các nhà khoa học dữ liệu sử dụng hồi quy logistic để đo lường xác suất xảy ra một sự kiện Dự đoán là một giá trị giữa 0 và 1, trong đó 0 thể hiện một sự kiện khó xảy ra, và 1 thể hiện khả năng tối đa rằng sự việc đó sẽ xảy ra Các phương trình logistic sử dụng các hàm logarit để tính toán đường hồi quy.
Sau đây là một số ví dụ:
Xác suất thắng hoặc thua trong một trận đấu thể thao
Xác suất đỗ hoặc trượt một bài kiểm tra
Xác suất một hình ảnh là trái cây hoặc con vật
3.3 Thuật toán Cây quyết định
3.3.1 Lý do lựa chọn thuật toán Cây quyết định
Cây quyết định tạo ra các quy tắc quyết định dễ hiểu và giải thích Điều này rất quan trọng trong lĩnh vực quản lý khách sạn, nơi mà sự hiểu rõ về lý do giá phòng được đưa ra có thể giúp quản lý đưa ra các quyết định thông minh về giá cả Cây quyết định có khả năng xử lý tốt với dữ liệu lớn và phức tạp mà không cần nhiều công đoạn tiền xử lý Điều này có thể giảm bớt gánh nặng tính toán và tối ưu hóa quá trình xây dựng mô hình Cây quyết định còn có khả năng làm việc tốt với dữ liệu hỗn hợp, bao gồm cả dữ liệu số và dữ liệu phân loại Trong trường hợp dự đoán giá phòng khách sạn, có nhiều yếu tố khác nhau có thể là biến số hoặc biến phân loại, và cây quyết định có khả năng xử lý cả hai loại dữ liệu này Tóm lại, việc chọn thuật toán Cây quyết định cho việc dự đoán giá phòng khách sạn có thể mang lại sự linh hoạt, hiểu rõ được mô hình, và khả năng xử lý tốt với các yếu tố phức tạp liên quan đến giá cả và quản lý khách sạn.
3.3.2 Tổng quan về thuật toán Cây quyết định
Thuật toán Random Forest
4.1.1 Xử lý giá trị khuyết thiếu
Hình 10: Thêm các thư viện
Kiểm tra tổng quát bộ dữ liệu
THỰC NGHIỆM VÀ ĐÁNH GIÁ
Tiền xử lý dữ liệu
4.1.1 Xử lý giá trị khuyết thiếu
Hình 10: Thêm các thư viện
Kiểm tra tổng quát bộ dữ liệu
Hình 11: Kiểm tra tổng quát bộ dữ liệu
In ra 10 dòng dữ liệu đầu tiên
Hình 13: In ra 10 dòng dữ liệu đầu tiên
Xử lý các giá trị khuyết thiếu
Hình 14: Đếm tổng số lượng giá trị khuyết thiếu ở mỗi cột
Hình 15: Xử lý các giá trị khuyết thiếu
Sử dụng biểu đồ nhiệt để xây dựng ma trận tương quan.
Nếu dải màu càng tiến về 1, -1: tương quan tuyến tính càng mạnh, càng chặt chẽ Tiến về 1 là tương quan dương, tiến về -1 là tương quan âm.
Nếu vạch màu tiến về 0: tương quan tuyến tính càng yếu.
Nếu vạch màu tiến về 1: tương quan tuyến tính tuyệt đối.
Hình 16: Vẽ ma trận tương quan
Hình 17: Ma trận tương quan Ở đây chúng ta có thể thấy avg_price_per_room có mối tương quan mạnh nhất với no_of_adults, no_of_children và kém tương quan nhất với repeated_guest, no_of_previous_bookings_not_canceled/
Sử dụng biểu đồ ria mèo để trực quan sự phân phối dữ liệu thuộc tính phân loại, từ đó tìm ra các biến ngoại lai
Hình 18: Vẽ biểu đồ ria mèo
Hình 19: Biểu đồ Box plot của các thuộc tính số
Nhận xét: Từ biểu đồ Box plot ta thấy hầu hết các thuộc tính số đều chứa các giá trị ngoại lai.
Xử lý giá trị ngoại lai
Hình 20: Chuyển các dữ liệu dạng object sang float
Hình 21: Xử lý giá trị ngoại lai
Hình 22: Biểu đồ sau khi xử lý giá trị ngoại lai
Trực quan hóa dữ liệu
Biểu đồ thể hiện tình trạng đặt phòng theo giá trung bình mỗi phòng và ngày đến
Hình 23: Vẽ biểu đồ thể hiện tình trạng đặt phòng theo giá trung bình mỗi phòng và ngày đến
Hình 24: Biểu đồ thể hiện tình trạng đặt phòng theo giá trung bình mỗi phòng và ngày đến
Giá phòng không đồng đều, biến thiên liên tục giữa các ngày trong tháng.
Giá phòng của những lượt hủy phòng với trung bình khoảng 110 euros hầu hết đều cao hơn giá phòng của những khách không hủy phòng với trung bình khoảng 100 euros.
Khách hủy phòng nhiều hơn khách không hủy, có vẻ vấn đề giá cả đã khiến họ không còn muốn lưu trú tại khách sạn nữa.
Biểu đồ cột giữa loại phòng và tình trạng đặt phòng
Hình 25: Vẽ biểu đồ cột giữa loại phòng và tình trạng đặt phòng
Hình 26: Biểu đồ giữa loại phòng và tình trạng đặt phòng
Có sự chênh lệch lớn giữa số lượng chọn phòng của mỗi loại phòng.Chất lượng phòng và giá cả dường như là nguyên nhân chính khiến lượng đặt phòng chênh lệch lớn đến vậy.
Phòng loại 1 được đặt nhiều nhất với khoảng 19000 khách lựa chọn lưu trú và khoảng 9000 khách đã đặt nhưng hủy.
Phòng loại 4 có số lượng đặt phòng cao thứ 2 với khoảng 3500 khách hàng lưu trú và gần 2500 khách hủy phòng.
Phòng loại 2 và 6 mặc dù vẫn có khách đặt nhưng số lượng rất ít, chỉ dao động khoảng vài trăm khách.
Hầu hết khách hàng đều không ưa chuộng phòng loại 5,7 và 3, đặc biệt là phòng loại 3 với số lượng đặt phòng gần như bằng không.
Biểu đồ tần suất (histogram) và Box plot cho giá trung bình mỗi phòng
Hình 27: Vẽ biểu đồ tần suất (histogram) và Box plot cho giá trung bình mỗi phòng
Hình 28: Biểu đồ tần suất (histogram) và Box plot cho giá trung bình mỗi phòng
Biểu đồ tần suất có dạng chuông cho thấy giá phòng trung bình gần như được phân phối chuẩn.
Biểu đồ Box plot có sự đối xứng giữa hai hộp và hai đuôi dài bằng nhau, đây là dấu hiệu của sự phân phối chuẩn của dữ liệu.
Sau bước tiền xử lý dữ liệu thì dữ liệu của cả hai biểu đồ đều gần như được phân phối chuẩn.
Thực nghiệm
4.3.1 Xây dựng mô hình dự đoán giá phòng trung bình
Hình 29: Khai báo thư viện
Hiển thị kiểu dữ liệu của các thuộc tính
Hình 30: Hiển thị kiểu dữ liệu của các thuộc tính
Đổi dữ liệu dạng định danh về dạng số
Hình 31: Đổi dữ liệu dạng định danh về dạng số
Xác định các thuộc tính tập huấn X và dự đoán Y
Hình 32: Xác định các thuộc tính tập huấn X và dự đoán Y
Chia bộ dữ liệu thành 2 tập train và test theo tỉ lệ 80% train, 20% test
Hình 33: Chia bộ dữ liệu thành 2 tập train và test
Khai báo mô hình hồi quy tuyến tính
Hình 34: Khai báo mô hình hồi quy tuyến tính
Hình 35: Thực thi mô hình
Công thức của mô hình hồi quy
Hình 36: Công thức của mô hình hồi quy
Hình 37: Chạy thử mô hình
Kiểm tra độ chính xác của mô hình
Hình 38: Kiểm tra độ chính xác của mô hình
Kiểm tra độ chính xác của mô hình dự đoán Độ chính xác 0.26720523639974536 cho thấy mô hình có độ chính xác trung bình Điều này có nghĩa là mô hình có thể dự đoán đúng khoảng 26,7% các giá trị thực tế.
Sử dụng mô hình để dự đoán
Hình 39: Sử dụng mô hình để dự đoán giá phòng
Với các thông tin như:
no_of_adults (Số lượng người lớn) = 2
room_type_reserved (Loại phòng) = 4
no_of_weekend_nights (Số đêm cuối tuần) = 2
type_of_meal_plan (Loại gói bữa ăn do khách đặt) = 4
Mô hình đã dự đoán được giá phòng trung bình sẽ là 113.77337257 euros.
Sau khi đổi mã hóa dữ liệu về dạng số, xác định mô tả cho thuộc tính X và Y và chia dữ liệu test/train ở phần trên thì sẽ khai báo mô hình và huấn luyện mô hình.
Hình 40: Khai báo và huấn luyện mô hình
Tiếp đó sẽ tiến hành kiểm thử mô hình để dự đoán cho các giá trị mới bằng cách sử dụng một mô hình đã được huấn luyện
Hình 41: Kiểm thử mô hình
Sau đó sẽ kiểm tra độ chính xác của mô hình dự đoán Độ chính xác 0.33525955742369573 cho thấy mô hình có độ chính xác trung bình Điều này có nghĩa là mô hình có thể dự đoán đúng khoảng 33,5% các giá trị thực tế.
Hình 42: Kiểm tra độ chính xác của mô hình
Cuối cùng là sử dụng mô hình để dự đoán khi được cung cấp đầy đủ thông tin.
Hình 43: Sử dụng mô hình để dự đoán giá phòng
Với các thông tin như:
no_of_adults (Số lượng người lớn) = 2
room_type_reserved (Loại phòng) = 4
no_of_weekend_nights (Số đêm cuối tuần) = 2
type_of_meal_plan (Loại gói bữa ăn do khách đặt) = 4
Mô hình đã dự đoán được giá phòng trung bình sẽ là 94.1623644 euros.
Thuật toán Random Forest a) Xây dựng mô hình Random Forest
Hình 44: Huấn luyện mô hình Random Forest
Hình 45: Kiểm thử mô hình
Hình 46: Độ chính xác của mô hình
Hình 47: Sử dụng mô hình dự đoán giá phòng b) Điều chỉnh các siêu tham số
Chúng em sẽ sử dụng RandomizedSearchCV from sklearn để tối ưu hóa các siêu tham số và cải thiện độ chính xác Koehrsen sử dụng toàn bộ lưới siêu tham số trong bài báo nhưng điều này có thể mất một thời gian đáng kể để chạy trên thực tế.
Do đó chúng em quyết định tập trung vào 3 siêu tham số: n_estimators, max_features và max_depth.
Hình 48: Điều chỉnh các siêu tham số
'n_estimators'= 366: Số lượng cây trong rừng = 366.
'max_features'= 'sqrt' ('max_features': Số lượng các tính năng cần xem xét khi tìm kiếm sự phân chia tốt nhất).
'max_depth'= 460: Chiều sâu tối đa của cây = 460.
Sau khi chạy ra kết quả của các tham số n_estimators, max_features và max_depth, đưa các tham số này lại vào mô hình để nâng cao độ chính xác của mô hình.
Hình 49: Đưa các tham số lại vào mô hình
TỔNG KẾT
Đề tài "Ứng dụng AI xây dựng mô hình dự đoán giá phòng tại khách sạn F1" đã mang lại cái nhìn sâu sắc về sự ứng dụng của trí tuệ nhân tạo trong lĩnh vực quản lý giá cả và tối ưu hóa doanh thu trong ngành khách sạn, đặc biệt là tại khách sạn F1. Qua quá trình nghiên cứu và phân tích, đề tài đã mang lại nhiều điểm quan trọng và đáng chú ý.
Nghiên cứu đã chứng minh rằng việc sử dụng trí tuệ nhân tạo có thể đem lại hiệu quả cao trong việc dự đoán giá cả phòng tại khách sạn F1 Các mô hình AI có khả năng học từ dữ liệu và áp dụng những hiểu biết đó để tối ưu hóa quản lý giá.
Một trong những ưu điểm quan trọng của việc ứng dụng AI là khả năng tối ưu hóa doanh thu Mô hình dự đoán giá có thể điều chỉnh giá cả phòng theo thời gian, mùa vụ, và các yếu tố khác để đạt được sự cân bằng giữa lợi nhuận và sự hài lòng của khách hàng.
Sự linh hoạt trong quản lý giá cả cũng là một điểm nổi bật Khả năng thích ứng nhanh chóng với thay đổi trong nhu cầu thị trường và các yếu tố bên ngoài giúp khách sạn F1 duy trì sự cạnh tranh và đáp ứng linh hoạt với sự biến động của ngành du lịch. Đề tài cũng đã đề cập đến những thách thức mà quá trình triển khai mô hình dự đoán giá có thể đối mặt, bao gồm các vấn đề về dữ liệu, tính ổn định của mô hình, và tương tác với các yếu tố không dự đoán được Tuy nhiên, giải pháp và chiến lược triển khai đã được đề xuất để vượt qua những thách thức này.
Tổng kết kết luận với việc đề xuất những hướng phát triển tương lai Có thể bao gồm việc mở rộng áp dụng mô hình cho các loại khách sạn khác, cải thiện tính linh hoạt và đa dạng của mô hình, hay tích hợp các yếu tố mới vào quá trình dự đoán giá.
Tóm lại, đề tài đã đưa ra một cái nhìn toàn diện và chi tiết về cách trí tuệ nhân tạo có thể được áp dụng để nâng cao quản lý giá cả và tối ưu hóa doanh thu trong ngành khách sạn, hứa hẹn mang lại những đóng góp tích cực cho sự phát triển của ngành du lịch và lưu trú.