Biến định tính chạy hồi quy phải làm sao trong SPSS

SPSS··9 phút đọc

Bạn mở file SPSS, chạy hồi quy và thấy biến giới tính, khu vực, nghề nghiệp hoặc nhóm thu nhập không xuất hiện trong danh sách biến độc lập. Trường hợp khác, SPSS báo biến có kiểu String, hoặc bạn đã đổi Nam thành 1 và Nữ thành 2 nhưng không biết kết quả hồi quy đang so sánh điều gì.

Đây là vấn đề về cách biểu diễn dữ liệu, không phải cứ đổi chữ thành số là xong. Biến định tính có thể đưa vào hồi quy, nhưng bạn cần mã hóa đúng bản chất nhóm, chọn nhóm tham chiếu và kiểm tra cách SPSS đưa biến vào mô hình. Bài viết này dùng hồi quy tuyến tính trong SPSS làm ví dụ chính. Nếu bạn đang xử lý toàn bộ quy trình dữ liệu, có thể xem thêm chủ đề SPSS và hướng dẫn chuẩn hóa dữ liệu là gì.

Hiện tượng bạn đang gặp

Biến định tính là biến mô tả nhóm, chẳng hạn giới tính, loại hình doanh nghiệp, khu vực sinh sống, trình độ học vấn hoặc nhóm thu nhập. Giá trị của nó thường là nhãn như “Nam”, “Nữ”, “Thành thị”, “Nông thôn”, hoặc nhiều nhóm nghề nghiệp. Hồi quy tuyến tính lại cần các cột số để ước lượng hệ số, vì vậy SPSS không thể xử lý trực tiếp một biến dạng String trong ô Independent(s).

Một dấu hiệu phổ biến là biến không xuất hiện trong hộp thoại Analyze > Regression > Linear. Nếu biến đã được nhập dưới dạng số nhưng có các mã 1, 2, 3, bạn vẫn chưa thể kết luận rằng cách mã hóa đã đúng. Với biến có hai nhóm, mã 0 và 1 thường có thể diễn giải trực tiếp. Với biến có từ ba nhóm trở lên, mã 1, 2, 3 chỉ là mã nhãn, không thể mặc nhiên xem là khoảng cách số đều nhau.

Ví dụ, nếu trình độ học vấn được mã hóa 1 = trung cấp, 2 = cao đẳng, 3 = đại học, 4 = sau đại học, việc đưa thẳng biến này vào hồi quy giả định rằng tác động tăng đều một đơn vị từ nhóm này sang nhóm kế tiếp. Giả định đó cần có lý do lý thuyết. Nếu mục tiêu của bạn là so sánh riêng từng nhóm, cách phù hợp hơn là tạo biến giả.

Nguyên nhân thường gặp

Hãy kiểm tra các nguyên nhân theo dấu hiệu trên màn hình thay vì sửa ngẫu nhiên trong Data View. Bảng dưới đây giúp bạn khoanh vùng trước khi chạy lại mô hình.

Dấu hiệu trong SPSSNguyên nhân thường gặpCách kiểm tra và hướng xử lý
Biến không hiện trong danh sách hồi quyBiến đang có kiểu StringVào Variable View, xem cột Type. Tạo biến số mới bằng Transform > Automatic Recode hoặc mã hóa có kiểm soát
Biến có mã 1, 2, 3 nhưng hệ số khó giải thíchĐưa biến nhiều nhóm vào như biến liên tụcKiểm tra số nhóm trong Analyze > Descriptive Statistics > Frequencies, sau đó cân nhắc tạo biến giả
Chỉ có một biến giả trong mô hìnhBiến gốc có hai nhómDùng một biến 0/1 là đủ, giá trị 0 là nhóm tham chiếu
Tạo đủ biến giả cho mọi nhómBẫy dummy variableLoại một biến giả ra khỏi mô hình, nếu không ma trận thiết kế có thể bị phụ thuộc tuyến tính
Biến giả toàn bộ bằng 0 hoặc 1Công thức Compute sai hoặc bộ lọc dữ liệu đang bậtXem Data > Select Cases, kiểm tra Frequencies của từng biến giả
Số quan sát giảm mạnhCó missing value hoặc điều kiện lọcXem Case Processing Summary và số N hợp lệ trong hồi quy
Kết quả thay đổi sau khi đổi nhóm tham chiếuHệ số đang thể hiện so sánh với nhóm tham chiếu mớiGhi rõ nhóm tham chiếu trong phương pháp và diễn giải kết quả

