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


9

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

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

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

ddβ(y−Xβ)′(y−Xβ)=0.

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

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

ddβ((y1y2⋮yn)−(1x11x12…x1p1x21x22…x2p⋮⋮1xn1xn2…xnp)(β0β1⋮βp))′((y1y2⋮yn)−(1x11x12…x1p1x21x22…x2p⋮⋮1xn1xn2…xnp)(β0β1⋮βp))

ddβ∑i=1n(yi−(1xi1xi2…xip)(β0β1⋮βp))2

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

ddβ∑i=1n(yi−∑k=0pxikβk)2

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


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

Відповіді:


12

Ми маємо

ddβ(y−Xβ)′(y−Xβ)=−2X′(y−Xβ) .

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

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

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

З маємоp=2

(y−Xβ)′(y−Xβ)=(y1−x11β1−x12β2)2+(y2−x21β1−x22β2)2

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

−2x11(y1−x11β1−x12β2)−2x21(y2−x21β1−x22β2)

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

−2x12(y1−x11β1−x12β2)−2x22(y2−x21β1−x22β2)

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

(−2x11(y1−x11β1−x12β2)−2x21(y2−x21β1−x22β2)−2x12(y1−x11β1−x12β2)−2x22(y2−x21β1−x22β2))

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

−2(x11x21x12x22)(y1−x11β1−x12β2y2−x21β1−x22β2)=−2X′(y−Xβ)

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


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

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

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

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

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

13

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

(y−Xβ)′(y−Xβ)=y′y−β′X′y−y′Xβ+β′X′Xβ

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

β′X′Xβ−2y′Xβ

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

f(x)=x′Ax+b′x,

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

∂f∂x=(A+A′)x+b

тому

∂∂β(y−Xβ)′(y−Xβ)=(X′X+(X′X)′)β−2X′y

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

X′Xβ=X′y

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

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

8

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

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

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

E=(y−Xβ)T(y−Xβ)=‖y−Xβ‖22,
y∈RnX∈Rn×pβ∈Rpp≤nrank(X)=p

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

E=‖y−Xβ^+Xβ^−Xβ‖22=‖y−Xβ^‖22+‖X(β−β^)‖22−2(β−β^)TXT(y−Xβ^).

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

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


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

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

E=tr((Y−XB)Σ−1(Y−XB)T)
BΣ

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

B^=(XTX)−1XTY.
Σp

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

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

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

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

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

6

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

∂∂βk∑i=1N(Yi−∑j=1pXijβj)2=0

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

∑i=1N2(Yi−∑j=1pXijβj)1(∂∂βk[Yi−∑j=1pXijβj])=0
−2∑i=1NXik(Yi−∑j=1pXijβj)=0

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

∑i=1NXikYi−∑i=1NXikxiTβ=0

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

∑i=1NxiYi=∑i=1NxixiTβ

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

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