Phân tích thành phần chính có thể được áp dụng cho các bộ dữ liệu có chứa hỗn hợp các biến liên tục và phân loại không?


147

Tôi có một bộ dữ liệu có cả dữ liệu liên tục và phân loại. Tôi đang phân tích bằng cách sử dụng PCA và tự hỏi liệu có tốt không nếu bao gồm các biến phân loại như là một phần của phân tích. Hiểu biết của tôi là PCA chỉ có thể được áp dụng cho các biến liên tục. Đúng không? Nếu nó không thể được sử dụng cho dữ liệu phân loại, những gì thay thế tồn tại cho phân tích của họ?



Có một cuộc thảo luận về ResearchGate: researchgate.net/post/Should_I_use_PCA_with_categorical_data
GoingMyWay

Câu trả lời:


87

Mặc dù PCA được áp dụng trên dữ liệu nhị phân sẽ mang lại kết quả tương đương với kết quả thu được từ Phân tích nhiều tương ứng (điểm yếu tố và giá trị bản địa có liên quan tuyến tính), có nhiều kỹ thuật phù hợp hơn để xử lý các loại dữ liệu hỗn hợp, cụ thể là Phân tích nhiều yếu tố có sẵn trong dữ liệu hỗn hợp có sẵn trong các FactoMineR gói R ( AFDM()). Nếu các biến của bạn có thể được coi là tập hợp con có cấu trúc của các thuộc tính mô tả, thì Phân tích nhiều yếu tố ( MFA()) cũng là một tùy chọn.

Thách thức với các biến phân loại là tìm ra một cách phù hợp để biểu thị khoảng cách giữa các loại biến và các cá nhân trong không gian giai thừa. Để khắc phục vấn đề này, bạn có thể tìm kiếm một phép biến đổi phi tuyến tính của từng biến - cho dù đó là danh nghĩa, thứ tự, đa thức hoặc số - với tỷ lệ tối ưu. Này được giải thích trong Gifi Phương pháp Scaling tối ưu trong R: Các homals trọn gói , và một thực hiện có sẵn trong tương ứng với gói R homals .


2
chl, cảm ơn vì con trỏ đến FADM. Mặc dù vậy, tôi đã tự hỏi: một khi tôi áp dụng FADM cho một tập dữ liệu (obj <- FADM (x)), tôi có thể dễ dàng truy cập tập dữ liệu được chuyển đổi thông qua: obj $ ind $ tọa độ. Tuy nhiên, nếu tôi muốn áp dụng cùng một chuyển đổi cho một tập dữ liệu khác, làm thế nào tôi có thể làm như vậy? (Điều này là cần thiết, ví dụ, nếu tôi có một bộ xe lửa và tôi tìm thấy "các thành phần chính" từ bộ xe lửa này, và sau đó muốn xem xét bộ thử nghiệm thông qua các "thành phần chính" đó). Các tài liệu không thực sự rõ ràng về điều này, và bài báo chức năng dựa trên là tiếng Pháp.
casandra

Về : Although a PCA applied on binary data would yield results comparable to those obtained from a Multiple Correspondence Analysis, chúng ta không thể chuyển đổi một biến phân loại danh nghĩa (giả sử với N cardinality) thành một tập hợp các nhị phân giả (N-1) và sau đó thực hiện PCA trên dữ liệu này? (Tôi hiểu có nhiều kỹ thuật phù hợp hơn)
Zhubarb

31

Một tìm kiếm Google "pca cho các biến rời rạc" đưa ra tổng quan tốt đẹp này của S. Kolenikov (@StasK) và G. Angeles. Để thêm vào câu trả lời chl, phân tích PC thực sự là phân tích các hàm riêng của ma trận hiệp phương sai. Vì vậy, vấn đề là làm thế nào để tính toán ma trận hiệp phương sai "chính xác". Một trong những cách tiếp cận là sử dụng tương quan đa âm .


(+1) Cảm ơn liên kết. Cũng có thể xem xét ma trận tương quan không đồng nhất (xem, ví dụ hetcor()từ gói polycor ). Với điều kiện ma trận VC là SDP, nó sẽ thực hiện công việc - chủ yếu theo tinh thần Phân tích nhân tố. Các biến danh nghĩa có thể được mã hóa giả.
chl

@StasK, kudos :) Dường như không chỉ tôi thấy bài nói chuyện này hữu ích, nếu không nó sẽ không đứng đầu trong tìm kiếm của Google. Câu hỏi này thỉnh thoảng xuất hiện, vì vậy có lẽ bạn muốn làm một bài đăng blog về nó cho blog cộng đồng của chúng tôi?
mpiktas

@StasK, tôi đã chỉnh sửa bài viết để đề cập đến các tác giả của tổng quan. Ý định ban đầu của tôi là chứng minh rằng tìm kiếm trên google có thể đưa ra câu trả lời tốt, vì vậy không cần phải hỏi rõ ràng ở đây. Nhưng đây không phải là một cái cớ để không trích dẫn các tác giả, do sự biến động của internet.
mpiktas