Bạn cũng nên kiểm tra Measure trong Variable View. Đặt biến định tính là Nominal giúp bạn quản lý dữ liệu rõ hơn, nhưng thay đổi nhãn Nominal, Ordinal hay Scale không tự động biến một biến chữ thành biến phù hợp cho hồi quy. Kiểu dữ liệu Numeric và logic mã hóa mới là phần quyết định việc chạy mô hình.

Cách xử lý theo thứ tự ưu tiên

Sửa kiểu dữ liệu và nhãn giá trị

Trước hết, mở Variable View và tìm biến định tính. Nếu TypeString, hãy tạo một biến số mới thay vì ghi đè dữ liệu gốc. Với biến chỉ có hai nhóm, bạn có thể mã hóa rõ ràng, chẳng hạn 0 = Nữ và 1 = Nam. Trong cột Values, khai báo nhãn để khi đọc output không nhầm mã số với tên nhóm.

Bạn có thể dùng Transform > Automatic Recode để chuyển chuỗi thành số, nhưng cần xem lại thứ tự mã mà SPSS tự tạo. Thứ tự đó có thể dựa trên giá trị chữ và không nhất thiết trùng với quy ước bạn muốn. Sau khi chuyển đổi, chạy Analyze > Descriptive Statistics > Frequencies để kiểm tra số lượng từng nhóm. Giữ lại biến gốc và biến mới cho đến khi xác nhận kết quả.

Nếu cần tạo một biến tổng hợp hoặc đổi mã theo điều kiện, Compute Variable trong SPSS sẽ phù hợp hơn. Bạn có thể lưu lại các lệnh trong syntax SPSS để tái lập chính xác từng bước khi sửa dữ liệu.

Mã hóa biến có hai nhóm thành 0 và 1

Với biến nhị phân, một cột số 0/1 thường đủ cho hồi quy. Ví dụ, đặt GIOITINH = 0 cho Nữ và GIOITINH = 1 cho Nam. Khi đó, hệ số của GIOITINH biểu thị chênh lệch trung bình dự đoán của Nam so với Nữ, sau khi đã giữ các biến khác trong mô hình ở cùng điều kiện.

Bạn có thể tạo biến bằng Transform > Recode into Different Variables. Chọn biến gốc, đặt tên biến mới, bấm Old and New Values, rồi quy định từng giá trị cũ và mới. Sau đó kiểm tra lại bảng tần số. Nếu nhóm nào có tần số bằng 0, bạn đang có lỗi trong điều kiện recode hoặc dữ liệu đầu vào.

Cách mã hóa 0 và 1 không làm kết quả “tốt” hơn về mặt thống kê. Nó chỉ làm cho hệ số dễ diễn giải và giúp bạn xác định nhóm tham chiếu. Nếu chọn ngược lại, dấu của hệ số có thể đổi, trong khi thông tin so sánh giữa hai nhóm vẫn tương đương nếu mô hình được chỉ định đúng.

Tạo biến giả cho biến có từ ba nhóm

Giả sử biến KHU VUC có ba nhóm: 1 = Thành thị, 2 = Nông thôn, 3 = Khác. Bạn tạo hai biến giả, chẳng hạn KV_NONGTHONKV_KHAC. Nhóm Thành thị được chọn làm tham chiếu nên có giá trị 0 ở cả hai biến giả.

Quy tắc là số biến giả bằng số nhóm trừ một. Với bốn nhóm, tạo ba biến giả. Không đưa cả biến gốc và toàn bộ biến giả vào cùng một hồi quy nếu các cột đó biểu diễn cùng một thông tin. Đây là nguyên nhân thường gặp của đa cộng tuyến hoàn hảo hoặc SPSS tự loại một biến khỏi phương trình.

Trong Transform > Compute Variable, bạn có thể dùng điều kiện. Ví dụ, công thức minh họa cho nhóm Nông thôn là KHU VUC = 2, kết quả đúng nhận 1 và kết quả sai nhận 0. Sau khi tạo xong, chạy Frequencies cho từng biến giả và đối chiếu với biến gốc. Tổng số người thuộc nhóm tham chiếu phải bằng số trường hợp có giá trị 0 ở tất cả biến giả, sau khi loại missing.

