Nguyên tắc cách thu gọn các biến phân loại với nhiều cấp độ?


58

Những kỹ thuật nào có sẵn để thu gọn (hoặc gộp) nhiều loại thành một số ít, với mục đích sử dụng chúng làm đầu vào (dự đoán) trong mô hình thống kê?


Hãy xem xét một biến như chuyên ngành sinh viên đại học (ngành học được chọn bởi một sinh viên đại học). Nó không có thứ tự và phân loại, nhưng nó có khả năng có thể có hàng tá cấp độ khác nhau. Giả sử tôi muốn sử dụng chính như một công cụ dự đoán trong mô hình hồi quy.

Sử dụng các cấp độ này như là để mô hình hóa dẫn đến tất cả các loại vấn đề bởi vì có rất nhiều. Rất nhiều độ chính xác thống kê sẽ bị loại bỏ để sử dụng chúng, và kết quả rất khó để giải thích. Chúng tôi hiếm khi quan tâm đến các chuyên ngành cụ thể - chúng tôi có nhiều khả năng quan tâm đến các danh mục rộng (nhóm phụ) của các chuyên ngành. Nhưng không phải lúc nào cũng rõ ràng làm thế nào để phân chia các cấp thành các loại cấp cao hơn như vậy, hoặc thậm chí có bao nhiêu loại cấp cao hơn để sử dụng.

Đối với dữ liệu điển hình, tôi sẽ rất vui khi sử dụng phân tích nhân tố, nhân tố ma trận hoặc kỹ thuật mô hình tiềm ẩn riêng biệt. Nhưng chuyên ngành là các thể loại loại trừ lẫn nhau, vì vậy tôi ngần ngại khai thác hiệp phương sai của chúng cho bất cứ điều gì.

Hơn nữa, tôi không quan tâm đến các danh mục chính của họ. Tôi quan tâm đến việc sản xuất các danh mục cấp cao hơn phù hợp với kết quả hồi quy của tôi . Trong trường hợp kết quả nhị phân, điều đó gợi ý cho tôi một cái gì đó như phân tích phân biệt đối xử tuyến tính (LDA) để tạo ra các danh mục cấp cao hơn nhằm tối đa hóa hiệu suất phân biệt đối xử. Nhưng LDA là một kỹ thuật hạn chế và cảm giác như việc nạo vét dữ liệu bẩn đối với tôi. Hơn nữa, bất kỳ giải pháp liên tục sẽ khó để giải thích.

Trong khi đó, một cái gì đó dựa trên hiệp phương sai, như phân tích tương ứng nhiều (MCA), có vẻ như tôi nghi ngờ trong trường hợp này vì sự phụ thuộc vốn có giữa các biến giả loại trừ lẫn nhau - chúng phù hợp hơn để nghiên cứu nhiều biến phân loại, thay vì nhiều loại cùng biến.

chỉnh sửa : để rõ ràng, đây là về các danh mục thu gọn (không chọn chúng) và các danh mục là các yếu tố dự đoán hoặc các biến độc lập. Nhìn nhận lại, vấn đề này có vẻ như là một thời điểm thích hợp để "bình thường hóa tất cả và để Chúa loại bỏ chúng". Vui mừng khi thấy câu hỏi này là thú vị cho rất nhiều người!


2
Trong nhận xét của tôi tại stats.stackexchange.com/questions/230636/ Từ Tôi có một danh sách dài các câu hỏi tương tự ở đây! Có một cái nhìn ... Ngoài ra, tìm kiếm trang web này với từ khóa "nhiều cấp độ" bạn tìm thấy nhiều câu hỏi tương tự, một vài câu trả lời tốt.
kjetil b halvorsen

3
Tôi sẽ quay lại vấn đề này khi có thời gian ... trong lúc này, đây là một bài viết rất phù hợp để trả lời câu hỏi, một phần: epub.ub.uni-muenchen.de/12164/1/petry_etal_TR102_2011. pdf
kjetil b halvorsen

