Линейная регрессия. Использование метода наименьших квадратов (МНК)

Сущность метода наименьших квадратов заключается в отыскании параметров модели тренда, которая лучше всего описывает тенденцию развития какого-либо случайного явления во времени или в пространстве (тренд – это линия, которая и характеризует тенденцию этого развития). Задача метода наименьших квадратов (МНК) сводится к нахождению не просто какой-то модели тренда, а к нахождению лучшей или оптимальной модели. Эта модель будет оптимальной, если сумма квадратических отклонений между наблюдаемыми фактическими величинами и соответствующими им расчетными величинами тренда будет минимальной (наименьшей):

где - квадратичное отклонение между наблюдаемой фактической величиной

и соответствующей ей расчетной величиной тренда,

Фактическое (наблюдаемое) значение изучаемого явления,

Расчетное значение модели тренда,

Число наблюдений за изучаемым явлением.

МНК самостоятельно применяется довольно редко. Как правило, чаще всего его используют лишь в качестве необходимого технического приема при корреляционных исследованиях. Следует помнить, что информационной основой МНК может быть только достоверный статистический ряд, причем число наблюдений не должно быть меньше 4-х, иначе, сглаживающие процедуры МНК могут потерять здравый смысл.

Инструментарий МНК сводится к следующим процедурам:

Первая процедура. Выясняется, существует ли вообще какая-либо тенденция изменения результативного признака при изменении выбранного фактора-аргумента, или другими словами, есть ли связь между «у » и «х ».

Вторая процедура. Определяется, какая линия (траектория) способна лучше всего описать или охарактеризовать эту тенденцию.

Третья процедура.

Пример . Допустим, мы имеем информацию о средней урожайности подсолнечника по исследуемому хозяйству (табл. 9.1).

Таблица 9.1

Номер наблюдения

Урожайность, ц/га

Поскольку уровень технологии при производстве подсолнечника в нашей стране за последние 10 лет практически не изменился, значит, по всей видимости, колебания урожайности в анализируемый период очень сильно зависели от колебания погодно-климатических условий. Действительно ли это так?

Первая процедура МНК. Проверяется гипотеза о существовании тенденции изменения урожайности подсолнечника в зависимости от изменения погодно-климатических условий за анализируемые 10 лет.

В данном примере за «y » целесообразно принять урожайность подсолнечника, а за «x » – номер наблюдаемого года в анализируемом периоде. Проверку гипотезы о существовании какой-либо взаимосвязи между «x » и «y » можно выполнить двумя способами: вручную и при помощи компьютерных программ. Конечно, при наличии компьютерной техники данная проблема решается сама собой. Но, чтобы лучше понять инструментарий МНК целесообразно выполнить проверку гипотезы о существовании связи между «x » и «y » вручную, когда под рукой находятся только ручка и обыкновенный калькулятор. В таких случаях гипотезу о существовании тенденции лучше всего проверить визуальным способом по расположению графического изображения анализируемого ряда динамики - корреляционного поля:

Корреляционное поле в нашем примере расположено вокруг медленно возрастающей линии. Это уже само по себе говорит о существовании определенной тенденции в изменении урожайности подсолнечника. Нельзя говорить о наличии какой-либо тенденции лишь тогда, когда корреляционное поле похоже на круг, окружность, строго вертикальное или строго горизонтальное облако, или же состоит из хаотично разбросанных точек. Во всех остальных случаях следует подтвердить гипотезу о существовании взаимосвязи между «x » и «y », и продолжить исследования.

Вторая процедура МНК. Определяется, какая линия (траектория) способна лучше всего описать или охарактеризовать тенденцию изменения урожайности подсолнечника за анализируемый период.

При наличии компьютерной техники подбор оптимального тренда происходит автоматически. При «ручной» обработке выбор оптимальной функции осуществляется, как правило, визуальным способом – по расположению корреляционного поля. То есть, по виду графика подбирается уравнение линии, которая лучше всего подходит к эмпирическому тренду (к фактической траектории).

Как известно, в природе существует огромное разнообразие функциональных зависимостей, поэтому визуальным способом проанализировать даже незначительную их часть - крайне затруднительно. К счастью, в реальной экономической практике большинство взаимосвязей достаточно точно могут быть описаны или параболой, или гиперболой, или же прямой линией. В связи с этим, при «ручном» варианте подбора лучшей функции, можно ограничиться только этими тремя моделями.

Гипербола:

Парабола второго порядка: :

Нетрудно заметить, что в нашем примере лучше всего тенденцию изменения урожайности подсолнечника за анализируемые 10 лет характеризует прямая линия, поэтому уравнением регрессии будет уравнение прямой.

Третья процедура. Рассчитываются параметры регрессионного уравнения, характеризующего данную линию, или другими словами, определяется аналитическая формула, описывающая лучшую модель тренда.

Нахождение значений параметров уравнения регрессии, в нашем случае параметров и , является сердцевиной МНК. Данный процесс сводится к решению системы нормальных уравнений.

(9.2)

Эта система уравнений довольно легко решается методом Гаусса. Напомним, что в результате решения, в нашем примере, находятся значения параметров и . Таким образом, найденное уравнение регрессии будет иметь следующий вид:

Он имеет множество применений, так как позволяет осуществлять приближенное представление заданной функции другими более простыми. МНК может оказаться чрезвычайно полезным при обработке наблюдений, и его активно используют для оценки одних величин по результатам измерений других, содержащих случайные ошибки. Из этой статьи вы узнаете, как реализовать вычисления по методу наименьших квадратов в Excel.

