Xử lý missing value trong SPSS: Cách chạy và đọc kết quả

SPSS··16 phút đọc

Khi nào dùng xử lý missing value trong SPSS

Missing value là giá trị bị khuyết trong một biến hoặc một dòng dữ liệu. Trong file SPSS, ô bị thiếu thường hiển thị là ô trống, dấu chấm hoặc một mã quy ước như 99, 999, -1. Trước khi chạy Cronbach's Alpha, EFA, hồi quy hay SEM, bạn cần xác định các mã này có thực sự là dữ liệu thiếu hay là một giá trị hợp lệ.

Bạn dùng xử lý missing value khi bảng dữ liệu đã thu về có người bỏ qua một biến quan sát, người trả lời dừng giữa chừng, hoặc dữ liệu bị lỗi trong lúc nhập từ bảng hỏi. Đây là bước làm sạch dữ liệu, không phải một phép phân tích để chứng minh giả thuyết. Nếu để nguyên dữ liệu thiếu, SPSS có thể tự loại một số dòng ở từng phép chạy, khiến số quan sát giữa các bảng không giống nhau.

Với giả thuyết dạng “X ảnh hưởng đến Y”, vấn đề cần kiểm tra là dữ liệu thiếu có làm thay đổi số quan sát dùng cho mô hình hay không. Nếu chỉ thiếu một vài ô rải rác, bạn có thể cân nhắc thay thế theo nguyên tắc phù hợp. Nếu một người bỏ quá nhiều câu, loại cả dòng thường dễ giải trình hơn. Quyết định cuối cùng cần dựa trên tỷ lệ thiếu, loại biến và mục tiêu phân tích.

Bạn có thể xem thêm các chủ đề liên quan trong chuyên mục SPSS, đặc biệt nếu file của bạn còn đang ở bước nhập dữ liệu từ bảng hỏi.

Chuẩn bị dữ liệu trước khi chạy

Mở file .sav và kiểm tra cả hai cửa sổ Data View và Variable View. Trong Data View, mỗi dòng thường là một người trả lời, mỗi cột là một biến. Trong Variable View, bạn cần xem tên biến, kiểu dữ liệu, nhãn giá trị và mục Missing. Một ô trống trong Excel có thể được nhập vào SPSS thành system-missing, còn mã 99 phải được khai báo là user-missing thì SPSS mới hiểu đó không phải điểm số thật.

Nếu dữ liệu đến từ khảo sát trực tuyến, hãy đối chiếu với nguồn dữ liệu sơ cấp trước khi sửa file. Bạn có thể đọc thêm về dữ liệu sơ cấp để phân biệt dữ liệu do bạn trực tiếp thu thập với dữ liệu đã có sẵn. Nếu lấy dữ liệu từ báo cáo hoặc kho dữ liệu, cách kiểm tra missing value sẽ phụ thuộc vào quy ước của nguồn, tương tự khi xử lý dữ liệu thứ cấp.

Kiểm tra mã dữ liệu thiếu

Trong Variable View, tìm cột Missing. Chọn Discrete missing values nếu bảng hỏi dùng một mã riêng như 99 hoặc 999. Nếu để mã 99 như một điểm Likert hợp lệ, giá trị trung bình và độ lệch chuẩn sẽ bị kéo lệch rất mạnh. Với thang Likert từ 1 đến 5, 99 chắc chắn cần được kiểm tra trước khi phân tích.

Bạn cũng nên mở Analyze > Descriptive Statistics > Frequencies. Đưa các biến quan sát cần kiểm tra vào ô Variable(s), chọn Display frequency tables, sau đó bấm OK. Bảng Frequencies cho biết mỗi mã xuất hiện bao nhiêu lần. Nếu một biến có giá trị 0 trong khi thang đo chỉ cho phép từ 1 đến 5, đó là dấu hiệu cần rà lại bảng hỏi hoặc quy tắc nhập liệu.

Xác định tỷ lệ thiếu theo biến và theo người trả lời