2
Tôi không nghĩ rằng tôi nhận được câu hỏi, sự thúc đẩy tự nhiên của tôi thực sự sẽ là thêm nhiều biến giả để mã hóa các cấu trúc phân cấp (có thể là nhiều phân cấp khác nhau mà bạn có thể nghĩ ra) và sau đó sử dụng chính quy L1 / L2 để đảm bảo rằng các loại cấp cao nhất được chọn thay vì các hạng mục tốt hơn. vấn đề với các chuyên ngành, v.v ... rõ ràng là không có sự tương đồng (khi được biểu diễn dưới dạng biến giả) vì vậy để có được một mô hình tốt (cho phép khái quát hóa), bạn cần cung cấp sự tương đồng đó
seanv507

1
@ssdecontrol, yea, ví dụ mẫu của tôi là số điện thoại (hoặc ID khác). Về cơ bản câu trả lời đúng khi được hỏi làm thế nào để mô hình hóa bằng cách sử dụng những điều này là - không!
seanv507

2
Nếu bạn muốn suy ra hệ thống phân cấp, bạn có thể xem xét các sơ đồ nhúng mạng thần kinh. Về cơ bản, họ sử dụng một tập hợp các nơ-ron giảm giữa các loại và phần còn lại của mô hình, do đó mô hình đó phải tìm các phép chiếu tuyến tính của các loại tương tự trong việc giải. Nó thực chất là một phiên bản phi tuyến tính của các máy nhân tố. tenorflow.org/guide/embpping
seanv507

Câu trả lời:


41

Nếu tôi hiểu chính xác, bạn tưởng tượng một mô hình tuyến tính trong đó một trong những yếu tố dự đoán là phân loại (ví dụ: chuyên ngành đại học); và bạn mong đợi rằng đối với một số nhóm con ở cấp độ của nó (nhóm con của danh mục), các hệ số có thể giống hệt nhau. Vì vậy, có lẽ các hệ số hồi quy cho Toán và Vật lý là như nhau, nhưng khác với các hệ số Hóa học và Sinh học.

Trong trường hợp đơn giản nhất, bạn sẽ có mô hình tuyến tính "một chiều ANOVA" với một công cụ dự báo phân loại duy nhất: trong đó mã hóa mức của biến phân loại ( thể loại). Nhưng bạn có thể thích một giải pháp thu gọn một số cấp (danh mục) lại với nhau, ví dụ:

yij=μ+αi+ϵij,
{ α 1 = α 2 , α 3 = α 4 = α 5 .i
{α1=α2,α3=α4=α5.

Điều này cho thấy rằng người ta có thể cố gắng sử dụng một hình phạt chính quy sẽ xử phạt các giải pháp với các bảng chữ cái khác nhau. Một điều khoản phạt xuất hiện ngay lập tức làĐiều này giống với Lasso và nên thực thi sự khác biệt của , đó chính xác là những gì bạn muốn: bạn muốn nhiều trong số chúng bằng không. Tham số chính quy nên được chọn với xác nhận chéo.α i - α j ω

L=ωi<j|αiαj|.
αiαjω

Tôi chưa bao giờ xử lý các mô hình như thế và ở trên là điều đầu tiên tôi nghĩ đến. Sau đó, tôi quyết định xem liệu có một cái gì đó như thế được thực hiện. Tôi đã thực hiện một số tìm kiếm trên google và sớm nhận ra rằng điều này được gọi là hợp nhất các danh mục; tìm kiếm lasso fusion categoricalsẽ cung cấp cho bạn rất nhiều tài liệu tham khảo để đọc. Dưới đây là một vài cái mà tôi đã xem xét ngắn gọn:

Gertheiss và Tutz 2010, được xuất bản trong Biên niên sử Thống kê Ứng dụng, trông giống như một bài báo gần đây và rất dễ đọc có chứa các tài liệu tham khảo khác. Đây là tóm tắt của nó:

Các phương pháp thu hẹp trong phân tích hồi quy thường được thiết kế cho các yếu tố dự báo số liệu. Tuy nhiên, trong bài viết này, các phương pháp thu nhỏ cho các yếu tố dự đoán phân loại được đề xuất. Là một ứng dụng, chúng tôi xem xét dữ liệu từ tiêu chuẩn thuê Munich, ví dụ, trong đó, các quận nội thành được coi là một công cụ dự báo phân loại. Nếu các biến độc lập là danh mục, một số sửa đổi đối với các thủ tục thu hẹp thông thường là cần thiết. Hai phương pháp dựa trên để lựa chọn nhân tố và phân nhóm các danh mục được trình bày và nghiên cứu. Cách tiếp cận đầu tiên được thiết kế cho các mức quy mô danh nghĩa, phương pháp thứ hai cho các yếu tố dự đoán thứ tự. Bên cạnh việc áp dụng chúng cho tiêu chuẩn thuê Munich, các phương pháp được minh họa và so sánh trong các nghiên cứu mô phỏng.L1

Tôi thích các đường dẫn giải pháp giống như Lasso của họ cho thấy mức độ của hai biến phân loại được hợp nhất với nhau khi cường độ chính quy tăng:

Gertheiss và Tutz 2010


1
Và chỉ sau khi viết tất cả những gì tôi nhận thấy rằng @Kjetil đã đưa ra một liên kết đến một trong những bài báo của Tutz cách đây một tuần ...
amip nói rằng Rebstate Monica

1
Cảm ơn đã đào sâu vào các tài liệu về điều này! Đây chắc chắn là một điểm khởi đầu tốt, đặc biệt là có một tên cho kỹ thuật này ("hợp nhất") mà tôi có thể tìm kiếm
Shadowtalker

10

Tôi đã vật lộn với điều này trong một dự án tôi đang thực hiện và tại thời điểm này tôi đã quyết định thực sự không có cách nào tốt để hợp nhất các danh mục và vì vậy tôi đang thử một mô hình phân cấp / hiệu ứng hỗn hợp trong đó tương đương của bạn chính là một hiệu ứng ngẫu nhiên.

Ngoài ra, trong các tình huống như thế này dường như thực sự có hai quyết định hợp nhất để đưa ra: 1) làm thế nào để hợp nhất các danh mục bạn có khi phù hợp với mô hình và 2) danh mục hợp nhất trở thành "khác" trong đó bạn sẽ mặc định bao gồm bất kỳ mục mới nào chuyên ngành mà ai đó mơ ước sau khi bạn phù hợp với mô hình của bạn. (Một hiệu ứng ngẫu nhiên có thể tự động xử lý trường hợp thứ hai này.)

Khi cầu chì có bất kỳ phán xét nào liên quan (trái ngược với các quy trình hoàn toàn tự động), tôi nghi ngờ về loại "khác" thường là một túi chứa các loại có ít thứ trong đó hơn là bất kỳ loại nhóm nguyên tắc nào.

Một hiệu ứng ngẫu nhiên xử lý rất nhiều cấp độ, các nhóm động ("lấy sức mạnh từ") các mức khác nhau, có thể dự đoán các mức chưa từng thấy trước đây, v.v. Một nhược điểm có thể là sự phân bố các cấp hầu như luôn luôn được coi là bình thường.


1
Bạn đã xem xét sử dụng ma trận tiệm cận làm ma trận khoảng cách để phân cụm chưa? stats.stackexchange.com/questions/270201/... ?
Keith

7

Một cách để xử lý tình huống này là mã hóa lại biến phân loại thành một biến liên tục, sử dụng cái được gọi là "mã hóa đích" (còn gọi là "mã hóa tác động") [1]. Đặt là biến đầu vào với các mức phân loại và đặt là biến đầu ra / đích / phản hồi. Thay thế bằng , trong đóZz1,...,zKYZImpact(Z)

Impact(zk)=E(Y | Z=zk)E(Y)

cho một có giá trị liên tục . Đối với có giá trị nhị phân , sử dụng thay vì chỉ .YYlogitEE

