Я зазвичай чую про "звичайні найменші квадрати". Це найпоширеніший алгоритм, що використовується для лінійної регресії? Чи є причини використовувати інший?
Я зазвичай чую про "звичайні найменші квадрати". Це найпоширеніший алгоритм, що використовується для лінійної регресії? Чи є причини використовувати інший?
Відповіді:
Щодо питання в заголовку, про те, що використовується алгоритм:
У перспективі лінійної алгебри алгоритм лінійної регресії є способом розв’язання лінійної системи з більшою кількістю рівнянь, ніж невідомих. У більшості випадків вирішення цієї проблеми немає. І це тому, що вектор не належить до простору стовпців , .
best straight line
Проектування (ортогонально) вектора до найближчої точки в просторі стовпців дає вектору який розв’язує систему (її компоненти лежать на найкращій прямій лінії) з мінімальною помилкою.
і проектований вектор задається:
Мабуть, метод найменших квадратів використовується не виключно, оскільки це squaring
надмірно компенсує людей, що вижили.
Дозвольте навести простий приклад в R, який вирішує проблему регресії за допомогою цього алгоритму:
library(fBasics)
reg.data <- read.table(textConnection("
b x
12 0
10 1
8 2
11 3
6 4
7 5
2 6
3 7
3 8 "), header = T)
attach(reg.data)
A <- model.matrix(b~x)
# intercept and slope
inv(t(A) %*% A) %*% t(A) %*% b
# fitted values - the projected vector b in the C(A)
A %*% inv(t(A) %*%A ) %*% t(A) %*% b
# The projection is easier if the orthogonal matrix Q is used,
# because t(Q)%*%Q = I
Q <- qr.Q(qr(A))
R <- qr.R(qr(A))
# intercept and slope
best.line <- inv(R) %*% t(Q) %*% b
# fitted values
Q %*% t(Q) %*% b
plot(x,b,pch=16)
abline(best.line[1],best.line[2])
could not find inv
?!
lm
QR - це причини, для цього ви можете пояснити, чому?
Щоб відповісти на лист запитання, «звичайні найменші квадрати» - це не алгоритм; скоріше це тип задачі в обчислювальній лінійній алгебрі, однією з яких є лінійна регресія. Зазвичай в них є дані та орієнтовна функція ("модель"), щоб відповідати даним, форми . називаються "базисними функціями" і може бути що завгодно , від одночленним для тригонометричних функцій (наприклад , ) і експоненційної функції ( ). Термін "лінійний" в "лінійній регресії" тут не відноситься до базових функцій,, зважаючи на те, що отримання часткової похідної моделі відносно будь-якого дає коефіцієнт, що помножує ; тобто .
В даний час є прямокутна матриця ("матриця дизайну"), яка (як правило) має більше рядків, ніж стовпці, і кожен запис має форму , - індекс рядка, а - індекс стовпця Тепер OLS - це завдання знайти вектор який мінімізує кількість (у матричному позначенні ; тут, зазвичай називають "вектором відповіді").
Існують щонайменше три методи, що застосовуються на практиці для обчислення розв'язків найменших квадратів: нормальні рівняння, QR-розкладання та сингулярне розкладання значення. Якщо коротко, вони є способами перетворення матриці у добуток матриць, які легко маніпулюються для вирішення для вектора .
Джордж уже показав у своїй відповіді метод нормальних рівнянь; один просто розв'язує набір лінійних рівнянь
для . Через те, що матриця є симетричною позитивною (напів) певною, звичайним методом для цього є декомпозиція Чолеського, котрий чинники у форму , з нижньою трикутною матрицею. Проблема такого підходу, незважаючи на перевагу того, що можна стиснути матрицю проектування матрицю (зазвичай) набагато меншу матрицю, полягає в тому, що ця операція схильна до втрати значних цифр (це має щось робити з "номером умови" проектної матриці).
Трохи кращий спосіб - це розкладання QR, яке безпосередньо працює з дизайнерською матрицею. Це фактори як , де є ортогональною матрицею (множення такої матриці з її транспозицією дає матрицю ідентичності) та - верхній трикутний. згодом обчислюється як . З причин, в які я не потрапляю (просто дивіться будь-який пристойний чисельний лінійний текст алгебри, як цей ), він має кращі числові властивості, ніж метод звичайних рівнянь.
Однією з варіацій використання QR-розкладу є метод семінарних рівнянь . Коротко, якщо у вас є розкладання , лінійна система, яку потрібно розв’язати, приймає форму
Ефективно за допомогою QR-розкладу сформувати трикутник Чолеського у цьому підході. Це корисно у випадку, коли є рідким, а явне зберігання та / або формування (або його фактична версія) є небажаним або недоцільним.
Нарешті, найдорожчим, але найбезпечнішим способом вирішення OLS є сингулярне розкладання значення (SVD). Цього разу розглядається як , де і обидва ортогональні , і- діагональна матриця, діагональні записи якої називаються "сингулярними значеннями". Сила цього розкладу полягає в діагностичній здатності, наданій вам сингулярними значеннями, в тому, що якщо хтось бачить одне або кілька крихітних сингулярних значень, то, ймовірно, ви обрали не зовсім незалежний базовий набір, що вимагає переформулювання ваша модель. (Згадане раніше "число умови" насправді пов'язане з відношенням найбільшого сингулярного значення до найменшого; відношення звичайно стає величезним (і матриця, таким чином, є поганою умовою), якщо найменше особливе значення "крихітне" .)
Це лише ескіз цих трьох алгоритмів; будь-яка хороша книга з обчислювальної статистики та числової лінійної алгебри повинна мати можливість дати вам більш релевантні деталі.
R^{-1} Q^T y
якщо A не квадратний? Ви опускаєте нульові рядки в R?
Посилання wiki: Методи оцінки лінійної регресії дає досить вичерпний перелік методів оцінки, включаючи OLS та контексти, в яких використовуються альтернативні методи оцінки.
Легко плутати між визначеннями та термінологією. Обидва терміни вживаються, іноді взаємозамінно. Швидкий пошук у Вікіпедії повинен допомогти:
Звичайні найменші квадрати (OLS) - метод, що використовується для підключення лінійних моделей регресії. Через демонстраційну послідовність та ефективність (за додатковими припущеннями) методу OLS є домінуючим підходом. Дивіться статті для подальших посилань.
Я схильний вважати "найменші квадрати" як критерій для визначення найкращої лінії регресії (тобто такої, яка робить суму "квадратних" залишків "найменшою" та "алгоритм" у цьому контексті як набір використовуваних етапів визначити коефіцієнти регресії, які відповідають цьому критерію. Ця відмінність говорить про те, що можливо існувати різні алгоритми, які задовольняли б одному критерію.
Мені буде цікаво дізнатись, чи роблять інші такі розрізнення та яку термінологію вони використовують.
Стара книга, ще одна, до якої я неодноразово звертаюся, є
Лоусон, CL та Гансон, RJ Розв’язування задач з найменшими квадратами , Prentice-Hall, 1974.
Він містить детальне та дуже читабельне обговорення деяких алгоритмів, про які згадували попередні відповіді. Ви можете поглянути на це.