Trong PCA, có cách nào để loại bỏ các biến có hệ thống để tối đa hóa sự phân chia của hai quần thể không?


7

Tôi đang cố gắng điều tra bằng cách sử dụng phân tích thành phần chính xem có thể đoán được với sự tự tin tốt từ dân số nào ("Aurignacian" hoặc "Gravettian") một datapoint mới đến từ đâu. Một datapoint được mô tả bởi 28 biến, hầu hết trong số đó là tần số tương đối của các cổ vật khảo cổ. Các biến còn lại được tính là tỷ lệ của các biến khác.

Sử dụng tất cả các biến, các quần thể tách riêng một phần (subplot (a)), nhưng vẫn có một số chồng chéo trong phân phối của chúng (các elip dự đoán phân phối 90%, mặc dù tôi không chắc tôi có thể giả sử phân phối bình thường của quần thể). Do đó, tôi nghĩ rằng không thể dự đoán chính xác nguồn gốc của một biểu dữ liệu mới:

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

Xóa một biến (r-BE), sự trùng lặp trở nên quan trọng hơn nhiều, (các ô con (d), (e) và (f)), vì các quần thể không phân tách trong bất kỳ lô PCA nào được ghép nối: 1-2, 3- 4, ..., 25-26 và 1-27. Tôi lấy điều này có nghĩa là r-BE là điều cần thiết để phân tách hai quần thể, bởi vì tôi nghĩ rằng kết hợp lại, các lô PCA này đại diện cho 100% "thông tin" (phương sai) trong tập dữ liệu.

Do đó, tôi đã vô cùng ngạc nhiên khi nhận thấy rằng các quần thể thực sự đã tách biệt gần như hoàn toàn nếu tôi bỏ tất cả trừ một số biến:

nhập mô tả hình ảnh ở đây Tại sao mẫu này không hiển thị khi tôi thực hiện PCA trên tất cả các biến? Với 28 biến, có tới 268.435.427 cách bỏ một loạt chúng. Làm thế nào người ta có thể tìm thấy những người sẽ tối đa hóa sự phân chia dân số và tốt nhất cho phép đoán dân số nguồn gốc của các bảng dữ liệu mới? Tổng quát hơn, có một cách có hệ thống để tìm các mẫu "ẩn" như thế này không?

EDIT: Theo yêu cầu của amip, đây là các ô khi PC được thu nhỏ. Các mô hình rõ ràng hơn. (Tôi nhận ra mình đang nghịch ngợm bằng cách tiếp tục loại bỏ các biến, nhưng mẫu lần này chống lại việc loại bỏ các BE-BE, ngụ ý mẫu "ẩn" được chọn theo tỷ lệ):

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


1
+1 cho số liệu rất đẹp. Bạn đang thực hiện PCA của mình trên ma trận hiệp phương sai hay ma trận tương quan, tức là tất cả các biến có được chuẩn hóa hay không? Có thể là bạn đã không bình thường hóa các biến của mình và các biến G1 / 2/7/8/9 có phương sai ít hơn nhiều so với các biến mà PCA "đầy đủ" chủ yếu chọn?
amip

@amoeba Cảm ơn lời khen :) Tỷ lệ phần trăm không được bình thường hóa. Tôi đã thử mở rộng quy mô và nó dường như có ích. Lúc đầu tôi đã quyết định chống lại việc thu nhỏ vì tôi nghĩ nó có thể gây thêm tiếng ồn: những đồ tạo tác rất hiếm với tỷ lệ phần trăm thấp có thể được khuếch đại và với chúng là hiệu ứng của sự tình cờ. Tuy nhiên, điều đáng ngạc nhiên là hiệu ứng của G1 / 2/7/8/9 không thể nhìn thấy ngay cả trong các biến số ít quan trọng nhất.
Pertinax

Ý tôi là trong các PC ít quan trọng nhất
Pertinax

1
Tôi không thấy nó đặc biệt đáng ngạc nhiên. Những gì bạn dường như có ở đây, là một nhóm các biến (Gs) có mối tương quan tích cực với nhau (xem hàng thứ hai của hình thứ hai) và cũng có thể dự đoán chính xác dân số. Tuy nhiên, các biến này có ít phương sai hơn một số biến khác và không được chọn khi bạn thực hiện PCA trên tất cả các biến. Đồng thời, điều đó xảy ra khi chúng không xâm nhập vào một thành phần duy nhất của PCA-28 (chúng được trải rộng ra nhiều PC), đó là lý do tại sao bạn không thấy sự phân tách này trên bất kỳ âm mưu phân tán theo cặp nào.
amip

1
Cảm ơn. Có vẻ tốt đẹp. Các mũi tên không nên có cùng chiều dài; sau khi chuẩn hóa, chúng có cùng độ dài trong không gian 28 chiều đầy đủ, nhưng một khi bạn chiếu mọi thứ lên 2D, chúng sẽ có độ dài khác nhau. Mũi tên càng dài - sự đóng góp của biến tương ứng vào PC1 / 2 càng mạnh.
amip

Câu trả lời:


5

