Điểm thành phần chính là gì?


71

Câu trả lời:


66

Đầu tiên, hãy xác định một số điểm.

John, Mike và Kate nhận được tỷ lệ phần trăm sau cho các bài kiểm tra Toán, Khoa học, Tiếng Anh và Âm nhạc như sau:

      Maths    Science    English    Music    
John  80        85          60       55  
Mike  90        85          70       45
Kate  95        80          40       50

Trong trường hợp này có tổng số 12 điểm. Mỗi điểm đại diện cho kết quả thi cho mỗi người trong một môn học cụ thể. Vì vậy, một điểm trong trường hợp này chỉ đơn giản là một đại diện cho nơi một hàng và cột giao nhau.

Bây giờ hãy xác định một cách không chính thức một Thành phần chính.

Trong bảng trên, bạn có thể dễ dàng vẽ dữ liệu trong biểu đồ 2D không? Không, bởi vì có bốn môn học (có nghĩa là bốn biến: Toán, Khoa học, Tiếng Anh và Âm nhạc), tức là:

  • Bạn có thể vẽ hai đối tượng theo cùng một cách chính xác với các tọa độ và trong đồ thị 2D.xy
  • Bạn thậm chí có thể vẽ ba đối tượng theo cùng một cách bạn sẽ vẽ , và trong biểu đồ 3D (mặc dù điều này nói chung là thực tế xấu, vì một số biến dạng là không thể tránh khỏi trong biểu diễn 2D của dữ liệu 3D).xyz

Nhưng làm thế nào bạn có âm mưu 4 chủ đề?

Hiện tại chúng tôi có bốn biến mà mỗi biến chỉ đại diện cho một chủ đề. Vì vậy, một phương pháp xung quanh điều này có thể là bằng cách nào đó kết hợp các đối tượng thành có thể chỉ là hai biến mới mà sau đó chúng ta có thể vẽ. Điều này được gọi là quy mô đa chiều .

Phân tích thành phần chính là một hình thức của quy mô đa chiều. Nó là một phép biến đổi tuyến tính của các biến thành một không gian chiều thấp hơn, giữ lại lượng thông tin tối đa về các biến. Ví dụ, điều này có nghĩa là chúng ta có thể xem xét các loại môn học mà mỗi học sinh có thể phù hợp hơn.

Do đó, một thành phần chính là sự kết hợp của các biến ban đầu sau khi chuyển đổi tuyến tính. Trong R, đây là:

DF<-data.frame(Maths=c(80, 90, 95), Science=c(85, 85, 80), English=c(60, 70, 40), Music=c(55, 45, 50))
prcomp(DF, scale = FALSE)

Điều này sẽ cung cấp cho bạn một cái gì đó như thế này (hai Thành phần chính đầu tiên chỉ vì đơn giản):

                PC1         PC2
Maths    0.27795606  0.76772853 
Science -0.17428077 -0.08162874 
English -0.94200929  0.19632732 
Music    0.07060547 -0.60447104 

Cột đầu tiên ở đây hiển thị các hệ số của tổ hợp tuyến tính xác định thành phần chính số 1 và cột thứ hai hiển thị các hệ số cho thành phần chính # 2.

Vậy điểm thành phần chính là gì?

Đó là một điểm từ bảng ở cuối bài này (xem bên dưới).

Đầu ra trên từ R có nghĩa là bây giờ chúng ta có thể vẽ điểm của mỗi người trên tất cả các đối tượng trong biểu đồ 2D như sau. Trước tiên, chúng ta cần căn giữa các biến ban đầu mà cột trừ của tôi có nghĩa là:

      Maths    Science    English    Music    
John  -8.33       1.66       3.33       5  
Mike   1.66       1.66      13.33      -5
Kate   6.66       -3.33    -16.66       0

Và sau đó để hình thành các kết hợp tuyến tính để có được điểm số PC1 và PC2 :

      x                                                    y
John -0.28*8.33 + -0.17*1.66 + -0.94*3.33  + 0.07*5   -0.77*8.33 + -0.08*1.66 + 0.19*3.33   + -0.60*5 
Mike 0.28*1.66  + -0.17*1.66 + -0.94*13.33 + -0.07*5   0.77*1.66 + -0.08*1.66 + 0.19*13.33  + -0.60*5
Kate 0.28*6.66  + 0.17*3.33  + 0.94*16.66  + 0.07*0    0.77*6.66 +  0.08*3.33 + -0.19*16.66 + -0.60*0

Mà đơn giản hóa để:

        x       y