Постановка задачи на конкретном примере

Предположим, имеются два показателя X и Y. Причем Y зависит от X. Так как МНК интересует нас с точки зрения регрессионного анализа (в Excel его методы реализуются с помощью встроенных функций), то стоит сразу же перейти к рассмотрению конкретной задачи.

Итак, пусть X — торговая площадь продовольственного магазина, измеряемая в квадратных метрах, а Y — годовой товарооборот, определяемый в миллионах рублей.

Требуется сделать прогноз, какой товарооборот (Y) будет у магазина, если у него та или иная торговая площадь. Очевидно, что функция Y = f (X) возрастающая, так как гипермаркет продает больше товаров, чем ларек.

Несколько слов о корректности исходных данных, используемых для предсказания

Допустим, у нас есть таблица, построенная по данным для n магазинов.

Согласно математической статистике, результаты будут более-менее корректными, если исследуются данные по хотя бы 5-6 объектам. Кроме того, нельзя использовать «аномальные» результаты. В частности, элитный небольшой бутик может иметь товарооборот в разы больший, чем товарооборот больших торговых точек класса «масмаркет».

Суть метода

Данные таблицы можно изобразить на декартовой плоскости в виде точек M 1 (x 1 , y 1), … M n (x n , y n). Теперь решение задачи сведется к подбору аппроксимирующей функции y = f (x), имеющей график, проходящий как можно ближе к точкам M 1, M 2, .. M n .

Конечно, можно использовать многочлен высокой степени, но такой вариант не только труднореализуем, но и просто некорректен, так как не будет отражать основную тенденцию, которую и нужно обнаружить. Самым разумным решением является поиск прямой у = ax + b, которая лучше всего приближает экспериментальные данные, a точнее, коэффициентов - a и b.

Оценка точности

При любой аппроксимации особую важность приобретает оценка ее точности. Обозначим через e i разность (отклонение) между функциональными и экспериментальными значениями для точки x i , т. е. e i = y i - f (x i).

Очевидно, что для оценки точности аппроксимации можно использовать сумму отклонений, т. е. при выборе прямой для приближенного представления зависимости X от Y нужно отдавать предпочтение той, у которой наименьшее значение суммы e i во всех рассматриваемых точках. Однако, не все так просто, так как наряду с положительными отклонениями практически будут присутствовать и отрицательные.

Решить вопрос можно, используя модули отклонений или их квадраты. Последний метод получил наиболее широкое распространение. Он используется во многих областях, включая регрессионный анализ (в Excel его реализация осуществляется с помощью двух встроенных функций), и давно доказал свою эффективность.

Метод наименьших квадратов

В Excel, как известно, существует встроенная функция автосуммы, позволяющая вычислить значения всех значений, расположенных в выделенном диапазоне. Таким образом, ничто не помешает нам рассчитать значение выражения (e 1 2 + e 2 2 + e 3 2 + ... e n 2).

В математической записи это имеет вид:

Так как изначально было принято решение об аппроксимировании с помощью прямой, то имеем:

Таким образом, задача нахождения прямой, которая лучше всего описывает конкретную зависимость величин X и Y, сводится к вычислению минимума функции двух переменных:

Для этого требуется приравнять к нулю частные производные по новым переменным a и b, и решить примитивную систему, состоящую из двух уравнений с 2-мя неизвестными вида:

После нехитрых преобразований, включая деление на 2 и манипуляции с суммами, получим:

Решая ее, например, методом Крамера, получаем стационарную точку с некими коэффициентами a * и b * . Это и есть минимум, т. е. для предсказания, какой товарооборот будет у магазина при определенной площади, подойдет прямая y = a * x + b * , представляющая собой регрессионную модель для примера, о котором идет речь. Конечно, она не позволит найти точный результат, но поможет получить представление о том, окупится ли покупка в кредит магазина конкретной площади.

Как реализоавать метод наименьших квадратов в Excel

В "Эксель" имеется функция для расчета значения по МНК. Она имеет следующий вид: «ТЕНДЕНЦИЯ» (известн. значения Y; известн. значения X; новые значения X; конст.). Применим формулу расчета МНК в Excel к нашей таблице.

Для этого в ячейку, в которой должен быть отображен результат расчета по методу наименьших квадратов в Excel, введем знак «=» и выберем функцию «ТЕНДЕНЦИЯ». В раскрывшемся окне заполним соответствующие поля, выделяя:

  • диапазон известных значений для Y (в данном случае данные для товарооборота);
  • диапазон x 1 , …x n , т. е. величины торговых площадей;
  • и известные, и неизвестные значения x, для которого нужно выяснить размер товарооборота (информацию об их расположении на рабочем листе см. далее).

Кроме того, в формуле присутствует логическая переменная «Конст». Если ввести в соответствующее ей поле 1, то это будет означать, что следует осуществить вычисления, считая, что b = 0.

Если нужно узнать прогноз для более чем одного значения x, то после ввода формулы следует нажать не на «Ввод», а нужно набрать на клавиатуре комбинацию «Shift» + «Control»+ «Enter» («Ввод»).

Некоторые особенности