Có một triển khai Python trong thư viện category_encoders [2].

Một biến thể gọi là "mã hóa tác động" đã được triển khai trong gói R Vtreat [3] [4]. Gói (và mã hóa tác động) được mô tả trong một bài viết của các tác giả từ năm 2016 [5] và trong một số bài đăng trên blog [6]. Lưu ý rằng việc triển khai R hiện tại không xử lý các phản hồi đa phương thức (phân loại với hơn 2 loại) hoặc đa biến (giá trị véc tơ).

  1. Daniele Micci-Barreca (2001). Một lược đồ tiền xử lý cho các thuộc tính phân loại có độ chính xác cao trong các vấn đề phân loại và dự đoán. Bản tin Khám phá của ACM SIGKDD , Tập 3, Số 1, Tháng 7, 2001, Trang 27-32. https://doi.org/10.1145/507533.507538
  2. Bộ mã hóa danh mục. http://contrib.scikit-learn.org/coolical-encoding/index.html
  3. John Mount và Nina Zumel (2017). vtreat: Bộ xử lý / điều hòa 'data.frame' Sound thống kê. Gói R phiên bản 0.5.32. https://CRAN.R-project.org/package=vtreat
  4. Win-Vector (2017). vtreat. Kho lưu trữ GitHub tại https://github.com/WinVector/vtreat
  5. Zumel, Nina và Mount, John (2016). vtreat: một bộ xử lý data.frame cho mô hình dự đoán. 1611.09477v3, bản in điện tử ArXiv . Có sẵn tại https://arxiv.org/abs/1611.09477v3 .
  6. http://www.win-vector.com/blog/tag/vtreat/

Logit E là gì? Bạn có thể vui lòng chia sẻ công thức chính nó?
Optimus Prime

@OptimusPrime logit E là logit của sự kỳ vọng
Shadowtalker

Được chứ. Vì vậy, trong trường hợp đó, Impact (zk) = log (E (Y | Z = zk) −E (Y)) OR Impact (zk) = log (E (Y | Z = zk)) - log (E (Y) )?
Optimus Prime

2
Đây là việc học có giám sát và sẽ thực hiện các điều chỉnh phức tạp để nhận ra số bậc tự do đang bị "đánh cắp" từ Y.
Frank Harrell

3
Chắc chắn - bất kỳ phương pháp nào sử dụng Y để hướng dẫn cách xử lý các danh mục cho công cụ dự đoán phân loại sẽ phải chịu quá mức và sẽ rất khó để có được các khoảng không chắc chắn đủ rộng để chính xác. Tôi đang tập trung vào việc học tập không giám sát để những vấn đề đó không xảy ra.
Frank Harrell

6

Nếu bạn có một biến độc lập phụ trợ hợp lý để sử dụng làm mỏ neo cho công cụ dự đoán phân loại, hãy xem xét việc sử dụng thuật toán chấm điểm tối ưu của Fisher, có liên quan đến phân tích phân biệt tuyến tính của anh ấy. Giả sử rằng bạn muốn ánh xạ chuyên ngành đại học thành một số liệu liên tục duy nhất và giả sử rằng một mỏ neo thích hợp là điểm kiểm tra định lượng SAT trước khi nhập học. Tính điểm định lượng trung bình cho từng chuyên ngành và thay thế điểm chính bằng giá trị trung bình đó. Bạn có thể dễ dàng mở rộng điều này đến nhiều neo, tạo ra nhiều hơn một mức độ tự do để tóm tắt chính.

Lưu ý rằng không giống như một số đề xuất trước đây, chấm điểm tối ưu đại diện cho phương pháp học tập không giám sát, do đó mức độ tự do (số lượng tham số ước tính so với Y) rất ít và được xác định rõ, dẫn đến suy luận thống kê chính xác (nếu thường xuyên, sai số chuẩn chính xác, độ tin cậy (tương thích) khoảng và giá trị p).

Tôi rất thích đề xuất xử phạt của https://stats.stackexchange.com/users/28666/amoeba @amoeba.