John   -5.39   -8.90
Mike  -12.74    6.78
Kate   18.13    2.12

sáu điểm thành phần chính trong bảng trên. Bây giờ bạn có thể vẽ các điểm số trong biểu đồ 2D để hiểu được loại môn học mà mỗi học sinh có lẽ phù hợp hơn.

Có thể thu được cùng một đầu ra trong R bằng cách gõ prcomp(DF, scale = FALSE)$x.

EDIT 1: Hmm, tôi có thể đã nghĩ ra một ví dụ tốt hơn, và có nhiều điều hơn là những gì tôi đã đặt ở đây, nhưng tôi hy vọng bạn hiểu ý.

EDIT 2: tín dụng đầy đủ cho @drpaulbrewer cho nhận xét của mình trong việc cải thiện câu trả lời này.


10
Nỗ lực rất đáng khen ngợi - NHƯNG - cả PC1 và PC2 đều không cho bạn biết ai là người giỏi nhất trong tất cả các môn. Để làm như vậy, tất cả các hệ thống đối tượng PC sẽ phải tích cực. PC1 có trọng số tích cực đối với môn Toán và Âm nhạc nhưng âm đối với Khoa học và Tiếng Anh. PC2 có trọng số tích cực đối với môn Toán và tiếng Anh nhưng âm đối với Khoa học và Âm nhạc. Những gì PC nói với bạn là nơi chênh lệch lớn nhất trong bộ dữ liệu nằm. Vì vậy, bằng cách tính trọng số của các đối tượng theo các hệ số trong PC1 và sử dụng điều đó để chấm điểm cho học sinh, bạn sẽ có được sự khác biệt lớn nhất hoặc lan truyền trong hành vi của học sinh. Nó có thể phân loại các loại nhưng không hiệu suất.
Paul

+1 bình luận tốt, chúc mừng. Tất nhiên bạn đúng, tôi nên viết nó tốt hơn và bây giờ đã chỉnh sửa dòng vi phạm để làm cho nó rõ ràng tôi hy vọng.
Tony Breyal

Bạn có thể tiêu chuẩn hóa các vars, từ đó tính tổng, để xem ai là người giỏi nhất, hoặc nếu bạn thích, trong R:apply(dtf, 1, function(x) sum(scale(x)))
aL3xa

2
@JohnP Warrior Bốn biến (cột) là Toán, Khoa học, Tiếng Anh và Âm nhạc và các hàng đại diện cho các cá nhân. Thuật ngữ "chủ đề" đôi khi trở nên mơ hồ bởi vì năm năm trước tôi đã chọn một ví dụ khủng khiếp cho một câu trả lời.
Tony Breyal

1
@Tony, tôi đã tiếp tục và chỉnh sửa câu trả lời của bạn để căn giữa các biến trước khi tính điểm. Bây giờ điểm số tính toán phù hợp với những gì prcompđầu ra. Trước đó thì không.
amip nói rằng Phục hồi Monica

23

Phân tích thành phần chính (PCA) là một cách tiếp cận phổ biến để phân tích phương sai khi bạn đang xử lý dữ liệu đa biến. Bạn có các biến ngẫu nhiên X1, X2, ... Xn, tất cả đều tương quan (tích cực hoặc tiêu cực) với các mức độ khác nhau và bạn muốn hiểu rõ hơn về những gì đang diễn ra. PCA có thể giúp đỡ.

Những gì PCA mang lại cho bạn là sự thay đổi của biến thành Y1, Y2, ..., Yn (tức là cùng số lượng biến) là tổ hợp tuyến tính của Xs. Ví dụ: bạn có thể có Y1 = 2.1 X1 - 1.76 X2 + 0.2 X3 ...

Ys là tài sản tốt đẹp mà mỗi trong số chúng không có mối tương quan với nhau. Vẫn tốt hơn, bạn có được chúng theo thứ tự giảm dần. Vì vậy, Y1 "giải thích" một phần lớn về phương sai của các biến ban đầu, Y2 ít hơn một chút và cứ thế. Thông thường sau một vài Y đầu tiên, các biến trở nên hơi vô nghĩa. Điểm PCA cho bất kỳ Xi nào chỉ là hệ số của mỗi Ys. Trong ví dụ trước đây của tôi, điểm cho X2 trong thành phần chính đầu tiên (Y1) là 1,76.

Cách PCA thực hiện phép thuật này là bằng cách tính toán các hàm riêng của ma trận hiệp phương sai.

