Tại sao chúng ta cần phải giả mã biến phân loại


22

Tôi không chắc chắn tại sao chúng ta cần phải giả mã biến phân loại. Chẳng hạn, nếu tôi có một biến phân loại với bốn giá trị có thể 0,1,2,3 tôi có thể thay thế nó bằng hai chiều. Nếu biến có giá trị 0, nó sẽ có 0,0 ở hai chiều, nếu có 3, nó sẽ có 1,1 ở hai chiều, v.v.

Tôi không chắc tại sao chúng ta cần phải làm điều này?

Câu trả lời:


20

Giả sử bốn loại của bạn là màu mắt (mã): nâu (1), xanh dương (2), xanh lá cây (3), màu lục nhạt (4) dị thường, màu tím, đỏ, xám, v.v.

Không có cách nào (mà hiện tại tôi có thể tưởng tượng) chúng ta có nghĩa là màu xanh lá cây nâu, hay màu lục nhạt = 2 × màu xanh như mã của chúng ta ngụ ý, mặc dù 3 = 3 × 14 = 2 × 2 .= =3×= =2×3= =3×14= =2×2

Do đó (trừ khi chúng tôi vì lý do nào đó muốn ý nghĩa như vậy lọt vào phân tích của chúng tôi), chúng tôi cần sử dụng một số loại mã hóa. Mã hóa giả là một ví dụ, loại bỏ các mối quan hệ như vậy khỏi các câu chuyện thống kê mà chúng tôi muốn kể về màu mắt. Mã hóa hiệu ứng và mã hóa Heckman là những ví dụ khác.

Cập nhật: ví dụ của bạn về hai biến cho bốn loại không phù hợp với cách hiểu của tôi về thuật ngữ "mã giả" thường đòi hỏi phải thay thế loại (giả sử 4) bằng biến giả k - 1 (sắp xếp các quan sát theo danh mục):kk1

id  category  dummy1 dummy2 dummy3
 1         1       1      0      0
 2         1       1      0      0
 3         2       0      1      0
 4         2       0      1      0
 5         3       0      0      1
 6         3       0      0      1
 7         4       0      0      0
 8         4       0      0      0

Ở đây loại 4 là loại tham chiếu, giả sử rằng có một hằng số trong mô hình của bạn, chẳng hạn như:

y=β0+β1d1+β2d2+β3d3+ε

nơi là giá trị trung bình của y khi category = 4, và β điều khoản liên quan với nhau giả chỉ ra bởi những gì lượng y thay đổi từ β 0 cho thể loại đó.β0yβyβ0

Nếu bạn không có thuật ngữ ( ) không đổi trong mô hình, thì bạn cần thêm một công cụ dự đoán "giả" (có lẽ ít được gọi là "biến chỉ báo"), thực tế, mỗi người giả đều hành xử như hằng số mô hình cho mỗi loại :β0

y=β1d1+β2d2+β3d3+β4d4+ε

Vì vậy, điều này sẽ giải quyết xung quanh vấn đề tạo mối quan hệ định lượng vô nghĩa giữa các mã danh mục mà tôi đề cập lúc đầu, nhưng tại sao không sử dụng mã hóa người dùng1231 như bạn đề xuất? ứng dụng mã hóa người dùng A1231 A:

id  category   code1  code2
 1         1       0      ?
 2         1       0      ?
 3         2       1      ?
 4         2       1      ?
 5         3       ?      0
 6         3       ?      0
 7         4       ?      1
 8         4       ?      1

bạn hoàn toàn đúng khi chỉ ra rằng một người có thể biểu diễn 4 giá trị bằng cách sử dụng 2 biến nhị phân (tức là hai bit). Thật không may, một cách tiếp cận này (mã 1 cho loại 1 và 2 và mã 2 cho loại 3 và 4) để lại sự mơ hồ được biểu thị bằng các dấu hỏi: giá trị nào sẽ đến đó?!

Chà, còn cách tiếp cận thứ hai, hãy gọi nó là ứng viên mã hóa người dùng 12,31:

id  category   code1  code2
 1         1       0      0
 2         1       0      0
 3         2       0      1
 4         2       0      1
 5         3       1      0
 6         3       1      0
 7         4       1      1
 8         4       1      1

Đó! Không mơ hồ, phải không? Đúng! Thật không may, tất cả các mã hóa này là đại diện cho số lượng 1 14 (hoặc 0 mộc3) trong ký hiệu nhị phân , điều này vẫn còn nguyên vẹn vấn đề đưa các mối quan hệ định lượng không mong muốn đó vào các danh mục.

Do đó, sự cần thiết cho một chương trình mã hóa khác.

β


5
Mặc dù câu trả lời này cho thấy lý do tại sao chúng ta không thể sử dụng một biến (nghĩa là chúng ta thực sự cần 'một loại mã hóa'), nhưng nó không (chưa) giải thích lý do tại sao chúng ta không thể làm điều đó với hai biến, như OP gợi ý trong câu hỏi.
Glen_b -Reinstate Monica

@Glen_b Cảm ơn bạn. Tôi hy vọng cập nhật của tôi đã giúp địa chỉ.
Alexis

2
Lưu ý rằng 2 biến nhị phân là đủ để đại diện cho 4 loại [(0,0), (0,1), (1,0), (1,1)], nhưng không phải là cách thích hợp để giả mã để phân tích. OP dường như được mã hóa không chính xác.
Ellis Valentiner ngày

@ user12202013 Có. Như trong ví dụ cuối cùng của tôi.
Alexis

Điều gì sẽ xảy ra nếu tôi thực hiện mã hóa nhị phân bằng hai biến như được đề xuất bởi OP, nhưng sau đó nếu mục tiêu là dự đoán, thì một trình phân loại / hồi quy phi tuyến tính, không tham số có hoạt động tốt như nhau không?
tool.ish

1

Tôi đưa ra câu hỏi này là, việc mã hóa bốn trạng thái có thể chỉ bằng hai biến sẽ ít biểu cảm hơn với một số thuật toán học máy hơn là sử dụng 4 biến.

Ví dụ, hãy tưởng tượng rằng bạn muốn thực hiện hồi quy tuyến tính và ánh xạ thực của bạn ánh xạ các giá trị 0,1 và 2 đến 0 và giá trị 3 đến 1. Bạn có thể nhanh chóng kiểm tra xem không có cách nào để tìm hiểu ánh xạ này với hồi quy tuyến tính khi mã hóa biến danh mục của bạn chỉ với hai biến nhị phân (chỉ cần cố gắng khớp với mặt phẳng tương ứng trong đầu của bạn). Mặt khác, khi bạn sử dụng mã hóa 1-K, điều này sẽ không thành vấn đề.


0

Thay thế của bạn cũng là một mã giả. Bạn chọn mã giả thể hiện rõ nhất mối quan hệ với biến phụ thuộc của bạn. Ví dụ, màu sắc có thể được biểu thị bằng 1 trong n hoặc bạn có thể biến thành các thành phần rgb số hoặc bạn có thể phân loại: girly / muddy / ... 1 trong n về cơ bản có nghĩa là mỗi trường hợp được học riêng, điều này tốt nếu không có mối quan hệ. .. nhưng khi có mối quan hệ bạn đang lãng phí dữ liệu của mình..bạn phải ước tính riêng hệ số cho từng trường hợp của danh mục ... coi công việc là một biến phân loại. Bạn có thể phân loại lại là khu vực thị trường và thâm niên.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.