Bài 11 · SPSS trong phân tích dữ liệu BĐS

Missing Values: dữ liệu thiếu trong khảo sát BĐS nên khai báo và kiểm tra thế nào?

Missing Values: dữ liệu thiếu trong khảo sát BĐS nên khai báo và kiểm tra thế nào? là bài 11 của chuyên đề SPSS trong phân tích dữ liệu BĐS. Phân biệt system-missing và user-missing, khai báo mã thiếu và kiểm mức độ/mẫu thiếu trước phân tích mà chưa tự động bù dữ liệu.

Biên soạn: ThS. Nguyễn Mạnh Hùng
GV. Khoa QLĐĐ&BĐS – ĐH Nông Lâm TP.HCM
Email: nguyenmanhhung@hcmuaf.edu.vn

Cập nhật 01/10/2026: Nội dung đối chiếu với IBM SPSS Statistics 31 và các tài liệu phương pháp nêu ở cuối bài. Dữ liệu BĐS trong ví dụ là giả lập phục vụ giảng dạy, trừ khi ghi rõ nguồn khác.

Vị trí của bài trong mạch học

Bài thuộc Chương 2 – Nhập, chuẩn hóa và làm sạch dữ liệu. Mục tiêu là làm dữ liệu đáng tin và có thể truy vết trước khi bước sang thống kê mô tả. Bài nối trực tiếp quy tắc ở Bài 1–10: hiểu mỗi dòng, mỗi cột và thuộc tính biến trước khi bấm Analyze.

1. Missing không chỉ là ô trống

Thiếu có thể do bỏ câu hỏi, không áp dụng, chưa cập nhật, lỗi nhập hoặc phép tính không xác định; nguyên nhân khác nhau dẫn đến ý nghĩa khác nhau.

Liên hệ BĐS: với giá, diện tích, khu vực, loại hình hoặc dữ liệu khảo sát, một thao tác đúng kỹ thuật vẫn có thể tạo kết quả sai nghĩa nếu đơn vị quan sát, mã hóa, missing hoặc phạm vi mẫu chưa được kiểm. Vì vậy sau mỗi thao tác phải đối chiếu với codebook và ít nhất một số case cụ thể.

Cách tự kiểm: lưu trạng thái trước thao tác, chạy công cụ, ghi N/giá trị đầu ra, rồi kiểm ngược 5–10 dòng. Nếu không giải thích được vì sao một case được giữ, đổi nhóm, trở thành missing hoặc xuất hiện trong Output, chưa chuyển bước.

2. System-missing và user-missing

System-missing là giá trị thiếu do SPSS quản lý cho biến số; user-missing là mã người nghiên cứu khai báo như 99 hoặc 98 để loại khỏi nhiều thủ tục phân tích.

Liên hệ BĐS: với giá, diện tích, khu vực, loại hình hoặc dữ liệu khảo sát, một thao tác đúng kỹ thuật vẫn có thể tạo kết quả sai nghĩa nếu đơn vị quan sát, mã hóa, missing hoặc phạm vi mẫu chưa được kiểm. Vì vậy sau mỗi thao tác phải đối chiếu với codebook và ít nhất một số case cụ thể.

Cách tự kiểm: lưu trạng thái trước thao tác, chạy công cụ, ghi N/giá trị đầu ra, rồi kiểm ngược 5–10 dòng. Nếu không giải thích được vì sao một case được giữ, đổi nhóm, trở thành missing hoặc xuất hiện trong Output, chưa chuyển bước.

3. Mã thiếu phải ngoài miền hợp lệ

99 hợp với thang 1–5 nhưng có thể là tuổi thật; không có một mã thiếu dùng an toàn cho mọi biến.

Liên hệ BĐS: với giá, diện tích, khu vực, loại hình hoặc dữ liệu khảo sát, một thao tác đúng kỹ thuật vẫn có thể tạo kết quả sai nghĩa nếu đơn vị quan sát, mã hóa, missing hoặc phạm vi mẫu chưa được kiểm. Vì vậy sau mỗi thao tác phải đối chiếu với codebook và ít nhất một số case cụ thể.

