Tỷ lệ phương sai được giải thích trong PCA và LDA


8

Tôi có một số câu hỏi cơ bản liên quan đến PCA (phân tích thành phần chính) và LDA (phân tích phân biệt tuyến tính):

  1. Trong PCA có một cách để tính tỷ lệ phương sai được giải thích. Nó cũng có thể cho LDA? Nếu vậy thì thế nào?

  2. Là tỷ lệ đầu ra của dấu vết đầu ra theo dõi từ ldachức năng (trong thư viện R MASS) có tương đương với tỷ lệ phương sai của giải thích không?


1
Câu hỏi đầu tiên của bạn có thể là một bản sao của stats.stackexchange.com/questions/22569 , nơi bạn có thể tìm thấy câu trả lời. Có lẽ "LDA" có nghĩa là Phân tích Phân biệt Tuyến tính (nó cũng có ý nghĩa thống kê khác, đó là lý do tại sao chúng tôi cố gắng mở rộng các từ viết tắt ).
whuber

1
Theo một nghĩa nào đó, một người phân biệt đối xử chiếm một sự thay đổi như một p. thành phần nào, giá trị riêng là số lượng của nó. Tuy nhiên, "tính biến thiên" trong LDA thuộc loại đặc biệt - đó là tỷ lệ giữa biến thể giữa các lớp với biến thiên trong lớp. Mỗi người phân biệt đối xử cố gắng chiếm càng nhiều càng tốt tỷ lệ đó. Đọc thêm
ttnphns

Cảm ơn đã giải thích. Do đó, nếu trong các trục của các thành phần PC, tôi gắn nhãn chúng là PC PC (X% của phương sai được giải thích) thì điều gì sẽ là ngắn hạn chính xác khi tôi gắn nhãn LD. Cảm ơn một lần nữa.
wrek

Với LDA, từ ngữ chính xác sẽ là LD LD (X% được giải thích giữa phương sai giữa các nhóm).
ttnphns

Cảm ơn một lần nữa vì sự giúp đỡ và kiên nhẫn tuyệt vời. BTW làm cách nào tôi có thể truy cập Tỷ lệ theo dõi (LD1, LD2) vì tôi muốn lưu chúng theo hai biến riêng biệt?
wrek

Câu trả lời:


10

Trước tiên tôi sẽ cung cấp một lời giải thích bằng lời nói, và sau đó là một giải thích kỹ thuật hơn. Câu trả lời của tôi bao gồm bốn quan sát:

  1. Như @ttnphns đã giải thích trong các ý kiến ​​ở trên, trong PCA, mỗi thành phần chính có một phương sai nhất định, tất cả cùng nhau cộng lại lên tới 100% tổng phương sai. Đối với mỗi thành phần chính, tỷ lệ phương sai của nó so với tổng phương sai được gọi là "tỷ lệ phương sai được giải thích". Điều này rất nổi tiếng.

  2. Mặt khác, trong LDA, mỗi "thành phần phân biệt đối xử" có "tính phân biệt đối xử" nhất định (tôi đã đưa ra các thuật ngữ này!) Liên quan đến nó và tất cả chúng cùng nhau chiếm tới 100% "tổng số phân biệt đối xử". Vì vậy, đối với mỗi "thành phần phân biệt đối xử", người ta có thể định nghĩa "tỷ lệ phân biệt đối xử được giải thích". Tôi đoán rằng "tỷ lệ dấu vết" mà bạn đang đề cập, chính xác là như vậy (xem bên dưới). Điều này ít được biết đến, nhưng vẫn còn phổ biến.

  3. Tuy nhiên, người ta có thể xem xét phương sai của từng thành phần phân biệt và tính "tỷ lệ phương sai" của từng thành phần. Hóa ra, họ sẽ thêm vào một cái gì đó ít hơn 100%. Tôi không nghĩ rằng tôi đã từng thấy điều này được thảo luận ở bất cứ đâu, đó là lý do chính mà tôi muốn cung cấp câu trả lời dài dòng này.

  4. Người ta cũng có thể tiến thêm một bước và tính toán phương sai mà mỗi thành phần LDA "giải thích"; điều này sẽ không chỉ là phương sai của chính nó.


Đặt là ma trận phân tán tổng của dữ liệu (nghĩa là ma trận hiệp phương sai nhưng không chuẩn hóa theo số điểm dữ liệu), W là ma trận phân tán trong lớp và B là ma trận phân tán giữa các lớp. Xem ở đây để định nghĩa . Thuận tiện, T = W + B .TWBT= =W+B

PCA thực hiện phân rã bản địa của , lấy các hàm riêng đơn vị của nó làm các trục chính và các phép chiếu dữ liệu trên các hàm riêng làm các thành phần chính. Phương sai của mỗi thành phần chính được cho bởi giá trị riêng tương ứng. Tất cả các giá trị riêng của T (đối xứng và xác định dương) đều dương và cộng với t r ( T ) , được gọi là tổng phương sai .TTtr(T)

