Как выполнить LDA вручную, особенно вычисление апостериорных вероятностей
Может ли кто-нибудь показать, как выполнить LDA вручную на этом небольшом наборе данных? А также как получить апостериорные вероятности для данного класса. *(ради примера представим, что данные соответствуют всем необходимым предположениям, таким как нормальность)
ATAR лет работы
93...... 1...... 1
55...... 3...... 0
68...... 4...... 0
84...... 7...... 1
80...... 3...... 1
91...... 5...... 1
70...... 6...... 1
78...... 1...... 0
* Во-первых, как найти "линейные дискриминанты" LD1 вручную для следующего вывода:
App.lda
Априорные вероятности групп:
0 1
0,375 0,625
Группа означает:
ATAR лет
67.0.... 2.666667..... Класс0
83.6.... 4.400000..... Class1
Коэффициенты линейных дискриминантов:
LD1
ATAR 0.1081556
Годы 0.3992132
* Во-вторых, кажется, что эти коэффициенты соответствуют некоторому преобразованию данного образца (x1,x2) в y=0.108x1 + 0.399x2 + b. Но как рассчитывается б? R дает следующий вывод из функции предсказания
$ х
LD1
[1,] 0.5920946
[2,] -2,7193910
[3,] -0,9141553
[4,] 2.0139736
[5,] -0.0155015
[6,] 1.9726363
[7,] 0.1005823
[8,] -1.0302391
* Работа в обратном направлении с выхода b=9.8655894, но не знаю, как найти иначе
* Теперь с преобразованными данными, чтобы найти апостериорные вероятности, достаточно уверенное правило Байеса, но у него не было возможности получить значения, совпадающие с r-output.
Это была моя попытка:
Найти среднее значение и дисперсию в терминах преобразованных данных "LD1" (теперь 1D) для всех наблюдений от класса 0, а затем класса 1. Это были мои оценки:
Класс 0 - N(-1,554,1.0207), а Класс1 - N(0,9328,0,9898)
Тогда постеры даются
P(Class0|(x1,x2))= P((x1,x2)|Class0)*P(Class0)/P(x1,x2)
где P(x1,x2)= P((x1,x2)|Class0)P(class0)+P((x1,x2)|Class1)P(Class1).
Затем подпункты в P(Class0),P(Class1) как приоры 0,375 и 0,625 соответственно и находят условные вероятности в соответствии с:
Р ((x1,x2)|Class1)=(1/(2* пи *var1)^-0,5)* ехр (-(У-У1) ^ 2 / (2 * var1))
* ПРИМЕЧАНИЕ: преобразовали (x1,x2) в 1D переменную y и использовали расчетное нормальное распределение y.
Аналогично для P(X|Class2) после подбора всех значений и последующего вычисления апостериорных вероятностей мои значения просто не совпадают с r-выводом из функции предикта:
$ задний
0 1
[1,] 0,059695978 0,940304022
[2,] 0,995847537 0,004152463
[3,] 0,729015891 0,270984109
[4] 0,001844589 0,998155411
[5] 0,223456997 0,776543003
[6,] 0,002043936 0,997956064
[7,] 0,177354569 0,822645431
[8,] 0,782173321 0,217826679
Если бы кто-то мог просто показать (с цифрами), как найти апостериорную вероятность для первой выборки, которая бы очень помогла. Я лучше понимаю концепции после примеров с числами и плохо изучаю абстрактные термины / формулы. Я также попытался использовать метод, аналогичный байесовскому правилу, но с двумя многовариантными нормалями и тоже не работал.
Я исследовал и исследовал, но не могу найти нигде, явно показывая, как на самом деле это сделать. Заранее спасибо! Извините, если это было плохо отформатировано, я новичок в этом сайте