Як отримати оцінку найменшого квадрата для множинної лінійної регресії?


30

У простому випадку лінійної регресії можна отримати оцінку найменшого квадрата таким чином, що вам не потрібно знати щоб оцінюватиy=β0+β1xβ^1=(xix¯)(yiy¯)(xix¯)2β^0β^1

Припустимо , що у мене y=β1x1+β2x2 , як я вивести β 1 без оцінки β 2 ? чи це неможливо?β^1β^2


1
Ви можете опустити одну зі змінних і все ж отримати неупереджену оцінку іншої, якщо вони незалежні.
david25272

Відповіді:


51

Виведення в матричному позначенні

Починаючи з y=Xb+ϵ , що насправді так само, як

[у1у2уN]=[х11х12х1Кх21х22х2КхN1хN2хNК][б1б2бК]+[ϵ1ϵ2ϵN]

все зводиться до мінімізації :е'е

ϵ'ϵ=[е1е2еN][е1е2еN]=i=1Nеi2

Таким чином, мінімізація дає нам:е'е'

e e = ( y - X b ) ( y - X b )мiнб е'е=(у-Хб)'(у-Хб)

e e = y y - 2 b X y + b X X bмiнб е'е=у'у-2б'Х'у+б'Х'Хб

(ee)b=2Xy+2XXb=!0

XXb=Xy

b=(XX)1Xy

Остання остання математична річ, умова другого порядку для мінімуму вимагає, щоб матриця була позитивно визначеною. Ця вимога виконується у випадку, якщо X має повний ранг.XXX

Більш точне виведення, яке проходить усі кроки в більшій кількості, можна знайти в розділі http://economictheoryblog.com/2015/02/19/ols_estimator/


3
Це виведення саме те, що я шукав. НЕ БЕЗПЕЧНІ КРОКИ Дивно, як важко знайти те саме.
javadba

1
У матричному рівнянні не повинно другий *бути a +? Крім того, чи не має бути замість b N, щоб розміри відповідали? bKbN
Алексіс Олсон

Алексіс Олсон, ти маєш рацію! Я відредагував свою відповідь.
Андреас Дібіасі

13

Можна оцінити лише один коефіцієнт у множинній регресії без оцінки інших.

Оцінка отримується шляхом видалення ефектів x 2 з інших змінних, а потім регресування залишків y відносно залишків x 1 . Це пояснено та проілюстровано. Як саме один елемент керує іншими змінними? і Як нормалізувати (а) коефіцієнт регресії? . Краса такого підходу полягає в тому, що він не вимагає обчислення, не має лінійної алгебри, не може бути візуалізований за допомогою просто двовимірної геометрії, чисельно стійкий і використовує лише одне фундаментальне уявлення про множину регресії: виведення (або "контроль за") ) наслідки однієї змінної.β1x2yx1


У цьому випадку множинна регресія може бути здійснена за допомогою трьох звичайних етапів регресії:

  1. Регресуйте на x 2 (без постійного члена!). Нехай відповідність y = α y , 2 x 2 + δ . Оцінка дорівнює α y , 2 = i y i x 2 iyx2y=αy,2x2+δ Тому залишкиδ=y-αy,2x2. Геометричноδ- те, що залишилося відyпісля його проекції наx2віднімається.

    αy,2=iyix2iix2i2.
    δ=yαy,2x2.
    δyx2
  2. Регресуйте на x 2 (без постійного члена). Нехай відповідність буде x 1 = α 1 , 2 x 2 + γ . Оцінка дорівнює α 1 , 2 = i x 1 i x 2 ix1x2x1=α1,2x2+γЗалишкиγ=x1-α1,2x2. Геометричноγ- те, що залишилося відx1післявідніманняйого проекції наx2.

    α1,2=ix1ix2iix2i2.
    γ=x1α1,2x2.
    γx1x2
  3. Регресуємо на γ (без постійного члена). Оцінка β 1 = Σ я δ я γ яδγФорма будеδ= β 1γ+ε. Геометричний, & beta ; 1являє собою компонентб(який представляєусї2вивезено) вгамманапрямку (це може бутий1зї2виймає).

    β^1=iδiγiiγi2.
    δ=β^1γ+εβ^1δyx2γx1x2