Регрессионный анализ может быть доступен даже чайникам. Формула Excel для предсказания значения массива неизвестных переменных — «ТЕНДЕНЦИЯ» — может использоваться даже теми, кто никогда не слышал о методе наименьших квадратов. Достаточно просто знать некоторые особенности ее работы. В частности:

  • Если расположить диапазон известных значений переменной y в одной строке или столбце, то каждая строка (столбец) с известными значениями x будет восприниматься программой в качестве отдельной переменной.
  • Если в окне «ТЕНДЕНЦИЯ» не указан диапазон с известными x, то в случае использования функции в Excel программа будет рассматривать его как массив, состоящий из целых чисел, количество которых соответствует диапазону с заданными значениями переменной y.
  • Чтобы получить на выходе массив «предсказанных» значений, выражение для вычисления тенденции нужно вводить как формулу массива.
  • Если не указаны новые значения x, то функция «ТЕНДЕНЦИЯ» считает их равным известным. Если и они не заданы, то в качестве аргумента берется массив 1; 2; 3; 4;…, который соразмерен диапазону с уже заданными параметрами y.
  • Диапазон, содержащий новые значения x должен состоять из такого же или большего количества строк или столбцов, как диапазон с заданными значениями y. Иными словами он должен быть соразмерным независимым переменным.
  • В массиве с известными значениями x может содержаться несколько переменных. Однако если речь идет лишь об одной, то требуется, чтобы диапазоны с заданными значениями x и y были соразмерны. В случае нескольких переменных нужно, чтобы диапазон с заданными значениями y вмещался в одном столбце или в одной строке.

Функция «ПРЕДСКАЗ»

Реализуется с помощью нескольких функций. Одна из них называется «ПРЕДСКАЗ». Она аналогична «ТЕНДЕНЦИИ», т. е. выдает результат вычислений по методу наименьших квадратов. Однако только для одного X, для которого неизвестно значение Y.

Теперь вы знаете формулы в Excel для чайников, позволяющие спрогнозировать величину будущего значения того или иного показателя согласно линейному тренду.

Метод наименьших квадратов

Метод наименьших квадратов (МНК, OLS, Ordinary Least Squares ) - один из базовых методов регрессионного анализа для оценки неизвестных параметров регрессионных моделей по выборочным данным. Метод основан на минимизации суммы квадратов остатков регрессии.

Необходимо отметить, что собственно методом наименьших квадратов можно назвать метод решения задачи в любой области, если решение заключается или удовлетворяет некоторому критерию минимизации суммы квадратов некоторых функций от искомых переменных. Поэтому метод наименьших квадратов может применяться также для приближённого представления (аппроксимации) заданной функции другими (более простыми) функциями, при нахождении совокупности величин, удовлетворяющих уравнениям или ограничениям, количество которых превышает количество этих величин и т. д.

Сущность МНК

Пусть задана некоторая (параметрическая) модель вероятностной (регрессионной) зависимости между (объясняемой) переменной y и множеством факторов (объясняющих переменных) x

где - вектор неизвестных параметров модели

- случайная ошибка модели.

Пусть также имеются выборочные наблюдения значений указанных переменных. Пусть - номер наблюдения (). Тогда - значения переменных в -м наблюдении. Тогда при заданных значениях параметров b можно рассчитать теоретические (модельные) значения объясняемой переменной y:

Величина остатков зависит от значений параметров b.

Сущность МНК (обычного, классического) заключается в том, чтобы найти такие параметры b, при которых сумма квадратов остатков (англ. Residual Sum of Squares ) будет минимальной:

В общем случае решение этой задачи может осуществляться численными методами оптимизации (минимизации). В этом случае говорят о нелинейном МНК (NLS или NLLS - англ. Non-Linear Least Squares ). Во многих случаях можно получить аналитическое решение. Для решения задачи минимизации необходимо найти стационарные точки функции , продифференцировав её по неизвестным параметрам b, приравняв производные к нулю и решив полученную систему уравнений:

Если случайные ошибки модели имеют нормальное распределение , имеют одинаковую дисперсию и некоррелированы между собой, МНК-оценки параметров совпадают с оценками метода максимального правдоподобия (ММП) .

МНК в случае линейной модели

Пусть регрессионная зависимость является линейной:

Пусть y - вектор-столбец наблюдений объясняемой переменной, а - матрица наблюдений факторов (строки матрицы - векторы значений факторов в данном наблюдении, по столбцам - вектор значений данного фактора во всех наблюдениях). Матричное представление линейной модели имеет вид:

Тогда вектор оценок объясняемой переменной и вектор остатков регрессии будут равны

соответственно сумма квадратов остатков регрессии будет равна

Дифференцируя эту функцию по вектору параметров и приравняв производные к нулю, получим систему уравнений (в матричной форме):

.

Решение этой системы уравнений и дает общую формулу МНК-оценок для линейной модели:

Для аналитических целей оказывается полезным последнее представление этой формулы. Если в регрессионной модели данные центрированы , то в этом представлении первая матрица имеет смысл выборочной ковариационной матрицы факторов, а вторая - вектор ковариаций факторов с зависимой переменной. Если кроме того данные ещё и нормированы на СКО (то есть в конечном итоге стандартизированы ), то первая матрица имеет смысл выборочной корреляционной матрицы факторов, второй вектор - вектора выборочных корреляций факторов с зависимой переменной.

Немаловажное свойство МНК-оценок для моделей с константой - линия построенной регрессии проходит через центр тяжести выборочных данных, то есть выполняется равенство:

В частности, в крайнем случае, когда единственным регрессором является константа, получаем, что МНК-оценка единственного параметра (собственно константы) равна среднему значению объясняемой переменной. То есть среднее арифметическое, известное своими хорошими свойствами из законов больших чисел, также является МНК-оценкой - удовлетворяет критерию минимума суммы квадратов отклонений от неё.