Có hai câu hỏi khác nhau: biến nào bị thiếu nhiều và người trả lời nào bỏ nhiều câu. Với từng biến, số missing cho biết câu hỏi đó có thể khó hiểu hoặc không phù hợp. Với từng dòng, số missing cao cho thấy người trả lời có thể đã bỏ dở bảng hỏi hoặc trả lời thiếu nghiêm túc.

Bạn có thể dùng Analyze > Missing Value Analysis nếu phiên bản SPSS của bạn có thủ tục này. Chọn các biến cần kiểm tra, xem bảng Descriptive Statistics và các mẫu thiếu. Nếu không có menu này, Frequencies và kiểm tra dữ liệu theo từng nhóm biến vẫn đủ để ra quyết định cơ bản. Hãy lưu một bản sao trước khi thay đổi dữ liệu.

Kiểm tra biến đảo chiều và kiểu dữ liệu

Missing value không liên quan trực tiếp đến reverse coded items, nhưng hai việc thường xảy ra cùng lúc trong bước làm sạch. Biến đảo chiều cần được recode theo đúng thang đo trước khi tính điểm tổng hoặc chạy Reliability Analysis. Nếu bạn sửa missing trước nhưng quên đảo chiều, kết quả Cronbach's Alpha vẫn có thể thấp.

Các biến định tính như giới tính, nhóm tuổi hoặc ngành học cũng không nên được điền trung bình. Việc mã hóa biến định tính để chạy hồi quy có quy tắc riêng, bạn có thể xem hướng dẫn biến định tính chạy hồi quy phải làm sao. Không gán giá trị trung bình cho một biến chỉ có các nhóm 1, 2, 3 nếu con số đó chỉ là mã nhóm.

Các bước chạy xử lý missing value trong SPSS

Không có một cách thay thế duy nhất cho mọi file. Trình tự dưới đây giúp bạn kiểm tra trước, lưu dấu vết sau, rồi mới chọn loại bỏ hoặc thay thế. Hãy ghi lại số dòng trước và sau mỗi lần xử lý.

Bước 1: Tạo bản sao và lưu file gốc

Chọn File > Save As, đặt tên như dulieu_raw.sav cho file gốc và dulieu_clean_v1.sav cho bản đang xử lý. Không sửa trực tiếp file duy nhất bạn có. Nếu sau đó giảng viên hỏi vì sao cỡ mẫu giảm, bạn cần mở lại dữ liệu ban đầu để kiểm tra.

Bạn cũng có thể ghi các thao tác bằng syntax. Menu File > New > Syntax mở cửa sổ syntax, nơi bạn lưu lại lệnh và chạy lại được. Nếu thường xuyên làm sạch dữ liệu, xem thêm cách chạy syntax SPSS để tránh thao tác thủ công không nhất quán.

Bước 2: Khai báo user-missing đúng cách

Trong Variable View, tại cột Missing, chọn Discrete missing values và nhập mã 99 nếu bảng hỏi dùng 99 cho câu không trả lời. Bạn có thể nhập tối đa các mã rời rạc tùy phiên bản SPSS. Bấm OK, sau đó chạy lại Frequencies để xem cột Missing đã phản ánh đúng chưa.

Khai báo user-missing chỉ giúp SPSS nhận diện giá trị thiếu. Nó chưa tự điền dữ liệu và cũng chưa xóa dòng. Vì vậy, sau bước này bạn vẫn phải chọn phương án xử lý dựa trên tỷ lệ thiếu và loại phân tích.

Bước 3: Loại dòng thiếu quá nhiều thông tin

Nếu một người trả lời bỏ trống phần lớn bảng hỏi, bạn có thể loại dòng đó khỏi bộ dữ liệu phân tích. Cách đơn giản là tạo một biến đếm số câu đã trả lời bằng Transform > Compute Variable. Ví dụ, với các biến Q1 đến Q20, tạo biến n_valid bằng hàm đếm phù hợp trong cửa sổ Compute Variable.