Зауважте, що не був оцінений. β2 Він легко може бути витягнутий з того , що було отримано до сих пір (так само , як β 0 в звичайному випадку регресивного легко виходить з оцінки нахилу β 1 ). В ε є залишки для двовимірної регресії у по х 1 і х 2 .β^0β^1εyx1x2

Паралель зі звичайною регресією сильна: етапи (1) і (2) є аналогами віднімання засобів у звичайній формулі. Якщо ви дозволите, що є вектором одиниць, ви фактично відновите звичайну формулу.x2

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


1
Чудова відповідь, ось загальна теорема en.wikipedia.org/wiki/…
ДжонК

4

ββYiXki

(β0,β1,...,βk)

Yi=β0+β1X1i+...+βkXki+ϵi

ϵiiidN(0,σ2)i=1,...,nXn×knkthXkβ^=(β^0,β^1,...,β^k)

β^=(XX)1XY

(XX)1


I have a follow up question, on the simple regression case, you make yi=β0+β1x¯+β1(xix¯)+ei then X becomes a matrix of (1,...,1) and (x1x¯,...,xnx¯), then follow through the β^=(XX)(1)XY. How should I rewrite the equation in my case?
Saber CN

And 1 more question, does this apply to cases where x1 and x2 are not linear, but the model is still linear? For example the decay curve y=β1ex1t+β2ex2t, can I substitute the exponential with x1 and x2so it becomes my original question?
Saber CN

In your first comment, you can center the variable (subtract its mean from it) and use that is your independent variable. Search for "standardized regression". The formula you wrote in terms of matrices is not correct. For your second question, yes you may do that, a linear model is one that is linear in β, so as long as y equal to a linear combination of β's you are fine.
caburke

2
(+1). But shouldn't it be "n×k matrix" instead of k×n?
miura

3

One small minor note on theory vs. practice. Mathematically β0,β1,β2...βn can be estimated with the following formula:

β^=(XX)1XY

where X is the original input data and Y is the variable that we want to estimate. This follows from minimizing the error. I will proove this before making a small practical point.

Let ei be the error the linear regression makes at point i. Then:

ei=yiyi^

The total squared error we make is now:

i=1nei2=i=1n(yiyi^)2

Because we have a linear model we know that:

yi^=β0+β1x1,i+β2x2,i+...+βnxn,i

Which can be rewritten in matrix notation as:

Y^=Xβ

We know that

i=1nei2=EE

We want to minimize the total square error, such that the following expression should be as small as possible

EE=(YY^)(YY^)

This is equal to:

EE=(YXβ)(YXβ)

The rewriting might seem confusing but it follows from linear algebra. Notice that the matrices behave similar to variables when we are multiplying them in some regards.

We want to find the values of β such that this expression is as small as possible. We will need to differentiate and set the derivative equal to zero. We use the chain rule here.

dEEdβ=2XY+2XXβ=0

This gives:

XXβ=XY

Such that finally:

β=(XX)1XY

So mathematically we seem to have found a solution. There is one problem though, and that is that (XX)1 is very hard to calculate if the matrix X is very very large. This might give numerical accuracy issues. Another way to find the optimal values for β in this situation is to use a gradient descent type of method. The function that we want to optimize is unbounded and convex so we would also use a gradient method in practice if need be.


except that you don't actually need to compute (XX)1...
user603

дійсна точка. можна також скористатись процесом gram schmidt, але я просто хотів зауважити, що знаходячи оптимальні значення дляβ вектор також може бути виконаний чисельно через опуклості.
Вінсент Вармердам

2

Просте виведення можна здійснити просто за допомогою геометричної інтерпретації LR.

Лінійну регресію можна інтерпретувати як проекцію Y на простір стовпця Х. Таким чином, помилка,ϵ^ є ортогональним для простору стовпців Х.

Тому внутрішній продукт між Х' і похибка повинна бути 0, тобто

<Х',у-Хβ^> =0

Х'у-Х'Хβ^=0

Х'у=Х'Хβ^

Що означає, що

(Х'Х)-1Х'у=β^.

Тепер те ж саме можна зробити:

(1) Проектування Y на Х2 (помилка δ=Y-Х2D^), D^=(Х2'Х2)-1Х2'у,

(2) Проектування Х1 на Х2 (помилка γ=Х1-Х2Г^), Г^=(Х1'Х1)-1Х1Х2,

і, нарешті,

(3) Проектування δ на γ, β^1

введіть тут опис зображення

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