Bối cảnh và vấn đề nghiên cứu

Thị trường bất động sản tại Việt Nam ghi nhận sự phát triển mạnh mẽ và thu hút sự quan tâm của nhiều nhà đầu tư. Trong các quyết định giao dịch và đầu tư bất động sản, yếu tố giá cả luôn là mối quan tâm hàng đầu. Tuy nhiên, theo phản ánh thực tế từ các nhà đầu tư, việc tìm kiếm và so sánh giá bất động sản trên nhiều trang thông tin điện tử khác nhau để đưa ra dự đoán xu hướng giá thường tiêu tốn nhiều thời gian và công sức. Nhằm hỗ trợ người dùng có công cụ tra cứu nhanh chóng khi di chuyển và khảo sát thực địa, khóa luận tập trung xây dựng một giải pháp phần mềm trên thiết bị di động tích hợp mô hình trí tuệ nhân tạo để dự đoán giá đất.

Nhiệm vụ nghiên cứu của đề tài được xác định thông qua bốn nội dung cụ thể:

  1. Nghiên cứu các công nghệ nền tảng và khung phát triển (frameworks) phục vụ việc xây dựng ứng dụng di động.
  2. Phân tích và thiết kế hệ thống ứng dụng di động theo yêu cầu chức năng và phi chức năng.
  3. Nghiên cứu cơ sở lý thuyết về mô hình Hồi quy tuyến tính (Linear Regression).
  4. Hiện thực hóa mô hình trí tuệ nhân tạo dự đoán giá bất động sản sử dụng mô hình hồi quy tuyến tính.

Phạm vi và giới hạn của đề tài được xác lập rõ ràng trong văn bản:

  • Phạm vi không gian dữ liệu: Nghiên cứu và thu thập dữ liệu bất động sản tập trung tại khu vực Thành phố Hồ Chí Minh (bao gồm 24 quận, huyện).
  • Đối tượng dự đoán: Tập trung dự đoán đơn giá đất trên một đơn vị diện tích ($m^2$), không dự đoán toàn bộ công trình xây dựng gắn liền với đất do các công trình xây dựng có đặc tính kiến trúc và chất lượng đa dạng, dẫn đến sự phân hóa giá phức tạp.
  • Nền tảng triển khai: Ứng dụng di động được thiết kế và triển khai trên hệ điều hành Android.
  • Ràng buộc kỹ thuật phi chức năng: Hệ thống phải có khả năng đáp ứng đồng thời ít nhất 1.000 người dùng mà không xảy ra sự cố; thời gian phản hồi cho các chức năng không vượt quá 10 giây; dung lượng gói cài đặt ứng dụng tối đa là 200 MB.

Cơ sở lý thuyết và phương pháp nghiên cứu

Khung lý thuyết và các mô hình toán học