Cách tự kiểm: lưu trạng thái trước thao tác, chạy công cụ, ghi N/giá trị đầu ra, rồi kiểm ngược 5–10 dòng. Nếu không giải thích được vì sao một case được giữ, đổi nhóm, trở thành missing hoặc xuất hiện trong Output, chưa chuyển bước.

4. Khai Missing trong Variable View

Khai báo không xóa giá trị gốc mà thay cách SPSS đối xử với chúng trong nhiều thủ tục.

Liên hệ BĐS: với giá, diện tích, khu vực, loại hình hoặc dữ liệu khảo sát, một thao tác đúng kỹ thuật vẫn có thể tạo kết quả sai nghĩa nếu đơn vị quan sát, mã hóa, missing hoặc phạm vi mẫu chưa được kiểm. Vì vậy sau mỗi thao tác phải đối chiếu với codebook và ít nhất một số case cụ thể.

Cách tự kiểm: lưu trạng thái trước thao tác, chạy công cụ, ghi N/giá trị đầu ra, rồi kiểm ngược 5–10 dòng. Nếu không giải thích được vì sao một case được giữ, đổi nhóm, trở thành missing hoặc xuất hiện trong Output, chưa chuyển bước.

5. Percent và Valid Percent

Có missing thì Percent và Valid Percent dùng mẫu số khác; báo cáo phải nêu N hợp lệ và N thiếu.

Liên hệ BĐS: với giá, diện tích, khu vực, loại hình hoặc dữ liệu khảo sát, một thao tác đúng kỹ thuật vẫn có thể tạo kết quả sai nghĩa nếu đơn vị quan sát, mã hóa, missing hoặc phạm vi mẫu chưa được kiểm. Vì vậy sau mỗi thao tác phải đối chiếu với codebook và ít nhất một số case cụ thể.

Cách tự kiểm: lưu trạng thái trước thao tác, chạy công cụ, ghi N/giá trị đầu ra, rồi kiểm ngược 5–10 dòng. Nếu không giải thích được vì sao một case được giữ, đổi nhóm, trở thành missing hoặc xuất hiện trong Output, chưa chuyển bước.

6. Kiểm thiếu theo biến

Một biến thiếu 2% và một biến thiếu 35% có mức rủi ro khác nhau; cần thống kê từng biến.

Liên hệ BĐS: với giá, diện tích, khu vực, loại hình hoặc dữ liệu khảo sát, một thao tác đúng kỹ thuật vẫn có thể tạo kết quả sai nghĩa nếu đơn vị quan sát, mã hóa, missing hoặc phạm vi mẫu chưa được kiểm. Vì vậy sau mỗi thao tác phải đối chiếu với codebook và ít nhất một số case cụ thể.

Cách tự kiểm: lưu trạng thái trước thao tác, chạy công cụ, ghi N/giá trị đầu ra, rồi kiểm ngược 5–10 dòng. Nếu không giải thích được vì sao một case được giữ, đổi nhóm, trở thành missing hoặc xuất hiện trong Output, chưa chuyển bước.

7. Kiểm thiếu theo case

Một phiếu thiếu 1 câu khác với phiếu bỏ 15/20 câu; nên tạo biến đếm missing khi cần.

Liên hệ BĐS: với giá, diện tích, khu vực, loại hình hoặc dữ liệu khảo sát, một thao tác đúng kỹ thuật vẫn có thể tạo kết quả sai nghĩa nếu đơn vị quan sát, mã hóa, missing hoặc phạm vi mẫu chưa được kiểm. Vì vậy sau mỗi thao tác phải đối chiếu với codebook và ít nhất một số case cụ thể.

Cách tự kiểm: lưu trạng thái trước thao tác, chạy công cụ, ghi N/giá trị đầu ra, rồi kiểm ngược 5–10 dòng. Nếu không giải thích được vì sao một case được giữ, đổi nhóm, trở thành missing hoặc xuất hiện trong Output, chưa chuyển bước.

8. Không áp dụng khác không trả lời