Пример: простейшая (парная) регрессия

В случае парной линейной регрессии формулы расчета упрощаются (можно обойтись без матричной алгебры):

Свойства МНК-оценок

В первую очередь, отметим, что для линейных моделей МНК-оценки являются линейными оценками, как это следует из вышеприведённой формулы. Для несмещенности МНК-оценок необходимо и достаточно выполнения важнейшего условия регрессионного анализа : условное по факторам математическое ожидание случайной ошибки должно быть равно нулю. Данное условие, в частности, выполнено, если

  1. математическое ожидание случайных ошибок равно нулю, и
  2. факторы и случайные ошибки - независимые случайные величины.

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

Для того, чтобы кроме состоятельности и несмещенности , оценки (обычного) МНК были ещё и эффективными (наилучшими в классе линейных несмещенных оценок) необходимо выполнение дополнительных свойств случайной ошибки:

Данные предположения можно сформулировать для ковариационной матрицы вектора случайных ошибок

Линейная модель, удовлетворяющая таким условиям, называется классической . МНК-оценки для классической линейной регрессии являются несмещёнными , состоятельными и наиболее эффективными оценками в классе всех линейных несмещённых оценок (в англоязычной литературе иногда употребляют аббревиатуру BLUE (Best Linear Unbaised Estimator ) - наилучшая линейная несмещённая оценка; в отечественной литературе чаще приводится теорема Гаусса - Маркова). Как нетрудно показать, ковариационная матрица вектора оценок коэффициентов будет равна:

Обобщенный МНК

Метод наименьших квадратов допускает широкое обобщение. Вместо минимизации суммы квадратов остатков можно минимизировать некоторую положительно определенную квадратичную форму от вектора остатков , где - некоторая симметрическая положительно определенная весовая матрица. Обычный МНК является частным случаем данного подхода, когда весовая матрица пропорциональна единичной матрице. Как известно из теории симметрических матриц (или операторов) для таких матриц существует разложение . Следовательно, указанный функционал можно представить следующим образом , то есть этот функционал можно представить как сумму квадратов некоторых преобразованных «остатков». Таким образом, можно выделить класс методов наименьших квадратов - LS-методы (Least Squares).

Доказано (теорема Айткена), что для обобщенной линейной регрессионной модели (в которой на ковариационную матрицу случайных ошибок не налагается никаких ограничений) наиболее эффективными (в классе линейных несмещенных оценок) являются оценки т. н. обобщенного МНК (ОМНК, GLS - Generalized Least Squares) - LS-метода с весовой матрицей, равной обратной ковариационной матрице случайных ошибок: .

Можно показать, что формула ОМНК-оценок параметров линейной модели имеет вид

Ковариационная матрица этих оценок соответственно будет равна

Фактически сущность ОМНК заключается в определенном (линейном) преобразовании (P) исходных данных и применении обычного МНК к преобразованным данным. Цель этого преобразования - для преобразованных данных случайные ошибки уже удовлетворяют классическим предположениям.

Взвешенный МНК

В случае диагональной весовой матрицы (а значит и ковариационной матрицы случайных ошибок) имеем так называемый взвешенный МНК (WLS - Weighted Least Squares). В данном случае минимизируется взвешенная сумма квадратов остатков модели, то есть каждое наблюдение получает «вес», обратно пропорциональный дисперсии случайной ошибки в данном наблюдении: . Фактически данные преобразуются взвешиванием наблюдений (делением на величину, пропорциональную предполагаемому стандартному отклонению случайных ошибок), а к взвешенным данным применяется обычный МНК.

Некоторые частные случаи применения МНК на практике

Аппроксимация линейной зависимости

Рассмотрим случай, когда в результате изучения зависимости некоторой скалярной величины от некоторой скалярной величины (Это может быть, например, зависимость напряжения от силы тока : , где - постоянная величина, сопротивление проводника) было проведено измерений этих величин, в результате которых были получены значения и соответствующие им значения . Данные измерений должны быть записаны в таблице.

Таблица. Результаты измерений.

№ измерения
1
2
3
4
5
6

Вопрос звучит так: какое значение коэффициента можно подобрать, чтобы наилучшим образом описать зависимость ? Согласно МНК это значение должно быть таким, чтобы сумма квадратов отклонений величин от величин

была минимальной

Сумма квадратов отклонений имеет один экстремум - минимум, что позволяет нам использовать эту формулу . Найдём из этой формулы значение коэффициента . Для этого преобразуем её левую часть следующим образом:

Последняя формула позволяет нам найти значение коэффициента , что и требовалось в задаче.

История

До начала XIX в. учёные не имели определённых правил для решения системы уравнений , в которой число неизвестных меньше, чем число уравнений; до этого времени употреблялись частные приёмы, зависевшие от вида уравнений и от остроумия вычислителей, и потому разные вычислители, исходя из тех же данных наблюдений, приходили к различным выводам. Гауссу (1795) принадлежит первое применение метода, а Лежандр (1805) независимо открыл и опубликовал его под современным названием (фр. Méthode des moindres quarrés ) . Лаплас связал метод с теорией вероятностей , а американский математик Эдрейн (1808) рассмотрел его теоретико-вероятностные приложения . Метод распространён и усовершенствован дальнейшими изысканиями Энке , Бесселя , Ганзена и других.