Khóa luận áp dụng lý thuyết học máy có giám sát (Supervised Learning) với trọng tâm là các biến thể của mô hình Hồi quy tuyến tính (Linear Regression) để mô hình hóa mối quan hệ giữa biến phụ thuộc (giá đất) và các biến độc lập (thời gian, vị trí, loại đất):

  • Hồi quy tuyến tính đơn biến (Simple Linear Regression): Mô hình biểu diễn mối quan hệ giữa một biến đầu vào $x$ và biến đầu ra $y$ thông qua phương trình: $$y = b_0 + b_1 x$$ Trong đó $b_0$ là hệ số chặn (intercept) và $b_1$ là hệ số góc (coefficient).

  • Hồi quy tuyến tính đa biến (Multiple Linear Regression): Mở rộng mô hình cho tập hợp $n$ biến độc lập ${x_1, x_2, \dots, x_n}$: $$y = b_0 + b_1 x_1 + b_2 x_2 + \dots + b_n x_n$$

  • Hồi quy đa thức (Polynomial Regression): Nhằm nắm bắt các mối quan hệ phi tuyến tính phức tạp trong dữ liệu giá đất khi đường thẳng bậc 1 không đạt độ khớp mong muốn, tác giả sử dụng các đặc trưng đa thức bậc cao: $$y = b_0 + b_1 x + b_2 x^2 + \dots + b_n x^n$$ Về bản chất, phương trình này được quy đổi về dạng hồi quy đa biến bằng cách đặt $x_i = x^i$, do đó vẫn duy trì tính chất tuyến tính đối với các tham số trọng số.

  • Hàm mất mát (Cost Function) và Tối ưu hóa: Hàm mất mát được sử dụng để định lượng sai số giữa giá trị dự đoán của hàm giả thuyết $h(x)$ và giá trị thực tế $y$: $$J = \frac{1}{2n} \sum_{i=1}^{n} \left(h(x^{(i)}) - y^{(i)}\right)^2$$ Thuật toán hạ độ dốc (Gradient Descent) được sử dụng để tối thiểu hóa giá trị của hàm mất mát $J$ nhằm tìm ra bộ tham số tối ưu cho đường hồi quy.

  • Chỉ số đánh giá mô hình (Model Evaluation Metrics):

    • Căn bậc hai của sai số bình phương trung bình (RMSE - Root Mean Squared Error): $$RMSE = \sqrt{\frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2}$$ Chỉ số này đại diện cho độ lệch trung bình giữa giá trị thực tế $y$ và giá trị dự đoán $\hat{y}$, được tác giả ưu tiên sử dụng để so sánh độ chính xác giữa các bậc mô hình khác nhau.
    • Hệ số xác định ($R^2$ - R-squared Score): Đo lường mức độ giải thích của mô hình đối với phương sai dữ liệu thực tế, nhận giá trị trong đoạn từ 0 đến 1.

Nguồn dữ liệu và quy trình xử lý dữ liệu

Dữ liệu phục vụ nghiên cứu được cung cấp bởi nền tảng SharkLand (thuộc quyền sở hữu của Công ty TNHH Atomic Vietnam), thu thập từ các trang thông tin giao dịch bất động sản tại TP.HCM và lưu trữ trong hệ quản trị cơ sở dữ liệu PostgreSQL.

Tên trường dữ liệu Kiểu/Mô tả ý nghĩa trong cơ sở dữ liệu
price_sell Giá bán công bố của bất động sản
address_district Địa chỉ quận/huyện tại TP.HCM (24 quận/huyện)
position_street Chỉ số quy định vị trí của bất động sản trên tuyến đường
post_date Ngày đăng tin giao dịch trên website
area_cal Diện tích của bất động sản ($m^2$)
realestate_type Loại hình bất động sản (đất nền, đất nông nghiệp, đất ở)

Quy trình tiền xử lý dữ liệu được tiến hành qua các giai đoạn:

  1. Chuẩn hóa biến mục tiêu: Chuyển đổi giá bán bất động sản sang đơn giá đất trên một đơn vị diện tích thông qua công thức: $$price_per_m2 = \frac{price_sell}{area}$$
  2. Loại bỏ ngoại lai (Outliers Removal): Sử dụng phương pháp khoảng tứ phân vị (Interquartile Range - IQR) để loại bỏ nhiễu do hồi quy tuyến tính rất nhạy cảm với các điểm dị biệt. Khoảng cách $IQR = Q_3 - Q_1$ (trong đó $Q_1$ là phân vị 25%, $Q_3$ là phân vị 75%) được dùng để xác định các ngưỡng giới hạn:
    • Ngưỡng dưới (Lower Limit): $Q_1 - 1.5 \times IQR$
    • Ngưỡng trên (Upper Limit): $Q_3 + 1.5 \times IQR$ Mọi bản ghi có giá trị nằm ngoài khoảng giới hạn này đều bị loại bỏ.
  3. Phân chia dữ liệu và lựa chọn bậc mô hình: Tập dữ liệu được phân chia thành tập huấn luyện (training set) và tập kiểm thử (testing set). Tác giả tiến hành huấn luyện mô hình bằng cách tăng dần bậc $n$ từ 1 đến 6, tính toán giá trị RMSE trên tập kiểm thử cho từng bậc và lựa chọn bậc có RMSE nhỏ nhất để tránh hiện tượng quá khớp (overfitting).