Bạn có tử tế khi xem số liệu thống kê câu hỏi của tôi không.stackexchange.com / q / 383887/44368 ? Cảm ơn bạn.
Hans

Là điểm tối ưu phương pháp được mô tả trên slide 15 của bài giảng này ? Thật khó để tìm kiếm những thuật ngữ đó, tất cả chúng đều phổ biến trong các bối cảnh khác.
Shadowtalker

1
Tôi chắc chắn là 0,85
Frank Harrell

Phiên bản này có vẻ giống như (một phiên bản tốt hơn) của ý tưởng mã hóa mục tiêu từ học máy, ví dụ: stats.stackexchange.com/questions/398903/ Kẻ
kjetil b halvorsen

2

Bài viết " Một sơ đồ tiền xử lý cho các thuộc tính phân loại có độ chính xác cao trong các vấn đề phân loại và dự đoán " tận dụng cấu trúc phân cấp trong các thuộc tính thể loại trong sơ đồ 'Bay theo kinh nghiệm' lồng nhau ở mọi nhóm / cấp để xác định biến phân loại thành xác suất của lớp sau. có thể được sử dụng trực tiếp hoặc làm đầu vào cho các mô hình khác.


Về cơ bản, đây là những gì @Wayne đề xuất (mô hình hiệu ứng hỗn hợp ~ phiên bản thường xuyên của mô hình phân cấp Bayes) và những gì tôi đề xuất trong nhận xét để đặt câu hỏi. Tuy nhiên OP muốn suy ra thứ bậc.
seanv507

1

Có nhiều câu hỏi ở đây, và một số câu hỏi được hỏi & trả lời trước đó. Nếu vấn đề là tính toán mất nhiều thời gian: Có nhiều phương pháp để giải quyết vấn đề đó, hãy xem hồi quy quy mô lớn với ma trận tính năng thưa thớt và bài báo của Maechler và Bates .

Nhưng nó có thể là vấn đề với mô hình hóa, tôi không chắc chắn rằng các phương pháp thông thường để xử lý các biến dự báo phân loại thực sự đưa ra hướng dẫn đầy đủ khi có các biến phân loại với rất nhiều cấp độ, hãy xem trang web này cho thẻ [many-categories]. Chắc chắn có nhiều cách người ta có thể thử, một cách có thể (nếu đây là một ý tưởng tốt cho ví dụ của bạn tôi không thể biết, bạn đã không cho chúng tôi biết ứng dụng cụ thể của bạn) một loại biến phân loại phân cấp, nghĩa là được truyền cảm hứng bởi hệ thống được sử dụng trong phân loại sinh học, xem https://en.wikipedia.org/wiki/Taxonomy_(biology). Ở đó, một cá thể (thực vật hoặc động vật) được phân loại đầu tiên thành Miền, sau đó là Vương quốc, Phylum, Lớp, Trật tự, Gia đình, Chi và cuối cùng là Loài. Vì vậy, đối với mỗi cấp độ trong phân loại, bạn có thể tạo một biến nhân tố. Nếu cấp độ của bạn là các sản phẩm được bán trong siêu thị, bạn có thể tạo một phân loại phân cấp bắt đầu bằng [thực phẩm, đồ dùng nhà bếp, khác], thì thực phẩm có thể được phân loại là [thịt, cá, rau, ngũ cốc, ...] và Sớm. Chỉ là một khả năng, đưa ra một hệ thống phân cấp trước, không liên quan cụ thể đến kết quả.

Nhưng bạn nói:

Tôi quan tâm đến việc sản xuất các danh mục cấp cao hơn phù hợp với kết quả hồi quy của tôi.

Sau đó, bạn có thể thử Lasso hợp nhất , xem các câu trả lời khác trong chuỗi này, có thể được coi là một cách thu gọn các cấp thành các nhóm lớn hơn, hoàn toàn dựa trên dữ liệu, không phải là một tổ chức cấp trước theo đề xuất của tôi về phân cấp tổ chức các cấp.

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.