• Website đang cập nhật hệ thống bán hàng và sẽ hoàn thiện hoạt động đầu tháng 9

  • MOSL cập nhật đến quý khách hàng để tránh mua nhầm sản phẩm thử nghiệm

Trang chủ/Kiến thức nghiên cứu/STATA/Dữ liệu bảng (Panel Data)/Cách tạo biến giả (dummy variable) trong Stata chi tiết

Cách tạo biến giả (dummy variable) trong Stata chi tiết

Hãy đánh giá bài viết nhé!

Bạn đã từng vừa nhìn bảng số liệu vừa băn khoăn: “Làm sao chuyển các thông tin như giới tính, vùng miền… thành dạng mà Stata hiểu để phân tích hồi quy?” Đó chính là lúc bạn cần biết về biến giả (dummy variable). MOSL sẽ cùng bạn tháo gỡ – từ lý thuyết đến thực hành – đảm bảo bạn làm chủ hoàn toàn quá trình này!


1. Biến giả (Dummy Variable) là gì? Ứng dụng & phân biệt các loại biến

Biến giả (dummy variable) là biến được tạo ra từ dữ liệu định tính (categorical), chuyển đổi thành giá trị số 0 hoặc 1. Trong kinh tế lượng, biến giả cực kỳ hữu dụng vì giúp phần mềm phân tích (Stata, SPSS, R…) nhận diện các nhóm như “Nam – Nữ”, “Miền Bắc – Miền Nam”, “Có – Không”.

  • 0 thường đại diện cho nhóm tham chiếu (reference group).
  • 1 ám chỉ “thuộc nhóm quan tâm”.

Ứng dụng của biến giả:

  • Sử dụng trong phân tích hồi quy, kiểm định nhóm, mô hình dự báo.
  • Giúp xử lý, phân tích dữ liệu phi số (qualitative data) một cách logic.

Phân biệt biến giả & biến mã hóa thường

  • Biến mã hóa thường: Có thể chuyển thành nhiều số (ví dụ: Giới tính – Nam=1, Nữ=2), nhưng Stata/R coi là biến số, ảnh hưởng kết quả phân tích.
  • Biến giả: Chỉ nhận 2 giá trị 0/1, tương thích hoàn toàn với phân tích hồi quy.

Ví dụ thực tế:

Họ tênGiới tính (gốc)gender_dummy
Trần ANam1
Nguyễn BNữ0
Lê CNam1

Các loại biến giả thường gặp:

  • Cho biến 2 nhóm: Nam/Nữ, Có/Không.
  • Cho biến nhiều nhóm: vùng miền, ngành học, nhóm tuổi (cần nhiều biến dummy tương ứng).

➡️ Tiếp theo, chúng ta sẽ phân nhóm, đặt tên và hướng dẫn tạo biến giả cho từng loại biến với dữ liệu thực tế.


2. Các loại biến giả: Phân nhóm, phân loại & nguyên tắc đặt tên

Có hai loại biến giả chủ yếu mà bạn sẽ gặp khi làm việc trên Stata:

  • Biến giả cho 2 nhóm (binary): Dùng khi biến gốc chỉ có hai giá trị (ví dụ: Nam/Nữ).
  • Biến giả cho nhiều nhóm (multi-categories): Phù hợp với biến có từ 3 nhóm trở lên (ví dụ: vùng miền – Bắc, Trung, Nam).

Xác định nhóm tham chiếu & đặt tên biến

  • Luôn chọn một nhóm làm tham chiếu – thường là nhóm thông dụng hoặc mong muốn so sánh.
  • Quy tắc đặt tên: ngắn gọn, dễ hiểu, đi kèm tên nhóm (vd: gendermale, regionnorth).
  • Khi biến có k nhóm, tạo k-1 biến giả tương ứng.

Bảng ví dụ: Biến “vùng miền”

Vùng miềnregion_northregion_central
Bắc10
Trung01
Nam00

(Nam là nhóm tham chiếu)

Mẹo đặt tên trong Stata

  • Không dùng dấu cách, ký tự đặc biệt lạ.
  • Prefix tên nhóm rõ ràng, ví dụ: jobtype_fulltime.

➡️ Sang phần tiếp theo, bạn sẽ thực hành các lệnh cụ thể để tạo biến giả trên Stata.


3. Hướng dẫn chi tiết cách tạo biến giả trong Stata kèm lệnh thực tế

3.1. Tạo biến giả thủ công bằng lệnh gen

Với Stata, bạn có thể chủ động tạo biến giả chỉ với một dòng lệnh ngắn gọn:

  • Lệnh cơ bản:
    gen ten_bien = (dieu_kien)
  • Lọc giá trị thiếu:
    gen gender_dummy = (gender == "Nam") if gender != ""

Ví dụ:
Có biến “city” gồm các giá trị “Hà Nội” và “TP.HCM”, bạn muốn tạo biến city_hn (1 nếu Hà Nội, 0 nếu khác):

