Trong bối cảnh thị trường bất động sản đang phát triển mạnh mẽ, đồng thời với sự phát triển không ngừng của công nghệ thông tin, việc dự báo số lượng căn hộ bán được là một yếu tố quan trọng để các nhà phát triển, chủ đầu tư và các bên liên quan có thể tạo ra chiến lược kinh doanh hiệu quả và đưa ra quyết định đúng đắn. Bên cạnh đó, mô hình hồi quy tuyến tính là một công cụ mạnh mẽ trong việc dự báo và phân tích dữ liệu. Nó cho phép chúng ta xây dựng một mô hình thống kê dựa trên các biến độc lập để dự đoán một biến phụ thuộc. Chính vì vậy, nhóm 4 chúng em quyết định lựa chọn đề tài phân tích và dự báo số lượng căn hộ bán được trong các quý bằng mô hình hồi quy tuyến tính. Mục tiêu của đề tài này là xây dựng một mô hình hồi quy tuyến tính dựa trên dữ liệu đầu vào và sử dụng các phương pháp thống kê và kỹ thuật phân tích dữ liệu để xác định các biến có liên quan và xây dựng một mô hình dự báo chính xác. Qua việc phân tích và dự báo số lượng
BÀI TOÁN PHÂN TÍCH DỰ BÁO SỐ LƯỢNG CĂN HỘ BÁN ĐƯỢC TRONG CÁC QUÝ
Giới thiệu chung
Trong thị trường bất động sản hiện nay, việc đánh giá và dự đoán số lượng căn hộ bán ra theo từng quý là một thách thức lớn đối với doanh nghiệp và nhà phát triển Điều này không chỉ ảnh hưởng đến chiến lược kinh doanh mà còn định hình hình ảnh và quy mô của thị trường Phân tích số liệu trở thành công cụ quan trọng để đo lường sự biến động này, đòi hỏi sự kết hợp giữa hiểu biết về thị trường và khả năng áp dụng các phương pháp phân tích dữ liệu hiện đại.
Hình 1 1 Minh họa về bài toán
Dữ liệu bất động sản cần được thu thập tỉ mỉ, bao gồm diện tích, vị trí địa lý, giá bán, xu hướng kinh tế xã hội và nhu cầu thị trường Sự kết hợp thông tin chi tiết này tạo ra cơ sở dữ liệu đa chiều, giúp hiểu rõ sự biến động của thị trường theo thời gian Việc áp dụng các mô hình phân tích như hồi quy tuyến tính, Mạng Nơ-ron Nhân tạo (ANN) và cây quyết định cho phép chúng ta nắm bắt mối liên hệ giữa các yếu tố và số lượng căn hộ bán ra Những mô hình này không chỉ dự đoán xu hướng tương lai mà còn hỗ trợ quyết định chiến lược với độ chính xác cao.
Thị trường bất động sản luôn đầy thách thức với sự không chắc chắn và dữ liệu nhiễu loạn Để đối phó với những yếu tố phức tạp này, việc áp dụng sự sáng tạo cùng với các kỹ thuật phân tích tiên tiến là cần thiết, giúp chúng ta tiếp cận vấn đề một cách toàn diện và hiệu quả hơn.
Giới thiệu về mục tiêu của bài toán
Mục tiêu của bài toán này là dự đoán số lượng căn nhà hoặc căn hộ sẽ được bán ra trong một khoảng thời gian cụ thể, chẳng hạn như trong các quý tiếp theo.
Phân tích dự báo số lượng nhà bán được là một vấn đề quan trọng trong lĩnh vực phân tích dữ liệu và học máy Mục tiêu chính của bài toán này là dự đoán số lượng nhà sẽ được bán dựa trên các yếu tố liên quan như giá nhà, số lượng phòng ngủ, phòng tắm, diện tích và số tầng.
Bài toán này đóng vai trò quan trọng trong các nghiên cứu xã hội, kinh tế và chính trị, giúp phân tích các yếu tố ảnh hưởng đến giá nhà Qua đó, nó hỗ trợ đưa ra những quyết định kinh doanh thông minh và tối ưu.
Bài toán này cung cấp thông tin quan trọng về số lượng nhà bán được, giúp các nhà phát triển, nhà đầu tư và các bên liên quan đưa ra quyết định đầu tư và phát triển dự án bất động sản Nó cũng hỗ trợ trong việc xác định tiềm năng lợi nhuận và định hướng chiến lược cho các dự án tương lai.
Ý nghĩa của bài toán đối với thực tế
Mục tiêu của việc phân tích số nhà bán được là phát triển mô hình hoặc thuật toán dự đoán chính xác lượng nhà bán ra dựa trên thông tin liên quan Điều này giúp người dùng dự báo và đánh giá tiềm năng của thị trường bất động sản, từ đó đưa ra quyết định đầu tư, kinh doanh và tiếp thị hiệu quả.
Phân tích số nhà bán được đóng vai trò quan trọng trong nhiều lĩnh vực, đặc biệt là đối với các chủ đầu tư và nhà phát triển, giúp họ dự đoán nhu cầu thị trường, định hình chiến lược kinh doanh, lựa chọn dự án và quyết định về giá cả cũng như tiếp thị Đối với các nhà môi giới bất động sản, việc này cũng hỗ trợ họ trong việc xây dựng hoạt động và phát triển các chiến lược quảng cáo, tiếp thị hiệu quả.
Phương pháp tiếp cận
Để phân tích số lượng nhà bán ra, các phương pháp và mô hình học máy thường được áp dụng nhằm dự đoán dựa trên các biến độc lập Những phương pháp phổ biến bao gồm hồi quy tuyến tính, cây quyết định, Random Forest, Gradient Boosting, mạng nơ-ron và thuật toán K-Nearest Neighbors (KNN).
Quá trình phân tích dự báo số lượng nhà bán được thường bao gồm các bước sau:
Thu thập dữ liệu là bước quan trọng đầu tiên trong quy trình phân tích dự báo, bao gồm việc thu thập thông tin về số lượng nhà bán được và các yếu tố ảnh hưởng Các nguồn dữ liệu cần được xem xét kỹ lưỡng để đảm bảo tính chính xác và đầy đủ cho quá trình phân tích.
7 thể bao gồm báo cáo thị trường, giá nhà, số lượng phòng ngủ, phòng tắm, dữ liệu kinh tế, dân số, lãi suất, v.v
Tiền xử lý dữ liệu là bước quan trọng sau khi thu thập, giúp chuẩn hóa và làm sạch dữ liệu Quá trình này bao gồm việc loại bỏ giá trị thiếu, xử lý các ngoại lệ, chuẩn hóa đơn vị đo và chuyển đổi dữ liệu về định dạng phù hợp cho phân tích.
Phân tích mô tả là bước quan trọng trong việc nghiên cứu mối quan hệ giữa số lượng nhà bán được và các yếu tố tác động Mục tiêu chính của bước này là xác định mô hình tối ưu và mối liên hệ giữa số lượng nhà bán trong các quý với các biến độc lập.
Để dự báo số lượng nhà bán được, cần xây dựng mô hình dựa trên phân tích thống kê và dữ liệu Việc chọn lựa mô hình phù hợp với dữ liệu và mục tiêu dự báo là rất quan trọng Các mô hình dự báo phổ biến bao gồm hồi quy tuyến tính, mạng nơ-ron nhân tạo và mô hình dự báo chuỗi thời gian.
Đánh giá và tinh chỉnh mô hình là bước quan trọng sau khi xây dựng, bao gồm việc kiểm tra hiệu suất thông qua các phương pháp như sai số dự báo và độ chính xác Nếu kết quả không đạt yêu cầu, cần tiến hành tinh chỉnh mô hình bằng cách điều chỉnh tham số, thay đổi phương pháp hoặc biến độc lập để cải thiện hiệu suất.
Sau khi đánh giá và tối ưu hóa mô hình, chúng ta có thể sử dụng nó để dự đoán số lượng nhà bán được trong các quý tiếp theo Bằng cách cung cấp dữ liệu đầu vào mới cho mô hình, chúng ta sẽ nhận được những dự đoán chính xác về số lượng nhà sẽ được bán trong tương lai.
Cơ hội và thách thức
Phân tích và dự báo số lượng căn hộ bán ra trong các quý là yếu tố quan trọng trong lĩnh vực dự đoán thị trường bất động sản Việc này không chỉ giúp các nhà đầu tư đưa ra quyết định chính xác mà còn hỗ trợ các doanh nghiệp phát triển chiến lược kinh doanh hiệu quả.
8 có rất nhiều cơ hội phát triển Tuy nhiên bài toán nào cũng có những hạn chế nhất định và bài toán này cũng vậy
Dự báo thị trường căn hộ là yếu tố quan trọng giúp các nhà phát triển bất động sản và nhà đầu tư xác định số lượng căn hộ có thể bán trong từng quý, từ đó đưa ra những quyết định chiến lược hợp lý.
⮚ Tối ưu hóa lợi nhuận: Dự báo chính xác giúp quản lý tồn kho và giá bán, từ đó tối ưu hóa lợi nhuận và giảm thiểu rủi ro
⮚ Tăng sự cạnh tranh: Có kiến thức về tình hình thị trường có thể giúp các doanh nghiệp nắm bắt cơ hội và cạnh tranh hiệu quả
Dự báo chính xác về số lượng căn hộ bán giúp các doanh nghiệp tối ưu hóa các chiến dịch quảng cáo và tiếp thị, từ đó nâng cao hiệu quả kinh doanh.
Thị trường bất động sản có thể biến động nhanh chóng do nhiều yếu tố như sự thay đổi trong nhu cầu, chính trị và tình hình tài chính toàn cầu, khiến việc dự báo trở nên phức tạp.
Để đạt được dự báo chính xác, việc phụ thuộc vào dữ liệu chất lượng và đáng tin cậy là rất quan trọng Nếu thông tin đầu vào không chính xác hoặc thiếu sót, kết quả dự báo có thể bị sai lệch nghiêm trọng.
Dự báo số lượng căn hộ bán ra cần áp dụng mô hình phân tích phức tạp, đòi hỏi kiến thức và kỹ năng chuyên sâu để xây dựng và duy trì hiệu quả.
Phân tích dự báo đòi hỏi một lượng thời gian và nguồn lực đáng kể để thu thập và xử lý dữ liệu, cũng như xây dựng mô hình, đặc biệt khi cần thực hiện dự
Dự báo thị trường bất động sản có thể gặp phải rủi ro không xác định, và việc đưa ra quyết định dựa trên những dự báo này có thể tiềm ẩn mức độ rủi ro cao.
MỘT SỐ KỸ THUẬT GIẢI QUYẾT BÀI TOÁN
Phương hướng tiếp cận bài toán
Quá trình giải quyết bài toán bắt đầu bằng việc thu thập và tiền xử lý dữ liệu thực nghiệm từ các căn hộ đã bán Sau đó, nghiên cứu và áp dụng các kỹ thuật dự đoán số lượng căn hộ sẽ được bán trong tương lai.
Mạng nơ-ron nhân tạo (Artificial Neural Networks - ANN)
Mạng nơ-ron nhân tạo (ANN) là một mô hình tính toán được phát triển dựa trên cấu trúc và chức năng của mạng lưới nơ-ron trong sinh học Cấu trúc của ANN có thể thay đổi theo luồng thông tin, do đó, chúng phụ thuộc vào các đầu vào và đầu ra.
Mạng nơ-ron nhân tạo (ANN) có thể được xem như là dữ liệu thống kê phi tuyến, phản ánh mối quan hệ phức tạp giữa đầu vào và đầu ra Điều này dẫn đến việc tạo ra nhiều mẫu khác nhau trong quá trình xử lý thông tin.
Hình 2 1 Mô hình ANN là gì?
Trong dự đoán số lượng căn hộ bán được, mạng nơ-ron nhân tạo (ANN) có khả năng phân tích và mô hình hóa mối quan hệ phức tạp giữa các đặc điểm của căn nhà và số lượng căn hộ đã được bán.
2.2.2 Cấu trúc và cách hoạt động của mạng nơ-ron nhân tạo
Mạng nơ-ron nhân tạo (ANN) được phát triển dựa trên nguyên lý hoạt động của bộ não con người, với mục tiêu tạo ra các kết nối tối ưu Để mô phỏng chức năng này, ANN sử dụng silicon và dây điện nhằm tạo nên các nơ-ron và cấu trúc tương tự như đuôi gai sống.
Trong cơ thể con người, não bộ chứa khoảng 86 tỷ tế bào thần kinh, được kết nối với hàng nghìn tế bào khác qua các sợi trục (Axons) Để xử lý lượng thông tin phong phú từ các giác quan, cơ thể phát triển nhiều đuôi gai nhằm hỗ trợ việc truyền tải thông tin hiệu quả.
Các nơ-ron trong mạng lưới thần kinh sẽ tạo ra xung điện để di chuyển và truyền thông tin Điều này tương tự với mạng nơ-ron nhân tạo (ANN), khi nơ-ron cần xử lý các vấn đề khác nhau, chúng sẽ gửi thông điệp đến các nơ-ron khác.
Hình 2 2 Cấu trúc cơ bản của mạng nơ-ron nhân tạo ANN
Mạng nơ-ron nhân tạo (ANN) bao gồm nhiều nút, tương tự như các tế bào thần kinh trong não người Các nơ-ron trong ANN được kết nối thông qua các liên kết, cho phép chúng tương tác và hoạt động cùng nhau.
Trong mạng nơ-ron nhân tạo (ANN), các nút đóng vai trò quan trọng trong việc tiếp nhận dữ liệu đầu vào Việc thực hiện các thao tác trên dữ liệu diễn ra một cách dễ dàng Sau khi xử lý, kết quả sẽ được chuyển tiếp đến các tế bào thần kinh khác Đầu ra của mỗi nút được gọi là giá trị kích hoạt, hay còn gọi là giá trị của nút đó.
Mỗi liên kết trong mạng nơ-ron nhân tạo (ANN) đều có trọng lượng liên quan và khả năng học hỏi Quá trình học hỏi diễn ra thông qua việc điều chỉnh các
Hình 2 3 Mô hình ANN cơ bản
Trong sơ đồ cấu trúc liên kết của mạng Nơron nhân tạo (ANN), mỗi mũi tên biểu thị một kết nối giữa hai tế bào thần kinh, đồng thời mô tả con đường cho các luồng thông tin Mỗi liên kết đều có một trọng số là số nguyên, được sử dụng để điều khiển tín hiệu giữa các tế bào thần kinh.
Nếu đầu ra của mạng nơ-ron nhân tạo (ANN) đạt yêu cầu, việc điều chỉnh trọng số là không cần thiết Tuy nhiên, nếu kết quả không đạt như mong đợi, hệ thống cần thay đổi trọng số để nâng cao hiệu suất.
2.2.3 Các loại mạng thần kinh nhân tạo ANN
Hiện nay đang có hai loại ANN là FeedForward và Feedback
Mạng nơ-ron FeedForward (ANN) hoạt động theo nguyên tắc thông tin một chiều, trong đó mỗi đơn vị chỉ gửi thông tin cho một đơn vị khác mà không nhận lại thông tin Điều này có nghĩa là không có vòng phản hồi trong quá trình truyền tải thông tin, giúp mạng hoạt động một cách hiệu quả và đơn giản.
14 thông tin về lại) Mô hình này thường được sử dụng để nhận dạng một mẫu cụ thể, vì chúng chứa các đầu vào và đầu ra cố định
2.2.4 Ưu điểm và nhược điểm
ANN được sử dụng rất rộng rãi trong các bài toán dự báo và dự đoán Tuy nhiên nó cũng có ưu điểm và hạn chế riêng
● Khả năng học mẫu phức tạp
● Xử lý dữ liệu không đồng nhất
● Tính linh hoạt và mở rộng
● Đòi hỏi lượng dữ liệu lớn
● Độ phức tạp và đòi hỏi tính toán cao
● Khó hiểu và khó giải thích
Mô hình cây quyết định (Decision Tree)
Cây quyết định (Decision Tree) là một cấu trúc phân cấp được sử dụng để phân loại các đối tượng dựa trên một chuỗi các quy tắc Các thuộc tính của đối tượng có thể thuộc nhiều loại dữ liệu khác nhau như nhị phân, định danh, thứ tự và số lượng, trong khi thuộc tính phân lớp chỉ có thể là nhị phân hoặc thứ tự.
Cây quyết định sử dụng dữ liệu về các đối tượng cùng với các thuộc tính và lớp của chúng để tạo ra các quy tắc, từ đó dự đoán lớp cho những dữ liệu chưa được biết.
Cây quyết định có thể được sử dụng để dự đoán giá bán của một căn nhà dựa trên số phòng ngủ Ví dụ, nếu một căn nhà có nhiều phòng ngủ, khả năng cao là giá bán của nó sẽ tăng lên Ngược lại, những căn nhà với ít phòng ngủ có thể có giá thấp hơn Việc phân tích này giúp các nhà đầu tư và người mua hiểu rõ hơn về mối quan hệ giữa số lượng phòng ngủ và giá trị bất động sản.
Hình 2 4 Ví dụ về mô hình cây quyết định
Theo mô hình phân tích, những căn nhà có trên 2 phòng ngủ và nằm trên lô đất có diện tích lớn hơn 11.500 mét vuông thường có giá bán cao hơn so với những căn nhà tương tự nhưng trên lô đất có diện tích nhỏ hơn.
Cây quyết định (Decision Tree) là một mô hình học máy phổ biến, được áp dụng cho cả bài toán phân loại và dự đoán Một số mô hình quyết định nổi bật bao gồm cây quyết định đơn giản, cây quyết định phân nhánh và cây quyết định ngẫu nhiên.
Thuật toán ID3 được kỹ sư J R Quinlan tìm hiểu và tạo ra vào năm
1993 Nó sử dụng phương pháp tham lam tìm kiếm từ trên xuống thông qua
16 không gian của các nhánh có thể không có backtracking ID3 sử dụng Entropy và Information Gain để xây dựng một cây quyết định
Entropy (H(S)) là thước đo mức độ tinh khiết trong tập dữ liệu S:
● S: Là tập dữ liệu hiện tại đang tính entropy
● p(x): Tỉ lệ số phần tử trong lớp x về số phần tử trong tập hợp S
Information gain ( IG(A)) là độ thu lợi thông tin , độ quan trọng của 1 thuộc tính về mặt thông tin
● Value(A): Tập các giá trị khác nhau của thuộc tính A
Thuật toán C4.5 là phiên bản nâng cấp của ID3, sử dụng phương pháp chia nhánh dựa trên Lợi ích Thông tin C4.5 cải tiến quy trình chia nhánh của ID3 bằng cách áp dụng Lợi ích Thông tin chính xác để xác định đặc trưng tối ưu cho việc phân chia dữ liệu.
⮚ Một số thuật toán khác
Ngoài ID3, C4.5, ta còn một số thuật toán khác như:
Thuật toán CHAID là phương pháp xây dựng cây quyết định thông qua việc sử dụng thống kê chi-square để tìm ra các phân tách tối ưu Nó cho phép xử lý các biến mục tiêu đầu vào dưới dạng số (liên tục) hoặc phân loại, giúp tối ưu hóa quá trình phân tích dữ liệu.
● Thuật toán C&R: sử dụng phân vùng đệ quy để chia cây Tham biến mục tiêu có thể dạng số hoặc phân loại
2.3.4 Ưu điểm và nhược điểm
Cây quyết định là một thuật toán đơn giản và phổ biến, được ứng dụng rộng rãi nhờ vào những lợi ích mà nó mang lại Tuy nhiên, bên cạnh những ưu điểm, cây quyết định cũng tồn tại một số nhược điểm cụ thể cần được lưu ý.
● Mô hình sinh ra các quy tắc dễ hiểu cho người đọc, tạo ra bộ luật với mỗi nhánh lá là một luật của cây
● Dữ liệu đầu vào có thể là là dữ liệu missing, không cần chuẩn hóa hoặc tạo biến giả
● Có thể làm việc với cả dữ liệu số và dữ liệu phân loại
● Có thể xác thực mô hình bằng cách sử dụng các kiểm tra thống kê
● Có khả năng là việc với dữ liệu lớn
Mô hình cây quyết định chịu ảnh hưởng mạnh mẽ từ dữ liệu đầu vào Ngay cả một thay đổi nhỏ trong bộ dữ liệu cũng có thể dẫn đến sự biến đổi hoàn toàn trong cấu trúc của mô hình cây quyết định.
● Cây quyết định hay gặp vấn đề overfitting
Thuật Toán K-Nearest Neighbors (KNN)
KNN (K-Nearest Neighbors) là một trong những thuật toán học có giám sát đơn giản nhất, phổ biến trong khai phá dữ liệu và học máy Được giới thiệu lần đầu bởi Evelyn Fix và Joseph Hodges vào năm 1951, thuật toán này đã được Thomas Cover mở rộng vào năm 1967 KNN không thực hiện quá trình học từ tập dữ liệu huấn luyện, mà thay vào đó, mọi tính toán diễn ra khi cần dự đoán nhãn cho dữ liệu mới, do đó được xếp vào loại lazy learning.
Lớp (nhãn) của một đối tượng dữ liệu mới có thể dự đoán từ các lớp (nhãn) của K hàng xóm gần nó nhất
Bản chất của thuật toán KNN là tính toán khoảng cách giữa điểm cần kiểm tra và các điểm lân cận Do đó, khi các đặc trưng có tỷ lệ hoặc đơn vị khác nhau, điều này có thể ảnh hưởng đến kết quả phân loại.
19 nhau, ta có thể thực hiện chuẩn hóa (normalize) dữ liệu để có thể tăng hiệu suất của thuật toán
KNN thể hiện tính "lười" qua hai đặc điểm chính: hàm mục tiêu được xấp xỉ tại các địa phương và không có giai đoạn huấn luyện Tất cả các phép toán chỉ được thực hiện khi cần dự đoán kết quả cho dữ liệu mới.
Tuỳ thuộc vào mục đích phân loại hay hồi quy mà đầu ra của KNN sẽ khác nhau:
Trong bài toán phân loại, thuật toán KNN xác định lớp cho một bản ghi dựa trên nguyên tắc biểu quyết đa số Kết quả đầu ra của KNN là lớp mà bản ghi cần phân loại thuộc về.
Dữ liệu huấn luyện bao gồm các điểm dữ liệu đã được gán nhãn cho bài toán phân lớp và các điểm dữ liệu cùng giá trị tương ứng cho bài toán hồi quy Thuật toán KNN nổi bật với tính nhạy cảm đối với hình dạng của dữ liệu.
Ví dụ: Hình thoi trong hình dưới đây đang cần được phân loại thuộc hình chữ thập hoặc hình tam giác:
Hình 2 6 Ví dụ về mô hình KNN
⮚ Nếu k = 1, hình thoi sẽ được phân loại vào cùng loại với điểm dữ liệu gần nhất của nó (tức là hình tam giác trong bảng bên trái - bảng A)
⮚ Nếu k = 5, thuật toán sẽ xem xét 5 điểm dữ liệu gần hình thoi nhất, đó là
Trong bài viết này, chúng ta có 3 hình tam giác và 2 hình chữ thập Quy tắc quyết định được áp dụng là chọn phân loại có số lượng lớn nhất trong 5 điểm dữ liệu được xem xét Do đó, hình thoi cũng được phân loại vào nhóm hình tam giác.
2.4.3 Cách hoạt động của KNN
⮚ Thuật toán KNN (với bài toán phân lớp) là như sau:
1 Nạp tập train và tập test
2 Chọn giá trị K thích hợp
3 Với mỗi điểm một trên tập test:
3.1 Tìm khoảng cách từ điểm đó đến các điểm còn lại trên tập train, sắp xếp từ lớn đến bé, lưu vào danh sách
3.2 Lấy k điểm đầu tiên của danh sách, gắn nhãn chiếm ưu thế trong k điểm cho điểm đang xét
Trong KNN, việc tính khoảng cách giữa các điểm là rất quan trọng, và có nhiều loại khoảng cách khác nhau mà chúng ta có thể sử dụng Ba loại khoảng cách thường gặp nhất là khoảng cách Manhattan, khoảng cách Euclid và khoảng cách Cosine.
Lựa chọn số k trong phân lớp thường phụ thuộc vào dữ liệu, với giá trị k lớn giúp giảm thiểu nhiễu nhưng có thể làm ranh giới giữa các lớp trở nên mờ nhạt Để xác định số k tối ưu, có thể sử dụng các phương pháp heuristic như Scikit-learn hoặc kỹ thuật cross-validation.
2.4.4 Ưu điểm và nhược điểm
Không có một thuật toán nào là hoàn hảo Thuật toán KNN cũng có những ưu điểm và nhược điểm rõ ràng
● Đơn giản và dễ giải thích
● Không dựa trên bất kỳ giả định nào, vì thế nó có thể được sử dụng trong các bài toán phi tuyến tính
● Hoạt động tốt trong trường hợp phân loại với nhiều lớp
● Sử dụng được trong cả phân loại và hồi quy
● Trở nên rất chậm khi số lượng điểm dữ liệu tăng lên vì mô hình cần lưu trữ tất cả các điểm dữ liệu
● Nhạy cảm với các dữ liệu bất thường (nhiễu)
Mô hình hồi quy tuyến tính
Linear Regression là một thuật toán học có giám sát trong Machine Learning, được sử dụng để ước lượng mối quan hệ giữa các biến độc lập và biến phụ thuộc Thuật toán này giả định rằng sự tương quan giữa các biến là tuyến tính, nhằm tìm ra hàm tuyến tính tốt nhất để biểu diễn mối quan hệ này Linear Regression cho phép dự báo giá trị của biến output dựa trên các giá trị của các biến đầu vào.
Hình 2 7 Hồi quy tuyến tính là gì?
Hồi quy tuyến tính là một phương pháp thống kê phổ biến, giúp mô hình hóa mối quan hệ tuyến tính giữa biến phụ thuộc và các biến độc lập Phương pháp này không chỉ dự đoán mà còn giải thích sự biến đổi của biến phụ thuộc dựa trên các biến độc lập.
2.5.2 Các thành phần của hồi quy tuyến tính
Hồi quy tuyến tính giả định rằng mối quan hệ giữa biến phụ thuộc và biến độc lập có thể được mô tả bằng một hàm tuyến tính, cho phép phân tích và dự đoán hiệu quả giữa các biến.
⮚ Công thức của mô hình hồi quy tuyến tính bội:
● Y là biến phụ thuộc mà chúng ta muốn dự đoán hoặc giải thích
● X₁, X₂, , Xₙ là các biến độc lập được sử dụng để dự đoán Y
● β₀, β₁, β₂, , βₙ là hệ số hồi quy ứng với từng biến độc lập, biểu thị độ ảnh hưởng của chúng lên biến phụ thuộc
● ε là sai số ngẫu nhiên, biểu thị các yếu tố không thể dự đoán được trong mô hình (ε thực tế không tính được)
⮚ Công thức hồi quy tuyến tính đơn giản:
Trong hồi quy tuyến tính đơn giản, chúng ta xem xét mối quan hệ tuyến tính giữa một biến phụ thuộc Y và một biến độc lập X
Công thức hồi quy tuyến tính đơn giản có dạng:
● Y là biến phụ thuộc (cũng được gọi là biến mục tiêu hoặc biến phản hồi)
● X là biến độc lập (cũng được gọi là biến giải thích hoặc biến đầu vào)
● β₀ và β₁ là các hệ số hồi quy (cũng được gọi là hệ số góc và hệ số chặn)
● ε là sai số ngẫu nhiên (cũng được gọi là sai số hồi quy)
Hình 2 8 Ví dụ về hồi quy tuyến tính
2.5.3 Đánh giá và diễn giải kết quả Để đánh giá hiệu suất của mô hình hồi quy tuyến tính, các thước đo thường được sử dụng bao gồm độ chính xác (accuracy), độ chính xác điều chỉnh (adjusted accuracy), MSE (Mean Squared Error), RMSE (Root Mean Squared Error), R-squared, và F-test Các thước đo này giúp đánh giá mức độ phù hợp của mô hình và khả năng giải thích biến động của biến phụ thuộc
Diễn giải kết quả của mô hình hồi quy tuyến tính yêu cầu hiểu biết về ngữ nghĩa của các biến độc lập và hệ số hồi quy Các hệ số hồi quy β₁, β₂, , βₙ chỉ ra mức độ ảnh hưởng của các biến độc lập đối với biến phụ thuộc Hệ số dương cho thấy mối quan hệ tương quan dương giữa biến độc lập và biến phụ thuộc, trong khi hệ số âm chỉ ra mối quan hệ tương quan âm giữa chúng.
2.5.4 Ứng dụng của Linear Regression
Linear Regression được ứng dụng rộng rãi trong nhiều lĩnh vực, như:
⮚ Dự báo giá cả: dự đoán giá nhà, giá cổ phiếu, giá nhiên liệu dựa trên các yếu tố như vị trí, kích thước, chất lượng, lượng cung cầu, …
Dự báo điểm số và số lượng là quá trình dự đoán kết quả học tập của học sinh dựa trên các yếu tố như thời gian học, nỗ lực, kỹ năng cá nhân và trình độ của giáo viên Bên cạnh đó, việc dự báo số lượng căn hộ bán được cũng cần xem xét các yếu tố thị trường và nhu cầu của người tiêu dùng.
⮚ Dự báo sản phẩm: dự đoán đầu ra sản xuất dựa trên thời gian, công suất, nguyên liệu, lao động, …
⮚ Phân tích chuỗi thời gian: dự đoán xu hướng và chu kỳ của các chuỗi dữ liệu, như bất động sản, thời tiết, xu hướng sản xuất, …
2.5.5 Ưu điểm và hạn chế của Hồi quy tuyến tính
Hồi quy tuyến tính là một phương pháp quan trọng trong thống kê và học máy, giúp mô hình hóa mối quan hệ tuyến tính giữa các biến đầu vào và biến mục tiêu Phương pháp này có nhiều ưu điểm như dễ hiểu, dễ triển khai và cho kết quả nhanh chóng Tuy nhiên, hồi quy tuyến tính cũng tồn tại một số hạn chế, bao gồm khả năng không phù hợp với các mối quan hệ phi tuyến tính và nhạy cảm với các giá trị ngoại lai.
Hồi quy tuyến tính là một phương pháp mô hình hóa đơn giản và dễ hiểu, giúp xác định mối quan hệ tuyến tính giữa biến phụ thuộc và biến độc lập.
Hồi quy tuyến tính mang lại tính linh hoạt cao, cho phép áp dụng cho nhiều biến độc lập và dễ dàng mở rộng để phân tích tác động của nhiều yếu tố này lên biến phụ thuộc.
Hồi quy tuyến tính có nhiều phương pháp ước lượng dễ thực hiện, trong đó phương pháp bình phương tối thiểu (OLS) được sử dụng phổ biến và dễ dàng tính toán.
Hồi quy tuyến tính cho phép hiểu rõ tác động của các biến độc lập lên biến phụ thuộc thông qua các hệ số hồi quy có ý nghĩa thống kê.
Hồi quy tuyến tính có thể bị ảnh hưởng bởi nhiễu và quan sát ngoại lai trong dữ liệu, dẫn đến ước lượng không chính xác và không ổn định Sự nhạy cảm này cần được xem xét để đảm bảo độ tin cậy của các kết quả phân tích.
Hồi quy tuyến tính không thể xử lý vấn đề tương quan cao giữa các biến độc lập hoặc đa cộng tuyến, dẫn đến ước lượng hệ số hồi quy trở nên không chính xác và không đáng tin cậy.
Hồi quy tuyến tính có những giới hạn đáng kể trong việc mô hình hóa các mối quan hệ phi tuyến và phức tạp Các mô hình tuyến tính không đủ khả năng để phản ánh các mẫu không tuyến tính phức tạp, chẳng hạn như đường cong, đường cong S, hoặc các tương tác phi tuyến giữa các biến.
KẾT QUẢ THỰC NGHIỆM
Dữ liệu thực nghiệm
Trong project này, bộ dữ liệu ở đây là file kc_house_data (.csv) chứa
Thông tin cụ thể của dữ liệu:
⮚ Tên bộ dữ liệu: kc_house_data.csv
⮚ Nguồn của dữ liệu: https://www.kaggle.com/datasets/shree1992/housedata
⮚ Dữ liệu 10 dòng đầu của dataset:
Hình 3 1 Dữ liệu 10 dòng đầu của dataset
Thông tin về các cột trong dataset như sau:
⮚ ‘id’ - ID duy nhất cho mỗi căn nhà được bán
⮚ ‘bedrooms’ - Giá bán từng căn nhà
⮚ ‘bathrooms’ - Số lượng phòng tắm
⮚ ‘sqft_living’ - Diện tích không gian sống bên trong của nội thất căn hộ
⮚ ‘sqft_lot’ - Diện tích mảnh đất căn hộ (mét vuông)
⮚ ‘waterfront’ - Một biến giả cho biết căn hộ có nhìn ra bờ sông hay không
⮚ ‘view’ - Chỉ số từ 0 đến 4 về mức độ xem của thuộc tính tốt như thế nào
⮚ ‘condition’ - Chỉ số từ 1 đến 5 về tình trạng của căn hộ
Chỉ số 'grade' được phân loại từ 1 đến 13, trong đó các mức từ 1 đến 3 cho thấy khả năng xây dựng và thiết kế công trình chưa đủ, mức 7 thể hiện trình độ trung bình, và các mức từ 11 đến 13 phản ánh chất lượng cao trong xây dựng và thiết kế.
⮚ ‘sqft_above’ - Diện tích bên trong căn nhà (trên mặt đất)
⮚ ‘sqft_basement’ - Diện tích bên trong nhà ở dưới mặt đất (tầng hầm)
⮚ ‘yr_build’ - Năm xây dựng của căn nhà
⮚ ‘yr_renovated’ - Năm ngôi nhà được sửa chữa gần đây nhất
⮚ ‘zipcode’ - Ngôi nhà nằm ở khu vực có mã zip nào
⮚ ‘sqft_living15’ - Diện tích không gian sống bên trong căn nhà cho 15 người hàng xóm gần nhất
⮚ ‘sqft_lot15’ - Diện tích mảnh đất căn hộ của 15 người hàng xóm gần nhất
Quy trình thực nghiệm
Phân tích mô tả giúp thể hiện mối quan hệ giữa các giá trị dữ liệu, từ đó đánh giá tương quan và chất lượng của dữ liệu một cách hiệu quả.
⮚ Phân tích hồi quy để dự báo số lượng căn hộ bán được dựa trên mô hình hồi quy tuyến tính
3.2.2 Tiền xử lý dữ liệu
Làm sạch dữ liệu là bước quan trọng nhằm loại bỏ sai sót, lỗi và thông tin không chính xác trong tập dữ liệu, giúp đảm bảo tính đáng tin cậy và phù hợp cho phân tích và xử lý sau này.
Làm sạch dữ liệu là bước quan trọng trong quá trình tiền xử lý dữ liệu, cần thiết trước khi tiến hành phân tích mô tả và phân tích hồi quy.
Một số tác vụ chính trong quá trình làm sạch dữ liệu bao gồm:
➢ Loại bỏ dữ liệu trùng lặp: Loại bỏ các bản ghi bị trùng lặp trong tập dữ liệu để tránh ảnh hưởng đến kết quả phân tích
➢ Xử lý dữ liệu thiếu: Điền vào các giá trị thiếu hoặc quyết định loại bỏ chúng dựa trên ngữ cảnh và mục tiêu của phân tích
➢ Sửa lỗi và sai sót: Điều tra và sửa các lỗi cú pháp, sai sót chính tả hoặc sai sót logic trong dữ liệu
Trong quá trình chọn lọc đặc trưng cho phân tích hoặc mô hình hóa, việc xác định và lựa chọn các đặc trưng quan trọng là rất cần thiết Đối với dự án hiện tại, sau khi khảo sát các cột dữ liệu, chúng tôi nhận thấy rằng việc sửa lỗi và chọn lọc đặc trưng cho dataset không quá quan trọng Do đó, chúng tôi sẽ tiến hành loại bỏ dữ liệu trùng lặp và xử lý dữ liệu thiếu Đầu tiên, cần kiểm tra số lượng dữ liệu bị thiếu và trùng lặp để có cái nhìn tổng quan về tình trạng của dataset Kết quả khảo sát sẽ được trình bày chi tiết trong phần tiếp theo.
Hình 3 2 Số lượng data bị trùng lặp
Qua khảo sát, ta đánh giá được dữ liệu không bị trùng lặp, nên không cần xoá các dòng có giá trị trùng nhau
Trong dữ liệu có các dòng trống, chúng ta sử dụng hàm fillna(0) để thay thế các giá trị khuyết bằng 0 Ngoài ra, dữ liệu cũng chứa một số giá trị khác cần được xử lý.
“?”, những giá trị này sẽ được chuyển về 0
Hình 3 3 Dữ liệu trước khi điền khuyết
Hình 3 4 Dữ liệu sau khi điền khuyết
Tóm lược dữ liệu trong phân tích dữ liệu là quá trình tổng hợp và trình bày thông tin quan trọng từ tập dữ liệu ban đầu, giúp người đọc dễ dàng nắm bắt các điểm chính mà không cần xem toàn bộ dữ liệu Quá trình này bao gồm hai loại đo lường: đo mức độ tập trung dữ liệu như trung bình (mean), trung vị (median), và mô (mode), cùng với đo mức độ phân tán dữ liệu như tứ phân vị (quartile), khoảng tứ phân vị (interquartile), và độ lệch chuẩn (standard deviation).
Chúng tôi sẽ tổng hợp thông tin về độ tập trung và phân tán của dữ liệu, bao gồm các thuộc tính như count, mean, std, min, 25%, 50%, 75% và max Dưới đây là kết quả tóm lược các thuộc tính này của dữ liệu.
Hình 3 5 Bảng tóm lược dữ liệu
Chuyển đổi dữ liệu trong phân tích dữ liệu là quá trình thay đổi cách biểu diễn và xử lý dữ liệu ban đầu, nhằm tạo ra dữ liệu mới có ý nghĩa hơn cho mục đích phân tích Quá trình này đóng vai trò quan trọng trong việc tối ưu hóa và nâng cao hiệu quả phân tích dữ liệu.
32 quan trọng trong việc biểu diễn trực quan hơn dataset, thuận tiện hơn trong việc phân tích dữ liệu
Trong dataset của dự án, một số cột thông tin được biểu diễn dưới dạng liên tục hoặc chuỗi, gây khó khăn cho người xem trong việc nắm bắt thông tin cần thiết Do đó, chúng ta sẽ tiến hành chuyển đổi các cột này về dạng dễ dàng hơn để huấn luyện mô hình.
Hình 3 6 Dữ liệu trước khi chuyển đồi
Hình 3 7 Dữ liệu sau khi chuyển đổi
Chúng tôi sẽ chia cột sale_quater thành 4 cột nhỏ tương ứng với 4 quý trong năm, giúp mô hình dự đoán số lượng nhà cho từng quý Đồng thời, một số cột dữ liệu sẽ được chuẩn hóa bằng phương pháp StandardScaler.
Phân tích mô tả trong phân tích dữ liệu là bước quan trọng để tóm tắt và mô tả thông tin cơ bản từ dữ liệu đã thu thập Quá trình này giúp người phân tích hiểu rõ hơn về tính chất, đặc điểm và xu hướng của dữ liệu, tạo nền tảng vững chắc trước khi áp dụng các phương pháp phân tích khác.
Trong bài viết này, chúng ta sẽ phân tích mô tả bộ dữ liệu thông qua hai phương pháp chính: phân tích đơn biến, tập trung vào từng biến riêng lẻ, và phân tích đa biến, xem xét mối quan hệ giữa nhiều biến Phân tích này sẽ được thể hiện thông qua các biểu đồ khác nhau để trực quan hóa thông tin.
⮚ Biểu đồ 1: Biểu đồ thể hiện mối liên hệ giữa giá nhà và các yếu tố khác
● Dạng biểu đồ: Nhiệt (Heatmap)
● Loại phân tích: Đa biến
● Kiểu dữ liệu: Hỗn hợp
Hình 3 8 Mối liên hệ giữa giá nhà và các yếu tố khác
Biểu đồ Heatmap trên thể hiện mối tương quan giữa giá nhà và các yếu tố khác, đồng thời đánh giá mối quan hệ giữa các biến Qua biểu đồ, có thể nhận thấy rõ độ tương quan giữa sale_quarter và các yếu tố liên quan.
Sale_quarter_1 là thấp nhất (-0.56) và độ tương quan giữa Sale_month và Sale_quarter là cao nhất (0.97)
⮚ Biểu đồ 2: Biểu đồ thể hiện phân phối giá nhà
● Loại phân tích: Đơn biến(Price)
● Kiểu dữ liệu: Số(float)
Hình 3 9 Biểu đồ phân phối giá nhà
Biểu đồ trên cung cấp cái nhìn rõ ràng về phân phối giá nhà trong dataset, cho phép chúng ta nhận diện mức giá nào có số lượng nhà nhiều nhất và ít nhất Đáng chú ý, số lượng nhà trong khoảng giá từ 0 đến 1.000.000 USD chiếm ưu thế vượt trội.
⮚ Biểu đồ 3: Biểu đồ phân bổ giá nhà theo kinh độ và vĩ độ
● Dạng biểu đồ: Nhiệt (Heatmap)
● Loại phân tích: Đa biến
Hình 3 10 Biểu đồ phân bố giá nhà theo kinh độ và vĩ độ
Biểu đồ nhiệt theo kinh độ và vĩ độ cho thấy giá nhà chủ yếu dưới 1.000.000 USD, được biểu thị bằng màu tím.
⮚ Biểu đồ 4: Biểu đồ thể hiện số nhà bán được theo từng tháng
● Loại phân tích: Đơn biến
● Kiểu dữ liệu: Số(Float)
Hình 3 11 Biểu đồ thể hiện số nhà bán được từng tháng
Đánh giá và đề xuất
Quy trình thực nghiệm đã cung cấp cái nhìn tổng quan về các căn hộ và số lượng của chúng Tuy nhiên, giá trị R-squared thấp cho thấy vẫn còn một số biến số chưa được mô hình giải thích, có thể do ảnh hưởng của các yếu tố khác.
⮚ Dữ liệu được sử dụng để huấn luyện mô hình chưa đầy đủ hoặc không chính xác
⮚ Mô hình chưa được tối ưu hóa
⮚ Thu thập thêm dữ liệu
Dữ liệu đầy đủ và chính xác giúp mô hình học tốt hơn mối quan hệ giữa các biến số và giá bán căn hộ Vì vậy, việc thu thập thêm dữ liệu là cách quan trọng để nâng cao hiệu suất của mô hình.
⮚ Tối ưu hóa mô hình
Các kỹ thuật tối ưu hóa có thể được áp dụng để xác định các tham số mô hình tối ưu cho dữ liệu, từ đó nâng cao khả năng dự đoán của mô hình.
⮚ Xem xét thêm các yếu tố khác
Ngoài các yếu tố đã được xem xét trong mô hình, còn nhiều yếu tố khác có thể ảnh hưởng đến giá bán căn hộ Việc xem xét thêm những yếu tố này là cần thiết để nâng cao khả năng dự đoán của mô hình.
● Vị trí của căn hộ
● Tiện ích xung quanh căn hộ
● Tình trạng thị trường bất động sản
Việc xem xét thêm các yếu tố này có thể giúp cải thiện đáng kể hiệu suất của mô hình.
Kết luận chương 3
Trong chương này, nhóm đã thực hiện và đánh giá dự án bằng cách trình bày chi tiết các bước từ tiền xử lý dữ liệu đến phân tích mô tả.
& dự báo Từ đó đưa ra được các đánh giá và đề xuất phù hợp để cải thiện kết quả của dự án trong tương lai
XÂY DỰNG HỆ THỐNG DỰ BÁO SỐ LƯỢNG CĂN HỘ BÁN ĐƯỢC TRONG CÁC QUÝ
Giới thiệu Framework
Python Flask là một micro-framework dành cho phát triển web, được viết bằng ngôn ngữ lập trình Python Framework này được Armin Ronacher phát triển, dẫn dắt bởi nhóm Poocco, gồm những người yêu thích Python trên toàn thế giới.
Flask là một micro-framework dựa trên bộ công cụ Werkzeug WSGI và template engine Jinja2, cả hai đều thuộc dự án Pocco Mặc dù được gọi là micro, Flask không thiếu các chức năng, mà tập trung vào việc cung cấp các tính năng cốt lõi cho ứng dụng web và khả năng mở rộng linh hoạt Người dùng có thể dễ dàng mở rộng Flask nhờ vào sự hỗ trợ của nhiều tiện ích mở rộng như tích hợp cơ sở dữ liệu, hệ thống upload, xác thực, template và email Việc là một micro-framework giúp Flask có môi trường xử lý độc lập, giảm thiểu việc sử dụng thư viện bên ngoài, từ đó làm cho nó nhẹ hơn và ít gặp lỗi, đồng thời việc phát hiện và xử lý lỗi cũng trở nên đơn giản hơn.
Phân tích thiết kế hệ thống
4.2.1 Biểu đồ use-case tổng quát
Hình 4 1 Biểu đồ use-case tổng quát
4.2.2 Mô tả chi tiết các use-case
1 Tên use case: Dự đoán số lượng căn hộ bán được trong quý
Use case này cho phép người dùng dự đoán số lượng căn hộ bán được trong quý bằng các biến độc lập
1) Use case này bắt đầu khi người dùng kích chuột vào nút checkbox trên màn hình tương ứng với từng biến độc lập
2) Người dùng kích chuột vào nút “Predict” bên dưới Hệ thống sẽ hiển thị số lượng căn hộ bán được trong các quý 1, 2, 3, 4 tương ứng với số lượng biến độc lập đã chọn Use case kết thúc
1) Tại luồng cơ bản nếu người dùng kích chuột vào nút “Select All” thì hệ thống sẽ tự động chọn tất cả các checkbox
2) Tại luồng cơ bản nếu người dùng kích chuột vào nút “Deselect All” thì hệ thống sẽ tự động xóa tất cả các checkbox đã chọn và use-case kết thúc
4 Các yêu cầu đặc biệt
Phân tích thiết kế giao diện
➢ Bước 1: Truy cập vào website thông qua framework Flask
Hình 4 2 Giao diện chính của website
➢ Bước 2: Chọn những biến độc lập cần dự đoán Có thể chọn tất cả bằng cách ấn nút ‘Select All’
Hình 4 3 Chọn biến độc lập
Hình 4 4 Chọn tất cả bằng cách ấn nút Select All
➢ Bước 3: Ấn nút ‘Predict’ để dự đoán số lượng căn hộ bán được trong các quý
Hình 4 5 Kết quả sau khi dự đoán
➢ Bước 4: Hủy chọn tất cả bằng cách ấn nút ‘Deselect All’
Hình 4 6 Bỏ chọn các biến độc lập
Kết luận chương 4
Trong chương này, nhóm đã giới thiệu quá trình xây dựng hệ thống và giao diện cho một website cơ bản sử dụng framework Flask, từ đó cung cấp cái nhìn tổng quan về nội dung của dự án.