Аналітичне рішення оцінок коефіцієнта лінійної регресії


9

Я намагаюся зрозуміти матричне позначення та працюю з векторами та матрицями.

Зараз я хотів би зрозуміти, як обчислюється вектор оцінок коефіцієнта при множинній регресії.β^

Основне рівняння, здається, є

ddβ(yXβ)(yXβ)=0.

Тепер як би я вирішив для вектора β тут?

Редагувати : Зачекайте, я застряг. Зараз я тут і не знаю, як далі:

ddβ((y1y2yn)(1x11x12x1p1x21x22x2p1xn1xn2xnp)(β0β1βp))((y1y2yn)(1x11x12x1p1x21x22x2p1xn1xn2xnp)(β0β1βp))

ddβi=1n(yi(1xi1xi2xip)(β0β1βp))2

З для всіх перехоплення:xi0=1i

ddβi=1n(yik=0pxikβk)2

Чи можете ви вказати мене в правильному напрямку?


@GaBorgulya, дякую за редагування, про це не знав smallmatrix, тому не намагався редагувати, оскільки звичайне рішення розбиття формули на кілька рядків тут не працювало б.
mpiktas

Відповіді:


12

Ми маємо

ddβ(yXβ)(yXβ)=2X(yXβ) .

Це можна показати, якщо явно записати рівняння з компонентами. Наприклад, напишіть замість . Потім візьміть похідні щодо , , ..., і усе, щоб отримати відповідь. Для швидкої та простої ілюстрації ви можете почати з .(β1,,βp)ββ1β2βpp=2

З досвідом розробляються загальні правила, деякі з яких наведені, наприклад, у цьому документі .

Відредагуйте, щоб указати додану частину питання

З маємоp=2

(yXβ)(yXβ)=(y1x11β1x12β2)2+(y2x21β1x22β2)2

Похідна щодо єβ1

2x11(y1x11β1x12β2)2x21(y2x21β1x22β2)

Аналогічно, похідна щодо єβ2

2x12(y1x11β1x12β2)2x22(y2x21β1x22β2)

Отже, похідна щодо єβ=(β1,β2)

(2x11(y1x11β1x12β2)2x21(y2x21β1x22β2)2x12(y1x11β1x12β2)2x22(y2x21β1x22β2))

Тепер зауважте, що ви можете переписати останній вираз як

2(x11x21x12x22)(y1x11β1x12β2y2x21β1x22β2)=2X(yXβ)

Звичайно, все робиться так само для більшого .p


Дивовижно, я шукав саме такий тип PDF. Дякую тонну!
Олександр Енгельгардт

О, я думав, що зараз можу це зробити сам, але не можу. Чи можете ви сказати мені, чи правильні мої кроки чи я повинен зробити "інший шлях" для вирішення цього питання?
Олександр Енгельгардт

@Alexx Hardt: Моє перше рівняння в редагуванні таке саме, як і ваше останнє рівняння в конкретному випадку, коли p = 2. Отже, ви можете імітувати мої обчислення для компонентів 3, 4, ..., с.
окрам

Ще раз дякую :) Я думаю, що я фактично використаю всі три пропозиції. Я будую .pdf, який пояснює і підсумовує основну алгебру матричної статистики, тому що я якось ніколи не хотів її вивчати, коли вивчав її на своїх заняттях. Розв'язати це трьома різними способами допоможе мені зрозуміти це краще, сподіваюся.
Олександр Енгельгардт

О, але це для p = 2 і n = 2, правда? Я запишу це з n = 3, думаю.
Олександр Енгельгардт

13

Ви також можете використовувати формули з кулінарної книги Matrix . Ми маємо

(yXβ)(yXβ)=yyβXyyXβ+βXXβ

Тепер візьміть похідні кожного терміна. Ви можете помітити, що . Похідна від терміна щодо дорівнює нулю. Залишився термінβXy=yXβyyβ

βXXβ2yXβ

є формою функції

f(x)=xAx+bx,

у формулі (88) у книзі на сторінці 11, з , і . Похідна наведена у формулі (89):x=βA=XXb=2Xy

fx=(A+A)x+b

тому

β(yXβ)(yXβ)=(XX+(XX))β2Xy

Тепер, оскільки ми отримуємо потрібне рішення:(XX)=XX

XXβ=Xy