Chạy hồi quy và kiểm tra số quan sát

Vào Analyze > Regression > Linear. Đưa biến phụ thuộc vào Dependent, các biến độc lập liên tục và biến giả vào Independent(s). Trong Statistics, chọn Estimates, Model fit, Collinearity diagnosticsDurbin-Watson nếu mô hình của bạn cần kiểm tra các chỉ số này. Trong Plots, có thể kiểm tra phần dư chuẩn hóa theo giá trị dự đoán chuẩn hóa.

Đừng chỉ nhìn vào bảng Coefficients. Trước tiên, xem Model Summary để biết R Square và số quan sát, sau đó xem ANOVA để đọc kiểm định chung của mô hình. Cuối cùng, đọc từng dòng trong Coefficients, đặc biệt là B, t, Sig., ToleranceVIF.

Nếu mô hình có nhiều biến độc lập, cỡ mẫu cần được cân nhắc cùng số biến. Một quy tắc thường được trích dẫn cho hồi quy là cỡ mẫu tối thiểu bằng 50 + 8m, trong đó m là số biến độc lập, theo (Tabachnick và Fidell, 2013). Đây là căn cứ thiết kế và kiểm tra tính hợp lý, không phải cam kết rằng mọi mô hình đạt mức đó đều có kết quả ổn định.

Đọc hệ số theo nhóm tham chiếu

Giả sử nhóm tham chiếu là Thành thị. Nếu B của KV_NONGTHON bằng -0.42, biến phụ thuộc dự kiến thấp hơn 0.42 đơn vị ở nhóm Nông thôn so với Thành thị, khi các biến khác giữ không đổi. Nếu B dương, chênh lệch được diễn giải theo hướng ngược lại. Bạn cần xem Sig. hoặc khoảng tin cậy nếu output và thiết kế phân tích có cung cấp, thay vì chỉ nhìn dấu của B.

Với biến nhị phân, hệ số cũng không phải là điểm trung bình thô giữa hai nhóm. Nó là chênh lệch có điều kiện trong mô hình, sau khi tính đến các biến độc lập khác. Nếu muốn mô tả trước khi chạy hồi quy, dùng Analyze > Compare Means hoặc bảng trung bình theo nhóm, rồi tách rõ phần mô tả và phần hồi quy trong chương kết quả.

Bảng output minh họa

Bảng dưới đây là số liệu minh họa, được trình bày theo tên bảng và cột thường gặp trong output SPSS. Các con số không phải kết quả của một nghiên cứu thật, bạn không được chép chúng vào luận văn như số liệu của mình.

Bảng SPSSVariableBStd. ErrorBetatSig.VIF
Coefficients(Constant)3.1200.21014.857<0.001
CoefficientsKV_NONGTHON-0.4200.160-0.118-2.6250.0091.18
CoefficientsKV_KHAC0.1350.2050.0280.6590.5111.21
CoefficientsTUOI0.0180.0060.1423.0000.0031.09
CoefficientsTHUNHAP0.2760.0740.1763.730<0.0011.34

Trong ví dụ này, Thành thị là nhóm tham chiếu. Dòng KV_NONGTHON có B = -0.420 và Sig. = 0.009, nên có thể mô tả rằng, trong bộ số liệu minh họa, nhóm Nông thôn có giá trị dự đoán thấp hơn nhóm Thành thị 0.420 đơn vị khi giữ các biến còn lại không đổi. Dòng KV_KHAC có Sig. = 0.511, nên chưa có bằng chứng thống kê để kết luận nhóm này khác nhóm Thành thị trong ví dụ.

VIF trong bảng chỉ được dùng để minh họa cách đọc. Khi kiểm tra đa cộng tuyến, VIF dưới 5 là một ngưỡng thường được báo cáo trong PLS-SEM theo (Hair và cộng sự, 2019), nhưng hồi quy tuyến tính trong SPSS cần được giải thích cùng Tolerance, cấu trúc mô hình và bối cảnh dữ liệu. Không nên lấy một con số đơn lẻ thay cho chẩn đoán tổng thể.

Khi nào phải quay lại thu thêm dữ liệu

