Как выполнить 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

Если бы кто-то мог просто показать (с цифрами), как найти апостериорную вероятность для первой выборки, которая бы очень помогла. Я лучше понимаю концепции после примеров с числами и плохо изучаю абстрактные термины / формулы. Я также попытался использовать метод, аналогичный байесовскому правилу, но с двумя многовариантными нормалями и тоже не работал.

Я исследовал и исследовал, но не могу найти нигде, явно показывая, как на самом деле это сделать. Заранее спасибо! Извините, если это было плохо отформатировано, я новичок в этом сайте

0 ответов

Другие вопросы по тегам