Альтернативное использование МНК

Идея метода наименьших квадратов может быть использована также в других случаях, не связанных напрямую с регрессионным анализом. Дело в том, что сумма квадратов является одной из наиболее распространенных мер близости для векторов (евклидова метрика в конечномерных пространствах).

Одно из применений - «решение» систем линейных уравнений, в которых число уравнений больше числа переменных

где матрица не квадратная, а прямоугольная размера .

Такая система уравнений, в общем случае не имеет решения (если ранг на самом деле больше числа переменных). Поэтому эту систему можно «решить» только в смысле выбора такого вектора , чтобы минимизировать «расстояние» между векторами и . Для этого можно применить критерий минимизации суммы квадратов разностей левой и правой частей уравнений системы, то есть . Нетрудно показать, что решение этой задачи минимизации приводит к решению следующей системы уравнений

Метод наименьших квадратов

Метод наименьших квадратов (МНК, OLS, Ordinary Least Squares ) - один из базовых методов регрессионного анализа для оценки неизвестных параметров регрессионных моделей по выборочным данным. Метод основан на минимизации суммы квадратов остатков регрессии.

Необходимо отметить, что собственно методом наименьших квадратов можно назвать метод решения задачи в любой области, если решение заключается или удовлетворяет некоторому критерию минимизации суммы квадратов некоторых функций от искомых переменных. Поэтому метод наименьших квадратов может применяться также для приближённого представления (аппроксимации) заданной функции другими (более простыми) функциями, при нахождении совокупности величин, удовлетворяющих уравнениям или ограничениям, количество которых превышает количество этих величин и т. д.

Сущность МНК

Пусть задана некоторая (параметрическая) модель вероятностной (регрессионной) зависимости между (объясняемой) переменной y и множеством факторов (объясняющих переменных) x

где - вектор неизвестных параметров модели

- случайная ошибка модели.

Пусть также имеются выборочные наблюдения значений указанных переменных. Пусть - номер наблюдения (). Тогда - значения переменных в -м наблюдении. Тогда при заданных значениях параметров b можно рассчитать теоретические (модельные) значения объясняемой переменной y:

Величина остатков зависит от значений параметров b.

Сущность МНК (обычного, классического) заключается в том, чтобы найти такие параметры b, при которых сумма квадратов остатков (англ. Residual Sum of Squares ) будет минимальной:

В общем случае решение этой задачи может осуществляться численными методами оптимизации (минимизации). В этом случае говорят о нелинейном МНК (NLS или NLLS - англ. Non-Linear Least Squares ). Во многих случаях можно получить аналитическое решение. Для решения задачи минимизации необходимо найти стационарные точки функции , продифференцировав её по неизвестным параметрам b, приравняв производные к нулю и решив полученную систему уравнений:

Если случайные ошибки модели имеют нормальное распределение , имеют одинаковую дисперсию и некоррелированы между собой, МНК-оценки параметров совпадают с оценками метода максимального правдоподобия (ММП) .

МНК в случае линейной модели

Пусть регрессионная зависимость является линейной:

Пусть y - вектор-столбец наблюдений объясняемой переменной, а - матрица наблюдений факторов (строки матрицы - векторы значений факторов в данном наблюдении, по столбцам - вектор значений данного фактора во всех наблюдениях). Матричное представление линейной модели имеет вид:

Тогда вектор оценок объясняемой переменной и вектор остатков регрессии будут равны

соответственно сумма квадратов остатков регрессии будет равна

Дифференцируя эту функцию по вектору параметров и приравняв производные к нулю, получим систему уравнений (в матричной форме):

.

Решение этой системы уравнений и дает общую формулу МНК-оценок для линейной модели:

Для аналитических целей оказывается полезным последнее представление этой формулы. Если в регрессионной модели данные центрированы , то в этом представлении первая матрица имеет смысл выборочной ковариационной матрицы факторов, а вторая - вектор ковариаций факторов с зависимой переменной. Если кроме того данные ещё и нормированы на СКО (то есть в конечном итоге стандартизированы ), то первая матрица имеет смысл выборочной корреляционной матрицы факторов, второй вектор - вектора выборочных корреляций факторов с зависимой переменной.

Немаловажное свойство МНК-оценок для моделей с константой - линия построенной регрессии проходит через центр тяжести выборочных данных, то есть выполняется равенство:

В частности, в крайнем случае, когда единственным регрессором является константа, получаем, что МНК-оценка единственного параметра (собственно константы) равна среднему значению объясняемой переменной. То есть среднее арифметическое, известное своими хорошими свойствами из законов больших чисел, также является МНК-оценкой - удовлетворяет критерию минимума суммы квадратов отклонений от неё.

Пример: простейшая (парная) регрессия

В случае парной линейной регрессии формулы расчета упрощаются (можно обойтись без матричной алгебры):

Свойства МНК-оценок

В первую очередь, отметим, что для линейных моделей МНК-оценки являются линейными оценками, как это следует из вышеприведённой формулы. Для несмещенности МНК-оценок необходимо и достаточно выполнения важнейшего условия регрессионного анализа : условное по факторам математическое ожидание случайной ошибки должно быть равно нулю. Данное условие, в частности, выполнено, если

  1. математическое ожидание случайных ошибок равно нулю, и
  2. факторы и случайные ошибки - независимые случайные величины.

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

Для того, чтобы кроме состоятельности и несмещенности , оценки (обычного) МНК были ещё и эффективными (наилучшими в классе линейных несмещенных оценок) необходимо выполнение дополнительных свойств случайной ошибки:

Данные предположения можно сформулировать для ковариационной матрицы вектора случайных ошибок

Линейная модель, удовлетворяющая таким условиям, называется классической . МНК-оценки для классической линейной регрессии являются несмещёнными , состоятельными и наиболее эффективными оценками в классе всех линейных несмещённых оценок (в англоязычной литературе иногда употребляют аббревиатуру BLUE (Best Linear Unbaised Estimator ) - наилучшая линейная несмещённая оценка; в отечественной литературе чаще приводится теорема Гаусса - Маркова). Как нетрудно показать, ковариационная матрица вектора оценок коэффициентов будет равна:

Обобщенный МНК

Метод наименьших квадратов допускает широкое обобщение. Вместо минимизации суммы квадратов остатков можно минимизировать некоторую положительно определенную квадратичную форму от вектора остатков , где - некоторая симметрическая положительно определенная весовая матрица. Обычный МНК является частным случаем данного подхода, когда весовая матрица пропорциональна единичной матрице. Как известно из теории симметрических матриц (или операторов) для таких матриц существует разложение . Следовательно, указанный функционал можно представить следующим образом , то есть этот функционал можно представить как сумму квадратов некоторых преобразованных «остатков». Таким образом, можно выделить класс методов наименьших квадратов - LS-методы (Least Squares).

Доказано (теорема Айткена), что для обобщенной линейной регрессионной модели (в которой на ковариационную матрицу случайных ошибок не налагается никаких ограничений) наиболее эффективными (в классе линейных несмещенных оценок) являются оценки т. н. обобщенного МНК (ОМНК, GLS - Generalized Least Squares) - LS-метода с весовой матрицей, равной обратной ковариационной матрице случайных ошибок: .

Можно показать, что формула ОМНК-оценок параметров линейной модели имеет вид

Ковариационная матрица этих оценок соответственно будет равна

Фактически сущность ОМНК заключается в определенном (линейном) преобразовании (P) исходных данных и применении обычного МНК к преобразованным данным. Цель этого преобразования - для преобразованных данных случайные ошибки уже удовлетворяют классическим предположениям.

Взвешенный МНК

В случае диагональной весовой матрицы (а значит и ковариационной матрицы случайных ошибок) имеем так называемый взвешенный МНК (WLS - Weighted Least Squares). В данном случае минимизируется взвешенная сумма квадратов остатков модели, то есть каждое наблюдение получает «вес», обратно пропорциональный дисперсии случайной ошибки в данном наблюдении: . Фактически данные преобразуются взвешиванием наблюдений (делением на величину, пропорциональную предполагаемому стандартному отклонению случайных ошибок), а к взвешенным данным применяется обычный МНК.

Некоторые частные случаи применения МНК на практике

Аппроксимация линейной зависимости

Рассмотрим случай, когда в результате изучения зависимости некоторой скалярной величины от некоторой скалярной величины (Это может быть, например, зависимость напряжения от силы тока : , где - постоянная величина, сопротивление проводника) было проведено измерений этих величин, в результате которых были получены значения и соответствующие им значения . Данные измерений должны быть записаны в таблице.

Таблица. Результаты измерений.

№ измерения
1
2
3
4
5
6

Вопрос звучит так: какое значение коэффициента можно подобрать, чтобы наилучшим образом описать зависимость ? Согласно МНК это значение должно быть таким, чтобы сумма квадратов отклонений величин от величин

была минимальной

Сумма квадратов отклонений имеет один экстремум - минимум, что позволяет нам использовать эту формулу . Найдём из этой формулы значение коэффициента . Для этого преобразуем её левую часть следующим образом:

Последняя формула позволяет нам найти значение коэффициента , что и требовалось в задаче.

История

До начала XIX в. учёные не имели определённых правил для решения системы уравнений , в которой число неизвестных меньше, чем число уравнений; до этого времени употреблялись частные приёмы, зависевшие от вида уравнений и от остроумия вычислителей, и потому разные вычислители, исходя из тех же данных наблюдений, приходили к различным выводам. Гауссу (1795) принадлежит первое применение метода, а Лежандр (1805) независимо открыл и опубликовал его под современным названием (фр. Méthode des moindres quarrés ) . Лаплас связал метод с теорией вероятностей , а американский математик Эдрейн (1808) рассмотрел его теоретико-вероятностные приложения . Метод распространён и усовершенствован дальнейшими изысканиями Энке , Бесселя , Ганзена и других.

Альтернативное использование МНК

Идея метода наименьших квадратов может быть использована также в других случаях, не связанных напрямую с регрессионным анализом. Дело в том, что сумма квадратов является одной из наиболее распространенных мер близости для векторов (евклидова метрика в конечномерных пространствах).

Одно из применений - «решение» систем линейных уравнений, в которых число уравнений больше числа переменных

где матрица не квадратная, а прямоугольная размера .

Такая система уравнений, в общем случае не имеет решения (если ранг на самом деле больше числа переменных). Поэтому эту систему можно «решить» только в смысле выбора такого вектора , чтобы минимизировать «расстояние» между векторами и . Для этого можно применить критерий минимизации суммы квадратов разностей левой и правой частей уравнений системы, то есть . Нетрудно показать, что решение этой задачи минимизации приводит к решению следующей системы уравнений

  • Tutorial

Введение

