Quels sont les «coefficients de discriminants linéaires» dans la LDA?

17

Dans R, j'utilise la ldafonction de la bibliothèque MASSpour faire la classification. Si je comprends bien LDA, l'entrée verra attribuer l'étiquette , ce qui maximisera p (y | x) , non?Xyp(y|X)

Mais quand le modèle, dans lequel y = Direction, je ne comprends pas très bien la sortie de ,

X=(Luneg1,Luneg2)
y=jerectjeon,
lda

Edit: pour reproduire la sortie ci-dessous, lancez d'abord:

library(MASS)
library(ISLR)

train = subset(Smarket, Year < 2005)

lda.fit = lda(Direction ~ Lag1 + Lag2, data = train)
> lda.fit
Call:
lda(Direction ~ Lag1 + Lag2, data = train)

Prior probabilities of groups:
    Down       Up 
0.491984 0.508016 

Group means:
            Lag1        Lag2
Down  0.04279022  0.03389409
Up   -0.03954635 -0.03132544

Coefficients of linear discriminants:
            LD1
Lag1 -0.6420190
Lag2 -0.5135293

Je comprends toutes les informations dans la sortie ci-dessus, mais une chose, qu'est-ce que c'est LD1? Je le recherche sur le web, est-ce un score discriminant linéaire ? Qu'est-ce que c'est et pourquoi en ai-je besoin?

MISE À JOUR

J'ai lu plusieurs articles (comme celui- ci et celui-ci ) et recherche également sur le Web pour DA, et maintenant voici ce que je pense de DA ou LDA.

  1. Il peut être utilisé pour faire une classification, et lorsque c'est le but, je peux utiliser l'approche Bayes, c'est-à-dire calculer le postérieur pour chaque classe , puis classer dans la classe avec la plus haute postérieure . Par cette approche, je n'ai pas du tout besoin de découvrir les discriminants, non?p(y|X)yjeX

  2. Comme je l'ai lu dans les articles, DA ou au moins LDA vise principalement à la réduction de la dimensionnalité , pour les classes et l' espace de prédiction dim, je peux projeter le -dim dans un nouvel espace de fonctionnalités -dim , c'est-à-dire , peut être considéré comme le vecteur d' transformé à partir du origine , et chaque est le vecteur sur lequel est projeté.KX(K-1)z

    X=(X1,...,X)z=(z1,...,zK-1)zje=wjeTX
    zXwjeX

Ai-je raison au sujet des déclarations ci-dessus? Si oui, j'ai les questions suivantes:

  1. Qu'est-ce qu'un discriminant ? Chaque entrée du vecteur est-elle discriminante? Ou ?zjezwje

  2. Comment faire la classification en utilisant des discriminants?

Avocat
la source
1
LDA comporte 2 étapes distinctes: l'extraction et la classification. Lors de l'extraction, des variables latentes appelées discriminants sont formées, sous forme de combinaisons linéaires des variables d'entrée. Les coefficients en ce que les combinaisons linéaires sont appelées coefficients discriminants; voici ce que vous demandez. À la deuxième étape, les points de données sont attribués aux classes par ces discriminants, et non par les variables d'origine. Pour en savoir plus, recherchez discriminant analysissur ce site.
ttnphns
2
Le score discriminant linéaire est la valeur d'un point de données par un discriminant, alors ne le confondez pas avec le coefficient discriminant, qui est comme un coefficient de régression. Voir ma réponse détaillée ici .
ttnphns
@ttnphns, merci et je vais en savoir plus sur DA. BTW, je pensais que pour classer un entrée , il me suffit de calculer le postérieur pour toutes les classes, puis de choisir la classe avec le plus haut postérieur, non? Et je ne vois pas pourquoi j'ai besoin de dans le calcul du postérieur. Xp(y|X)L1
avocat
Vous pouvez et pouvez faire une classification selon les règles de Bayes en fonction des variables d'origine. Mais ce ne sera pas une analyse discriminante. La partie essentielle de LDA est cette réduction de dimensionnalité, qui vous permet de remplacer les classificateurs de variables d'origine par un plus petit nombre de classificateurs dérivés, les discriminants. Veuillez lire les articles ici, en particulier le mien, ils décrivent soigneusement les idées et les mathématiques de LDA.
ttnphns
@ttnphns, je lis le post que vous avez lié dans le commentaire ci-dessus, ;-)
avocat