+1 mpiktas: Ваше рішення більш геніальне, ніж моє, і я думаю, що його слід використовувати в більш складних практичних ситуаціях.
окрам

1
@ocram, спасибі Я б не назвав це геніальним, це стандартне застосування існуючих формул. Вам просто потрібно знати формули :)
mpiktas

8

Ось методика мінімізації суми квадратів у регресії, яка насправді має додатки до більш загальних налаштувань і яка мені здається корисною.

Спробуймо взагалі уникнути обчислення векторної матриці.

Припустимо, ми зацікавлені у мінімізації де , та . Для простоти вважаємо, що і .

E=(yXβ)T(yXβ)=yXβ22,
yRnXRn×pβRppnrank(X)=p

Для будь-якого , отримуємо β^Rp

E=yXβ^+Xβ^Xβ22=yXβ^22+X(ββ^)222(ββ^)TXT(yXβ^).

Якщо ми можемо вибрати (знайти!) Вектор такий, що останній термін з правого боку дорівнює нулю для кожного , тоді ми б це зробили, оскільки це означатиме, що .β^ βminβEyXβ^22

Але, для всіх якщо і лише тоді, коли і останнє рівняння є істинним, якщо і лише тоді, коли . Тож мінімізується, приймаючи .(ββ^)TXT(yXβ^)=0βXT(yXβ^)=0XTXβ^=XTyEβ^=(XTX)1XTy


Хоча це може здатися "фокусом", щоб уникнути обчислення, воно насправді має більш широке застосування, і тут є якась цікава геометрія.

Одним із прикладів, коли ця методика робить виведення набагато простішим, ніж будь-який підхід до обчислення матриць-вектора, - це коли ми узагальнюємо до матричного випадку. Нехай , і . Припустимо, ми хочемо мінімізувати на всій матриці параметрів . Тут - коваріаційна матриця.YRn×pXRn×qBRq×p

E=tr((YXB)Σ1(YXB)T)
BΣ

Цілком аналогічний підхід до вищезазначеного швидко встановлює, що мінімум досягається, приймаючи Тобто, в регресійній обстановці, де відповідь є вектором з коваріацією а спостереження незалежні, тоді оцінка OLS досягається шляхом виконання окремих лінійних регресій на компонентах відповіді.E

B^=(XTX)1XTY.
Σp

На щастя, правила форуму дозволяють додавати +1 до кожної відповіді. Дякую за освіту, хлопці!
DWin

@DWin, ти мав на увазі розмістити це під коментарями до питання?
кардинал

Я гадаю, що міг би. Я послідовно перебирав питання, а потім усі відповіді (після обробки MathML перестали смикатись) і знайшов кожну відповідь інформативною. Я просто кинув свій коментар до вашого, бо саме там я перестав читати.
DWin

1
@DWin, так, візуалізація трохи прикольна. Я подумав, що ви, можливо, задумали коментар для іншої публікації, оскільки цей голос не має голосів (вгору чи вниз), і тому коментар, здається, недоречний. Ура.
кардинал

1
@cardinal +1, корисна хитрість. Це питання виявилося досить хорошим посиланням.
mpiktas

6

Один із способів, який може допомогти вам зрозуміти, - це не використовувати матричну алгебру, а розмежовувати її відносно кожного компонента, а потім "зберігати" результати у векторному стовпці. Отже, у нас є:

βki=1N(Yij=1pXijβj)2=0

Тепер у вас є цих рівнянь, по одному для кожної бета-версії. Це просте застосування ланцюгового правила:p

i=1N2(Yij=1pXijβj)1(βk[Yij=1pXijβj])=0
2i=1NXik(Yij=1pXijβj)=0

Тепер ми можемо переписати суму всередині дужки як Отже, ви отримуєте:j=1pXijβj=xiTβ

i=1NXikYii=1NXikxiTβ=0

Тепер у нас є цих рівнянь, і ми "складемо їх" у векторному стовпчику. Зверніть увагу, як - єдиний доданок, який залежить від , тому ми можемо скласти це у вектор і отримаємо:pXikkxi

i=1NxiYi=i=1NxixiTβ

Тепер ми можемо взяти бета-версію поза сумою (але повинна залишитися на RHS суми), а потім взяти інверс:

(i=1NxixiT)1i=1NxiYi=β
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.