Sau đó dùng Data > Select Cases, chọn If condition is satisfied, nhập điều kiện như n_valid >= 16 theo quy tắc bạn đã đặt trước. Con số 16 chỉ là ví dụ minh họa, không phải ngưỡng áp dụng cho mọi đề tài. Bạn phải ghi rõ tiêu chí loại dòng trong phương pháp nghiên cứu và báo cáo số dòng bị loại.

Bước 4: Chọn cách thay thế cho missing rải rác

Nếu một bảng trả lời chỉ thiếu ít ô và các biến thuộc thang Likert, bạn có thể cân nhắc thay thế bằng giá trị trung bình của biến hoặc trung bình của các biến quan sát trong cùng thang đo. Tuy nhiên, không nên thay thế máy móc cho mọi biến. Với biến nhân khẩu học, missing thường nên giữ nguyên hoặc xử lý như một nhóm thiếu nếu thiết kế nghiên cứu cho phép.

Trong SPSS, mở Transform > Replace Missing Values. Chọn biến cần xử lý, chọn phương pháp trong danh sách như Series mean hoặc một phương pháp nội suy phù hợp với dữ liệu, rồi đặt tên biến mới. Tạo biến mới an toàn hơn ghi đè biến gốc, vì bạn vẫn có thể so sánh kết quả trước và sau khi thay thế.

Bước 5: Kiểm tra lại sau khi xử lý

Chạy lại Analyze > Descriptive Statistics > Frequencies cho biến gốc và biến mới. Kiểm tra số missing, min, max, mean và độ lệch chuẩn. Nếu biến Likert sau thay thế xuất hiện giá trị ngoài khoảng 1 đến 5, bạn đã chọn sai phương pháp hoặc dùng sai biến đầu vào.

Sau đó chạy lại phân tích chính với đúng nhóm biến đã chuẩn bị. Đừng chỉ nhìn thấy output không báo lỗi rồi kết luận dữ liệu đã sạch. Hãy đối chiếu N of Valid Cases giữa các bảng Reliability Statistics, KMO and Bartlett's Test và Regression.

Đọc kết quả output

SPSS không có một bảng duy nhất tên là “Missing Value Result” áp dụng cho mọi cách xử lý. Bạn thường đọc missing từ Frequencies, Descriptives, Missing Value Analysis hoặc số quan sát hợp lệ trong output của phép phân tích tiếp theo. Cột Valid cho biết số giá trị được dùng, còn Missing cho biết số giá trị bị bỏ qua trong biến đó.

số liệu minh họa: bảng Frequencies và Descriptive Statistics

Bảng dưới đây là số liệu minh họa, không phải kết quả của một nghiên cứu thật. Tên cột được trình bày theo dạng SPSS thường in trong output để bạn đối chiếu với file của mình.

VariableN ValidN MissingMeanStd. DeviationMinimumMaximum
Q121823.840.7615
Q221643.710.8115
Q322003.920.6915
Q4207133.550.9415

Trong ví dụ này, Q4 có 13 missing trên tổng 220 dòng, cao hơn các biến còn lại. Bạn cần kiểm tra nội dung Q4, cách hiển thị câu hỏi và mã nhập liệu trước khi quyết định thay thế. Không nên thấy Mean của Q4 thấp hơn rồi tự động kết luận người trả lời đánh giá thấp, vì thiếu dữ liệu có thể liên quan đến chính cách đặt câu hỏi.

Nếu chạy Reliability Analysis, bảng Reliability Statistics có thể hiện số biến và Cronbach's Alpha, nhưng không mô tả đầy đủ lý do số quan sát giảm. Bảng Item-Total Statistics giúp xem từng biến trong thang đo. Khi số dòng hợp lệ giữa các lần chạy khác nhau, hãy ghi lại lựa chọn missing trong từng thủ tục, chẳng hạn listwise hoặc pairwise nếu hộp thoại có cung cấp.

Tiêu chí đánh giá