gen city_hn = (city == "Hà Nội") if city != ""
Kiểm tra với: tab city_hn

Bảng trước/sau khi tạo biến:

citycity_hn
Hà Nội1
HCM0

Lưu ý kiểm tra:
Sau khi tạo biến, luôn kiểm tra với tab, summarize để tránh lỗi.

➡️ Khi biến phân nhóm nhiều giá trị, chuyển sang phương pháp tự động dưới đây.


3.2. Tạo biến giả tự động bằng lệnh tabulate, generate()

Đối với biến có nhiều nhóm như vùng miền, ngành nghề, bạn nên dùng lệnh tự động:

  • Cú pháp tổng quát:
    tabulate bien, generate(bien_gia_)

Ví dụ:
tab region, generate(region_)
Stata sẽ tạo ra các biến như region1, region2,… tương ứng với các nhóm trong biến “region”.

Bảng chuyển đổi minh họa:

regionregion_1region_2
Bắc10
Trung01
Nam00

(Nam là nhóm tham chiếu mặc định khi so sánh)

Lưu ý:
Tạo tên biến không chứa ký tự lạ để tránh lỗi.

➡️ Đối với trường hợp phức tạp hơn hoặc cần linh hoạt, xem tiếp các lệnh nâng cao.


3.3. Lệnh nâng cao & các mẹo tạo biến giả khác

Khi gặp biến phân loại dạng phức tạp hoặc dữ liệu chưa chuẩn hóa, bạn có thể dùng:

  • encode: Chuyển biến text sang biến số theo mã hóa, phù hợp khi cần số hóa nhưng chưa phải dummy.
  • recode: Đổi lại giá trị của biến theo ý muốn.
  • xi: Tạo tự động biến giả cho biến nhiều nhóm ngay trong lệnh hồi quy.
  • Dùng macro để tự động hóa trong do-file.

Bảng so sánh nhanh:

LệnhKhi nào dùngƯu điểmLưu ý
genBiến 2 nhómChủ động, rõ ràngDễ nhầm logic
tab …, gen()Biến nhiều nhómNhanh, tự độngTên biến dễ rối
encodeBiến text thành sốTiện mã hóaKhông đúng dạng dummy
recodeĐổi giá trịLinh hoạtCần kiểm lại
xiTự động hóa hồi quyTối ưu mô hìnhÍt dùng riêng lẻ

Cảnh báo:

  • Tránh ghi đè biến cũ, luôn kiểm tra sau khi mã hóa hoặc recode.

➡️ Sau khi tạo biến giả, cần kiểm tra và chuẩn hóa cho phân tích tiếp theo.


4. Lưu ý thực tế khi tạo, kiểm tra & bảo toàn biến giả trong Stata

  • Khi tạo biến giả, loại bỏ hoặc xử lý dữ liệu thiếu (missing value) để không phát sinh lỗi.
  • Bảo toàn định dạng dữ liệu: Kiểm chứng bằng các lệnh như tab, summarize, list.
  • Đổi tên biến giả rõ ràng, tránh nhầm lẫn với biến gốc.
  • Nếu tập dữ liệu lớn, quản lý nhóm nhiều biến giả bằng cách ghi chú/coding nhất quán.

Checklist thực tiễn xây dựng và kiểm tra biến giả:

  • Luôn kiểm tra missing value trước khi tạo biến.
  • Kiểm tra lại kết quả tạo biến (so với biến gốc).
  • Rà soát nhóm tham chiếu chính xác.
  • Đặt tên biến nhất quán, không trùng lặp.
  • Lưu lại file dữ liệu gốc trước khi sửa/chuyển đổi biến.
  • Kiểm tra kỹ trước khi đưa vào mô hình phân tích.

➡️ Phần kế tiếp sẽ tổng hợp nhanh các lệnh hay ho nhất trong thực hành Stata!


5. Tổng hợp 30+ câu lệnh Stata tạo biến giả phổ biến nhất (Checklist thực hành)

Mục đíchCú pháp mẫuLưu ý
Tạo biến giả cho giới tínhgen male = (gender == “Nam”)Nhớ kiểm tra dấu tiếng Việt
Tạo biến giả cho vùng miềngen north = (region == “Bắc”)Nếu region có 3 giá trị, tạo k-1 biến
Tạo biến cho nhu cầu đào tạogen train_yes = (training == 1)Gán giá trị nhị phân
Loại trừ missing khi tạo biếngen dummy_x = (x == 1) if x != .Cần sạch dữ liệu trước
Tạo biến giả với tabtabulate region, generate(region_)Cho biến nhiều nhóm
Tạo biến giả từ biến sốgen age25 = (age >= 25)Nhóm lại tuổi thành nhóm
Kết hợp 2 điều kiệngen group1 = (gender == “Nam” & region == “Bắc”)Tạo dummy cho tổ hợp nhóm
Đổi tên biến giảrename oldname newnameSau khi tạo xong
Tổng hợp biến giảegen total_dummy = rowtotal(dummy1 dummy2 dummy3)Thống kê tổng số thuộc nhóm
Encode biến text sang sốencode job, gen(job_num)Lưu ý: chưa phải dummy
Recode biến sốrecode income (0/200=0) (201/max=1), gen(income_new)Cắt nhóm giá trị số
Kiểm tra biến giảtab dummy_varKiểm bảng tần suất
Xóa biến giảdrop dummy_varKhi không còn dùng tới
Gán nhãn biếnlabel variable dummy1 “Nữ”Gắn mô tả rõ ràng
Lưu biến mới ra filesave newfile.dta, replaceChủ động lưu thành file mới
Dùng xi cho hồi quy tự độngxi: regress income i.regionTạo dummy ngay trong model
Tổng hợp nhóm ngành nghềgen major_econ = (major == “Kinh tế”)Tất cả biến qualitative