1
@mpiktas, cảm ơn. Có một bài viết thực sự nhắm vào các nhà kinh tế được tạo ra từ tác phẩm này: dx.doi.org/10.1111/j.1475-4991.2008.00309.x , mặc dù các biên tập viên yêu cầu chúng tôi cắt ra rất nhiều mà tôi đề nghị nên đọc bài làm việc thông tin, và trích dẫn một trong những công bố.
StasK

9

Tôi sẽ đề nghị xem xét Linting & Kooij, 2012 " Phân tích thành phần chính phi tuyến tính với CATPCA: một hướng dẫn ", Tạp chí Đánh giá tính cách ; 94 (1).

trừu tượng

Bài viết này được thiết lập như một hướng dẫn về phân tích thành phần chính phi tuyến (NLPCA), hướng dẫn một cách có hệ thống cho người đọc thông qua quá trình phân tích dữ liệu thực tế về đánh giá tính cách bằng Rorschach Inkblot Test. NLPCA là một thay thế linh hoạt hơn cho PCA tuyến tính, có thể xử lý việc phân tích các biến có thể liên quan đến phi tuyến với các loại mức đo khác nhau. Phương pháp này đặc biệt phù hợp để phân tích dữ liệu danh nghĩa (định tính) và thứ tự (ví dụ: loại Likert), có thể kết hợp với dữ liệu số. CATPCA chương trình từ mô đun Danh mục trong SPSS được sử dụng trong các phân tích, nhưng mô tả phương pháp có thể dễ dàng được khái quát hóa cho các gói phần mềm khác.


4

Tôi vẫn chưa nhận được đặc quyền nhận xét về bài đăng của ai đó vì vậy tôi đang thêm nhận xét của mình dưới dạng một câu trả lời riêng biệt, vì vậy hãy đồng ý với tôi.

Tiếp tục với những gì @Martin F nhận xét, gần đây tôi đã bắt gặp các PCA phi tuyến. Tôi đã xem xét các PCA phi tuyến như một giải pháp thay thế khả thi khi một biến liên tục tiếp cận phân phối biến số thứ tự khi dữ liệu trở nên thưa thớt hơn (nó xảy ra trong di truyền rất nhiều lần khi tần số alen nhỏ của biến số ngày càng thấp hơn và bạn bị bỏ lại với số lượng rất ít trong đó bạn không thể thực sự chứng minh được sự phân phối của một biến liên tục và bạn phải nới lỏng các giả định phân phối bằng cách biến nó thành một biến số thứ tự hoặc một biến phân loại.) PCA phi tuyến tính có thể xử lý cả hai điều kiện này nhưng sau đó thảo luận với maestros thống kê trong khoa di truyền học, lời kêu gọi đồng thuận là các PCA phi tuyến không được sử dụng thường xuyên và hành vi của các PCA đó chưa được thử nghiệm rộng rãi (có thể chúng chỉ đề cập đến lĩnh vực di truyền, vì vậy vui lòng sử dụng nó với hạt muối). Quả thực đó là một lựa chọn hấp dẫn. Tôi hy vọng tôi đã thêm 2cents (may mắn thay có liên quan) để thảo luận.


Chào mừng câu trả lời của bạn, Mandar. Bạn đang đề cập đến PCA phi tuyến bằng phương pháp CATPCA hoặc PCA phi tuyến khác (phương pháp nào, sau đó?). Cũng lưu ý rằng đối với các biến nhị phân , CATPCA, chẳng hạn, vô dụng hoặc tầm thường bởi vì thang đo nhị phân không thể định lượng được ngoài việc ... phân đôi!
ttnphns

thnak bạn @ttnphns. Tôi đồng ý với quan điểm của bạn về các biến nhị phân như đối với biến nhị phân, mọi giả định đều không thành vấn đề. Mặt khác, tôi thực sự đã đề cập đến một chương sách từ "Giới thiệu về PCA phi tuyến" [link] ( openaccess.leidenuniv.nl/bitstream/handle/1887/12386/ canh ). Nó đề cập đến CATPCA chủ yếu và các gói PRINQUAL từ SAS.
Mandar

2

Có một cách tiếp cận được phát triển gần đây cho các vấn đề như vậy: Mô hình xếp hạng thấp tổng quát .

Một trong những bài báo sử dụng kỹ thuật này thậm chí còn được gọi là PCA trên Khung dữ liệu .


PCA có thể được đặt ra như thế này:

Cho x ma trậnm MnmM

tìm x matrix và x matrix (điều này mã hóa thứ hạng e ràng buộc ngầm) sao chok X k m Y knkX^kmY^k

X^,Y^ = .argminX,YMXYF2

'Tổng quát' từ GLRM là viết tắt của thay đổi cho một thứ khác và thêm một thuật ngữ chính quy.F2


Điều này nghe có vẻ giống như sáng chế hơn là ý tưởng mới. Tìm kiếm gifi!
kjetil b halvorsen

Bạn không chính xác, có vẻ như GLRM là một khái quát (thực ra bài báo tôi liên kết trích dẫn gói giấy gifi).
Jakub Bartczuk

1

PCAmixdataGói #Rstats :

Triển khai phân tích thành phần chính, xoay trực giao và phân tích nhiều yếu tố cho hỗn hợp các biến định lượng và định tính.

Ví dụ từ họa tiết hiển thị kết quả cho cả đầu ra liên tục và phân loại

nhập mô tả hình ảnh ở đây

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.