Hai lý do có thể cùng bị loại khỏi phân tích nhưng phải giữ ý nghĩa khác trong codebook.

Liên hệ BĐS: với giá, diện tích, khu vực, loại hình hoặc dữ liệu khảo sát, một thao tác đúng kỹ thuật vẫn có thể tạo kết quả sai nghĩa nếu đơn vị quan sát, mã hóa, missing hoặc phạm vi mẫu chưa được kiểm. Vì vậy sau mỗi thao tác phải đối chiếu với codebook và ít nhất một số case cụ thể.

Cách tự kiểm: lưu trạng thái trước thao tác, chạy công cụ, ghi N/giá trị đầu ra, rồi kiểm ngược 5–10 dòng. Nếu không giải thích được vì sao một case được giữ, đổi nhóm, trở thành missing hoặc xuất hiện trong Output, chưa chuyển bước.

9. MCAR MAR MNAR ở mức nhận biết

Bài này chỉ cảnh báo rằng missing có thể mang cấu trúc và gây lệch; chưa đi vào bù dữ liệu.

Liên hệ BĐS: với giá, diện tích, khu vực, loại hình hoặc dữ liệu khảo sát, một thao tác đúng kỹ thuật vẫn có thể tạo kết quả sai nghĩa nếu đơn vị quan sát, mã hóa, missing hoặc phạm vi mẫu chưa được kiểm. Vì vậy sau mỗi thao tác phải đối chiếu với codebook và ít nhất một số case cụ thể.

Cách tự kiểm: lưu trạng thái trước thao tác, chạy công cụ, ghi N/giá trị đầu ra, rồi kiểm ngược 5–10 dòng. Nếu không giải thích được vì sao một case được giữ, đổi nhóm, trở thành missing hoặc xuất hiện trong Output, chưa chuyển bước.

10. Missing Value Analysis là tùy chọn nâng cao

Có thể mô tả mẫu thiếu nếu môi trường có tính năng; không bắt buộc và không dùng như nút tự động thay thế.

Liên hệ BĐS: với giá, diện tích, khu vực, loại hình hoặc dữ liệu khảo sát, một thao tác đúng kỹ thuật vẫn có thể tạo kết quả sai nghĩa nếu đơn vị quan sát, mã hóa, missing hoặc phạm vi mẫu chưa được kiểm. Vì vậy sau mỗi thao tác phải đối chiếu với codebook và ít nhất một số case cụ thể.

Cách tự kiểm: lưu trạng thái trước thao tác, chạy công cụ, ghi N/giá trị đầu ra, rồi kiểm ngược 5–10 dòng. Nếu không giải thích được vì sao một case được giữ, đổi nhóm, trở thành missing hoặc xuất hiện trong Output, chưa chuyển bước.

Bộ dữ liệu thực hành xuyên suốt

Các bài 11–20 dùng một cấu trúc BĐS thống nhất để tập trung vào phương pháp. Có thể thay bằng dữ liệu thật nếu giữ đúng ý nghĩa biến, đơn vị và yêu cầu bảo mật.

Tên biếnKiểuÝ nghĩaMã/đơn vịMeasure
ma_bdsStringMã quan sát/tài sản—Nominal
khu_vucNumericKhu vực1=Trung tâm; 2=Cận trung tâm; 3=Ngoại viNominal
loai_bdsNumericLoại BĐS1=Căn hộ; 2=Nhà phố; 3=Đất ởNominal
dien_tichNumericDiện tíchm²Scale
gia_raoNumericGiá raotriệu đồngScale
gia_m2NumericĐơn giátriệu đồng/m²Scale
khoang_cach_tamNumericKhoảng cáchkmScale
nam_xay_dungNumericNăm xây dựngnămScale
muc_hai_longNumericMức hài lòng1–5; 99=không trả lời nếu đã khai MissingOrdinal
y_dinh_muaNumericÝ định mua1–5; 99=không trả lời nếu đã khai MissingOrdinal

Cú pháp tham khảo

Nên bấm Paste ở hộp thoại quan trọng để lưu dấu vết thao tác. Syntax dưới đây minh họa logic của bài và cần đổi tên biến theo tệp thực tế.