Я математик-программист. Самый большой скачок в своей карьере я совершил, когда научился говорить:«Я ничего не понимаю!» Сейчас мне не стыдно сказать светилу науки, что мне читает лекцию, что я не понимаю, о чём оно, светило, мне говорит. И это очень сложно. Да, признаться в своём неведении сложно и стыдно. Кому понравится признаваться в том, что он не знает азов чего-то-там. В силу своей профессии я должен присутствовать на большом количестве презентаций и лекций, где, признаюсь, в подавляющем большинстве случаев мне хочется спать, потому что я ничего не понимаю. А не понимаю я потому, что огромная проблема текущей ситуации в науке кроется в математике. Она предполагает, что все слушатели знакомы с абсолютно всеми областями математики (что абсурдно). Признаться в том, что вы не знаете, что такое производная (о том, что это - чуть позже) - стыдно.

Но я научился говорить, что я не знаю, что такое умножение. Да, я не знаю, что такое подалгебра над алгеброй Ли. Да, я не знаю, зачем нужны в жизни квадратные уравнения. К слову, если вы уверены, что вы знаете, то нам есть над чем поговорить! Математика - это серия фокусов. Математики стараются запутать и запугать публику; там, где нет замешательства, нет репутации, нет авторитета. Да, это престижно говорить как можно более абстрактным языком, что есть по себе полная чушь.

Знаете ли вы, что такое производная? Вероятнее всего вы мне скажете про предел разностного отношения. На первом курсе матмеха СПбГУ Виктор Петрович Хавин мне определил производную как коэффициент первого члена ряда Тейлора функции в точке (это была отдельная гимнастика, чтобы определить ряд Тейлора без производных). Я долго смеялся над таким определением, покуда в итоге не понял, о чём оно. Производная не что иное, как просто мера того, насколько функция, которую мы дифференцируем, похожа на функцию y=x, y=x^2, y=x^3.

Я сейчас имею честь читать лекции студентам, которые боятся математики. Если вы боитесь математики - нам с вами по пути. Как только вы пытаетесь прочитать какой-то текст, и вам кажется, что он чрезмерно сложен, то знайте, что он хреново написан. Я утверждаю, что нет ни одной области математики, о которой нельзя говорить «на пальцах», не теряя при этом точности.

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

Итак, первая лекция, которую я собираюсь прочитать своим студентам после того, как они в ужасе прибегут ко мне со словами, что линейно-квадратичный регулятор - это страшная бяка, которую никогда в жизни не осилить, это методы наименьших квадратов . Умеете ли вы решать линейные уравнения? Если вы читаете этот текст, то скорее всего нет.

Итак, даны две точки (x0, y0), (x1, y1), например, (1,1) и (3,2), задача найти уравнение прямой, проходящей через эти две точки:

иллюстрация

Эта прямая должна иметь уравнение типа следующего:

Здесь альфа и бета нам неизвестны, но известны две точки этой прямой:

Можно записать это уравнение в матричном виде:

Тут следует сделать лирическое отступление: что такое матрица? Матрица это не что иное, как двумерный массив. Это способ хранения данных, более никаких значений ему придавать не стоит. Это зависит от нас, как именно интерпретировать некую матрицу. Периодически я буду её интерпретировать как линейное отображение, периодически как квадратичную форму, а ещё иногда просто как набор векторов. Это всё будет уточнено в контексте.

Давайте заменим конкретные матрицы на их символьное представление:

Тогда (alpha, beta) может быть легко найдено:

Более конкретно для наших предыдущих данных:

Что ведёт к следующему уравнению прямой, проходящей через точки (1,1) и (3,2):

Окей, тут всё понятно. А давайте найдём уравнение прямой, проходящей через три точки: (x0,y0), (x1,y1) и (x2,y2):

Ой-ой-ой, а ведь у нас три уравнения на две неизвестных! Стандартный математик скажет, что решения не существует. А что скажет программист? А он для начала перепишет предыдующую систему уравнений в следующем виде:

В нашем случае векторы i,j,b трёхмерны, следовательно, (в общем случае) решения этой системы не существует. Любой вектор (alpha\*i + beta\*j) лежит в плоскости, натянутой на векторы (i, j). Если b не принадлежит этой плоскости, то решения не существует (равенства в уравнении не достичь). Что делать? Давайте искать компромисс. Давайте обозначим через e(alpha, beta) насколько именно мы не достигли равенства:

И будем стараться минимизировать эту ошибку:

Почему квадрат?

Мы ищем не просто минимум нормы, а минимум квадрата нормы. Почему? Сама точка минимума совпадает, а квадрат даёт гладкую функцию (квадратичную функцию от агрументов (alpha,beta)), в то время как просто длина даёт функцию в виде конуса, недифференцируемую в точке минимума. Брр. Квадрат удобнее.

Очевидно, что ошибка минимизируется, когда вектор e ортогонален плоскости, натянутой на векторы i и j .

Иллюстрация

Иными словами: мы ищем такую прямую, что сумма квадратов длин расстояний от всех точек до этой прямой минимальна:

UPDATE: тут у меня косяк, расстояние до прямой должно измеряться по вертикали, а не ортогональной проекцией. Вот этот комментатор прав.

Иллюстрация

Совсеми иными словами (осторожно, плохо формализовано, но на пальцах должно быть ясно): мы берём все возможные прямые между всеми парами точек и ищем среднюю прямую между всеми:

Иллюстрация

Иное объяснение на пальцах: мы прикрепляем пружинку между всеми точками данных (тут у нас три) и прямой, что мы ищем, и прямая равновесного состояния есть именно то, что мы ищем.

