Вступ до квадратичного дискримінантного аналізу
Коли у нас є набір змінних-прогнозів і ми хочемо класифікувати змінну відповіді в один із двох класів, ми зазвичай використовуємо логістичну регресію .
Однак, коли змінна відповіді має більше двох можливих класів, ми зазвичай використовуємо лінійний дискримінантний аналіз , який часто називають LDA.
LDA передбачає, що (1) спостереження в кожному класі розподілені нормально і (2) спостереження в кожному класі мають однакову коваріаційну матрицю. Використовуючи ці припущення, LDA знаходить такі значення:
- μ k : середнє значення всіх спостережень за навчанням k- го класу.
- σ 2 : Середнє зважене дисперсій вибірки для кожного з k класів.
- π k : частка навчальних спостережень, які належать до k- го класу.
Потім LDA підключає ці числа до наступної формули та призначає кожне спостереження X = x класу, для якого формула дає найбільше значення:
d k (x) = x * (μ k /σ 2 ) – (μ k 2 /2σ 2 ) + log(π k )
У назві LDA є лінійний, тому що значення, створене наведеною вище функцією, походить від результату лінійних функцій від x.
Розширенням лінійного дискримінантного аналізу є квадратичний дискримінантний аналіз , який часто називають QDA.
Цей метод схожий на LDA і також припускає, що спостереження кожного класу розподілені нормально, але він не передбачає, що кожен клас має однакову коваріаційну матрицю. Натомість QDA передбачає, що кожен клас має власну коваріаційну матрицю.
Іншими словами, передбачається, що спостереження k -го класу має форму X ~ N(μ k , Σ k ).
Використовуючи це припущення, QDA потім знаходить такі значення:
- μ k : Середнє значення всіх спостережень за навчанням у k-му класі.
- Σ k : коваріаційна матриця k-го класу.
- π k : частка навчальних спостережень, які належать до k- го класу.
Потім QDA підключає ці числа до наступної формули та призначає кожне спостереження X = x класу, для якого формула дає найбільше значення:
D k (x) = -1/2*(x-μ k ) T Σ k -1 (x-μ k ) – 1/2*log|Σ k | + log( πk )
Зауважте, що QDA має квадратичну назву у своїй назві, оскільки значення, створене вищенаведеною функцією, походить від результату квадратичних функцій від x.
LDA проти QDA: коли використовувати одне чи інше
Основна відмінність між LDA і QDA полягає в тому, що LDA припускає, що кожен клас має спільну коваріаційну матрицю, що робить його набагато менш гнучким класифікатором, ніж QDA.
Це за своєю суттю означає, що він має низьку дисперсію, тобто він працюватиме однаково на різних навчальних наборах даних. Недоліком є те, що якщо припущення про те, що K- класи мають однакову коваріацію, є хибним, LDA може страждати від високого зміщення .
QDA зазвичай є кращим перед LDA у таких ситуаціях:
(1) Навчальний набір великий.
(2) Малоймовірно, що класи K мають спільну коваріаційну матрицю.
Коли ці умови виконуються, QDA має тенденцію працювати краще, оскільки він більш гнучкий і може краще адаптуватися до даних.
Як підготувати дані для QDA
Перш ніж застосовувати до них модель QDA, переконайтеся, що ваші дані відповідають таким вимогам:
1. Змінна відповідь категорична . Моделі QDA призначені для використання для проблем класифікації , тобто коли змінну відповіді можна помістити в класи або категорії.
2. Спостереження в кожному класі мають нормальний розподіл . Спочатку переконайтеся, що розподіл значень у кожному класі розподілено приблизно нормально. Якщо ні, ви можете спочатку перетворити дані , щоб зробити розподіл більш нормальним.
3. Врахуйте екстремальні викиди. Перш ніж застосовувати LDA, переконайтеся, що в наборі даних немає екстремальних відхилень. Як правило, ви можете перевірити наявність викидів візуально, просто використовуючи діаграми прямокутників або діаграм розсіювання.
QDA в R і Python
У наступних посібниках наведено покрокові приклади виконання квадратичного дискримінантного аналізу в R і Python:
Квадратичний дискримінантний аналіз в R (покроково)
Квадратичний дискримінантний аналіз у Python (крок за кроком)