Können die Skalierungswerte in einer linearen Diskriminanzanalyse (LDA) verwendet werden, um erklärende Variablen auf den linearen Diskriminanten darzustellen?


11

Unter Verwendung eines Biplots von Werten, die durch Hauptkomponentenanalyse erhalten wurden, ist es möglich, die erklärenden Variablen zu untersuchen, aus denen jede Hauptkomponente besteht. Ist dies auch mit der linearen Diskriminanzanalyse möglich?

Beispiele hierfür sind: Die Daten sind "Edgar Andersons Irisdaten" ( http://en.wikipedia.org/wiki/Iris_flower_data_set ). Hier sind die Irisdaten :

  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

Beispiel eines PCA-Biplots unter Verwendung des Iris-Datensatzes in R (Code unten):

Geben Sie hier die Bildbeschreibung ein

Diese Abbildung zeigt, dass die Blütenblattlänge und die Blütenblattbreite wichtig sind, um den PC1-Score zu bestimmen und zwischen Artengruppen zu unterscheiden. setosa hat kleinere Blütenblätter und breitere Kelchblätter.

Offensichtlich können ähnliche Schlussfolgerungen aus der Darstellung der Ergebnisse der linearen Diskriminanzanalyse gezogen werden, obwohl ich nicht sicher bin, was die LDA-Darstellung darstellt, daher die Frage. Die Achse sind die beiden ersten linearen Diskriminanten (LD1 99% und LD2 1% der Spur). Die Koordinaten der roten Vektoren sind "Koeffizienten linearer Diskriminanten", auch als "Skalierung" bezeichnet (lda.fit $ -Skalierung: Eine Matrix, die Beobachtungen in Diskriminanzfunktionen umwandelt, die so normalisiert sind, dass die Kovarianzmatrix innerhalb der Gruppen sphärisch ist). "Skalierung" wird berechnet als diag(1/f1, , p)und f1 is sqrt(diag(var(x - group.means[g, ]))). Daten können auf die linearen Diskriminanten projiziert werden (unter Verwendung von Predict.lda) (Code unten, wie unter https://stackoverflow.com/a/17240647/742447 gezeigt)). Die Daten und die Prädiktorvariablen werden zusammen aufgetragen, so dass welche Arten durch eine Zunahme definiert werden, in der Prädiktorvariablen sichtbar sind (wie dies bei üblichen PCA-Biplots und dem obigen PCA-Biplot der Fall ist):

Beispiel eines LDA-Biplots unter Verwendung des Iris-Datensatzes in R.

Aus diesem Diagramm geht hervor, dass die Sepalbreite, die Blütenblattbreite und die Blütenblattlänge alle zu einem ähnlichen Niveau wie LD1 beitragen. Wie erwartet erscheint Setosa kleineren Blütenblättern und breiteren Kelchblättern.

Es gibt keine eingebaute Möglichkeit, solche Biplots von LDA in R zu zeichnen, und es gibt nur wenige Diskussionen darüber online, was mich bei diesem Ansatz misstrauisch macht.

Bietet dieses LDA-Diagramm (siehe Code unten) eine statistisch gültige Interpretation der Skalierungswerte für Prädiktorvariablen?

Code für 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)

Code für 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)

Die Ergebnisse der LDA sind wie folgt

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

Ich kann Ihrem Code nicht folgen (ich bin kein R-Benutzer und würde lieber tatsächliche Daten und Ergebniswerte als ungeklärte Bilder und ungeklärten Code sehen), sorry. Was planen Ihre Grundstücke? Was sind die Koordinaten der roten Vektoren - Regressionsgewichte der Latente oder der Variablen? Wofür haben Sie auch Datenzeiger gezeichnet? Was ist discriminant predictor variable scaling scores? - Der Begriff scheint mir nicht üblich und seltsam.
ttnphns

@ttnphns: Vielen Dank, dass Sie Fragenverbesserungen vorgeschlagen haben, die sich jetzt in der Frage widerspiegeln.
Etienne Low-Décarie

Ich weiß immer noch nicht was ist predictor variable scaling scores. Vielleicht "Diskriminanzwerte"? Wie auch immer, ich habe eine Antwort hinzugefügt, die von Ihrem Interesse sein könnte.
ttnphns

Antworten:


7

Ergebnisse der Hauptkomponentenanalyse und der linearen Diskriminanzanalyse ; Irisdaten .

Ich werde keine Biplots zeichnen, da Biplots mit verschiedenen Normalisierungen gezeichnet werden können und daher möglicherweise anders aussehen. Da ich kein RBenutzer bin, habe ich Schwierigkeiten herauszufinden, wie Sie Ihre Handlungen erstellt haben, um sie zu wiederholen. Stattdessen werde ich tun PCA und LDA und die Ergebnisse zeigen, in einer ähnlichen Weise wie diese (möglicherweise lesen wollen). Beide Analysen wurden in SPSS durchgeführt.