Thiết kế và triển khai hệ thống

Kiến trúc tổng thể

Hệ thống được thiết kế theo mô hình phân tầng Client - Server kết hợp hai cơ sở dữ liệu chuyên biệt:

Thành phần Công nghệ sử dụng Chức năng và nhiệm vụ
Phía người dùng (Client) React Native (JavaScript) Giao diện di động đa nền tảng, xuất bản bản dựng cho Android; xử lý các luồng tương tác và nhập liệu người dùng.
Xác thực (Authentication) Firebase Authentication Quản lý đăng ký, đăng nhập an toàn qua email và mật khẩu.
Cơ sở dữ liệu người dùng Firebase Realtime Database Lưu trữ thông tin tài khoản người dùng và đồng bộ hóa dữ liệu theo thời gian thực (NoSQL).
Máy chủ ứng dụng (App Backend) Node.js (JavaScript) Xử lý các nghiệp vụ chung, điều phối yêu cầu người dùng và kết nối với Firebase Realtime Database.
Máy chủ AI (AI Backend) Python & Flask Framework Xây dựng API dự đoán giá đất; nạp dữ liệu huấn luyện và thực thi tính toán mô hình hồi quy.
Cơ sở dữ liệu dữ liệu lớn PostgreSQL Lưu trữ dữ liệu lịch sử bất động sản từ SharkLand phục vụ việc huấn luyện mô hình AI.
Thư viện tính toán AI NumPy, SciPy, Matplotlib, Pandas, Scikit-learn Xử lý mảng, thống kê, vẽ biểu đồ, thao tác cấu trúc dữ liệu bảng và xây dựng thuật toán hồi quy.

Các ca sử dụng và luồng chức năng

Hệ thống cung cấp 6 chức năng chính tương ứng với các ca sử dụng (Use Cases):

  • Đăng ký tài khoản (Register): Người dùng nhập tên đăng nhập, email và mật khẩu để tạo tài khoản mới trên hệ thống Firebase.
  • Đăng nhập (Login): Xác thực tài khoản người dùng dựa trên email và mật khẩu đã đăng ký.
  • Đăng xuất (Log out): Cho phép người dùng thoát khỏi phiên làm việc hiện tại trên bảng điều khiển.
  • Xem thông tin cá nhân (View profile): Cho phép người dùng hoặc quản trị viên xem chi tiết hồ sơ tài khoản (tên, email, ngày tạo).
  • Trực quan hóa biểu đồ dự đoán giá (Visualize chart): Người dùng chọn các thông số bao gồm Quận, Loại đất (đất nền, đất nông nghiệp, đất ở) và Vị trí đường; hệ thống gọi API Flask, xử lý dữ liệu và vẽ biểu đồ dự đoán biến động giá theo thời gian.
  • Quản trị người dùng (Manage users): Dành riêng cho Quản trị viên (Admin) để hiển thị danh sách toàn bộ người dùng, tìm kiếm tài khoản theo tên hoặc email, và thực hiện quyền xóa tài khoản.
  • Hiển thị màu xu hướng trên bản đồ Google Maps: Khu vực có xu hướng giá đất tăng được hiển thị màu xanh lá cây, khu vực có xu hướng giảm được hiển thị màu đỏ.

Nội dung chính theo từng chương

Chương 1: Giới thiệu (Introduction)

Chương này nêu tổng quan về vai trò của giá bất động sản đối với quyết định đầu tư, lý do ứng dụng mô hình trí tuệ nhân tạo trên ứng dụng di động để hỗ trợ người dùng tra cứu khi đi thực tế. Chương 1 đồng thời xác định mục tiêu xây dựng các chức năng (đăng ký/đăng nhập, xem biểu đồ, quản lý người dùng, đánh dấu màu xu hướng trên Google Maps) cùng các phạm vi và ràng buộc kỹ thuật tại TP.HCM.