Минимум квадратичной формы

Итак, имея данный вектор b и плоскость, натянутую на столбцы-векторы матрицы A (в данном случае (x0,x1,x2) и (1,1,1)), мы ищем вектор e с минимум квадрата длины. Очевидно, что минимум достижим только для вектора e , ортогонального плоскости, натянутой на столбцы-векторы матрицы A :

Иначе говоря, мы ищем такой вектор x=(alpha, beta), что:

Напоминаю, что этот вектор x=(alpha, beta) является минимумом квадратичной функции ||e(alpha, beta)||^2:

Тут нелишним будет вспомнить, что матрицу можно интерпретирвать в том числе как и квадратичную форму, например, единичная матрица ((1,0),(0,1)) может быть интерпретирована как функция x^2 + y^2:

квадратичная форма

Вся эта гимнастика известна под именем линейной регрессии .

Уравнение Лапласа с граничным условием Дирихле

Теперь простейшая реальная задача: имеется некая триангулированная поверхность, необходимо её сгладить. Например, давайте загрузим модель моего лица:

Изначальный коммит доступен . Для минимизации внешних зависимостей я взял код своего софтверного рендерера, уже на хабре. Для решения линейной системы я пользуюсь OpenNL , это отличный солвер, который, правда, очень сложно установить: нужно скопировать два файла (.h+.c) в папку с вашим проектом. Всё сглаживание делается следующим кодом:

For (int d=0; d<3; d++) { nlNewContext(); nlSolverParameteri(NL_NB_VARIABLES, verts.size()); nlSolverParameteri(NL_LEAST_SQUARES, NL_TRUE); nlBegin(NL_SYSTEM); nlBegin(NL_MATRIX); for (int i=0; i<(int)verts.size(); i++) { nlBegin(NL_ROW); nlCoefficient(i, 1); nlRightHandSide(verts[i][d]); nlEnd(NL_ROW); } for (unsigned int i=0; i &face = faces[i]; for (int j=0; j<3; j++) { nlBegin(NL_ROW); nlCoefficient(face[ j ], 1); nlCoefficient(face[(j+1)%3], -1); nlEnd(NL_ROW); } } nlEnd(NL_MATRIX); nlEnd(NL_SYSTEM); nlSolve(); for (int i=0; i<(int)verts.size(); i++) { verts[i][d] = nlGetVariable(i); } }

X, Y и Z координаты отделимы, я их сглаживаю по отдельности. То есть, я решаю три системы линейных уравнений, каждое имеет количество переменных равным количеству вершин в моей модели. Первые n строк матрицы A имеют только одну единицу на строку, а первые n строк вектора b имеют оригинальные координаты модели. То есть, я привязываю по пружинке между новым положением вершины и старым положением вершины - новые не должны слишком далеко уходить от старых.

Все последующие строки матрицы A (faces.size()*3 = количеству рёбер всех треугольников в сетке) имеют одно вхождение 1 и одно вхождение -1, причём вектор b имеет нулевые компоненты напротив. Это значит, я вешаю пружинку на каждое ребро нашей треугольной сетки: все рёбра стараются получить одну и ту же вершину в качестве отправной и финальной точки.

Ещё раз: переменными являются все вершины, причём они не могут далеко отходить от изначального положения, но при этом стараются стать похожими друг на друга.

Вот результат:

Всё бы было хорошо, модель действительно сглажена, но она отошла от своего изначального края. Давайте чуть-чуть изменим код:

For (int i=0; i<(int)verts.size(); i++) { float scale = border[i] ? 1000: 1; nlBegin(NL_ROW); nlCoefficient(i, scale); nlRightHandSide(scale*verts[i][d]); nlEnd(NL_ROW); }

В нашей матрице A я для вершин, что находятся на краю, добавляю не строку из разряда v_i = verts[i][d], а 1000*v_i = 1000*verts[i][d]. Что это меняет? А меняет это нашу квадратичную форму ошибки. Теперь единичное отклонение от вершины на краю будет стоить не одну единицу, как раньше, а 1000*1000 единиц. То есть, мы повесили более сильную пружинку на крайние вершины, решение предпочтёт сильнее растянуть другие. Вот результат:

Давайте вдвое усилим пружинки между вершинами:
nlCoefficient(face[ j ], 2); nlCoefficient(face[(j+1)%3], -2);

Логично, что поверхность стала более гладкой:

А теперь ещё в сто раз сильнее:

Что это? Представьте, что мы обмакнули проволочное кольцо в мыльную воду. В итоге образовавшаяся мыльная плёнка будет стараться иметь наименьшую кривизну, насколько это возможно, касаясь-таки границы - нашего проволочного кольца. Именно это мы и получили, зафиксировав границу и попросив получить гладкую поверхность внутри. Поздравляю вас, мы только что решили уравнение Лапласа с граничными условиями Дирихле. Круто звучит? А на деле всего-навсего одну систему линейных уравнений решить.

Уравнение Пуассона

Давайте ещё крутое имя вспомним.

Предположим, что у меня есть такая картинка:

Всем хороша, только стул мне не нравится.

Разрежу картинку пополам:



И выделю руками стул:

Затем всё, что белое в маске, притяну к левой части картинки, а заодно по всей картинке скажу, что разница между двумя соседними пикселями должна равняться разнице между двумя соседними пикселями правой картинки:

For (int i=0; i

Вот результат:

Код и картинки доступны