Phần lớn lỗi mã hóa có thể sửa trong file dữ liệu. Bạn chưa cần thu thêm dữ liệu chỉ vì biến đang là String, mã 1 và 2 bị đảo, hoặc bạn quên tạo nhóm tham chiếu. Hãy giữ bảng hỏi gốc, lập một bảng quy ước mã hóa, sửa trên biến mới và chạy lại từ bước kiểm tra tần số.

Bạn nên trao đổi để thu bổ sung hoặc loại phạm vi phân tích khi một nhóm có quá ít quan sát, một nhóm không còn trường hợp hợp lệ sau khi lọc, hoặc bảng hỏi không thu thập đúng nhóm mà giả thuyết yêu cầu. Phần mềm không thể tạo thông tin cho một nhóm không xuất hiện trong dữ liệu. Gộp nhóm chỉ hợp lý khi có căn cứ nội dung và được ghi rõ, chẳng hạn gộp các nhóm nghề nghiệp tương đồng theo thiết kế nghiên cứu.

Nếu số lượng nhóm lớn so với cỡ mẫu, tạo nhiều biến giả sẽ làm mô hình khó ổn định và khó trình bày. Khi đó, cần xem lại câu hỏi nghiên cứu, cách phân nhóm hoặc kế hoạch thu thập trước khi chạy thêm nhiều phiên bản chỉ để tìm một kết quả có p-value nhỏ.

Cách giải trình với giảng viên hướng dẫn

Bạn nên gửi kèm bảng mã hóa, số lượng quan sát của từng nhóm, nhóm tham chiếu và syntax hoặc ảnh chụp các bước tạo biến. Đừng chỉ gửi bảng Coefficients, vì người hướng dẫn cần biết hệ số đó đang so sánh nhóm nào với nhóm nào.

Cách viết vào luận văn: “Biến [TÊN BIẾN ĐỊNH TÍNH] gồm [SỐ NHÓM] nhóm, được mã hóa thành [SỐ BIẾN GIẢ] biến giả. Nhóm [TÊN NHÓM THAM CHIẾU] được chọn làm nhóm tham chiếu. Vì vậy, hệ số của [TÊN BIẾN GIẢ] phản ánh mức chênh lệch của [TÊN NHÓM] so với [TÊN NHÓM THAM CHIẾU], trong điều kiện các biến khác không đổi.”

Nếu bị hỏi vì sao không đưa mã 1, 2, 3 trực tiếp vào hồi quy, bạn có thể giải thích rằng các mã đó đại diện cho nhóm, không mặc nhiên thể hiện khoảng cách định lượng giữa nhóm. Việc dùng biến giả giúp mỗi hệ số trả lời đúng câu hỏi so sánh với nhóm tham chiếu. Nếu bạn có lý do lý thuyết để xem biến là thứ bậc hoặc liên tục, hãy nêu rõ giả định đó thay vì gọi mọi mã số là biến định lượng.

Cách phòng từ bước thiết kế

Ngay khi thiết kế bảng hỏi, lập một data dictionary gồm tên biến, nhãn biến, kiểu dữ liệu, các mã hợp lệ và nhóm tham chiếu dự kiến. Dùng tên biến ngắn, không dấu, nhất quán giữa bảng hỏi, file .sav và bảng kết quả. Bảng mã này cũng giúp bạn phân biệt biến định tính dùng để phân nhóm với biến Likert dùng để đo một khái niệm.

Nếu câu hỏi cho phép người trả lời chọn nhiều phương án, mỗi phương án thường cần một cột 0/1 riêng. Nếu câu hỏi yêu cầu chọn một nhóm duy nhất, có thể dùng một biến phân loại và tạo biến giả khi phân tích. Đừng trộn hai dạng thiết kế trong cùng một cột.

Trước khi thu toàn bộ mẫu, nhập thử một số dòng và chạy Frequencies, Crosstabs cùng một mô hình hồi quy nhỏ. Kiểm tra cả trường hợp bỏ trống, câu trả lời ngoài danh mục và nhóm có tần số thấp. Việc kiểm tra sớm rẻ hơn sửa hàng trăm dòng sau khi đã thu dữ liệu.