Hauptbestandteile der Irisdaten :

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.

Es ist wichtig zu betonen, dass es sich um Belastungen handelt, nicht um Eigenvektoren, anhand derer wir normalerweise Hauptkomponenten (oder Faktoren in der Faktoranalyse) interpretieren - wenn wir interpretieren müssen. Belastungen sind die Regressionskoeffizienten von Modellierungsvariablen durch standardisierte Komponenten . Da Komponenten nicht miteinander korrelieren, sind sie gleichzeitig die Kovarianzen zwischen solchen Komponenten und den Variablen. Standardisierte (neu skalierte) Belastungen wie Korrelationen dürfen 1 nicht überschreiten und sind praktischer zu interpretieren, da der Effekt ungleicher Varianzen von Variablen beseitigt wird.

Es sind Ladungen, keine Eigenvektoren, die normalerweise auf einem Biplot neben Komponentenbewertungen angezeigt werden . Letztere werden häufig spaltennormalisiert angezeigt.


Lineare Diskriminanten von Irisdaten :

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

Informationen zu Berechnungen bei der Extraktion von Diskriminanten in LDA finden Sie hier . Wir interpretieren Diskriminanten normalerweise durch Diskriminanzkoeffizienten oder standardisierte Diskriminanzkoeffizienten (letztere sind praktischer, da die differentielle Varianz in Variablen entfernt wird). Dies ist wie bei PCA. Beachten Sie jedoch: Die Koeffizienten hier sind die Regressionskoeffizienten der Modellierung von Diskriminanten durch Variablen , nicht umgekehrt, wie dies bei PCA der Fall war. Da Variablen nicht unkorreliert sind, können die Koeffizienten nicht als Kovarianzen zwischen Variablen und Diskriminanten angesehen werden.

Stattdessen haben wir eine andere Matrix, die als alternative Interpretationsquelle für Diskriminanten dienen kann - gepoolte gruppeninterne Korrelationen zwischen den Diskriminanten und den Variablen. Da Diskriminanten wie PCs nicht korreliert sind, ist diese Matrix in gewissem Sinne analog zu den standardisierten PCA-Ladungen.

Während wir in PCA die einzige Matrix haben - Ladungen -, um die Latenzen zu interpretieren, haben wir in LDA zwei alternative Matrizen dafür. Wenn Sie zeichnen müssen (Biplot oder was auch immer), müssen Sie entscheiden, ob Sie Koeffizienten oder Korrelationen zeichnen möchten.

Und natürlich muss nicht daran erinnert werden, dass die Komponenten in PCA von Irisdaten nicht "wissen", dass es 3 Klassen gibt; Es ist nicht zu erwarten , dass sie Klassen diskriminieren. Diskriminanten "wissen", dass es Klassen gibt, und es ist ihre natürliche Aufgabe, zu diskriminieren.


So kann ich nach willkürlicher Skalierung entweder "Standardisierte Diskriminanzkoeffizienten" oder "Gruppeninterne Korrelationen zwischen Variablen und Diskriminanten" auf derselben Achse wie "Diskriminanzwerte" darstellen, um die Ergebnisse auf zwei verschiedene Arten zu interpretieren? In meiner Frage hatte ich "Nicht standardisierte Diskriminanzkoeffizienten" auf derselben Achse wie die "Diskriminanzwerte" aufgetragen.
Etienne Low-Décarie

1
@Etienne Ich habe Details, nach denen Sie gefragt haben, am Ende dieser Antwort hinzugefügt . Stats.stackexchange.com/a/48859/3277 . Danke für deine Großzügigkeit.
ttnphns