Chương 2: Công nghệ nền tảng (Background)

Chương 2 trình bày tổng quan các công nghệ được lựa chọn trong quá trình phát triển hệ thống:

  • Khung giao diện React Native do Facebook phát triển năm 2015, hỗ trợ tái sử dụng mã nguồn JavaScript cho cả Android và iOS.
  • Nền tảng phía máy chủ Node.js viết bằng JavaScript.
  • Nền tảng Firebase (Firebase Authentication và Firebase Realtime Database) để định danh và đồng bộ dữ liệu NoSQL thời gian thực.
  • Ngôn ngữ lập trình Python và hệ sinh thái thư viện phục vụ học máy: NumPy (xử lý mảng), SciPy (tính toán khoa học), Matplotlib (vẽ đồ thị 2D), Pandas (thao tác dữ liệu dạng bảng), Scikit-learn (công cụ mô hình hóa học máy) và Flask (framework xây dựng API nhẹ).
  • Hệ quản trị cơ sở dữ liệu đối tượng - quan hệ mã nguồn mở PostgreSQL.

Chương 3: Mô hình dự đoán giá (Price Prediction Model)

Chương 3 tập trung vào khía cạnh toán học và thực nghiệm của mô hình AI:

  • Trình bày công thức Hồi quy tuyến tính đơn biến, Hồi quy tuyến tính đa biến, Hồi quy đa thức, hàm mất mát và phương pháp Gradient Descent.
  • Trình bày hai chỉ số đánh giá sai số: RMSE và $R^2$.
  • Mô tả tập dữ liệu SharkLand lưu trong PostgreSQL, phương pháp quy đổi đơn giá trên $m^2$ và kỹ thuật lọc ngoại lai theo quy tắc $1.5 \times IQR$.
  • Thực nghiệm huấn luyện mô hình: Phân tích thực nghiệm tại Quận 10 (trong khoảng thời gian 62 ngày kể từ ngày 01/01/2020 đối với loại hình Đất ở, vị trí Mặt tiền) cho thấy hồi quy tuyến tính bậc 1 có RMSE rất cao, đường dự đoán không khớp; khi nâng lên bậc 6, đường hồi quy biến dạng bất thường. Giải pháp đưa ra là giới hạn bậc từ 1 đến 6 và chọn bậc có sai số RMSE trên tập kiểm thử thấp nhất: kết quả tại Quận 7 lựa chọn mô hình bậc 2 (2-degree model), tại Quận 6 lựa chọn mô hình bậc 3 (3-degree model).

Chương 4: Phương pháp hiện thực (Implementation Method)

Chương 4 mô tả chi tiết thiết kế kỹ thuật của ứng dụng:

  • Sơ đồ kiến trúc phân tầng (Client React Native, API Flask và Node.js, cơ sở dữ liệu PostgreSQL và Firebase).
  • Sơ đồ ca sử dụng (Use-case Diagram) và kịch bản chi tiết cho từng tác vụ (Register, Login, Log out, Visualize chart, View profile, Manage users).
  • Sơ đồ luồng xử lý (Flow charts) cho từng chức năng trong hệ thống.

Chương 5: Kết luận (Conclusion)

Chương 5 tổng kết lại toàn bộ khối lượng công việc đã hoàn thành trong khóa luận và đưa ra các đề xuất phát triển hệ thống trong tương lai.

Kết quả và đóng góp

Kết quả đạt được

Khóa luận đã hoàn thành các mục tiêu kỹ thuật đặt ra ban đầu:

  • Nghiên cứu và áp dụng thành công các mô hình Hồi quy tuyến tính (đơn biến, đa biến, đa thức) vào bài toán dự đoán đơn giá đất tại TP.HCM dựa trên dữ liệu lịch sử giao dịch.
  • Xây dựng quy trình xử lý dữ liệu hoàn chỉnh từ cơ sở dữ liệu PostgreSQL, lọc ngoại lai bằng khoảng tứ phân vị IQR và tối ưu hóa bậc đa thức thông qua đánh giá sai số RMSE trên tập kiểm thử.
  • Xây dựng hoàn chỉnh ứng dụng di động trên nền tảng Android bằng React Native, tích hợp hệ thống xác thực và lưu trữ Firebase, cùng máy chủ backend Node.js và máy chủ API AI nền tảng Flask/Python.

