Saya punya beberapa pertanyaan mendasar tentang PCA (analisis komponen utama) dan LDA (analisis diskriminan linier):
Dalam PCA ada cara untuk menghitung proporsi varian yang dijelaskan. Apakah mungkin untuk LDA? Jika ya, bagaimana caranya?
Apakah "Proportion of trace" output dari
lda
fungsi (dalam perpustakaan R MASS) setara dengan "proporsi varian dijelaskan"?
Jawaban:
Pertama saya akan memberikan penjelasan verbal, dan kemudian yang lebih teknis. Jawaban saya terdiri dari empat pengamatan:
Sebagaimana @ttnphns dijelaskan dalam komentar di atas, di PCA setiap komponen utama memiliki varian tertentu, yang semuanya bersama-sama menambahkan hingga 100% dari total varian. Untuk setiap komponen utama, rasio variansinya terhadap total varians disebut "proporsi varian yang dijelaskan". Ini sangat terkenal.
Di sisi lain, dalam LDA setiap "komponen diskriminan" memiliki "diskriminasi" (saya mengarang istilah ini!) Terkait dengan itu, dan mereka semua bersama-sama menambahkan hingga 100% dari "total diskriminasi". Jadi untuk setiap "komponen diskriminan", seseorang dapat mendefinisikan "proporsi diskriminasi yang dijelaskan". Saya kira "proporsi jejak" yang Anda maksudkan adalah persis seperti itu (lihat di bawah). Ini kurang dikenal, tetapi masih lumrah.
Namun, orang dapat melihat varians dari setiap komponen diskriminan, dan menghitung "proporsi varian" masing-masing. Ternyata, mereka akan menambahkan hingga sesuatu yang kurang dari 100%. Saya tidak berpikir bahwa saya pernah melihat ini dibahas di mana saja, yang merupakan alasan utama saya ingin memberikan jawaban yang panjang ini.
Kita juga dapat melangkah lebih jauh dan menghitung jumlah varian yang dijelaskan oleh masing-masing komponen LDA; ini akan menjadi lebih dari sekadar variansnya sendiri.
MembiarkanT menjadi total sebar matriks data (yaitu matriks kovarians tetapi tanpa dinormalisasi dengan jumlah titik data), W menjadi matriks pencar di dalam kelas, dan B menjadi matriks pencar antar-kelas. Lihat di sini untuk definisi . Dengan nyaman,T = W + B .
PCA melakukan dekomposisi eigenT , mengambil unit vektor eigen sebagai sumbu utama, dan proyeksi data pada vektor eigen sebagai komponen utama. Varian masing-masing komponen utama diberikan oleh nilai eigen yang sesuai. Semua nilai eigen dariT (Yang simetris dan pasti positif) adalah positif dan dijumlahkan ke t r ( T ) , yang dikenal sebagai varian total .
LDA melakukan dekomposisi eigenW- 1B , mengambil vektor eigen unit non-ortogonal (!) sebagai sumbu diskriminan, dan proyeksi pada vektor eigen sebagai komponen diskriminan (istilah yang dibuat-buat). Untuk setiap komponen diskriminan, kita dapat menghitung rasio varian antar kelasB dan varian dalam kelas W , yaitu rasio signal-to-noise B / W . Ternyata itu akan diberikan oleh nilai eigen yang sesuaiW- 1B (Lemma 1, lihat di bawah). Semua nilai eigen dariW- 1B positif (Lemma 2) jadi jumlahkan ke angka positif t r (W- 1B ) mana yang bisa disebut rasio sinyal-to-noise total . Setiap komponen diskriminan memiliki proporsi tertentu, dan itulah, saya percaya, apa yang dimaksud dengan "proporsi jejak". Lihat jawaban ini oleh @ttnphns untuk diskusi serupa .
Menariknya, varian semua komponen diskriminan akan menambahkan hingga sesuatu yang lebih kecil dari total varian (bahkan jika jumlahnyaK kelas dalam kumpulan data lebih besar dari jumlah N dimensi; karena hanya adaK- 1 kapak diskriminan, mereka bahkan tidak akan membentuk dasar dalam kasus K- 1 < N ). Ini adalah observasi non-sepele (Lemma 4) yang mengikuti dari fakta bahwa semua komponen diskriminan memiliki korelasi nol (Lemma 3). Yang berarti bahwa kita dapat menghitung proporsi varian yang biasa untuk setiap komponen diskriminan, tetapi jumlahnya akan kurang dari 100%.
Namun, saya enggan menyebut varian komponen ini sebagai "varian yang dijelaskan" (sebut saja "varian yang ditangkap"). Untuk setiap komponen LDA, seseorang dapat menghitung jumlah varians yang dapat dijelaskannya dalam data dengan mengembalikan data ke komponen ini; nilai ini secara umum akan lebih besar dari varians "ditangkap" komponen ini sendiri. Jika ada komponen yang cukup, maka bersama-sama varians mereka yang dijelaskan harus 100%. Lihat jawaban saya di sini untuk bagaimana menghitung varians yang dijelaskan dalam kasus umum: Analisis komponen utama "mundur": berapa banyak varians data yang dijelaskan oleh kombinasi linear dari variabel?
Berikut ini adalah ilustrasi menggunakan set data Iris (hanya pengukuran sepal!): Garis solid tipis menunjukkan sumbu PCA (mereka ortogonal), garis putus-putus tebal menunjukkan sumbu LDA (non-ortogonal). Proporsi varians dijelaskan oleh sumbu PCA:79 % dan 21 % . Proporsi rasio signal-to-noise dari sumbu LDA:96 % dan 4 % . Proporsi varian yang ditangkap oleh sumbu LDA:48 % dan 26 % (yaitu hanya 74 % bersama). Proporsi varians dijelaskan oleh sumbu LDA:65 % dan 35 % .
Lemma 1. Vektor vektorv dari W- 1B (atau, ekuivalen, vektor eigen umum dari masalah nilai eigen umum) B v =λ W v ) adalah titik stasioner hasil bagi Rayleigh
Lemma 2. Nilai Eigen dariW- 1B =W- 1 / 2W- 1 / 2B sama dengan nilai eigen dari W- 1 / 2BW- 1 / 2 (memang, kedua matriks ini serupa ). Yang terakhir adalah pasti-positif simetris, sehingga semua nilai eigennya positif.
Lemma 3. Perhatikan bahwa kovarians / korelasi antara komponen diskriminan adalah nol. Memang, vektor eigen berbedav1 dan v2 masalah nilai eigen umum B v =λ W v keduanya B - dan W -orthogonal ( lihat misalnya di sini ), dan begitu jugaT -Reogonal juga (karena T=W+B ), yang artinya memiliki kovarian nol: v⊤1Tv2=0 .
Lemma 4. Kapak diskriminatif membentuk basis non-ortogonalV , di mana matriks kovarians V⊤TV diagonal. Dalam hal ini seseorang dapat membuktikan bahwa
sumber