1
@TLJ sollte sein: zwischen Variablen und standardisierten Komponenten. Ich habe das Wort eingefügt. Siehe bitte hier : Loadings are the coefficients to predict...sowie hier : [Footnote: The components' values...]. Belastungen sind Koeffizienten zur Berechnung von Variablen aus standardisierten und orthogonalen Komponenten, basierend darauf, welche Belastungen die Kovarianzen zwischen diesen und diesen sind.
ttnphns

1
@TLJ, "diese und jene" = Variablen und Komponenten. Sie sagten, Sie hätten Rohkomponentenwerte berechnet. Standardisieren Sie jede Komponente auf Varianz = 1. Berechnen Sie Kovarianzen zwischen den Variablen und den Komponenten. Das wären die Ladungen. "Standardisierte" oder "neu skalierte" Belastung ist die Belastung geteilt durch die st. Abweichung der jeweiligen Variablen.
ttnphns

1
Das Laden im Quadrat ist der Anteil der Varianz der Variablen, der von der Komponente berücksichtigt wird.
ttnphns

4

Meines Wissens nach können Biplots linearer Diskriminanzanalysen durchgeführt werden, sie sind tatsächlich in den R-Paketen ggbiplot und ggord implementiert, und eine weitere Funktion dazu ist in diesem StackOverflow-Thread verfügbar .

Auch das Buch "Biplots in Practice" von M. Greenacre enthält ein Kapitel (Kapitel 11, siehe PDF ) und in Abbildung 11.5 einen Biplot einer linearen Diskriminanzanalyse des Iris-Datensatzes: Geben Sie hier die Bildbeschreibung ein


Tatsächlich ist das gesamte Buch online frei verfügbar (ein PDF pro Kapitel), hier multivariatestatistics.org/biplots.html .
Amöbe

Aha, es werden keine zwielichtigen Websites benötigt, danke dafür!
Tom Wenseleers

2

Ich weiß, dass dies vor über einem Jahr gefragt wurde, und ttnphns gab eine ausgezeichnete und ausführliche Antwort, aber ich dachte, ich würde ein paar Kommentare für diejenigen (wie mich) hinzufügen, die an PCA und LDA interessiert sind, weil sie ökologisch nützlich sind Wissenschaften, haben aber einen begrenzten statistischen Hintergrund (keine Statistiker).

PCs in PCA sind lineare Kombinationen von Originalvariablen, die die Gesamtvarianz im mehrdimensionalen Datensatz nacheinander maximal erklären. Sie haben so viele PCs wie die ursprünglichen Variablen. Der Prozentsatz der Varianz, den die PCs erklären, wird durch die Eigenwerte der verwendeten Ähnlichkeitsmatrix angegeben, und der Koeffizient für jede ursprüngliche Variable auf jedem neuen PC wird durch die Eigenvektoren angegeben. PCA hat keine Annahmen über Gruppen. PCA ist sehr gut geeignet, um zu sehen, wie sich der Wert mehrerer Variablen in Ihren Daten ändert (z. B. in einem Biplot). Die Interpretation einer PCA hängt stark vom Biplot ab.

LDA unterscheidet sich aus einem sehr wichtigen Grund - es erstellt neue Variablen (LDs), indem die Varianz zwischen Gruppen maximiert wird. Dies sind immer noch lineare Kombinationen von Originalvariablen, aber anstatt mit jeder sequentiellen LD so viel Varianz wie möglich zu erklären, werden sie gezeichnet, um den UNTERSCHIED zwischen Gruppen entlang dieser neuen Variablen zu maximieren. Anstelle einer Ähnlichkeitsmatrix verwenden LDA (und MANOVA) eine Vergleichsmatrix der Summe von Quadraten und Kreuzprodukten zwischen und innerhalb von Gruppen. Die Eigenvektoren dieser Matrix - die Koeffizienten, mit denen sich das OP ursprünglich befasste - beschreiben, wie viel die ursprünglichen Variablen zur Bildung der neuen LDs beitragen.

Aus diesen Gründen geben Ihnen die Eigenvektoren der PCA eine bessere Vorstellung davon, wie sich der Wert einer Variablen in Ihrer Datenwolke ändert und wie wichtig es für die Gesamtvarianz in Ihrem Datensatz ist, als die LDA. Die LDA bietet Ihnen jedoch, insbesondere in Kombination mit einer MANOVA, einen statistischen Test des Unterschieds zwischen multivariaten Schwerpunkten Ihrer Gruppen und eine Schätzung des Fehlers bei der Zuordnung von Punkten zu ihren jeweiligen Gruppen (in gewissem Sinne multivariate Effektgröße). Selbst wenn sich eine Variable in einer LDA über Gruppen hinweg linear (und signifikant) ändert, gibt ihr Koeffizient auf einer LD möglicherweise nicht die "Skala" dieses Effekts an und hängt vollständig von den anderen in der Analyse enthaltenen Variablen ab.

Ich hoffe das war klar. Vielen Dank für Ihre Zeit. Sehen Sie ein Bild unten ...

PCs und LDs sind unterschiedlich aufgebaut, und die Koeffizienten für eine LD geben möglicherweise keinen Eindruck davon, wie sich die ursprünglichen Variablen in Ihrem Datensatz unterscheiden


Dies ist alles richtig und +1 von mir, aber ich bin nicht sicher, wie Ihre Antwort die ursprüngliche Frage anspricht, bei der es ganz speziell darum ging, wie ein LDA-Biplot gezeichnet wird.
Amöbe

Ich nehme an, Sie haben Recht - ich habe darauf geantwortet, hauptsächlich: "Mit einem Biplot von Werten, die durch Hauptkomponentenanalyse erhalten wurden, ist es möglich, die erklärenden Variablen zu untersuchen, aus denen jede Hauptkomponente besteht. Ist dies auch mit der linearen Diskriminanzanalyse möglich?" "" - und die Antwort ist ja, aber die Bedeutung ist sehr unterschiedlich, wie oben beschrieben ... Danke für den Kommentar und +1!
Danno
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.