MISSING VALUES muc_hai_long y_dinh_mua (99). FREQUENCIES VARIABLES=muc_hai_long y_dinh_mua. COUNT so_thieu=muc_hai_long y_dinh_mua dien_tich gia_rao (MISSING). FREQUENCIES VARIABLES=so_thieu.

Tình huống thực hành BĐS

Khảo sát 500 khách dùng 99=không trả lời và 98=không áp dụng trên thang 1–5. Nếu chưa khai Missing, mean bị kéo rất cao. Nhóm phải khai 98/99 đúng bảng mã, chạy Frequencies và báo N hợp lệ/N thiếu trước khi phân tích.

Trong tình huống này, sinh viên phải tách ba việc: phát hiện – xác minh – xử lý. Không được nhảy từ phát hiện sang xóa/sửa khi chưa có căn cứ từ nguồn, codebook hoặc quy tắc nghiên cứu.

Ma trận lựa chọn nhanh

Tình huốngCách hiểu/công cụĐiểm phải kiểm
Ô trống numericSystem-missingKiểm nguồn
99 trên Likert 1–5User-missingKhai Missing
98 không áp dụngUser-missing riêngGiữ ý nghĩa trong codebook
Thiếu nhiều câu cùng caseMẫu thiếuĐếm theo case
Thiếu tập trung theo nhómNguy cơ lệchPhân tích sâu hơn

Bài thực hành

Tạo 200 phiếu có ba kiểu thiếu, khai Missing đúng, tạo biến đếm số thiếu từng case và lập bảng N hợp lệ/N thiếu.

Sản phẩm phải nộp

  • Tệp .sav đã khai Missing
  • Bảng N hợp lệ/N thiếu
  • Biến đếm missing
  • Codebook mã thiếu
  • Đoạn giải thích vì sao chưa bù dữ liệu

Những lỗi thường gặp

  • Để 99 là giá trị hợp lệ
  • Dùng một mã missing cho mọi biến
  • Thay missing bằng 0
  • Xóa mọi case có một ô thiếu
  • Bù mean tự động ở bài này
  • Không báo N hợp lệ

Sổ tay thao tác nhanh

  1. Lưu bản trước thao tác bằng tên version rõ.
  2. Kiểm Type, Values, Missing, Measure của biến dùng.
  3. Viết câu hỏi cần trả lời trước khi mở menu.
  4. Thực hiện và Paste Syntax nếu quy tắc/công thức phức tạp.
  5. Kiểm N trước–sau và 5–10 case cụ thể.
  6. Đối chiếu Output với nguồn; không chỉ nhìn bảng đẹp.
  7. Ghi lỗi/quyết định/lý do vào biên bản QA.
  8. Save As bản mới, không overwrite nguồn duy nhất.

Phản biện chéo tại lớp

Một nhóm thao tác; nhóm còn lại hỏi về dữ liệu đầu vào, đơn vị quan sát, biến được dùng, thuộc tính biến, tác động của thao tác tới hàng/cột/giá trị và tình huống có thể làm kết quả sai. Người thực hiện phải giải thích được cả thao tác và ý nghĩa.

Sau phản biện, ghi ba điểm: điều làm đúng, lỗi/rủi ro phát hiện và biện pháp ngăn lỗi lặp lại.

Tình huống kiểm tra cuối bài

Giảng viên giao tệp 300–600 case có vấn đề liên quan trực tiếp đến Missing Values: dữ liệu thiếu trong khảo sát BĐS nên khai báo và kiểm tra thế nào?. Sinh viên ghi trạng thái ban đầu, quy tắc kiểm, thao tác, Output/Syntax và bảng trước–sau. Điểm dựa cả vào lý do, không chỉ kết quả cuối.