Đánh giá của hội đồng phản biện

  • Cán bộ hướng dẫn (PGS. Quản Thành Thơ): Ghi nhận sinh viên đã phát triển thành công ứng dụng di động có khả năng xử lý dữ liệu thu thập, trực quan hóa thông tin có ý nghĩa và ứng dụng kỹ thuật AI để dự đoán giá bất động sản. Tuy nhiên, nội dung bản thuyết minh cần được trình bày kỹ lưỡng và thảo luận sâu hơn về các công nghệ được sử dụng.
  • Cán bộ phản biện (PGS. Bùi Hoài Thắng): Ghi nhận sinh viên nắm bắt được các kỹ thuật học máy dựa trên hồi quy tuyến tính, thiết kế và hiện thực được ứng dụng di động cho phép người dùng dự đoán giá đất theo các tiêu chí vị trí (Quận, Phường, Tuyến đường).
  • Kết quả đánh giá: Điểm chấm bảo vệ đạt 7.0/10 (Đánh giá chung: Trung bình), đủ điều kiện thông qua bảo vệ tốt nghiệp.

Hạn chế và hướng nghiên cứu tiếp

Hạn chế của đề tài

  • Bản thuyết minh khóa luận còn sơ lược ở một số phần, cần bổ sung diễn giải chi tiết và thảo luận sâu hơn về bản chất các công nghệ được áp dụng.
  • Dữ liệu thu thập mới chỉ tập trung phân tích được ở quy mô cấp quận/huyện, chưa đủ mật độ dữ liệu chi tiết cho từng đơn vị phường/xã hoặc từng tên đường cụ thể.
  • Mô hình dự đoán dừng lại ở mức mô hình cơ sở (baseline) là hồi quy tuyến tính và đa thức, chưa tích hợp các thuật toán học máy phức tạp hơn.

Hướng nghiên cứu và phát triển tiếp theo

  • Mở rộng tập dữ liệu: Thu thập tập dữ liệu lớn và chi tiết hơn, bổ sung đầy đủ thông tin về phường/xã và tên đường cụ thể để nâng cao độ chính xác dự đoán tại từng vị trí cục bộ.
  • Cập nhật dữ liệu thời gian thực: Thiết lập cơ chế cập nhật dữ liệu hàng ngày (day by day) theo biến động thị trường thực tế và tái huấn luyện mô hình (re-train) định kỳ để đường dự báo luôn bám sát xu thế giá mới nhất.
  • Thử nghiệm các mô hình học máy nâng cao: Nghiên cứu và ứng dụng thêm nhiều mô hình học máy khác trên tập dữ liệu bất động sản, tiến hành so sánh đối chuẩn (benchmark) độ chính xác giữa các thuật toán để chọn ra mô hình tối ưu nhất.

Giá trị tham khảo

Khóa luận là tài liệu tham khảo phù hợp cho:

  • Sinh viên chuyên ngành Khoa học Máy tính, Kỹ thuật Phần mềm và Hệ thống Thông tin đang thực hiện đồ án hoặc khóa luận tốt nghiệp về việc tích hợp mô hình Machine Learning vào ứng dụng di động.
  • Các nhà phát triển muốn tham khảo kiến trúc phân tách giữa máy chủ ứng dụng (Node.js) và máy chủ tính toán mô hình AI (Python Flask), kết hợp lưu trữ dữ liệu quan hệ (PostgreSQL) và dữ liệu phi quan hệ (Firebase Realtime Database).
  • Tài liệu minh họa trực quan quy trình tiền xử lý dữ liệu bất động sản, kỹ thuật loại bỏ giá trị dị biệt bằng khoảng tứ phân vị IQR và phương pháp chọn bậc hồi quy đa thức thông qua hàm mất mát RMSE.

