LDAの「線形判別係数」とは何ですか?


16

ではRldaライブラリの関数を使用MASSして分類を行います。LDAを理解すると、入力xはラベルyが割り当てられ、p(y|x)が最大化されますよね?

私はモデルを適合場合には、ここで

x=(Lag1,Lag2)
y=Direction,
私はかなりの出力を理解していませんlda

編集:以下の出力を再現するには、最初に実行します:

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

上記の出力のすべての情報を理解していますが、1つのことは何LD1ですか?ウェブで検索しますが、線形判別スコアですか?それは何ですか、なぜ必要なのですか?

更新

私はいくつかの投稿を読んで(これこれなど)、ウェブでDAを検索しましたが、DAまたはLDAについて私が思うことはここにあります。

  1. これを使用して分類を行うことができます。これが目的の場合、ベイズアプローチを使用できます。つまり、各クラスy iの事後p(y|x)を計算し、xを最高のクラスに分類します。後部。このアプローチでは、判別式を見つける必要はまったくありませんか?yix

  2. 私が投稿で読んだように、DAまたは少なくともLDAは主にKクラスとDの次元削減を目的としていますKD -dim予測子空間について、D -dim xを新しい(K1) -dim特徴空間z投影できます、つまり

    x=(x1,...,xD)z=(z1,...,zK1)zi=wiTx
    zは元のxから変換された特徴ベクトルとして見ることができ、各wixが投影されるベクトルです。

上記の説明について正しいですか?はいの場合、次の質問があります。

  1. 判別式とは何ですか?ベクトルzの各エントリziは判別式ですか?それともワット私はzwi

  2. 判別式を使用して分類を行う方法は?


1
LDAには、抽出と分類という2つの異なる段階があります。抽出時に、判別変数と呼ばれる潜在変数が、入力変数の線形結合として形成されます。その線形結合の係数は、判別係数と呼ばれます。これらはあなたが尋ねるものです。2番目のステージでは、元の変数ではなく、それらの判別式によってデータポイントがクラスに割り当てられます。詳細については、discriminant analysisこのサイトで検索してください。
ttnphns 14

2
線形判別スコアは、判別によるデータポイントの値です。そのため、回帰係数のような判別係数と混同しないでください。ここで私の詳細な回答を参照してください。
ttnphns 14

@ttnphns、ありがとう。DAについてもっと読みます。ところで、入力を分類するには、すべてのクラスの事後p y | x を計算して、最高の事後のクラスを選ぶだけでいいと思いましたか?そして、事後の計算にL D 1が必要な理由がわかりません。Xp(y|x)LD1
アボカド14

あなたは、することができ、元の変数に基づいてベイズ・ルールの分類を行うことができます。しかし、これは判別分析ではありません。LDAの重要な部分は、次元の削減です。これにより、元の変数分類子を少数の派生分類子である判別式に置き換えることができます。こちらの記事、特に私の記事を読んでください。LDAのアイデアと数学を完全に説明しています。
ttnphns 14

@ttnphns、上記のコメントでリンクした投稿を読んでいます;
アボカド

回答:


5

LDA10.6420190×Lag1+0.5135293×Lag2

以下のチャートは、質問で使用されるデータセットのスコア、事後確率、および分類の関係を示しています。基本パターンは常に2グループLDAで保持されます。スコアと事後確率の間に1対1のマッピングがあり、事後確率またはスコアのどちらからでも予測は同等です。

スコア、事後確率、分類

サブ質問への回答とその他のコメント

  • LDAは次元削減に使用できますが、この例ではこれが行われていません。2つのグループでは、観測ごとに1つのスコアしか必要ないのは、必要なのはこれだけだからです。これは、1つのグループに含まれる確率が、他のグループに含まれる確率の補完であるためです(つまり、1に加算されます)。これはチャートで確認できます。-。4未満のスコアはDownグループに分類され、高いスコアはUpと予測されます。

  • スコアのベクトルはと呼ばれることもありdiscriminant functionます。係数はこれと呼ばれることもあります。どちらが正しいかはわかりません。MASS discriminantは係数を指していると思います。

  • MASSパッケージの lda関数は、他のほとんどのLDAソフトウェアとは異なる方法で係数を生成します。別の方法では、各グループに対して係数のセットが1つ計算され、係数の各セットには切片があります。これらの係数を使用して計算された判別関数(スコア)では、分類は最高スコアに基づいており、分類を予測するために事後確率を計算する必要はありません。GitHubにLDAコードを追加しました。これはMASS関数の修正ですが、これらのより便利な係数を生成します(パッケージはと呼ばれDisplayr/flipMultivariates、オブジェクトを作成する場合はを使用しLDAて係数を抽出できますobj$original$discriminant.functions)。

  • この投稿のすべての概念をコードのRに投稿しました

  • スコアから事後確率を計算するための単一の公式はありません。オプションを理解する最も簡単な方法は(とにかく)ソースコードを見て、以下を使用することです:

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


I'm not clear on whether either [word use] is correct「識別関数」または別名「識別関数」は、抽出された変量、つまり変数、次元です。したがって、入力変数から評価するための係数(重み)と、スコアの値の両方によって特徴付けられます。PCAのPCとまったく同じです。したがって、「判別係数」と「判別スコア」が正しい使用法です。
ttnphns

@ttnphns、用語の使用法は非常に明確で明確です。しかし、このトピックに関する投稿や出版物の多くに現れるのは使用法ではなく、それが私がやろうとしていたポイントです。単語の意味だけに基づいて、「判別関数」は数学関数(つまり、積と係数)を参照する必要があることはかなり明確ですが、これが広く使われていることは私には明確ではありません。
ティム

@コードに投稿したリンクは無効です。コードを回答にコピーしてください。
baxx

0

この機能の背後にある理論は、「複数の集団を区別するためのフィッシャーの方法」です。参考のため、応用多変量統計分析(ISBN:9780134995397)の第11.6章をお勧めします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.