Thành phần chính (PC) dựa trên phương sai của các biến / tính năng dự đoán. Không có gì đảm bảo rằng các tính năng biến đổi cao nhất sẽ là những tính năng có liên quan cao nhất đến phân loại của bạn. Đó là một lời giải thích có thể cho kết quả của bạn. Ngoài ra, khi bạn giới hạn bản thân vào 2 máy tính tại một thời điểm như trong các ô của mình, bạn có thể thiếu các phân tách tốt hơn tồn tại trong các mẫu chiều cao hơn.

Vì bạn đã kết hợp các yếu tố dự đoán của mình dưới dạng kết hợp tuyến tính trong các ô PC, bạn có thể xem xét việc thiết lập mô hình này như một mô hình hồi quy logistic hoặc đa phương thức. Chỉ có 2 lớp (ví dụ: "Aurignacian" so với "Gravettian"), hồi quy logistic mô tả xác suất thành viên của lớp là một hàm kết hợp tuyến tính của các biến dự đoán. Một hồi quy đa thức khái quát đến hơn một lớp.

Các phương pháp này cung cấp sự linh hoạt quan trọng đối với cả biến kết quả / phân loại và các yếu tố dự đoán. Về kết quả phân loại, bạn mô hình xác suất thành viên của lớp thay vì đưa ra lựa chọn tất cả hoặc không thể hủy bỏ trong chính mô hình. Do đó, ví dụ, bạn có thể cho phép các trọng số khác nhau cho các loại lỗi phân loại khác nhau dựa trên cùng một mô hình logistic / multinomial.

Đặc biệt khi bạn bắt đầu loại bỏ các biến dự đoán khỏi một mô hình (như bạn đang làm trong các ví dụ của mình), có một mối nguy hiểm là mô hình cuối cùng sẽ trở nên quá phụ thuộc vào mẫu dữ liệu cụ thể trong tay. Về mặt các biến dự đoán trong hồi quy logistic hoặc đa biến, bạn có thể sử dụng các phương pháp xử phạt tiêu chuẩn như LASSO hoặc hồi quy sườn để có khả năng cải thiện hiệu suất của mô hình của bạn trên các mẫu dữ liệu mới. Một mô hình logistic hoặc đa biến hồi quy gần giống với những gì bạn dường như đang cố gắng thực hiện trong các ví dụ của mình. Về cơ bản, nó dựa trên các thành phần chính của bộ tính năng, nhưng nó đánh giá các PC về mối quan hệ của chúng với các phân loại hơn là bởi các phân số của phương sai tập hợp tính năng mà chúng bao gồm.


+1. Điều đáng nhấn mạnh là việc sử dụng hình phạt Lasso sẽ cung cấp các giải pháp thưa thớt (và do đó dễ hiểu hơn), đó là những gì OP dường như sẽ có sau đây.
amip

Rất cám ơn lời đề nghị của bạn. Tôi thực sự đã nhận thấy rằng người ta có thể bỏ lỡ mẫu PC1-PC3 nếu chỉ nhìn vào các PC tuần tự (PC1-PC2, PC3-PC4). Điều tôi đang tìm kiếm là một tuyên bố thuộc loại "Đối với mọi điểm dữ liệu trong tương lai, tôi có thể gán chính xác thành viên cho lớp A với độ tin cậy XX% nếu nó thuộc lớp A và đến lớp B với độ tin cậy YY% nếu là từ lớp B ". Liệu hồi quy logistic và hồi quy sườn cho phép tôi có được điều đó?
Pertinax

1
Hồi quy logistic cung cấp các câu như: "Với các giá trị dự đoán này, xác suất là XX rằng trường hợp này thuộc Lớp A." Điều đó thường hữu ích nhất cho dự đoán, với mức cắt giảm thành viên lớp thường là 1/2. Một câu lệnh giống như câu lệnh bạn tìm kiếm cũng đòi hỏi kiến ​​thức về phân phối các giá trị dự đoán trong số các trường hợp của Lớp A và B. Vì mẫu dữ liệu của bạn là ước tính của các phân phối đó, bạn có thể sử dụng xác thực chéo hoặc bootstrapping để giúp tạo ra câu lệnh đó. ISLR cung cấp chi tiết hữu ích.
EdM

2
@TheThunderChimp tình huống của bạn không khác với nhiều vấn đề phân loại, trong đó lớp giúp xác định các giá trị của các biến "dự đoán" và bạn đang cố gắng suy ra lớp bên dưới. Một cách tiếp cận LASSO hoặc mạng đàn hồi cho hồi quy logistic sẽ giúp với các biến tương quan. Sự phân tách hoàn hảo thường được nhìn thấy trong hồi quy logistic, không nhất thiết liên quan đến tương quan biến. Theo dõi hauck-donner-effectthẻ trên trang web này để được tư vấn; Câu trả lời này có thể đặc biệt hữu ích.
EdM

1
@TheThunderChimp Tôi không biết cách tiếp cận đó sẽ khái quát đến mức hơn 2 chiều. Trang này có thể thậm chí còn hữu ích hơn những gì tôi đã liên kết trong một nhận xét trước đó.
EdM
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.