Để đưa ra một ví dụ cụ thể, hãy tưởng tượng X1, ... X10 là những thay đổi trong 1 năm, 2 năm, ..., lãi suất trái phiếu kho bạc 10 năm trong một khoảng thời gian. Khi bạn tính PCA, bạn thường thấy rằng thành phần đầu tiên có điểm cho mỗi trái phiếu có cùng dấu và về cùng một dấu. Điều này cho bạn biết rằng hầu hết các phương sai trong lợi suất trái phiếu đều xuất phát từ mọi thứ di chuyển theo cùng một cách: "dịch chuyển song song" lên hoặc xuống. Thành phần thứ hai thường cho thấy "dốc" và "làm phẳng" đường cong và có các dấu hiệu ngược lại cho X1 và X10.


Làm thế nào để giá trị Y cao hơn "giải thích" một phần lớn hơn của phương sai? Có phải đó là cách PCA được tính toán? Nếu vậy tôi nghĩ rằng tôi đã có một câu hỏi khác để đăng;)
vrish88

1
Điều đó đúng - nếu phương sai của PC là 3,5, thì PC đó "giải thích" biến thiên của 3,5 biến từ tập ban đầu. Vì PC là phụ gia PC1 > PC2 > ... > PCnvà tổng phương sai của chúng bằng tổng phương sai của tập biến ban đầu, do PCA được tính theo ma trận hiệp phương sai, tức là các biến được chuẩn hóa (SD = 1, VAR = 1).
aL3xa

6

Giả sử bạn có một đám mây gồm N điểm, giả sử, 3D (có thể được liệt kê trong một mảng 100x3). Sau đó, phân tích thành phần chính (PCA) phù hợp với một ellipsoid được định hướng tùy ý vào dữ liệu. Điểm thành phần chính là chiều dài đường kính của ellipsoid.

Theo hướng mà đường kính lớn, dữ liệu thay đổi rất nhiều, trong khi theo hướng đường kính nhỏ, dữ liệu thay đổi theo chiều dọc. Nếu bạn muốn chiếu dữ liệu Nd vào biểu đồ phân tán 2 chiều, bạn vẽ chúng dọc theo hai thành phần chính lớn nhất, bởi vì với cách tiếp cận đó, bạn hiển thị hầu hết phương sai trong dữ liệu.


Sẽ có bất kỳ lợi ích hoặc bạn có thể vẽ chúng trên một biểu đồ phân tán 3-d?
vrish88

6

Tôi thích nghĩ về điểm thành phần chính là "về cơ bản là vô nghĩa" cho đến khi bạn thực sự cho chúng một số ý nghĩa. Giải thích điểm số PC về mặt "thực tế" là một công việc khó khăn - và thực sự không có cách nào duy nhất để làm điều đó. Nó phụ thuộc vào những gì bạn biết về các biến cụ thể đang đi vào PCA và cách chúng liên quan đến nhau về mặt diễn giải.

Theo như toán học, tôi muốn giải thích điểm số PC là tọa độ của từng điểm, liên quan đến các trục thành phần chính. Vì vậy, trong các biến thô, bạn có là "điểm" trong không gian p chiều. Trong các tọa độ này, điều này có nghĩa dọc theo trục , điểm là một khoảng cách so với điểm gốc. Bây giờ, PCA về cơ bản là một cách khác để mô tả "điểm" này - đối với trục thành phần chính của nó, thay vì trục "biến thô". Vậy ta có , trong đó làxi =(x1i,x2i,,xpi)x1x1izi =(z1i,z2i,,zpi)=A(xix¯)Ap×pma trận các trọng số thành phần chính (nghĩa là các hàm riêng trong mỗi hàng) và là "centroid" của dữ liệu (hoặc vectơ trung bình của các điểm dữ liệu).x¯

Vì vậy, bạn có thể nghĩ về các hàm riêng như mô tả nơi "các đường thẳng" mô tả các PC. Sau đó, điểm thành phần chính mô tả nơi mỗi điểm dữ liệu nằm trên mỗi đường thẳng, liên quan đến "ly tâm" của dữ liệu. Bạn cũng có thể nghĩ về điểm số của PC kết hợp với các trọng số / hàm riêng như một chuỗi các dự đoán xếp hạng 1 cho mỗi điểm dữ liệu ban đầu, có dạng:

x^ji(k)=x¯j+zkiAkj

Trong đó là dự đoán cho quan sát thứ , cho biến thứ sử dụng PC thứ .x^ji(k)ijk


4