Phiếu tự kiểm

  • Tôi có giữ bản dữ liệu gốc/bản trước thao tác không?
  • Tôi có hiểu mỗi dòng và mỗi biến đại diện cho gì không?
  • Type, Values, Missing, Measure của biến chính có đúng không?
  • Tôi có ghi điều kiện/công thức/ngưỡng thay vì sửa cảm tính không?
  • N trước và sau thao tác có hợp lý không?
  • Tôi có kiểm 5–10 case cụ thể không?
  • Tôi có vô tình xóa/overwrite dữ liệu không?
  • Output có category/missing/đơn vị bất thường không?
  • Syntax/biên bản có đủ để tái hiện không?
  • Tôi có phân biệt mô tả với suy luận không?
  • Tôi có ghi giới hạn của thao tác không?
  • Tệp sau xử lý có version rõ không?

Ghi nhớ trong 30 giây

  • Missing không chỉ là ô trống
  • Phân biệt system-missing và user-missing
  • Mã thiếu phải ngoài miền hợp lệ
  • Valid Percent có mẫu số khác Percent
  • Bài 11 dừng ở khai báo và kiểm tra

Nguồn tham khảo

Nguồn kỹ thuật chính là IBM SPSS Statistics 31; nguồn phương pháp bổ sung dùng để giải thích cách đọc thống kê/đồ thị. Khi menu trên máy khác bài, đối chiếu đúng phiên bản SPSS đang sử dụng.

  • https://www.ibm.com/docs/en/spss-statistics/31.0.0?topic=values-overview-missing-command
  • https://www.ibm.com/docs/en/spss-statistics/31.0.0?topic=analysis-missing-value
  • https://www.ibm.com/docs/SSLVMB_31.0.0/pdf/IBM_SPSS_Statistics_Core_System_User_Guide.pdf
  • https://stats.oarc.ucla.edu/spss/modules/missing-data/

Bài tiếp theo

Sort Cases và phát hiện bản ghi trùng, mã sai, giá trị bất hợp lý.

Bài luyện tập mở rộng

Luyện tập 1: Missing không chỉ là ô trống

Tạo một bản dữ liệu nhỏ có vấn đề liên quan đến Missing không chỉ là ô trống và System-missing và user-missing. Trước khi thao tác, viết dự đoán về N hoặc cấu trúc kết quả. Thực hiện đúng công cụ của bài, lưu Output/Syntax và kiểm lại bằng ít nhất 5 case.

Phần giải thích: trình bày 120–180 từ về vì sao thiếu có thể do bỏ câu hỏi, không áp dụng, chưa cập nhật, lỗi nhập hoặc phép tính không xác định; nguyên nhân khác nhau dẫn đến ý nghĩa khác nhau. Đồng thời đối chiếu với nguyên tắc thứ hai: system-missing là giá trị thiếu do spss quản lý cho biến số; user-missing là mã người nghiên cứu khai báo như 99 hoặc 98 để loại khỏi nhiều thủ tục phân tích. Nếu kết quả khác dự đoán, xác định chênh lệch do dữ liệu hay do thao tác.

Luyện tập 2: Mã thiếu phải ngoài miền hợp lệ

Tạo một bản dữ liệu nhỏ có vấn đề liên quan đến Mã thiếu phải ngoài miền hợp lệ và Khai Missing trong Variable View. Trước khi thao tác, viết dự đoán về N hoặc cấu trúc kết quả. Thực hiện đúng công cụ của bài, lưu Output/Syntax và kiểm lại bằng ít nhất 5 case.

Phần giải thích: trình bày 120–180 từ về vì sao 99 hợp với thang 1–5 nhưng có thể là tuổi thật; không có một mã thiếu dùng an toàn cho mọi biến. Đồng thời đối chiếu với nguyên tắc thứ hai: khai báo không xóa giá trị gốc mà thay cách spss đối xử với chúng trong nhiều thủ tục. Nếu kết quả khác dự đoán, xác định chênh lệch do dữ liệu hay do thao tác.

Luyện tập 3: Percent và Valid Percent

Tạo một bản dữ liệu nhỏ có vấn đề liên quan đến Percent và Valid Percent và Kiểm thiếu theo biến. Trước khi thao tác, viết dự đoán về N hoặc cấu trúc kết quả. Thực hiện đúng công cụ của bài, lưu Output/Syntax và kiểm lại bằng ít nhất 5 case.