Khi nhận file từ người khác, hãy xác định dữ liệu là dữ liệu sơ cấp hay dữ liệu thứ cấp là gì, vì tài liệu đi kèm và quy tắc mã hóa có thể khác nhau. Đừng chuẩn hóa hoặc recode hàng loạt trước khi lưu một bản gốc chỉ đọc.

Lỗi thường gặp khi sửa

Lỗi đầu tiên là đổi “Nam” thành 1 và “Nữ” thành 2 rồi kết luận rằng biến đã sẵn sàng. Với biến hai nhóm, cách này có thể chạy được nhưng nhóm tham chiếu và ý nghĩa hệ số không rõ bằng mã 0 và 1. Với biến nhiều nhóm, cách này còn đưa một thứ tự giả vào phương trình.

Lỗi thứ hai là tạo đủ biến giả cho tất cả nhóm. Nếu có ba nhóm, chỉ tạo hai biến giả và ghi nhóm thứ ba là tham chiếu. Lỗi thứ ba là quên chạy Frequencies sau khi Compute, khiến một điều kiện sai tạo ra cột toàn 0.

Lỗi thứ tư là diễn giải biến giả như tác động nhân quả. Hệ số hồi quy cho biết mối liên hệ có điều kiện trong mô hình, không tự chứng minh rằng giới tính, khu vực hay nghề nghiệp gây ra thay đổi ở biến phụ thuộc. Bạn cũng cần phân biệt p-value với mức độ lớn của chênh lệch, vì một hệ số có ý nghĩa thống kê chưa chắc có ý nghĩa thực tiễn.

Cuối cùng, đừng xóa biến hoặc gộp nhóm chỉ vì kết quả chưa đạt kỳ vọng. Mỗi thay đổi phải có lý do từ thiết kế, lý thuyết hoặc chất lượng dữ liệu, và cần được ghi lại để bạn giải trình khi bảo vệ.

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

Biến định tính có chạy hồi quy được không

Có. Bạn có thể đưa biến định tính hai nhóm vào hồi quy bằng một biến 0/1, hoặc dùng các biến giả cho biến có nhiều nhóm. Điều kiện là cách mã hóa phải được xác định trước và nhóm tham chiếu phải được ghi rõ.

Biến giới tính nên mã hóa 1 và 2 hay 0 và 1

Cả hai cách có thể được xử lý về mặt kỹ thuật nếu biến chỉ có hai nhóm, nhưng mã 0 và 1 thường dễ diễn giải hơn trong hồi quy. Hãy quy định nhóm có mã 0 là nhóm tham chiếu, kiểm tra tần số và ghi quy ước này trong chương phương pháp.

Biến nghề nghiệp có được đưa thẳng mã 1, 2, 3, 4 vào hồi quy không

Chỉ nên đưa thẳng khi bạn có cơ sở xem các mã đó là một thang thứ bậc hoặc đại diện cho một xu hướng có khoảng cách phù hợp. Nếu các nhóm chỉ là danh mục như giáo viên, kinh doanh, kỹ thuật và nội trợ, hãy tạo biến giả để so sánh từng nhóm với nhóm tham chiếu.

Vì sao SPSS tự loại một biến giả

Nguyên nhân thường là bạn đã đưa đủ biến giả cho tất cả nhóm, hoặc một biến giả trùng thông tin với biến khác. Hãy kiểm tra lại số nhóm, bỏ một nhóm làm tham chiếu, xem Collinearity Diagnostics và xác nhận các cột không bị tạo toàn 0 hoặc toàn 1.

Có cần thu thêm dữ liệu khi một nhóm có ít người không

Không phải lúc nào cũng cần, nếu nhóm vẫn có số quan sát hợp lệ và phù hợp với mục tiêu nghiên cứu. Tuy nhiên, một nhóm quá ít quan sát có thể làm ước lượng không ổn định. Bạn nên báo cáo phân bố mẫu, trao đổi với giảng viên và chỉ gộp nhóm khi có căn cứ nội dung, thay vì sửa mã để che vấn đề.

Hãy mở lại Variable View, lập bảng mã hóa cho từng biến định tính, chạy Frequencies trước rồi mới tạo biến giả và chạy Analyze > Regression > Linear; nếu cần chạy toàn bộ phân tích trên file .sav hoặc .csv của bạn, xem module M4 phân tích dữ liệu của DoThesis.