Các thành phần chính của ma trận dữ liệu là các cặp eigenvector-eigenvalue của ma trận phương sai hiệp phương sai của nó. Về bản chất, chúng là những mảnh ghép của phương sai. Mỗi cái là một tổ hợp tuyến tính của các biến cho một quan sát - giả sử bạn đo w, x, y, z trên mỗi nhóm đối tượng. PC đầu tiên của bạn có thể hoạt động giống như

0,5w + 4x + 5y - 1,5z

Các tải trọng (eigenvector) ở đây là (0,5, 4, 5, -1,5). Điểm (eigenvalue) cho mỗi quan sát là giá trị kết quả khi bạn thay thế trong quan sát (w, x, y, z) và tính tổng.

Điều này rất hữu ích khi bạn chiếu mọi thứ lên các thành phần chính của chúng (ví dụ như phát hiện ngoại lệ) vì bạn chỉ vẽ biểu đồ cho từng điểm giống như bất kỳ dữ liệu nào khác. Điều này có thể tiết lộ rất nhiều về dữ liệu của bạn nếu phần lớn phương sai tương quan (== trong một vài PC đầu tiên).


Nói rõ hơn, khi bạn nói "giả sử bạn đo w, x, y, z trên mỗi nhóm đối tượng", bạn không đề cập đến "chủ đề" từ câu trả lời của @TonyBreyal ở trên phải không? Bạn đang sử dụng từ "chủ đề" để đồng nghĩa với "quan sát" / "bản ghi" / "hàng dữ liệu"?
Ryan Chase

4

Đặt lập chỉ mục các hàng và lập chỉ mục các cột. Giả sử bạn tuyến tính hóa sự kết hợp của các biến (cột):i=1,,Nj=1,,M

Zi,1=ci,1Yi,1+ci,2Yi,2+...+ci,MYi,M

Công thức trên về cơ bản nói là nhân các phần tử hàng với một giá trị (tải) nhất định và tính tổng chúng theo các cột. Giá trị kết quả (giá trị với tải) là điểm số.cY

Thành phần chính (PC) là tổ hợp tuyến tính ) (giá trị theo các cột được gọi là điểm số). Về bản chất, PC nên trình bày các tính năng quan trọng nhất của các biến (cột). Ergo, bạn có thể trích xuất bao nhiêu PC khi có các biến (hoặc ít hơn).Z1=(Z1,1,...,ZN,1

Một đầu ra từ R trên PCA (một ví dụ giả) trông như thế này. PC1, PC2 ... là các thành phần chính 1, 2 ... Ví dụ dưới đây chỉ hiển thị 8 thành phần chính đầu tiên (trong số 17). Bạn cũng có thể trích xuất các yếu tố khác từ PCA, như tải và điểm.

Importance of components:
                          PC1    PC2    PC3    PC4    PC5    PC6    PC7    PC8
Standard deviation     1.0889 1.0642 1.0550 1.0475 1.0387 1.0277 1.0169 1.0105
Proportion of Variance 0.0697 0.0666 0.0655 0.0645 0.0635 0.0621 0.0608 0.0601
Cumulative Proportion  0.0697 0.1364 0.2018 0.2664 0.3298 0.3920 0.4528 0.5129

1
Xin lỗi, nhưng tải là gì (c trong công thức của bạn) và làm thế nào để bạn xác định chúng?
vrish88

@ vrish88 Tôi tin rằng c là "tải trọng" của người bản địa. Sự hiểu biết của tôi là về cơ bản đây chỉ là các trọng số mà bạn đưa ra cho mỗi biến. Tim giải thích điều này tốt trong câu trả lời của mình.
Ryan Chase

3

Điểm thành phần chính là một nhóm điểm đạt được sau Phân tích thành phần nguyên tắc (PCA). Trong PCA, các mối quan hệ giữa một nhóm điểm được phân tích sao cho số lượng biến "tưởng tượng" mới (còn gọi là thành phần nguyên tắc) được tạo ra. Biến đầu tiên trong số các biến tưởng tượng mới này có mối tương quan tối đa với tất cả các nhóm biến ban đầu. Tiếp theo có phần ít tương quan hơn, và cho đến khi nếu bạn sử dụng tất cả các điểm thành phần chính để dự đoán bất kỳ biến nào từ nhóm ban đầu, bạn sẽ có thể giải thích tất cả phương sai của nó. Cách thức tiến hành PCA rất phức tạp và có những hạn chế nhất định. Trong số này có một hạn chế là sự tương quan giữa bất kỳ hai thành phần chính nào (tức là các biến ảo) bằng không; do đó, nó không '

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.