Tải script mẫu: Tải file lệnh Stata mẫu tạo biến giả

Tham khảo thêm hướng dẫn Stata cơ bản tại Hướng dẫn sử dụng Stata phần 1 hoặc Lệnh if trong Stata.


6. Câu hỏi thường gặp (FAQ) về tạo biến giả trong Stata

  • Nên giữ hay xóa biến gốc sau khi tạo biến giả?
    Nên giữ biến gốc để tiện đối chứng và kiểm tra, chỉ xóa khi dữ liệu lớn và chắc chắn không sử dụng lại.
  • Chọn nhóm tham chiếu thế nào?
    Thường là nhóm phổ biến hoặc nhóm không quan tâm so sánh, tuân thủ nguyên tắc trong phân tích kinh tế lượng.
  • Bao nhiêu biến giả phù hợp khi biến nhiều nhóm?
    Nếu biến có k nhóm, chỉ tạo k-1 biến giả để tránh đa cộng tuyến giả.
  • Xử lý dữ liệu thiếu khi tạo biến giả ra sao?
    Loại bỏ dòng thiếu hoặc sử dụng lệnh điều kiện trong gen/recode.
  • Lưu biến giả đã tạo ra file mới bằng cách nào?
    Dùng lệnh save file_moi.dta, replace.

Bạn có thể tìm thêm thông tin tại Stata Help MOSL hoặc các group cộng đồng bên dưới.


7. Tài nguyên mở rộng: Video, bài viết, group hỗ trợ Stata


8. So sánh nhanh: Tạo biến giả ở Stata và SPSS/R

Tạo biến giả trên Stata trực quan qua lệnh, thích hợp xử lý nhiều biến/category lớn và dễ kiểm soát tên nhóm. SPSS ưu thế ở giao diện kéo-thả, phù hợp người mới. R yêu cầu code (dùng hàm model.matrix hoặc dummy_cols).

Phần mềmCú phápƯu điểmNhược điểm
Statagen, tab…, genLinh hoạt, tường minhCần nhớ cú pháp
SPSSTransform/RecodeDễ thao tác GUIKhó mở rộng khi nhiều biến
Rmodel.matrix…Tự động hóa dễCần biết code

Chọn Stata nếu muốn làm nhiều biến giả hoặc thường xuyên chạy mô hình với dữ liệu phức tạp (nhóm ngành, vùng, vị trí…).


Kết luận

Phân tích dữ liệu hiệu quả bắt đầu từ những bước nhỏ như tạo biến giả. MOSL đồng hành cùng bạn, giúp bạn tự tin xử lý và làm chủ bất kỳ dataset nào – dù là luận văn năm cuối hay báo cáo công ty. Đừng để những thao tác tưởng chừng “lặt vặt” này gây trở ngại nữa! Ib ngay cho MOSL để nhận thông tin tư vấn bằng cách liên hệ Hotline/Zalo: 0707339698 hoặc truy cập liên hệ tại đây.

Tham khảo thêm các chủ đề liên quan như Xuất kết quả Stata ra Word, Cách nhập dữ liệu vào StataCách xử lý dữ liệu trong Stata để nâng cao kỹ năng phân tích.

Đừng ngần ngại kết nối cùng cộng đồng MOSL trên Facebook để cập nhật kiến thức mới và nhận sự hỗ trợ nhanh chóng từ đội ngũ mentor dày dạn kinh nghiệm.

Tấn Đăng avatar

Tấn Đăng

Chào bạn, tôi là Đăng hiện là 1 trong những Founder của Mosl.vn. Tôi hiện nay đã có hơn 5 năm kinh nghiệm trong quá trình thực hiện các nghiên cứu khoa học và xử lý đa dạng các phần mềm phân tích dữ liệu. Với kiến thức có được tôi hy vọng sẽ cung cấp đến bạn các thông tin bổ ích và giúp bạn hoàn thành bài nghiên cứu một cách tốt nhất. Tôi xin chúc các bạn học tập và làm việc hiệu quả!

87 bài viết Website

Để lại cảm nghĩ của bạn ở đây

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Mục lục

Lên đầu trang