Select Cases trong SPSS: cách lọc mẫu đúng trước khi phân tích

SPSS··14 phút đọc

Bạn mở file dữ liệu lên, muốn chạy hồi quy riêng cho nhóm khách hàng đã mua hàng nhưng chưa biết lọc thế nào. Select Cases trong SPSS được dùng đúng cho tình huống đó: chọn một phần quan sát theo điều kiện, rồi chỉ sử dụng phần được chọn trong các phân tích tiếp theo. Dữ liệu gốc vẫn còn trong Data View, nhưng SPSS sẽ đánh dấu hoặc loại tạm thời các dòng không thỏa điều kiện.

Điểm dễ gây nhầm là Select Cases không tạo ra một file dữ liệu mới ngay lập tức và cũng không tự sửa giá trị của biến. Nếu quên tắt bộ lọc, những lần chạy Cronbach's Alpha, EFA hoặc hồi quy sau đó vẫn chỉ dùng mẫu đã lọc. Bài viết này đi theo đúng quy trình từ kiểm tra biến, chọn điều kiện, đọc cảnh báo đến khôi phục toàn bộ mẫu.

Khi nào dùng Select Cases trong SPSS

Bạn dùng Select Cases khi câu hỏi nghiên cứu chỉ áp dụng cho một nhóm quan sát cụ thể. Ví dụ, đề tài khảo sát ý định mua lại của khách hàng đã từng mua sản phẩm, nên nhóm chưa từng mua không thuộc mẫu của mô hình đó. Một ví dụ khác là chạy phân tích riêng theo khu vực, giới tính hoặc nhóm tuổi để so sánh kết quả.

Điều kiện lọc có thể dựa trên một biến phân loại, một khoảng giá trị hoặc nhiều điều kiện kết hợp. Chẳng hạn, bạn chọn gioitinh = 1, chọn người có tuoi >= 18, hoặc chọn gioitinh = 1 AND thunhap > 10000000. Hình thức lọc này phù hợp khi giả thuyết hoặc phạm vi phân tích đã nói rõ nhóm đối tượng cần dùng.

Nếu mục tiêu của bạn là sửa thang đo, đổi mã biến hoặc tạo biến mới, Select Cases chưa đủ. Bạn cần xem thêm quy trình chuẩn hóa dữ liệu là gì để phân biệt lọc quan sát với biến đổi dữ liệu. Với dữ liệu khảo sát thu trực tiếp, bạn cũng nên kiểm tra cách phân biệt dữ liệu sơ cấp trước khi mô tả nguồn mẫu.

Có ba cách xử lý trong hộp thoại Select Cases: Filter out unselected cases, Copy selected cases to a new dataset và Delete unselected cases. Hai cách đầu thường an toàn hơn cho luận văn vì giữ được dữ liệu gốc. Delete unselected cases chỉ nên dùng khi bạn đã lưu một bản sao riêng và thật sự muốn xóa các dòng không đạt điều kiện khỏi bộ dữ liệu đang mở.

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

Trước khi lọc, hãy ghi lại tên biến, mã hóa và số lượng quan sát ban đầu. Bạn có thể xem số dòng hợp lệ trong bảng Frequencies hoặc Statistics. Con số này giúp bạn phát hiện trường hợp sau khi lọc còn ít mẫu bất thường.

Tên biến trong SPSS thường không có dấu tiếng Việt và không có khoảng trắng, chẳng hạn gioitinh, khuvuc, nhomtuoi hoặc dadungsp. Nhìn nhãn biến chưa đủ, vì điều kiện trong Select Cases dùng giá trị thực tế. Một biến có nhãn Nam và Nữ vẫn có thể được mã hóa lần lượt là 1 và 2.

