Các giá trị tỷ lệ trong phân tích phân biệt tuyến tính (LDA) có thể được sử dụng để vẽ các biến giải thích trên các phân biệt tuyến tính không?


11

Sử dụng một nhóm các giá trị thu được thông qua phân tích thành phần chính, có thể khám phá các biến giải thích tạo nên từng thành phần nguyên tắc. Điều này cũng có thể với Phân tích Phân biệt Tuyến tính?

Các ví dụ được cung cấp sử dụng Dữ liệu là "Dữ liệu Iris của Edgar Anderson" ( http://en.wikipedia.org/wiki/Iris_flower_data_set ). Đây là dữ liệu mống mắt :

  id  SLength   SWidth  PLength   PWidth species 

   1      5.1      3.5      1.4       .2 setosa 
   2      4.9      3.0      1.4       .2 setosa 
   3      4.7      3.2      1.3       .2 setosa 
   4      4.6      3.1      1.5       .2 setosa 
   5      5.0      3.6      1.4       .2 setosa 
   6      5.4      3.9      1.7       .4 setosa 
   7      4.6      3.4      1.4       .3 setosa 
   8      5.0      3.4      1.5       .2 setosa 
   9      4.4      2.9      1.4       .2 setosa 
  10      4.9      3.1      1.5       .1 setosa 
  11      5.4      3.7      1.5       .2 setosa 
  12      4.8      3.4      1.6       .2 setosa 
  13      4.8      3.0      1.4       .1 setosa 
  14      4.3      3.0      1.1       .1 setosa 
  15      5.8      4.0      1.2       .2 setosa 
  16      5.7      4.4      1.5       .4 setosa 
  17      5.4      3.9      1.3       .4 setosa 
  18      5.1      3.5      1.4       .3 setosa 
  19      5.7      3.8      1.7       .3 setosa 
  20      5.1      3.8      1.5       .3 setosa 
  21      5.4      3.4      1.7       .2 setosa 
  22      5.1      3.7      1.5       .4 setosa 
  23      4.6      3.6      1.0       .2 setosa 
  24      5.1      3.3      1.7       .5 setosa 
  25      4.8      3.4      1.9       .2 setosa 
  26      5.0      3.0      1.6       .2 setosa 
  27      5.0      3.4      1.6       .4 setosa 
  28      5.2      3.5      1.5       .2 setosa 
  29      5.2      3.4      1.4       .2 setosa 
  30      4.7      3.2      1.6       .2 setosa 
  31      4.8      3.1      1.6       .2 setosa 
  32      5.4      3.4      1.5       .4 setosa 
  33      5.2      4.1      1.5       .1 setosa 
  34      5.5      4.2      1.4       .2 setosa 
  35      4.9      3.1      1.5       .2 setosa 
  36      5.0      3.2      1.2       .2 setosa 
  37      5.5      3.5      1.3       .2 setosa 
  38      4.9      3.6      1.4       .1 setosa 
  39      4.4      3.0      1.3       .2 setosa 
  40      5.1      3.4      1.5       .2 setosa 
  41      5.0      3.5      1.3       .3 setosa 
  42      4.5      2.3      1.3       .3 setosa 
  43      4.4      3.2      1.3       .2 setosa 
  44      5.0      3.5      1.6       .6 setosa 
  45      5.1      3.8      1.9       .4 setosa 
  46      4.8      3.0      1.4       .3 setosa 
  47      5.1      3.8      1.6       .2 setosa 
  48      4.6      3.2      1.4       .2 setosa 
  49      5.3      3.7      1.5       .2 setosa 
  50      5.0      3.3      1.4       .2 setosa 
  51      7.0      3.2      4.7      1.4 versicolor 
  52      6.4      3.2      4.5      1.5 versicolor 
  53      6.9      3.1      4.9      1.5 versicolor 
  54      5.5      2.3      4.0      1.3 versicolor 
  55      6.5      2.8      4.6      1.5 versicolor 
  56      5.7      2.8      4.5      1.3 versicolor 
  57      6.3      3.3      4.7      1.6 versicolor 
  58      4.9      2.4      3.3      1.0 versicolor 
  59      6.6      2.9      4.6      1.3 versicolor 
  60      5.2      2.7      3.9      1.4 versicolor 
  61      5.0      2.0      3.5      1.0 versicolor 
  62      5.9      3.0      4.2      1.5 versicolor 
  63      6.0      2.2      4.0      1.0 versicolor 
  64      6.1      2.9      4.7      1.4 versicolor 
  65      5.6      2.9      3.6      1.3 versicolor 
  66      6.7      3.1      4.4      1.4 versicolor 
  67      5.6      3.0      4.5      1.5 versicolor 
  68      5.8      2.7      4.1      1.0 versicolor 
  69      6.2      2.2      4.5      1.5 versicolor 
  70      5.6      2.5      3.9      1.1 versicolor 
  71      5.9      3.2      4.8      1.8 versicolor 
  72      6.1      2.8      4.0      1.3 versicolor 
  73      6.3      2.5      4.9      1.5 versicolor 
  74      6.1      2.8      4.7      1.2 versicolor 
  75      6.4      2.9      4.3      1.3 versicolor 
  76      6.6      3.0      4.4      1.4 versicolor 
  77      6.8      2.8      4.8      1.4 versicolor 
  78      6.7      3.0      5.0      1.7 versicolor 
  79      6.0      2.9      4.5      1.5 versicolor 
  80      5.7      2.6      3.5      1.0 versicolor 
  81      5.5      2.4      3.8      1.1 versicolor 
  82      5.5      2.4      3.7      1.0 versicolor 
  83      5.8      2.7      3.9      1.2 versicolor 
  84      6.0      2.7      5.1      1.6 versicolor 
  85      5.4      3.0      4.5      1.5 versicolor 
  86      6.0      3.4      4.5      1.6 versicolor 
  87      6.7      3.1      4.7      1.5 versicolor 
  88      6.3      2.3      4.4      1.3 versicolor 
  89      5.6      3.0      4.1      1.3 versicolor 
  90      5.5      2.5      4.0      1.3 versicolor 
  91      5.5      2.6      4.4      1.2 versicolor 
  92      6.1      3.0      4.6      1.4 versicolor 
  93      5.8      2.6      4.0      1.2 versicolor 
  94      5.0      2.3      3.3      1.0 versicolor 
  95      5.6      2.7      4.2      1.3 versicolor 
  96      5.7      3.0      4.2      1.2 versicolor 
  97      5.7      2.9      4.2      1.3 versicolor 
  98      6.2      2.9      4.3      1.3 versicolor 
  99      5.1      2.5      3.0      1.1 versicolor 
 100      5.7      2.8      4.1      1.3 versicolor 
 101      6.3      3.3      6.0      2.5 virginica 
 102      5.8      2.7      5.1      1.9 virginica 
 103      7.1      3.0      5.9      2.1 virginica 
 104      6.3      2.9      5.6      1.8 virginica 
 105      6.5      3.0      5.8      2.2 virginica 
 106      7.6      3.0      6.6      2.1 virginica 
 107      4.9      2.5      4.5      1.7 virginica 
 108      7.3      2.9      6.3      1.8 virginica 
 109      6.7      2.5      5.8      1.8 virginica 
 110      7.2      3.6      6.1      2.5 virginica 
 111      6.5      3.2      5.1      2.0 virginica 
 112      6.4      2.7      5.3      1.9 virginica 
 113      6.8      3.0      5.5      2.1 virginica 
 114      5.7      2.5      5.0      2.0 virginica 
 115      5.8      2.8      5.1      2.4 virginica 
 116      6.4      3.2      5.3      2.3 virginica 
 117      6.5      3.0      5.5      1.8 virginica 
 118      7.7      3.8      6.7      2.2 virginica 
 119      7.7      2.6      6.9      2.3 virginica 
 120      6.0      2.2      5.0      1.5 virginica 
 121      6.9      3.2      5.7      2.3 virginica 
 122      5.6      2.8      4.9      2.0 virginica 
 123      7.7      2.8      6.7      2.0 virginica 
 124      6.3      2.7      4.9      1.8 virginica 
 125      6.7      3.3      5.7      2.1 virginica 
 126      7.2      3.2      6.0      1.8 virginica 
 127      6.2      2.8      4.8      1.8 virginica 
 128      6.1      3.0      4.9      1.8 virginica 
 129      6.4      2.8      5.6      2.1 virginica 
 130      7.2      3.0      5.8      1.6 virginica 
 131      7.4      2.8      6.1      1.9 virginica 
 132      7.9      3.8      6.4      2.0 virginica 
 133      6.4      2.8      5.6      2.2 virginica 
 134      6.3      2.8      5.1      1.5 virginica 
 135      6.1      2.6      5.6      1.4 virginica 
 136      7.7      3.0      6.1      2.3 virginica 
 137      6.3      3.4      5.6      2.4 virginica 
 138      6.4      3.1      5.5      1.8 virginica 
 139      6.0      3.0      4.8      1.8 virginica 
 140      6.9      3.1      5.4      2.1 virginica 
 141      6.7      3.1      5.6      2.4 virginica 
 142      6.9      3.1      5.1      2.3 virginica 
 143      5.8      2.7      5.1      1.9 virginica 
 144      6.8      3.2      5.9      2.3 virginica 
 145      6.7      3.3      5.7      2.5 virginica 
 146      6.7      3.0      5.2      2.3 virginica 
 147      6.3      2.5      5.0      1.9 virginica 
 148      6.5      3.0      5.2      2.0 virginica 
 149      6.2      3.4      5.4      2.3 virginica 
 150      5.9      3.0      5.1      1.8 virginica

Ví dụ biplot PCA sử dụng bộ dữ liệu mống mắt trong R (mã bên dưới):

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

Hình này cho thấy chiều dài Cánh hoa và Chiều rộng Cánh hoa rất quan trọng trong việc xác định điểm PC1 và trong việc phân biệt giữa các nhóm Loài. setosa có cánh hoa nhỏ hơn và cánh hoa rộng hơn.

Rõ ràng, kết luận tương tự có thể được rút ra từ âm mưu kết quả phân tích phân biệt tuyến tính, mặc dù tôi không chắc chắn những gì âm mưu LDA trình bày, do đó câu hỏi. Trục là hai phân biệt tuyến tính đầu tiên (LD1 99% và LD2 1% theo dõi). Tọa độ của các vectơ màu đỏ là "Hệ số của các phân biệt tuyến tính" cũng được mô tả là "chia tỷ lệ" (lda.fit $ chia tỷ lệ: một ma trận biến đổi các quan sát thành các hàm phân biệt, được chuẩn hóa để trong các nhóm ma trận hiệp phương sai là hình cầu). "nhân rộng" được tính như diag(1/f1, , p)f1 is sqrt(diag(var(x - group.means[g, ]))). Dữ liệu có thể được chiếu lên các phân biệt tuyến tính (sử dụng dự đoán.lda) (mã bên dưới, như đã trình bày https://stackoverflow.com/a/17240647/742447). Dữ liệu và các biến dự đoán được vẽ cùng nhau để các loài được xác định bởi sự gia tăng trong đó các biến dự đoán có thể được nhìn thấy (như được thực hiện cho các bộ ba PCA thông thường và bộ ba PCA ở trên):

Ví dụ biplot LDA sử dụng bộ dữ liệu mống mắt trong R

Từ cốt truyện này, chiều rộng Sepal, chiều rộng cánh hoa và chiều dài cánh hoa đều góp phần vào mức tương tự LD1. Đúng như dự đoán, setosa xuất hiện những cánh hoa nhỏ hơn và cánh hoa rộng hơn.

Không có cách tích hợp nào để vẽ đồ thị như vậy từ LDA trong R và một vài cuộc thảo luận về trực tuyến này, điều này khiến tôi cảnh giác với phương pháp này.

Liệu biểu đồ LDA này (xem mã dưới đây) có cung cấp một cách giải thích hợp lệ về điểm số tỷ lệ biến dự đoán không?

Mã cho PCA:

require(grid)

  iris.pca <- prcomp(iris[,-5])
  PC <- iris.pca
  x="PC1"
  y="PC2"
  PCdata <- data.frame(obsnames=iris[,5], PC$x)

  datapc <- data.frame(varnames=rownames(PC$rotation), PC$rotation)
  mult <- min(
    (max(PCdata[,y]) - min(PCdata[,y])/(max(datapc[,y])-min(datapc[,y]))),
    (max(PCdata[,x]) - min(PCdata[,x])/(max(datapc[,x])-min(datapc[,x])))
  )
  datapc <- transform(datapc,
                      v1 = 1.6 * mult * (get(x)),
                      v2 = 1.6 * mult * (get(y))
  )

  datapc$length <- with(datapc, sqrt(v1^2+v2^2))
  datapc <- datapc[order(-datapc$length),]

  p <- qplot(data=data.frame(iris.pca$x),
             main="PCA",
             x=PC1,
             y=PC2,
             shape=iris$Species)
  #p <- p + stat_ellipse(aes(group=iris$Species))
  p <- p + geom_hline(aes(0), size=.2) + geom_vline(aes(0), size=.2)
  p <- p + geom_text(data=datapc, 
                     aes(x=v1, y=v2,
                         label=varnames,
                         shape=NULL,
                         linetype=NULL,
                         alpha=length), 
                     size = 3, vjust=0.5,
                     hjust=0, color="red")
  p <- p + geom_segment(data=datapc, 
                        aes(x=0, y=0, xend=v1,
                            yend=v2, shape=NULL, 
                            linetype=NULL,
                            alpha=length),
                        arrow=arrow(length=unit(0.2,"cm")),
                        alpha=0.5, color="red")
  p <- p + coord_flip()


  print(p)

Mã cho LDA

#Perform LDA analysis
iris.lda <- lda(as.factor(Species)~.,
                 data=iris)

#Project data on linear discriminants
iris.lda.values <- predict(iris.lda, iris[,-5])

#Extract scaling for each predictor and
data.lda <- data.frame(varnames=rownames(coef(iris.lda)), coef(iris.lda))

#coef(iris.lda) is equivalent to iris.lda$scaling

data.lda$length <- with(data.lda, sqrt(LD1^2+LD2^2))
scale.para <- 0.75

#Plot the results
p <- qplot(data=data.frame(iris.lda.values$x),
           main="LDA",
           x=LD1,
           y=LD2,
           shape=iris$Species)#+stat_ellipse()
p <- p + geom_hline(aes(0), size=.2) + geom_vline(aes(0), size=.2)
p <- p + theme(legend.position="none")
p <- p + geom_text(data=data.lda,
                   aes(x=LD1*scale.para, y=LD2*scale.para,
                       label=varnames, 
                       shape=NULL, linetype=NULL,
                       alpha=length),
                   size = 3, vjust=0.5,
                   hjust=0, color="red")
p <- p + geom_segment(data=data.lda,
                      aes(x=0, y=0,
                          xend=LD1*scale.para, yend=LD2*scale.para,
                          shape=NULL, linetype=NULL,
                          alpha=length),
                      arrow=arrow(length=unit(0.2,"cm")),
                      color="red")
p <- p + coord_flip()

print(p)

Kết quả của LDA như sau

lda(as.factor(Species) ~ ., data = iris)

Prior probabilities of groups:
    setosa versicolor  virginica 
 0.3333333  0.3333333  0.3333333 

Group means:
           Sepal.Length Sepal.Width Petal.Length Petal.Width
setosa            5.006       3.428        1.462       0.246
versicolor        5.936       2.770        4.260       1.326
virginica         6.588       2.974        5.552       2.026

Coefficients of linear discriminants:
                    LD1         LD2
Sepal.Length  0.8293776  0.02410215
Sepal.Width   1.5344731  2.16452123
Petal.Length -2.2012117 -0.93192121
Petal.Width  -2.8104603  2.83918785

Proportion of trace:
   LD1    LD2 
0.9912 0.0088

Tôi không thể theo dõi mã của bạn (Tôi không phải là người dùng R và tôi muốn xem các giá trị thực tế và dữ liệu hơn là hình ảnh không giải thích được và mã không giải thích được), xin lỗi. Âm mưu của bạn là gì? Các tọa độ của các vectơ màu đỏ - trọng số hồi quy của độ trễ hoặc của các biến là gì? Bạn đã vẽ biểu đồ dữ liệu cũng để làm gì? Là discriminant predictor variable scaling scoresgì - thuật ngữ dường như không phổ biến và lạ.
ttnphns

@ttnphns: cảm ơn bạn đã đề xuất cải tiến câu hỏi hiện được phản ánh trong câu hỏi.
Etienne Low-Décarie

Tôi vẫn không biết nó là gì predictor variable scaling scores. Có lẽ "điểm số phân biệt đối xử"? Dù sao, tôi đã thêm một câu trả lời có thể là mối quan tâm của bạn.
ttnphns

Câu trả lời:


7

Phân tích thành phần chính và đầu ra phân tích phân biệt tuyến tính ; dữ liệu mống mắt .

Tôi sẽ không vẽ biplots vì biplots có thể được vẽ với nhiều chuẩn hóa khác nhau và do đó có thể trông khác nhau. Vì tôi không phải là Rngười dùng nên tôi gặp khó khăn trong việc theo dõi cách bạn tạo ra các lô của mình, để lặp lại chúng. Thay vào đó, tôi sẽ làm PCA và LDA và hiển thị kết quả, theo cách tương tự như thế này (bạn có thể muốn đọc). Cả hai phân tích được thực hiện trong SPSS.

Thành phần chính của dữ liệu mống mắt :

The analysis will be based on covariances (not correlations) between the 4 variables.

Eigenvalues (component variances) and the proportion of overall variance explained
PC1   4.228241706    .924618723 
PC2    .242670748    .053066483 
PC3    .078209500    .017102610 
PC4    .023835093    .005212184 
# @Etienne's comment: 
# Eigenvalues are obtained in R by
# (princomp(iris[,-5])$sdev)^2 or (prcomp(iris[,-5])$sdev)^2.
# Proportion of variance explained is obtained in R by
# summary(princomp(iris[,-5])) or summary(prcomp(iris[,-5]))

Eigenvectors (cosines of rotation of variables into components)
              PC1           PC2           PC3           PC4
SLength   .3613865918   .6565887713  -.5820298513   .3154871929 
SWidth   -.0845225141   .7301614348   .5979108301  -.3197231037 
PLength   .8566706060  -.1733726628   .0762360758  -.4798389870 
PWidth    .3582891972  -.0754810199   .5458314320   .7536574253    
# @Etienne's comment: 
# This is obtained in R by
# prcomp(iris[,-5])$rotation or princomp(iris[,-5])$loadings

Loadings (eigenvectors normalized to respective eigenvalues;
loadings are the covariances between variables and standardized components)
              PC1           PC2           PC3           PC4
SLength    .743108002    .323446284   -.162770244    .048706863 
SWidth    -.173801015    .359689372    .167211512   -.049360829 
PLength   1.761545107   -.085406187    .021320152   -.074080509 
PWidth     .736738926   -.037183175    .152647008    .116354292    
# @Etienne's comment: 
# Loadings can be obtained in R with
# t(t(princomp(iris[,-5])$loadings) * princomp(iris[,-5])$sdev) or
# t(t(prcomp(iris[,-5])$rotation) * prcomp(iris[,-5])$sdev)

Standardized (rescaled) loadings
(loadings divided by st. deviations of the respective variables)
              PC1           PC2           PC3           PC4
SLength    .897401762     .390604412   -.196566721    .058820016
SWidth    -.398748472     .825228709    .383630296   -.113247642
PLength    .997873942    -.048380599    .012077365   -.041964868
PWidth     .966547516   -.048781602    .200261695    .152648309  

Raw component scores (Centered 4-variable data multiplied by eigenvectors)
     PC1           PC2           PC3           PC4
-2.684125626    .319397247   -.027914828    .002262437 
-2.714141687   -.177001225   -.210464272    .099026550 
-2.888990569   -.144949426    .017900256    .019968390 
-2.745342856   -.318298979    .031559374   -.075575817 
-2.728716537    .326754513    .090079241   -.061258593 
-2.280859633    .741330449    .168677658   -.024200858 
-2.820537751   -.089461385    .257892158   -.048143106 
-2.626144973    .163384960   -.021879318   -.045297871 
-2.886382732   -.578311754    .020759570   -.026744736 
-2.672755798   -.113774246   -.197632725   -.056295401 
... etc.
# @Etienne's comment: 
# This is obtained in R with
# prcomp(iris[,-5])$x or princomp(iris[,-5])$scores.
# Can also be eigenvector normalized for plotting

Standardized (to unit variances) component scores, when multiplied
by loadings return original centered variables.

Điều quan trọng là phải nhấn mạnh rằng đó là tải, không phải là hàm riêng, mà chúng ta thường diễn giải các thành phần chính (hoặc các yếu tố trong phân tích nhân tố) - nếu chúng ta cần diễn giải. Tải là các hệ số hồi quy của các biến mô hình hóa bởi các thành phần được tiêu chuẩn hóa . Đồng thời, vì các thành phần không liên kết với nhau, chúng là hiệp phương sai giữa các thành phần đó và các biến. Tải trọng được chuẩn hóa (thay đổi kích thước), giống như các mối tương quan, không thể vượt quá 1 và thuận tiện hơn để giải thích vì ảnh hưởng của phương sai của các biến không đồng đều được đưa ra.

Đó là tải, không phải là hàm riêng, thường được hiển thị trên một biplot song song với điểm thành phần; cái sau thường được hiển thị cột chuẩn hóa.


Phân biệt tuyến tính của dữ liệu mống mắt :

There is 3 classes and 4 variables: min(3-1,4)=2 discriminants can be extracted.
Only the extraction (no classification of data points) will be done.

Eigenvalues and canonical correlations
(Canonical correlation squared is SSbetween/SStotal of ANOVA by that discriminant)
Dis1    32.19192920     .98482089 
Dis2      .28539104     .47119702
# @Etienne's comment:
# In R eigenvalues are expected from
# lda(as.factor(Species)~.,data=iris)$svd, but this produces
#   Dis1       Dis2
# 48.642644  4.579983
# @ttnphns' comment:
# The difference might be due to different computational approach
# (e.g. me used eigendecomposition and R used svd?) and is of no importance.
# Canonical correlations though should be the same.

Eigenvectors (here, column-normalized to SS=1: cosines of rotation of variables into discriminants)
              Dis1          Dis2
SLength  -.2087418215   .0065319640 
SWidth   -.3862036868   .5866105531 
PLength   .5540117156  -.2525615400 
PWidth    .7073503964   .7694530921

Unstandardized discriminant coefficients (proportionally related to eigenvectors)
              Dis1          Dis2
SLength   -.829377642    .024102149 
SWidth   -1.534473068   2.164521235 
PLength   2.201211656   -.931921210 
PWidth    2.810460309   2.839187853
# @Etienne's comment:
# This is obtained in R with
# lda(as.factor(Species)~.,data=iris)$scaling
# which is described as being standardized discriminant coefficients in the function definition.

Standardized discriminant coefficients
              Dis1          Dis2
SLength  -.4269548486   .0124075316 
SWidth   -.5212416758   .7352613085 
PLength   .9472572487  -.4010378190 
PWidth    .5751607719   .5810398645

Pooled within-groups correlations between variables and discriminants
              Dis1          Dis2
SLength   .2225959415   .3108117231 
SWidth   -.1190115149   .8636809224 
PLength   .7060653811   .1677013843 
PWidth    .6331779262   .7372420588 

Discriminant scores (Centered 4-variable data multiplied by unstandardized coefficients)
     Dis1           Dis2
-8.061799783    .300420621 
-7.128687721   -.786660426 
-7.489827971   -.265384488 
-6.813200569   -.670631068 
-8.132309326    .514462530 
-7.701946744   1.461720967 
-7.212617624    .355836209 
-7.605293546   -.011633838 
-6.560551593  -1.015163624 
-7.343059893   -.947319209
... etc.
# @Etienne's comment:
# This is obtained in R with
# predict(lda(as.factor(Species)~.,data=iris), iris[,-5])$x

Về tính toán khai thác phân biệt đối xử trong LDA xin vui lòng xem tại đây . Chúng tôi giải thích các phân biệt đối xử thường bằng các hệ số phân biệt hoặc hệ số phân biệt được tiêu chuẩn hóa (cái sau tiện dụng hơn vì phương sai khác biệt trong các biến được loại bỏ). Điều này giống như trong PCA. Nhưng, lưu ý: các hệ số ở đây là hệ số hồi quy của mô hình phân biệt đối xử theo các biến , chứ không phải ngược lại, giống như trong PCA. Do các biến không tương quan, nên các hệ số có thể được xem là hiệp phương sai giữa các biến và phân biệt đối xử.

Tuy nhiên, chúng ta có một ma trận khác thay vào đó có thể đóng vai trò là nguồn giải thích thay thế cho những người phân biệt đối xử - được tập hợp trong tương quan nhóm giữa những người phân biệt đối xử và các biến. Bởi vì các phân biệt đối xử là không tương thích, giống như PC, ma trận này theo nghĩa tương tự với các tải của PCA được tiêu chuẩn hóa.

Nói chung, trong PCA, chúng ta có ma trận duy nhất - tải - để giúp giải thích các độ trễ, trong LDA, chúng ta có hai ma trận thay thế cho điều đó. Nếu bạn cần vẽ đồ thị (biplot hoặc bất cứ thứ gì), bạn phải quyết định xem có nên tính hệ số hay tương quan hay không.

Và, tất nhiên, không cần phải nhắc nhở rằng trong PCA về dữ liệu mống mắt, các thành phần không "biết" rằng có 3 lớp; họ không thể được mong đợi để phân biệt các lớp học. Những người phân biệt đối xử "biết" có các lớp học và đó là công việc tự nhiên của họ là phân biệt đối xử.


Vì vậy, tôi có thể vẽ biểu đồ, sau khi chia tỷ lệ tùy ý, "Hệ số phân biệt được tiêu chuẩn hóa" hoặc "Nhóm tương quan trong nhóm giữa các biến và phân biệt đối xử" trên cùng một trục với "Điểm số phân biệt đối xử" để diễn giải kết quả theo hai cách khác nhau? Trong câu hỏi của tôi, tôi đã đặt ra "hệ số phân biệt đối xử không đạt tiêu chuẩn" trên cùng một trục với "điểm số phân biệt đối xử".
Etienne Low-Décarie

1
@Etienne Tôi đã thêm chi tiết bạn yêu cầu vào cuối câu trả lời thống kê này.stackexchange.com/a/48859/3277 . Cám ơn vì sự hào phóng của bạn.
ttnphns

1
@TLJ, nên là: giữa các biến và các thành phần được tiêu chuẩn hóa . Tôi đã chèn từ. Xem xin vui lòng ở đây : Loadings are the coefficients to predict...cũng như ở đây : [Footnote: The components' values...]. Các tải trọng là các hệ số để tính toán các biến từ các thành phần được tiêu chuẩn hóa và trực giao, nhờ vào các tải trọng nào là hiệp phương sai giữa các thành phần này.
ttnphns

1
@TLJ, "cái này và cái kia" = biến và thành phần. Bạn nói bạn tính điểm thành phần thô. Chuẩn hóa từng thành phần để phương sai = 1. Tính toán hiệp phương sai giữa các biến và các thành phần. Đó sẽ là tải trọng. Tải "Chuẩn hóa" hoặc "thay đổi kích thước" là tải chia cho st. độ lệch của biến tương ứng.
ttnphns

1
Tải bình phương là tỷ lệ phương sai của biến được tính bởi thành phần.
ttnphns

4

Sự hiểu biết của tôi là các phân tích phân biệt tuyến tính có thể được thực hiện, nó được triển khai trên thực tế trong các gói R ggbiplotggord và một chức năng khác để thực hiện được đăng trong luồng StackOverflow này .

Ngoài ra, cuốn sách "Biplots in Practice" của M. Greenacre có một chương (chương 11, xem pdf ) trên đó và trong Hình 11.5, nó cho thấy một biplot phân tích phân biệt tuyến tính của bộ dữ liệu mống mắt: nhập mô tả hình ảnh ở đây


Trên thực tế, toàn bộ cuốn sách có sẵn miễn phí trực tuyến (một pdf mỗi chương) tại đây multivariatestatistic.org/biplots.html .
amip

Aha không có trang web tinh ranh cần thiết thậm chí, cảm ơn vì điều đó!
Tom Wenseleers

2

Tôi biết điều này đã được hỏi từ hơn một năm trước và ttnphns đã đưa ra một câu trả lời xuất sắc và sâu sắc, nhưng tôi nghĩ tôi sẽ thêm một vài ý kiến ​​cho những người (như tôi) quan tâm đến PCA và LDA vì sự hữu ích của chúng trong sinh thái khoa học, nhưng có nền tảng thống kê hạn chế (không phải là thống kê).

PC trong PCA là sự kết hợp tuyến tính của các biến ban đầu giải thích tuần tự tối đa tổng phương sai trong bộ dữ liệu đa chiều. Bạn sẽ có nhiều PC như bạn làm các biến ban đầu. Phần trăm phương sai mà PC giải thích được đưa ra bởi các giá trị riêng của ma trận tương tự được sử dụng và hệ số cho mỗi biến ban đầu trên mỗi PC mới được đưa ra bởi các hàm riêng. PCA không có giả định về các nhóm. PCA rất tốt để xem làm thế nào nhiều biến số thay đổi giá trị trên dữ liệu của bạn (ví dụ trong một biplot). Giải thích một PCA phụ thuộc rất nhiều vào biplot.

LDA khác nhau vì một lý do rất quan trọng - nó tạo ra các biến (LD) mới bằng cách tối đa hóa phương sai giữa các nhóm. Đây vẫn là các tổ hợp tuyến tính của các biến ban đầu, nhưng thay vì giải thích càng nhiều phương sai càng tốt với mỗi LD tuần tự, thay vào đó chúng được rút ra để tối đa hóa SỰ KHÁC BIỆT giữa các nhóm dọc theo biến mới đó. Thay vì ma trận tương tự, LDA (và MANOVA) sử dụng ma trận so sánh giữa và trong các nhóm tổng bình phương và sản phẩm chéo. Các hàm riêng của ma trận này - các hệ số mà OP ban đầu quan tâm - mô tả số lượng các biến ban đầu đóng góp vào việc hình thành các LD mới.

Vì những lý do này, các hàm riêng từ PCA sẽ cho bạn biết rõ hơn về cách một biến thay đổi giá trị trên đám mây dữ liệu của bạn và tầm quan trọng của tổng phương sai trong tập dữ liệu của bạn, so với LDA. Tuy nhiên, LDA, đặc biệt là kết hợp với MANOVA, sẽ cung cấp cho bạn một bài kiểm tra thống kê về sự khác biệt trong các khối u đa biến của các nhóm của bạn và ước tính sai số trong việc phân bổ điểm cho các nhóm tương ứng của chúng (theo nghĩa, kích thước hiệu ứng đa biến). Trong LDA, ngay cả khi một biến thay đổi tuyến tính (và đáng kể) giữa các nhóm, hệ số của nó trên LD có thể không biểu thị "thang đo" của hiệu ứng đó và hoàn toàn phụ thuộc vào các biến khác có trong phân tích.

Tôi hy vọng điều đó đã rõ ràng. Cảm ơn vì đã dành thời gian cho tôi. Xem hình dưới đây ...

PC và LD được xây dựng khác nhau và hệ số cho LD có thể không cho bạn biết cảm giác về các biến ban đầu khác nhau trong tập dữ liệu của bạn


Điều này hoàn toàn chính xác và +1 từ tôi, nhưng tôi không chắc câu trả lời của bạn giải quyết câu hỏi ban đầu như thế nào, rất cụ thể về cách vẽ biplot LDA.
amip

Tôi cho rằng bạn đúng - Tôi đã phản hồi về điều này, chủ yếu là "Sử dụng một nhóm các giá trị thu được thông qua phân tích thành phần chính, có thể khám phá các biến giải thích tạo nên từng thành phần nguyên tắc. " - và câu trả lời là có, nhưng ý nghĩa rất khác nhau, như được mô tả ở trên ... Cảm ơn bạn đã bình luận và +1!
danno
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.