Tiêu chí xử lý cần trả lời ba điểm: giá trị nào là missing, dòng nào phải loại, và khi nào được thay thế. Các ngưỡng dưới đây là mốc tham khảo có nguồn, không phải lý do để sửa dữ liệu cho đến khi kết quả đẹp. Bạn cần kết hợp với thiết kế bảng hỏi, loại biến và yêu cầu của giảng viên.

Nội dung cần kiểm traMốc hoặc nguyên tắc tham khảoNguồn
Mã missing trong thang đoPhải nằm ngoài miền giá trị hợp lệ của thang đo, ví dụ mã 99 với Likert 1 đến 5(Nguyễn Đình Thọ, 2011)
Số quan sát theo biếnBáo cáo N Valid và N Missing, không tự gộp các biến có tỷ lệ thiếu khác nhau(Field, 2013)
Cỡ mẫu cho biến quan sátCó thể tham khảo 5 đến 10 quan sát cho một biến quan sát(Hair và cộng sự, 2010)
Tương quan biến tổng sau xử lýCorrected Item-Total Correlation từ 0.3 trở lên khi đánh giá thang đo(Nunnally và Bernstein, 1994)
Cronbach's AlphaTừ 0.7 trở lên thường được chấp nhận; thang đo khám phá có thể cân nhắc từ 0.6(Nunnally, 1978); (Hair và cộng sự, 2010)
Kiểm tra trước EFAKMO từ 0.5 trở lên và Bartlett's Test có Sig. dưới 0.05(Kaiser, 1974)

Mốc “thiếu dưới một tỷ lệ nào đó thì được thay thế” không nên được dùng như luật cứng nếu bạn không có căn cứ cho đề tài. Quan trọng hơn là bạn trình bày số missing, cách xử lý, số dòng bị loại và số quan sát cuối cùng. Nếu tỷ lệ thiếu tập trung ở một biến, cần xem lại biến đó thay vì chỉ nhìn tỷ lệ trung bình của toàn file.

Cách viết kết quả vào luận văn