Hãy kiểm tra các điểm sau trước khi mở hộp thoại:

  • Biến điều kiện phải có kiểu dữ liệu phù hợp. Biến số dùng phép so sánh >, <, =; biến chuỗi cần đặt giá trị trong dấu nháy, ví dụ khuvuc = 'Hanoi'.
  • Các mã đặc biệt như 99, 999 hoặc -1 phải được xác định là missing nếu chúng đại diện cho không trả lời. Nếu để chúng như số hợp lệ, điều kiện tuoi >= 18 có thể giữ lại một dòng có tuổi bằng 99.
  • Nếu biến được tạo từ câu hỏi đảo chiều, hãy kiểm tra mã hóa trước khi dùng nó làm điều kiện. Select Cases không tự reverse code cho biến.
  • Lưu một bản sao .sav trước khi chọn Delete unselected cases. Với dữ liệu .csv, nên lưu lại bản gốc vì mọi thao tác tiếp theo có thể làm bạn khó truy vết mẫu.

Nếu bạn đang phân tích biến định tính trong mô hình hồi quy, việc lọc theo nhóm cần gắn với cách mã hóa biến. Bài biến định tính chạy hồi quy phải làm sao sẽ giúp bạn tránh nhầm giữa lọc một nhóm quan sát và tạo biến dummy.

Các bước chạy Select Cases trong SPSS

Mở đúng hộp thoại Select Cases

Trong SPSS, chọn Data > Select Cases.... Hộp thoại mở ra với các lựa chọn ở phần Select, gồm All cases, If condition is satisfied, Random sample of cases, Based on time or case range và Use filter variable.

Nếu bạn muốn lọc theo giá trị của một biến, chọn If condition is satisfied, sau đó bấm nút If.... Đây là lựa chọn phổ biến nhất khi chạy phân tích cho một nhóm được xác định bằng điều kiện nghiên cứu.

Nhập điều kiện lọc

Trong cửa sổ Select Cases: If, bạn có thể gõ trực tiếp điều kiện hoặc nhấp đúp tên biến trong danh sách. Ví dụ, để giữ người đã từng mua hàng, điều kiện có thể là:

damua = 1

Nếu muốn giữ người đã mua hàng và sống tại Hà Nội, dùng:

damua = 1 AND khuvuc = 1

Nếu muốn chọn một trong hai nhóm khu vực, dùng OR:

khuvuc = 1 OR khuvuc = 2

Dùng dấu ngoặc khi có nhiều toán tử để biểu thị thứ tự rõ ràng:

(damua = 1) AND (tuoi >= 18 AND tuoi <= 35)

Bạn nên bấm nút mũi tên để đưa biến vào biểu thức thay vì tự gõ khi chưa quen tên biến. Kiểm tra dấu thập phân, mã nhóm và kiểu biến trước khi bấm Continue.

Chọn cách xử lý các dòng không đạt

Quay lại cửa sổ chính, chọn Filter out unselected cases nếu muốn giữ dòng dữ liệu nhưng loại chúng khỏi các phân tích. Đây là lựa chọn nên dùng trong phần lớn trường hợp. SPSS thường hiển thị một biến lọc ở cuối Data View và các dòng không được chọn sẽ có dấu gạch chéo.

Chọn Copy selected cases to a new dataset nếu muốn tạo một bộ dữ liệu riêng chỉ chứa các dòng đạt điều kiện. Cách này dễ kiểm soát khi bạn có một phân tích riêng cho từng nhóm, nhưng cần đặt tên dataset rõ ràng để không nhầm với file gốc.

Chỉ chọn Delete unselected cases sau khi đã lưu bản sao. Lúc này các dòng không đạt bị xóa khỏi dataset đang làm việc và việc quay lại mẫu ban đầu sẽ không còn đơn giản.

Xác nhận và ghi lại bộ lọc

Bấm OK. Quan sát Data View để xác nhận các dòng không đạt đã bị gạch chéo hoặc dataset mới đã được tạo. Sau đó ghi lại điều kiện, số quan sát trước lọc và số quan sát sau lọc trong một file theo dõi riêng.

Bạn cũng có thể thực hiện bằng syntax. Sau khi chạy một lần trên menu, chọn Paste thay vì OK để SPSS đưa lệnh vào Syntax Editor. Một lệnh minh họa có thể có dạng:

USE ALL.
COMPUTE filter_$ = (damua = 1 AND khuvuc = 1).
FILTER BY filter_$.
EXECUTE.

Cú pháp thực tế phụ thuộc tên biến và điều kiện trong file của bạn. Nếu thường xuyên chạy lại nhiều vòng, lưu syntax sẽ an toàn hơn việc nhập tay. Xem thêm hướng dẫn chạy syntax SPSS để biết cách lưu, chỉnh sửa và chạy lại lệnh.

Tắt bộ lọc sau khi phân tích

Khi muốn quay lại toàn bộ mẫu, vào Data > Select Cases..., chọn All cases, rồi bấm OK. Nếu trước đó bạn đã dùng FILTER BY, có thể dùng syntax:

FILTER OFF.
USE ALL.
EXECUTE.

Sau đó kiểm tra lại số quan sát trong một bảng Frequencies. Đừng chỉ nhìn Data View, vì một bộ lọc còn hoạt động có thể không rõ khi bạn chuyển sang các cửa sổ khác.

Đọc kết quả output

Select Cases không tạo ra một bảng kết quả riêng giống Coefficients hay Reliability Statistics. Dấu hiệu quan trọng nằm ở dữ liệu đã lọc và số lượng quan sát được đưa vào phân tích tiếp theo. Ví dụ, sau khi lọc damua = 1, bạn chạy Analyze > Descriptive Statistics > Frequencies cho biến tuoi.

Số liệu minh họa, không phải kết quả của một nghiên cứu thực tế:

Bảng SPSSThành phầnGiá trị minh họaCách đọc
Case Processing SummaryValid214Có 214 quan sát thỏa điều kiện và được dùng
Case Processing SummaryMissing6Có 6 quan sát bị thiếu ở biến đang phân tích
StatisticsN214Cỡ mẫu thực tế của phân tích sau khi lọc
StatisticsMean của tuổi29.84Trung bình chỉ tính trên nhóm đã chọn
Filter_$1214 dòngDòng được giữ lại bởi điều kiện lọc
Filter_$086 dòngDòng không được đưa vào phân tích khi filter đang bật

Nếu output cho thấy N = 214, bạn không được mô tả đó là cỡ mẫu ban đầu nếu file có 300 dòng. Đây là cỡ mẫu sau lọc, có thể tiếp tục giảm do missing value ở những biến được phân tích. Với hồi quy, hãy xem thêm Model Summary, ANOVA và Coefficients, nhưng luôn ghi nhận N thực tế trong output.

Một lỗi thường gặp là thấy các dòng bị gạch chéo trong Data View rồi tưởng chúng đã bị xóa. Với Filter out unselected cases, dữ liệu vẫn còn, chỉ là không được dùng trong các thủ tục phân tích. Muốn biết trạng thái hiện tại, kiểm tra biến filter_$, thanh trạng thái và thử chạy Frequencies với một biến có đầy đủ dữ liệu.

Tiêu chí đánh giá

Select Cases không có ngưỡng đạt riêng như Cronbach's Alpha hay KMO. Tiêu chí chính là điều kiện lọc phải khớp với thiết kế nghiên cứu, mã hóa phải đúng và số quan sát sau lọc phải được báo cáo trung thực. Các ngưỡng dưới đây liên quan đến bước kiểm tra dữ liệu hoặc phân tích tiếp theo, không phải tiêu chuẩn để SPSS tự quyết định giữ hay loại dòng.

Nội dung cần kiểm traMốc tham khảoNguồn
Cỡ mẫu hồi quy tối thiểu theo số biến độc lập, với m là số biến độc lậpn từ 50 + 8m trở lên(Tabachnick và Fidell, 2013)
Durbin-Watson khi kiểm tra phần dư hồi quyTừ 1 đến 3(Field, 2013)
Corrected Item-Total Correlation khi kiểm tra thang đoTừ 0.3 trở lên(Nunnally và Bernstein, 1994)
Cronbach's Alpha cho thang đo thông thườngTừ 0.7 trở lên(Nunnally, 1978)
Cronbach's Alpha trong nghiên cứu khám pháCó thể từ 0.6(Hair và cộng sự, 2010)
KMO trước EFATừ 0.5 trở lên(Kaiser, 1974)