Réponses:

5

Si vous multipliez chaque valeur de LDA1(le premier discriminant linéaire) par les éléments correspondants des variables prédictives et que vous les additionnez ( ), vous obtenez un score pour chaque répondant. Ce score le long de l'a priori est utilisé pour calculer la probabilité postérieure d'appartenance à une classe (il existe un certain nombre de formules différentes pour cela). La classification est faite sur la base de la probabilité postérieure, les observations étant censées appartenir à la classe pour laquelle elles ont la probabilité la plus élevée.-0,6420190×Lag1+-0,5135293×Lag2

Le graphique ci-dessous illustre la relation entre le score, la probabilité postérieure et la classification de l'ensemble de données utilisé dans la question. Les modèles de base sont toujours valables pour les LDA à deux groupes: il existe une correspondance 1: 1 entre les scores et la probabilité postérieure, et les prédictions sont équivalentes lorsqu'elles sont faites à partir des probabilités postérieures ou des scores.

Score, probabilité postérieure, classification

Réponses aux sous-questions et autres commentaires

  • Bien que LDA puisse être utilisé pour la réduction de dimension, ce n'est pas ce qui se passe dans l'exemple. Avec deux groupes, la raison pour laquelle un seul score est requis par observation est que c'est tout ce qui est nécessaire. En effet, la probabilité d'être dans un groupe est le complément de la probabilité d'être dans l'autre (c'est-à-dire qu'ils s'ajoutent à 1). Vous pouvez le voir dans le graphique: les scores inférieurs à -.4 sont classés comme étant dans le groupe Down et les scores plus élevés devraient être Up .

  • Parfois, le vecteur de scores est appelé a discriminant function. Parfois, les coefficients sont appelés ainsi. Je ne sais pas si l'un ou l'autre est correct. Je pense que MASS discriminantfait référence aux coefficients.

  • La ldafonction du package MASS produit des coefficients d'une manière différente de la plupart des autres logiciels LDA. L'approche alternative calcule un ensemble de coefficients pour chaque groupe et chaque ensemble de coefficients a une interception. Avec la fonction discriminante (scores) calculée à l'aide de ces coefficients, la classification est basée sur le score le plus élevé et il n'est pas nécessaire de calculer les probabilités postérieures pour prédire la classification. J'ai mis du code LDA dans GitHub qui est une modification de la MASSfonction mais produit ces coefficients plus pratiques (le package est appelé Displayr/flipMultivariates, et si vous créez un objet en utilisant LDAvous pouvez extraire les coefficients en utilisant obj$original$discriminant.functions).

  • J'ai posté le code R pour tous les concepts de cet article ici .

  • Il n'y a pas de formule unique pour calculer les probabilités postérieures à partir du score. La façon la plus simple de comprendre les options est (pour moi en tout cas) de regarder le code source, en utilisant:

library(MASS) getAnywhere("predict.lda")

Tim
la source
I'm not clear on whether either [word use] is correct"fonction discriminante" aka "discriminant" est une variable extraite - une variable, une dimension. Il est donc caractérisé à la fois par des coefficients (poids) pour l'apprécier à partir des variables d'entrée et par des scores, les valeurs. Exactement comme un PC dans PCA. Ainsi, "coefficients discriminants" et "scores discriminants" sont l'utilisation correcte.
ttnphns
@ttnphns, votre utilisation de la terminologie est très claire et sans ambiguïté. Mais, ce n'est pas l'usage qui apparaît dans la plupart des articles et publications sur le sujet, qui est le point que j'essayais de faire valoir. Sur la base de la seule signification des mots, il est assez clair pour moi que la "fonction discriminante" devrait se référer à la fonction mathématique (c'est-à-dire, le produit de somme et les coefficients), mais encore une fois, il n'est pas clair pour moi qu'il s'agit d'une utilisation répandue.
Tim
@Tim le lien que vous avez publié pour le code est mort, pouvez-vous copier le code dans votre réponse s'il vous plaît?
baxx
0

La théorie derrière cette fonction est "la méthode de Fisher pour la discrimination entre plusieurs populations". Je recommande le chapitre 11.6 dans l'analyse statistique multivariée appliquée (ISBN: 9780134995397) pour référence.

Morgan Zhu
la source