Cách viết vào luận văn: “Bộ dữ liệu ban đầu gồm [N0] quan sát. Sau khi kiểm tra tại [tên bảng hoặc thủ tục SPSS], nhóm nghiên cứu phát hiện [số lượng] quan sát có mức missing cao hơn tiêu chí [tiêu chí đã đặt]. Các quan sát này được [loại khỏi phân tích/thay thế theo phương pháp] và không ghi đè dữ liệu gốc. Bộ dữ liệu cuối cùng gồm [N1] quan sát hợp lệ để thực hiện [Cronbach's Alpha/EFA/hồi quy].”

Nếu thay thế cho một số ô, bạn có thể viết thêm: “Các giá trị thiếu rải rác ở biến [tên biến] được xử lý bằng [phương pháp], trong khi các mã [99/999] được khai báo là user-missing trước khi phân tích.” Chỉ điền con số sau khi bạn đã kiểm tra output thật. Không viết “dữ liệu được làm sạch hoàn toàn” nếu vẫn còn missing ở một số biến.

Trong chương kết quả, nên dùng cùng một quy tắc gọi biến với file SPSS. Nếu output ghi Q1, Q2, hãy giữ mã này trong bảng và giải thích tên nội dung trong danh mục biến. Nếu cần trình bày các thao tác chuẩn hóa trước khi phân tích, xem thêm chuẩn hóa dữ liệu là gì, nhưng đừng nhầm chuẩn hóa thang đo với xử lý giá trị thiếu.

Lỗi thường gặp khi chạy xử lý missing value trong SPSS

Xem ô trống là dữ liệu hợp lệ

Một ô trống không có nghĩa là SPSS đã nhận diện đúng missing trong mọi tình huống. Nếu dữ liệu dùng mã 0, 99 hoặc 999, hãy kiểm tra thang đo và khai báo trong Variable View. Với thang Likert 1 đến 5, mã 0 có thể là missing, nhưng chỉ bạn mới biết quy ước của bảng hỏi.

Thay thế missing bằng trung bình cho biến định tính

Mean substitution phù hợp hơn với một số biến số lượng hoặc biến quan sát có thang đo được thiết kế rõ. Nó không biến mã nhóm thành dữ liệu liên tục có ý nghĩa. Với giới tính, khoa, nghề nghiệp hoặc nhóm tuổi, hãy giữ mã hợp lệ và xử lý missing theo logic của biến.

Xóa từng dòng theo cảm tính

Nếu bạn xóa các dòng có missing mà không lưu tiêu chí, cỡ mẫu sẽ khó giải trình. Hãy ghi số dòng trước và sau, lý do loại, biến dùng để sàng lọc và ngày thực hiện. Một file sạch nhưng không có lịch sử chỉnh sửa vẫn tạo rủi ro khi bị hỏi lại.

Chạy mỗi phân tích với một cách xử lý khác nhau

Cronbach's Alpha dùng 220 dòng, EFA dùng 207 dòng và hồi quy dùng 198 dòng có thể khiến kết quả khó so sánh. SPSS đôi khi loại theo listwise hoặc pairwise tùy thủ tục. Kiểm tra N Valid trong từng output và ghi rõ quy tắc bạn đã dùng.

Đọc thêm: dữ liệu thứ cấp là gì, dữ liệu sơ cấp, biến định tính chạy hồi quy phải làm sao, chạy syntax spss, chuẩn hóa dữ liệu là gì, chủ đề spss.

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

Missing value trong SPSS là gì

Missing value là giá trị bị thiếu hoặc được quy ước là không có dữ liệu trong một biến. SPSS phân biệt system-missing, thường hiển thị bằng dấu chấm, với user-missing như 99 hoặc 999 do người dùng khai báo.

Có nên xóa tất cả dòng có missing không

Không nên xóa tự động. Nếu một dòng chỉ thiếu một ô nhưng vẫn có đủ thông tin cho mục tiêu nghiên cứu, bạn có thể cân nhắc giữ lại và xử lý ô thiếu theo phương pháp phù hợp. Nếu dòng bỏ trống quá nhiều hoặc không đạt tiêu chí chất lượng đã đặt, loại dòng sẽ dễ giải trình hơn.

Dùng Replace Missing Values có làm thay đổi dữ liệu gốc không

SPSS thường tạo một biến mới khi bạn đặt tên biến kết quả, nhưng bạn vẫn cần kiểm tra hộp thoại trước khi bấm chạy. Hãy lưu file gốc riêng và không ghi đè biến gốc nếu chưa có lý do rõ ràng. Sau khi tạo biến mới, so sánh Frequencies và Descriptives giữa hai biến.

Missing value bao nhiêu là chấp nhận được

Không có một con số duy nhất áp dụng cho mọi luận văn. Bạn cần báo cáo số missing theo từng biến, số dòng bị loại và cỡ mẫu còn lại. Nếu missing tập trung ở một câu hỏi, hãy kiểm tra nội dung câu hỏi và quy trình thu thập thay vì chỉ so với một ngưỡng chung.

Vì sao số quan sát trong các bảng SPSS không giống nhau

Các thủ tục có thể dùng cách loại dữ liệu khác nhau, chẳng hạn loại theo dòng hoặc theo từng cặp biến. Ngoài ra, một số biến có nhiều missing hơn biến khác. Hãy đọc cột N Valid, kiểm tra tùy chọn trong hộp thoại và thống nhất cách báo cáo cho Cronbach's Alpha, EFA và hồi quy.

Mở bản sao dữ liệu, chạy Frequencies cho toàn bộ biến nghiên cứu, ghi lại N Valid và N Missing trước khi thay đổi bất cứ giá trị nào. Nếu bạn muốn chạy phân tích trên chính file .sav hoặc .csv và giữ được lịch sử xử lý để giải trình, M4 phân tích dữ liệu của DoThesis có thể hỗ trợ bạn đi từ bước kiểm tra missing đến output SPSS phù hợp.