Ví dụ, nếu bạn có 5 biến độc lập thì quy tắc 50 + 8m cho ra 90 quan sát. Đây chỉ là mốc tham khảo cho hồi quy, không có nghĩa mọi nhóm sau Select Cases đều đạt yêu cầu chỉ vì còn hơn 90 dòng. Bạn vẫn cần xem cách chọn mẫu, tỷ lệ missing, độ cân bằng giữa các nhóm và yêu cầu cụ thể của đề tài.

Sau khi lọc, hãy chạy Frequencies cho biến điều kiện để kiểm tra số lượng từng nhóm. Nếu một nhóm chỉ còn vài quan sát, việc tiếp tục chạy hồi quy hoặc EFA có thể tạo kết quả thiếu ổn định. Khi đó, cách xử lý có cơ sở hơn là xem lại phạm vi giả thuyết hoặc kế hoạch thu thập dữ liệu, thay vì liên tục đổi điều kiện để đạt một con số mong muốn.

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

Bạn có thể đặt đoạn mô tả trong phần phương pháp hoặc phần mô tả mẫu. Hãy thay các placeholder bằng số liệu thật trong output, không lấy số minh họa ở bài này:

Cách viết vào luận văn: “Từ [N ban đầu] phiếu hợp lệ, nghiên cứu sử dụng Select Cases trong SPSS với điều kiện [điều kiện lọc cụ thể] để xác định nhóm [tên nhóm] phục vụ phân tích [tên phân tích]. Sau khi lọc, còn [N sau lọc] quan sát hợp lệ. Các quan sát không thỏa điều kiện được giữ lại trong file gốc và không tham gia vào bước phân tích này.”

Nếu bạn dùng nhiều nhóm, hãy mô tả từng nhóm trong bảng hoặc đoạn riêng. Ghi rõ nhóm nào là mẫu phân tích, nhóm nào chỉ dùng để mô tả. Cách ghi này giúp người đọc luận văn hiểu vì sao N ở bảng hồi quy khác N ở bảng thống kê mẫu.

Trong phần phụ lục, bạn có thể lưu ảnh hộp thoại Select Cases: If, syntax và bảng Case Processing Summary. Nếu giảng viên hỏi tại sao số quan sát giảm, bạn có thể chỉ ra điều kiện lọc, missing value và thời điểm tắt filter thay vì trả lời dựa trên trí nhớ.

Lỗi thường gặp khi chạy Select Cases trong SPSS

Dùng sai mã của biến phân loại. Bạn nghĩ Nam = 1, nhưng file lại mã hóa Nam bằng 0. Kết quả là mẫu lọc sai hoặc không còn dòng nào. Hãy chạy Frequencies trước để xem bảng Value Labels, Frequency và Valid Percent.

Viết giá trị chuỗi như giá trị số. Với biến chuỗi, điều kiện cần đặt giá trị trong dấu nháy đơn, chẳng hạn khuvuc = 'Hanoi'. Nếu biến được lưu dưới dạng số có nhãn, chỉ dùng mã số như khuvuc = 1.

Quên tắt filter. Đây là lỗi gây hậu quả lớn nhất vì các phân tích sau vẫn âm thầm chạy trên mẫu con. Sau mỗi phân tích, kiểm tra Data View và ghi trạng thái filter trong nhật ký xử lý dữ liệu.

Dùng OR khi cần AND. Điều kiện tuoi >= 18 OR tuoi <= 35 gần như giữ lại mọi giá trị tuổi. Để chọn khoảng từ 18 đến 35, dùng tuoi >= 18 AND tuoi <= 35.