Phần giải thích: trình bày 120–180 từ về vì sao có missing thì percent và valid percent dùng mẫu số khác; báo cáo phải nêu n hợp lệ và n thiếu. Đồng thời đối chiếu với nguyên tắc thứ hai: một biến thiếu 2% và một biến thiếu 35% có mức rủi ro khác nhau; cần thống kê từng biến. Nếu kết quả khác dự đoán, xác định chênh lệch do dữ liệu hay do thao tác.

Luyện tập 4: Kiểm thiếu theo case

Tạo một bản dữ liệu nhỏ có vấn đề liên quan đến Kiểm thiếu theo case và Không áp dụng khác không trả lời. Trước khi thao tác, viết dự đoán về N hoặc cấu trúc kết quả. Thực hiện đúng công cụ của bài, lưu Output/Syntax và kiểm lại bằng ít nhất 5 case.

Phần giải thích: trình bày 120–180 từ về vì sao một phiếu thiếu 1 câu khác với phiếu bỏ 15/20 câu; nên tạo biến đếm missing khi cần. Đồng thời đối chiếu với nguyên tắc thứ hai: hai lý do có thể cùng bị loại khỏi phân tích nhưng phải giữ ý nghĩa khác trong codebook. Nếu kết quả khác dự đoán, xác định chênh lệch do dữ liệu hay do thao tác.

Luyện tập 5: MCAR MAR MNAR ở mức nhận biết

Tạo một bản dữ liệu nhỏ có vấn đề liên quan đến MCAR MAR MNAR ở mức nhận biết và Missing Value Analysis là tùy chọn nâng cao. Trước khi thao tác, viết dự đoán về N hoặc cấu trúc kết quả. Thực hiện đúng công cụ của bài, lưu Output/Syntax và kiểm lại bằng ít nhất 5 case.

Phần giải thích: trình bày 120–180 từ về vì sao bài này chỉ cảnh báo rằng missing có thể mang cấu trúc và gây lệch; chưa đi vào bù dữ liệu. Đồng thời đối chiếu với nguyên tắc thứ hai: có thể mô tả mẫu thiếu nếu môi trường có tính năng; không bắt buộc và không dùng như nút tự động thay thế. Nếu kết quả khác dự đoán, xác định chênh lệch do dữ liệu hay do thao tác.

Luyện tập 6: Missing không chỉ là ô trống

Tạo một bản dữ liệu nhỏ có vấn đề liên quan đến Missing không chỉ là ô trống và System-missing và user-missing. Trước khi thao tác, viết dự đoán về N hoặc cấu trúc kết quả. Thực hiện đúng công cụ của bài, lưu Output/Syntax và kiểm lại bằng ít nhất 5 case.

Phần giải thích: trình bày 120–180 từ về vì sao thiếu có thể do bỏ câu hỏi, không áp dụng, chưa cập nhật, lỗi nhập hoặc phép tính không xác định; nguyên nhân khác nhau dẫn đến ý nghĩa khác nhau. Đồng thời đối chiếu với nguyên tắc thứ hai: system-missing là giá trị thiếu do spss quản lý cho biến số; user-missing là mã người nghiên cứu khai báo như 99 hoặc 98 để loại khỏi nhiều thủ tục phân tích. Nếu kết quả khác dự đoán, xác định chênh lệch do dữ liệu hay do thao tác.

Biên bản QA tối thiểu

MụcTrướcQuy tắc/thao tácSauXác nhận
Số caseGhi NTheo đúng mục tiêuGhi N sauHợp lý
Biến chínhType/MeasureKiểm thuộc tínhKhông đổi ngoài ý muốnĐạt/không đạt
Missing/categoryGhi hiện trạngTheo quy tắc bàiGhi sauKhông hợp thức hóa lỗi
Giá trị bất thườngDanh sáchXác minh nguồnGiữ/sửa/gắn cờCó lý do
VersionTên file trướcSave AsTên file sauKhông overwrite
📚 Xem toàn bộ 22 bài trong series SPSS trong phân tích dữ liệu BĐS