Câu hỏi thường gặp

1. Khóa luận sử dụng thuật toán nào để dự đoán giá bất động sản và cách xử lý việc chọn bậc mô hình ra sao?
Tác giả sử dụng các biến thể của mô hình Hồi quy tuyến tính (Simple Linear Regression, Multiple Linear Regression và Polynomial Regression). Do hồi quy bậc 1 có sai số RMSE cao, tác giả tăng bậc đa thức $n$ từ 1 đến 6 và tính toán chỉ số RMSE trên tập kiểm thử (validation/test set). Bậc có giá trị RMSE nhỏ nhất sẽ được chọn làm mô hình dự đoán chính thức cho khu vực đó (ví dụ: Quận 7 tối ưu ở bậc 2, Quận 6 tối ưu ở bậc 3).

2. Nguồn dữ liệu thực nghiệm được lấy từ đâu và gồm những thuộc tính nào?
Dữ liệu được cung cấp bởi SharkLand (thuộc Công ty TNHH Atomic Vietnam), lấy từ các trang web giao dịch bất động sản tại TP.HCM và lưu trữ trong cơ sở dữ liệu PostgreSQL. Các trường dữ liệu chính gồm: price_sell (giá bán), address_district (quận), position_street (vị trí đường), post_date (ngày đăng tin), area_cal (diện tích) và realestate_type (loại hình đất).

3. Phương pháp loại bỏ giá trị ngoại lai (outliers) được triển khai như thế nào?
Tác giả áp dụng phương pháp khoảng tứ phân vị (IQR) với hệ số $k = 1.5$. Khoảng $IQR$ được tính bằng hiệu số giữa phân vị thứ ba và phân vị thứ nhất ($IQR = Q_3 - Q_1$). Các điểm dữ liệu nhỏ hơn ngưỡng dưới ($Q_1 - 1.5 \times IQR$) hoặc lớn hơn ngưỡng trên ($Q_3 + 1.5 \times IQR$) bị xác định là dữ liệu nhiễu và bị loại bỏ khỏi tập dữ liệu huấn luyện.

4. Kiến trúc hệ thống của ứng dụng di động được cấu thành từ những công nghệ nào?
Hệ thống gồm: giao diện di động React Native trên Android; hệ thống định danh Firebase Authentication; cơ sở dữ liệu Firebase Realtime Database lưu thông tin tài khoản; máy chủ ứng dụng Node.js; máy chủ AI viết bằng Python kết hợp framework Flask để cung cấp API dự đoán; và cơ sở dữ liệu PostgreSQL lưu trữ dữ liệu lịch sử bất động sản.

5. Các ràng buộc kỹ thuật phi chức năng của ứng dụng được quy định như thế nào?
Ứng dụng được thiết kế chạy trên hệ điều hành Android, có khả năng phục vụ đồng thời tối thiểu 1.000 người dùng mà không phát sinh lỗi hệ thống, thời gian phản hồi cho mọi thao tác chức năng phải dưới 10 giây và tổng dung lượng ứng dụng không vượt quá 200 MB.

Kết luận

Khóa luận tốt nghiệp của sinh viên Phạm Tuấn Anh đã hoàn thành mục tiêu xây dựng một ứng dụng di động trên nền tảng React Native kết hợp mô hình AI Hồi quy đa thức để dự đoán đơn giá đất tại TP.HCM. Bằng việc phối hợp linh hoạt kiến trúc giữa Node.js, Python Flask, PostgreSQL và Firebase, hệ thống cung cấp đầy đủ các chức năng tra cứu biểu đồ giá, quản trị người dùng và hiển thị cảnh báo xu hướng thị trường. Khóa luận được Hội đồng chấm bảo vệ thông qua với điểm số 7.0/10, đồng thời mở ra các định hướng mở rộng về kích thước dữ liệu và thử nghiệm các mô hình học máy phức tạp hơn trong tương lai.