Xóa dòng quá sớm. Delete unselected cases làm bạn khó khôi phục mẫu ban đầu. Hãy dùng Filter out unselected cases trong lần kiểm tra đầu tiên và lưu file phiên bản riêng nếu cần tạo dataset mới.

Lọc để che một kết quả không đẹp. Select Cases phải xuất phát từ tiêu chí nghiên cứu đã xác định, chẳng hạn đối tượng đã từng sử dụng sản phẩm. Việc thử nhiều điều kiện chỉ để p-value nhỏ hơn hoặc hệ số đẹp hơn làm giảm khả năng giải trình khi bảo vệ.

Đọc thêm: dữ liệu thứ cấp là gì, chủ đề spss.

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

Select Cases trong SPSS có xóa dữ liệu không?

Nếu bạn chọn Filter out unselected cases, SPSS chỉ tạm thời loại các dòng không đạt khỏi những phân tích tiếp theo. Các dòng vẫn nằm trong Data View và có thể được dùng lại sau khi chọn All cases.

Nếu chọn Delete unselected cases, các dòng không đạt bị xóa khỏi dataset hiện tại. Vì vậy bạn nên lưu bản sao .sav trước khi dùng lựa chọn này.

Cách chạy Select Cases trong SPSS để lọc theo hai điều kiện là gì?

Vào Data > Select Cases..., chọn If condition is satisfied, bấm If..., rồi nhập hai điều kiện bằng AND. Ví dụ damua = 1 AND tuoi >= 18 giữ lại người đã mua hàng và từ 18 tuổi trở lên.

Nếu chỉ cần giữ một trong hai nhóm, dùng OR. Trước khi xác nhận, hãy kiểm tra mã số thật của từng nhóm bằng Frequencies.

Vì sao sau khi chạy Select Cases, số mẫu trong hồi quy bị giảm?

Select Cases có thể đã loại các dòng không thỏa điều kiện. Ngoài ra, thủ tục hồi quy thường chỉ dùng những dòng có giá trị hợp lệ ở tất cả biến trong mô hình, nên missing value ở một biến độc lập hoặc biến phụ thuộc cũng làm N giảm.

Bạn hãy xem Case Processing Summary hoặc số quan sát trong Model Summary, rồi đối chiếu với số dòng sau lọc. Đừng tự điền giá trị thiếu chỉ để đưa N về con số ban đầu.

Làm sao biết Select Cases đã được tắt?

Vào Data > Select Cases... và kiểm tra lựa chọn All cases. Bạn cũng có thể chạy FILTER OFF. USE ALL. EXECUTE. trong Syntax Editor, sau đó chạy Frequencies để đối chiếu tổng số dòng.

Nếu các dòng bị gạch chéo biến mất và số quan sát trở lại mức ban đầu, filter đã được tắt. Trường hợp bạn đã tạo dataset mới, hãy chuyển về dataset gốc trước khi kiểm tra.

Có nên dùng Select Cases để loại outlier không?

Select Cases có thể chọn hoặc loại các dòng dựa trên điều kiện đã xác định, nhưng không tự kết luận một quan sát là outlier. Việc loại outlier cần căn cứ vào kiểm tra dữ liệu, giá trị bất thường và lập luận phương pháp rõ ràng.

Nếu điều kiện loại đã được định trước, ghi lại quy tắc và số dòng bị ảnh hưởng. Nếu bạn chỉ lọc sau khi thấy kết quả không như kỳ vọng, cần trao đổi lại với giảng viên trước khi đưa vào luận văn.

Khi làm tiếp trên file .sav hoặc .csv, bạn hãy mở lại điều kiện nghiên cứu, chạy Frequencies để xác nhận mã nhóm, rồi thực hiện Select Cases bằng Filter out unselected cases trước. Nếu muốn đối chiếu syntax và output trên chính dữ liệu của mình, M4 phân tích dữ liệu SPSS và SmartPLS có thể hỗ trợ bước chạy phân tích này.