Учебник+

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

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

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

Тогда формально нашу задачу можно записать так: имеется выборка из n пар наблюдений \(\left(x_i,y_i\right),i=1,{\dots},n\), требуется подобрать функцию, которая наилучшим образом описывает зависимость переменной y от переменной x.

Парный регрессионный анализ как раз и состоит в решении такой задачи.

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

Про эту задачу удобно думать, глядя на картинку. Если мы каждой паре наблюдений \(\left(x_i,y_i\right)\) поставим в соответствие точку на плоскости, то у нас получится что-то похожее на рисунок 2.1а. В терминах примера про квартиры можно считать, что каждая точка на этом рисунке соответствует определенной квартире (по оси абсцисс отложена площадь квартиры, а по оси ординат — её цена). Тогда нашу задачу поиска линейной функции, описывающей влияние переменной x на переменную y, можно воспринимать как задачу подбора прямой линии на графике, которая наилучшим образом описывает изображенное на нём облако точек. Пример такой прямой изображен на рисунке 2.1б. Мы будем называть её линией регрессии.

pic

Рисунок 2.1а. Диаграмма рассеяния

pic

Рисунок 2.1б. Диаграмма рассеяния с линией регрессии

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

Чтобы получить уравнение прямой, нам нужно подобрать численные значения двух коэффициентов: свободного члена, который мы обозначим \(\widehat {\beta _1}\), и коэффициента наклона \(\widehat {\beta _2}\). Тогда нашу линию регрессии можно записать так:

\begin{equation*} \widehat y_i=\widehat {\beta _1}+\widehat {\beta _2}x_i. \end{equation*}

Здесь \(\widehat y_i\) — предсказываемое нашим уравнением значение переменной y. Поскольку наша линия лишь приближенно описывает облако точек, предсказанное значение \(\widehat y_i\) может не совпадать с фактическим значением \(y_i\) (то есть с тем значением, которое действительно наблюдается в данных). Отклонения предсказанных значений от фактических будем называть остатками регрессии и обозначать \(e_i=y_i-\widehat y_i\). Геометрически остатки регрессии характеризуют отклонение соответствующих наблюдений от линии регрессии по вертикали. Положительным остаткам соответствует отклонение вверх, а отрицательным — вниз.

Естественно подбирать уравнение таким образом, чтобы отклонения предсказаний от фактических значений были не слишком большими, то есть чтобы остатки \(e_i\) были маленькими. На первый взгляд кажется, что хорошей идеей в этом случае будет идея подбирать \(\widehat {\beta _1}\) и \(\widehat {\beta _2}\) таким образом, чтобы сумма остатков \(e_1+e_2+{\dots}+e_n\) была как можно ближе к нулю. Но ограничиваться только этим подходом не стоит. Проблема в том, что в этом случае возможна ситуация, когда есть очень большие положительные отклонения и очень большие по абсолютному значению отрицательные отклонения (то есть наше уравнение сильно «ошибается» в обе стороны), однако эти положительные и отрицательные отклонения взаимно компенсируют друг друга так, что сумма остатков равна нулю.

Поэтому обычно вместо простой суммы остатков минимизируют сумму квадратов остатков, то есть решают такую задачу:

\begin{equation*} e_1^2+e_2^2+{\dots}+e_n^2\rightarrow \underset{\widehat {\beta _1},\widehat {\beta _2}}{\mathit{min}} \end{equation*}

Такой метод поиска интересующих нас величин \(\widehat {\beta _1}\) и \(\widehat {\beta _2}\) называется методом наименьших квадратов (МНК, ordinary least squares, OLS). Внимательный читатель спросит: почему нужно минимизировать именно сумму квадратов, а не, например, сумму модулей остатков \(|e_1|+|e_2|+{\dots}+|e_n|\)? Оказывается, что применение МНК приводит к получению результатов, которые обладают очень хорошими свойствами, часть из которых мы обсудим уже в этой главе (а часть — несколько позже). Поэтому МНК и стал одной из главных «рабочих лошадок» эконометристов.

Решим задачу минимизации суммы квадратов остатков.

\begin{equation*} \sum _{i=1}^ne_i^2=\sum _{i=1}^n\left(y_i-\widehat {\beta _1}-\widehat {\beta _2}x_i\right)^2\rightarrow \underset{\widehat {\beta _1},\widehat {\beta _2}}{\mathit{min}} \end{equation*}

Возьмем производные по \(\widehat {\beta _1}\) и \(\widehat {\beta _2}\) и получим необходимые условия экстремума функции:

\(\left\{\begin{matrix}-2\sum _{i=1}^n\left(y_i-\widehat {\beta _1}-\widehat {\beta _2}x_i\right)=0\\-2\sum _{i=1}^nx_i\left(y_i-\widehat {\beta _1}-\widehat {\beta _2}x_i\right)=0\end{matrix}\left(2.1\right)\right.\)

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

Раскроем скобки:

\begin{equation*} \left\{\begin{matrix}\sum _{i=1}^ny_i-n\widehat {\beta _1}-\widehat {\beta _2}\sum _{i=1}^nx_i=0\\\sum _{i=1}^nx_iy_i-\widehat {\beta _1}\sum _{i=1}^nx_i-\widehat {\beta _2}\sum _{i=1}^nx_i^2=0\end{matrix}\right. \end{equation*}

Поделим каждое уравнение системы на \(n\):

\begin{equation*} \left\{\begin{matrix}\overline y-\widehat {\beta _1}-\widehat {\beta _2}\overline x=0\\\overline{\mathit{xy}}-\widehat {\beta _1}\overline x-\widehat {\beta _2}\overline{x^2}=0\end{matrix}\right. \end{equation*}

Наконец, выразим из этой системы \(\widehat {\beta _1}\) и \(\widehat {\beta _2}\):

\begin{equation*} \widehat {\beta _2}=\frac{\overline{\mathit{xy}}-\overline x{\ast}\overline y}{\overline{x^2}-\overline x^2}=\frac{\widehat {\mathit{Cov}}\left(x,y\right)}{\widehat {\mathit{Var}}\left(x\right)} \end{equation*}

\begin{equation*} \widehat {\beta _1}=\overline y-\widehat {\beta _2}\overline x=\overline y-\frac{\widehat {\mathit{Cov}}\left(x,y\right)}{\widehat {\mathit{Var}}\left(x\right)}\overline x \end{equation*}

Пример 2.1. Имеются следующие данные о переменных x и y.

\(y\) 1 3 1 3 7
\(x\) 2 2 6 4 6

Найдите МНК-оценки параметров в линейной регрессии y на x.

Решение:

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

 

 \(y\)

 \(x\)

\(x^2\) 

\(x * y\) 

 

1

2

4

2

 

3

2

4

6

 

1

6

36

6

 

3

4

16

12

 

7

6

36

42

Сумма

15

20

96

68

Среднее

3

4

19,2

13,6

Теперь можно посчитать МНК-оценки:

\begin{equation*} \widehat {\beta _2}=\frac{\overline{\mathit{xy}}-\overline x{\ast}\overline y}{\overline{x^2}-\overline x^2}=\frac{13,6-4{\ast}3}{19,2-4^2}=0,5 \end{equation*}

\begin{equation*} \widehat {\beta _1}=\overline y-\widehat {\beta _2}{\ast}\overline x=3-4{\ast}0,5=1 \end{equation*}

Ответ: \(\widehat y_i=1+0,5{\ast}x_i\).

***

Остатки регрессии, получаемые в результате применения МНК, обладают рядом свойств, которые пригодятся нам в будущем:

Свойство №1. \(\sum _{i=1}^ne_i=0\), 

Свойство №2. \(\sum _{i=1}^nx_ie_i=0,\) 

Свойство №3. \(\sum _{i=1}^ny_i=\sum _{i=1}^n\widehat y_i\),

Свойство №4. \(\sum _{i=1}^n\left(\widehat y_i-\overline y\right)e_i=0\), или, что то же самое, \(\widehat {\mathit{cov}}\left(\widehat y,e\right)=0\)

Для доказательства первых двух свойств достаточно взглянуть на необходимое условие экстремума в нашей задаче (см. систему (2.1)). С учетом того, что \(e_i=y_i-\widehat {\beta _1}-\widehat {\beta _2}x_i\), из первого уравнения этой системы следует первое свойство, а из второго — второе.

Третье свойство следует из первого:

\begin{equation*} \sum _{i=1}^ny_i=\sum _{i=1}^n\widehat y_i \end{equation*}

\begin{equation*} \sum _{i=1}^n\left(y_i-\widehat y_i\right)=0\end{equation*}

\begin{equation*} \sum _{i=1}^ne_i=0 \end{equation*}

Наконец, четвертое свойство следует из первых двух:

\begin{equation*} \widehat {\mathit{cov}}\left(\widehat y,e\right)=\frac 1 n\sum _{i=1}^n\left(\widehat y_i-\overline y\right)\left(e_i-\overline e\right)= \end{equation*}

\begin{equation*}=\frac 1 n\sum _{i=1}^n\left(\widehat y_i-\overline y\right)e_i=\frac 1 n\sum _{i=1}^n\widehat y_ie_i-\frac 1 n\overline y\sum _{i=1}^ne_i= \end{equation*}

\begin{equation*} \frac 1 n\sum _{i=1}^n\widehat y_ie_i-0=\frac 1 n\sum _{i=1}^n\left(\widehat {\beta _1}+\widehat {\beta _2}x_i\right)e_i=\frac 1 n\widehat {\beta _1}\sum _{i=1}^ne_i+\frac 1 n\widehat {\beta _2}\sum _{i=1}^nx_ie_i= \end{equation*}

\begin{equation*}=\frac 1 n\widehat {\beta _1}0+\frac 1 n\widehat {\beta _2}0=0\end{equation*}

Мы научились при помощи МНК находить функцию, описывающую влияние переменной x на переменную y. Следующий важный шаг — научиться измерять то, насколько полученное нами уравнение хорошо соответствует данным. Например, глядя на рисунки 2.2, легко видеть, что в первом случае (рисунок 2.2а) наше уравнение очень хорошо соответствует данным, так как все фактические значения зависимой переменной оказываются очень близки к предсказанным. Иными словами, все точки лежат близко к нашей линии регрессии. Однако на рисунке 2.2б точно такая же линия регрессии соответствует данным довольно скверно, так как мы видим, что многие точки лежат от неё очень далеко. Зная только значения \(\widehat {\beta _1}\) и \(\widehat {\beta _2}\), оценить степень этого (не)соответствия не получится, поэтому нам понадобится специальный измеритель.

pic

Рисунок 2.2а. Хорошее соответствие линии регрессии данным

pic

Рисунок 2.2б. Плохое соответствие линии регрессии данным

Чтобы его получить, выразим переменную y через остатки и \(\widehat y\):

\begin{equation*} e_i=y_i-\widehat y_i\Rightarrow y_i=e_i+\widehat y_i \end{equation*}

Теперь посчитаем выборочную дисперсию этой переменной, используя стандартные свойства выборочной дисперсии:

\begin{equation*} \widehat {\mathit{var}}\left(y\right)=\widehat {\mathit{var}}\left(e+\widehat y\right)=\widehat {\mathit{var}}\left(e\right)+\widehat {\mathit{var}}\left(\widehat y\right)+2{\ast}\widehat {\mathit{cov}}\left(e,\widehat y\right)= \end{equation*}

\begin{equation*}=\widehat {\mathit{var}}\left(e\right)+\widehat {\mathit{var}}\left(\widehat y\right)+2{\ast}0=\widehat {\mathit{var}}\left(e\right)+\widehat {\mathit{var}}\left(\widehat y\right) \end{equation*}

 

В последней строчке мы воспользовались свойством остатков №4 ( \(\mathit{Cov}\left(\widehat y,e\right)=0\)). Таким образом, мы доказали, что:

\begin{equation*} \widehat {\mathit{var}}\left(y\right)=\widehat {\mathit{var}}\left(e\right)+\widehat {\mathit{var}}\left(\widehat y\right) \end{equation*}

Или, что то же самое:

\begin{equation*} \frac 1 n\sum _{i=1}^n\left(y_i-\overline y\right)^2=\frac 1 n\sum _{i=1}^n\left(e_i-\overline e\right)^2+\frac 1 n\sum _{i=1}^n\left(\widehat y_i-\overline y\right)^2 \end{equation*}

Если домножить правую и левую часть данного равенства на n, а также вспомнить, что среднее значение остатков равно нулю (так как по свойству №1 сумма остатков равна нулю), то мы получим следующее тождество:

\begin{equation*} \sum _{i=1}^n\left(y_i-\overline y\right)^2=\sum _{i=1}^ne_i^2+\sum _{i=1}^n\left(\widehat y_i-\overline y\right)^2 \end{equation*}

Иными словами, верно такое выражение: общая сумма квадратов = сумма квадратов остатков + объясненная сумма квадратов.

Отметим, что если наше уравнение очень хорошо соответствует данным (то есть если наблюдается картинка, похожая на рисунок 2.2а), то сумма квадратов остатков в модели должна быть очень маленькой (так как каждый из остатков регрессии близок к нулю), и, следовательно, величина \(\sum _{i=1}^n\left(\widehat y_i-\overline y\right)^2\) должна быть очень близка к \(\sum _{i=1}^n\left(y_i-\overline y\right)^2\). Иными словами, если наше уравнение хорошо соответствует данным, то дробь \(\frac{\sum _{i=1}^n\left(\widehat y_i-\overline y\right)^2}{\sum _{i=1}^n\left(y_i-\overline y\right)^2}\) должна быть близка к единице. В крайнем случае, когда уравнение идеально соответствует данным, и сумма квадратов остатков равна нулю, эта дробь будет в точности равна единице.

Напротив, если линия регрессии плохо описывает фактические данные (то есть если наблюдается картинка, похожая на рисунок 2.2б), то сумма квадратов остатков \(\sum _{i=1}^ne_i^2\) будет большой. Тогда выражение \(\sum _{i=1}^n\left(\widehat y_i-\overline y\right)^2\), наоборот, будет сравнительно маленьким, и, следовательно, дробь \(\frac{\sum _{i=1}^n\left(\widehat y_i-\overline y\right)^2}{\sum _{i=1}^n\left(y_i-\overline y\right)^2}\) будет близка к нулю.

На этой идее основывается использование коэффициента R-квадрат (его ещё иногда называют коэффициентом детерминации).

\begin{equation*} R^2=1-\frac{\sum _{i=1}^ne_i^2}{\sum _{i=1}^n\left(y_i-\overline y\right)^2}=1-\frac{\sum _{i=1}^ne_i^2}{\sum _{i=1}^ne_i^2+\sum _{i=1}^n\left(\widehat y_i-\overline y\right)^2}= \end{equation*}

\begin{equation*}=\frac{\sum _{i=1}^n\left(\widehat y_i-\overline y\right)^2}{\sum _{i=1}^n\left(y_i-\overline y\right)^2}=\frac{\frac 1 n\sum _{i=1}^n\left(\widehat y_i-\overline y\right)^2}{\frac 1 n\sum _{i=1}^n\left(y_i-\overline y\right)^2}=\frac{\widehat {\mathit{var}}\left(\widehat y\right)}{\widehat {\mathit{var}}\left(y\right)} \end{equation*}

В силу соображений, которые мы обсудили выше, \(R^2\epsilon \left[0,1\right]\), причем чем лучше наша линия регрессии соответствует данным, тем ближе этот коэффициент к единице. И наоборот, чем хуже наше уравнение согласуется с фактическими наблюдениями, тем ближе он к нулю.

Лирическое отступление о разнообразии обозначений

Для общей суммы квадратов в литературе обычно используется обозначение TSS (total sum of squares). Сумма квадратов остатков  в некоторых источниках (Dougherty, 2011) обозначается  RSS (residual sum of squares), в некоторых (Сток, Уотсон, 2015) она называется SSR (sum of squared residuals), и, наконец, в (Магнус, Катышев, Пересецкий, 2004) используется обозначение ESS (error sum of squares).

Объясненная сумма квадратов  в некоторых учебниках (Dougherty, 2011) тоже обозначается ESS (estimated sum of squares), а в некоторых (Магнус, Катышев, Пересецкий, 2004) — наоборот, RSS (regression sum of squares).

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

Пример 2.2 (продолжение примера 2.1) Для полученного в примере 2.1 уравнения вычислите сумму квадратов остатков и \(R^2\).

Решение:

Для вычисления суммы квадратов остатков удобно дополнить нашу таблицу еще несколькими столбцами. В этой таблице \(\widehat y_i\) вычисляется по формуле, которую мы нашли в примере 2.1, а остатки регрессии вычисляются по определению: \(e_i=y_i-\widehat y_i\).

  \(y\) \(x\) \(x^2\) \(x \ast y\) \(\widehat y\) \(e\) \(e^2\)
  1 2 4 2 2 -1 1
  3 2 4 6 2 1 1
  1 6 36 6 4 -3 9
  3 4 16 12 3 0 0
  7 6 36 42 4 3 9
Сумма 15 20 96 68 15 0 20
Среднее 3 4 19,2 13,6      

Таким образом, сумма квадратов остатков равна 20. Обратите внимание, что сумму предсказанных значений зависимой переменной \(\widehat y_i\) и сумму остатков (без квадратов) вычислять для решения задания было не обязательно. Мы сделали это для проверки. Если все вычисления верны, то в нашей регрессии сумма \(\sum \widehat y_i\) должна совпадать с суммой \(\sum y_i\), а сумма остатков всегда должна быть равна нулю. В нашем случае так и получается.

Коэффициент детерминации \(R^2\) можно вычислять разными способами. Поскольку у нас уже посчитана сумма квадратов остатков, удобно воспользоваться той формулой для \(R^2\), где эта сумма используется:

\begin{equation*} R^2=1-\frac{\sum e_i^2}{\sum \left(y_i-\overline y\right)^2}= \end{equation*}

\begin{equation*} 1-\frac{20}{\left(1-3\right)^2+\left(3-3\right)^2+\left(1-3\right)^2+\left(3-3\right)^2+\left(7-3\right)^2}=\frac 1 6 \end{equation*}

Ответ: \(\sum e_i^2\)=20, \(R^2=\frac 1 6.\)