LDA thực hiện phân rã bản địa của , lấy các hàm riêng đơn vị không trực giao (!) Của nó làm các trục phân biệt và các phép chiếu trên các hàm riêng như các thành phần phân biệt (một thuật ngữ tạo thành). Đối với mỗi thành phần biệt thức, chúng ta có thể tính toán một tỷ lệ giữa các lớp đúng B và trong lớp đúng W , tức là tín hiệu-to-noise ratio B / W . Nó chỉ ra rằng nó sẽ được đưa ra bởi giá trị riêng tương ứng của W - 1 B (Bổ đề 1, xem bên dưới). Tất cả các giá trị riêng của W - 1 B đều dương (Bổ đề 2) vì vậy tổng hợp thành một số dương t rW-1BBWB/WW-1BW-1B mà người ta có thể gọitổng tỷ số tín hiệu-nhiễu. Mỗi thành phần phân biệt đối xử có một tỷ lệ nhất định của nó, và đó là, tôi tin rằng, "tỷ lệ dấu vết" đề cập đến. Xem câu trả lời này của @ttnphns cho một cuộc thảo luận tương tự.tr(W-1B)

Điều thú vị là, phương sai của tất cả các thành phần phân biệt sẽ cộng với một giá trị nhỏ hơn tổng phương sai (ngay cả khi số của các lớp trong tập dữ liệu lớn hơn số N kích thước, vì chỉ có các trục phân biệt K - 1 , chúng sẽ thậm chí không tạo thành cơ sở trong trường hợp K - 1 < N ). Đây là một quan sát không tầm thường (Bổ đề 4) xuất phát từ thực tế là tất cả các thành phần phân biệt đối xử có mối tương quan bằng không (Bổ đề 3). Điều đó có nghĩa là chúng ta có thể tính tỷ lệ phương sai thông thường cho từng thành phần phân biệt đối xử, nhưng tổng của chúng sẽ nhỏ hơn 100%.KNK-1K-1<N

Tuy nhiên, tôi miễn cưỡng gọi các phương sai thành phần này là "phương sai được giải thích" (thay vào đó hãy gọi chúng là "phương sai được bắt giữ"). Đối với mỗi thành phần LDA, người ta có thể tính toán lượng phương sai mà nó có thể giải thích trong dữ liệu bằng cách hồi quy dữ liệu vào thành phần này; giá trị này nói chung sẽ lớn hơn phương sai "bị bắt" của chính thành phần này. Nếu có đủ các thành phần, thì phương sai được giải thích của chúng phải là 100%. Xem câu trả lời của tôi ở đây để biết cách tính phương sai được giải thích như vậy trong trường hợp chung: Phân tích thành phần chính "ngược": có bao nhiêu phương sai của dữ liệu được giải thích bởi sự kết hợp tuyến tính của các biến?

Dưới đây là một minh họa bằng cách sử dụng bộ dữ liệu Iris (chỉ các phép đo sepal!): PCA và LDA của các phép đo riêng biệt của bộ dữ liệu Iris Các đường liền nét mỏng hiển thị các trục PCA (chúng là trực giao), các đường đứt nét dày hiển thị các trục LDA (không trực giao). Tỷ lệ phương sai được giải thích bởi các trục PCA: 21 % . Tỷ lệ tín hiệu trên tạp âm của các trục LDA: 96 %4 % . Tỷ lệ phương sai được bắt bởi các trục LDA: 48 %26 % (nghĩa là chỉ 74 % với nhau). Tỷ lệ phương sai được giải thích bởi các trục LDA: 65 %35 % .79%21%96%4%48%26%74%65%35%

Trục LDA 1Trục LDA 2Trục PCA 1Trục PCA 2Phương sai bắt được48%26%79%21%Giải thích phương sai65%35%79%21%Tỷ lệ tín hiệu trên tạp âm96%4%--

vW-1BBv= =λWv

vBvvWv= =BW
λ

Bổ đề 2. Giá trị riêng của W-1B= =W-1/2W-1/2BW-1/2BW-1/2

Bổ đề 3. Lưu ý rằng hiệp phương sai / tương quan giữa các thành phần phân biệt là bằng không. Thật vậy, vector riêng khác nhau v 2 của khái quát hóa vấn đề eigenvalue B v = λ W v đều Bv1v2Bv= =λWvBWTT= =W+Bv1Tv2= =0

Bổ đề 4. Các trục phân biệt tạo thành một cơ sở không trực giaoVVTV

tr(VTV)<tr(T),

1
+1. Nhiều điều bạn thảo luận ở đây đã được đề cập, nén hơn một chút, trong câu trả lời của tôi . Tôi đã thêm một liên kết đến câu trả lời hiện tại của bạn trong cơ thể của câu hỏi cũ của tôi.
ttnphns

1
@ttnphns: Tôi nhớ câu trả lời đó của bạn (nó có +1 của tôi từ lâu), nhưng không nhìn vào đó khi viết câu trả lời này, rất nhiều điều thực sự được trình bày rất giống nhau, có lẽ quá nhiều. Lý do chính tôi đã viết câu trả lời này, tuy nhiên, là để thảo luận về "phương sai được giải thích" (theo nghĩa PCA) của các thành phần LDA. Tôi không chắc nó hữu ích như thế nào trong thực tế, nhưng tôi thường tự hỏi về nó trước đây và gần đây đã đấu tranh một thời gian để chứng minh sự bất bình đẳng từ Bổ đề 4 mà cuối cùng đã được chứng minh cho tôi trên Math.SE.
amip

Lưu ý rằng đường chéo của VTVλ+1

v
B/W= =vBvvWv= =λ
như bạn nói trong câu trả lời được liên kết của bạn. Nhưng giá trị củav
B/T= =vBvvTv= =vBv(vBv+vWv)= =λλ+1,
vTvλ

Tôi nhận thấy rằng người bản địa của một người phân biệt đối xử nhất định có chứa thông tin của B/WTB/W
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.