Регрессия
Простейшая регрессия
В простейшей постановке в регрессионном анализа рассматриваются две выборки: детерминированных величин $\mathbf{x}=(x_1,\dots,x_I)$ и случайных величин $\mathbf{y}=(y_1,\dots, y_I)$.
Набор $\mathbf{x}$ называется предикторами, а набор $\mathbf{y} – откликами. Предполагается, что между этими величинами существует линейная связь вида
$$y_i=ax_i+b+ε_i$$
где $a$ и $b$ – неизвестные параметры, а $ε_i$ – ошибки, т.е. некоррелированные случайные величины, имеющие нулевое мат.ожидание и неизвестную дисперсию $\sigma^2$.
Если дополнительно предположить, что ошибки распределены нормально
$$ε_i \sim N(0, \sigma^2)$$
то оценивание параметров $a$ и $b$ методом максимального правдоподобия сведется к поиску минимума следующей суммы квадратов
$$Q(a, b) = \sum_{i=1}^I (y_i-ax_i-b)^2$$
Метод наименьших квадратов
На практике допущение о нормальности является избыточным и метод наименьших квадратов применяют и в случае ошибок произвольного вида.
Минимум суммы $Q$ достигается в точке:
$$\hat{b} = \frac{ \sum_{i=1}^I (y_i-\bar{y})(x_i - \bar{x}) } {\sum_{i=1}^I (x_i - \bar{x})^2}$$ $$\hat{a} = \bar{y} - \hat{b}\bar{x}$$
Дисперсии оценок параметров равны:
$$\mathrm{V}(\hat{a}) = \frac{\sigma^2}{I} \frac{\sum_{i=1}^I x_i^2}{\sum_{i=1}^I (x_i-\bar{x})^2}$$ $$\mathrm{V}(\hat{b}) = \frac{\sigma^2} {I\sum_{i=1}^I (x_i-\bar{x})^2}$$
Оценка параметра $\sigma^2$ равна:
$$s^2 = \frac{Q(\hat{a},\hat{b})}{I-2} = \frac{1}{I-2} \sum_{i=1}^I (y_i-\hat{a}x_i-\hat{b})^2$$
Если допущение о нормальности верно, то выполняются следующие соотношения:
$$(I-2)\frac{s^2}{\sigma^2} \sim \chi_{I-2}^2$$ $$\hat{a} \sim N \big( a, \mathrm{V}(\hat{a}) \big)$$ $$\hat{b} \sim N \big( b, \mathrm{V}(\hat{b}) \big)$$
Кроме того, оценки параметров $a$ и $b$ независимы от оценки $\sigma^2$, что позволяет строить для оценок параметров доверительные интервалы с помощью статистики Стьюдента.
Для вычисления параметров регрессии в Excel используют две стандартные функции:
SLOPE
(НАКЛОН
) и INTERCEPT
(ОТРЕЗОК
):
SLOPE (known_y=y, known_x=x)
Возвращает оценку параметра $a$.
INTERCEPT (known_y=y, known_x=x)
Возвращает оценку параметра $b$.
Множественная регрессия
Естественным обобщением простой однофакторной регрессии является множественная регрессия –
$$\mathbf{y}=\mathbf{Xa}+\mathbf{ε}$$
в которой рассматривается связь между вектором откликов $\mathbf{y}$ и матрицей предикторов $\mathbf{X}. Обычное предположение относительно ошибок состоит в том, что:
$$E(ε_i)=0, \mathrm{cov}(\mathbf{ε}, \mathbf{ε})= \sigma^2\mathbf{I}$$
где $\mathbf{I}$ – единичная ($I×I$) матрица.
Если в задаче имеется $I$ наблюдений и $J$ переменных, то матрица $\mathbf{X}$ имеет размерность $I×J$. Цель регрессионного анализа – найти оценки неизвестных коэффициентов $\mathbf{a}=(a_1,\dots,a_J)^\mathrm{t}$, такие, которые минимизируют сумму квадратов остатков:
$$ Q(\mathbf{a}) = \lVert \mathbf{y} - \mathbf{Xa} \rVert^2 = \sum{i=1}^I \lvert y_i - \sum_{j=1}^J x_{ij}a_j \rvert^2 $$
В обычном методе наименьших квадратов (МНК) предполагается, что матрица $\mathbf{X}^\mathrm{t}\mathbf{X}$ обратима. Тогда минимум $Q(\mathbf{a})$ достигается при:
$$\hat{a}=(\mathbf{X}^\mathrm{t}\mathbf{X})^{–1}\mathbf{X}^\mathrm{t}\mathbf{y}$$
Оценка параметра $\sigma^2$ равна:
$$s^2=Q(\mathbf{\hat{a}})/(I–J)$$
Матрица ковариаций оценок равна
$$\mathbf{C}=s^2(\mathbf{X}^\mathrm{t}\mathbf{X})^{–1}$$
Для построения множественной регрессии в Excel используют две стандартные функции:
TREND
(ТЕНДЕНЦИЯ
) и LINEST
(ЛИНЕЙН
). Регрессия строится в следующем виде:
$$y = b + m_1x_1 + \dots + m_Jx_j$$
TREND(known_y [,known_x] [,new_x] [,const])
known_y
– вектор известных значений откликов $\mathbf{y}$ (калибровочный набор);
known_x
– необязательный аргумент. Матрица известных значений предикторов
$\mathbf{X} (калибровочный набор);
new_x
– необязательный аргумент. Матрица новых значений предикторов $\mathbf{X}_{new}$ для
которых вычисляются и выводятся значения откликов (проверочный набор);
const
– необязательный аргумент. Логическое значение, которое указывает, требуется ли,
чтобы параметр $b$ был равен нулю. Если const
имеет значение TRUE
или опущено,
то $b$ вычисляется обычным образом, иначе $b=0$.
Примечания:
- Вектор
known_y
должен занимать один столбец, тогда каждый столбец матрицы массиваknown_x
интерпретируется как отдельная переменная; - Если аргумент
known_x
опущен, то предполагается, что это вектор чисел $\{1;2;3;\dots\}$ такого же размера, как иknown_y
; - Матрица новых значений
new_x
должна иметь столько же столбцов (переменных), как и матрицаknown_x
; - Если аргумент
new_x
опущен, то предполагается, что он совпадает с массивомknown_x
. Результат является вектором, в котором число строк равно числу строк в массивеnew_x
.
Функция TREND
является функцией массива и ее ввод должен завершаться нажатием
комбинации CTRL+SHIFT+ENTER
.
Функция LINEST
(ЛИНЕЙН
) дополняет функцию TREND
и выводит некоторые статистические
значения, связанные с регрессией:
LINEST(known_y [,known_x] [,new_x] [,const] [,stats])
Первые четыре аргументы аналогичны параметрам функции TREND
. Необязательный
логический аргумент stats
указывает, нужно ли выводить дополнительные статистические
значения. Если stats
имеет значение FALSE
или опущено, то выводятся только оценки
коэффициентов $b,m_1,\dots,m_J$. Иначе выводится целая таблица как показано на
рисунке 23.
mJ,..., m2, m1 и b – оценки регрессионных коэффициентов;
sJ,...,s2,s1 и sb – стандартные ошибки для оценок регрессионных коэффициентов;
R2 – коэффициент детерминации;
sy – стандартная ошибка оценки $y$;
F – $F$-статистика;
DoF – число степеней свободы;
SSreg – регрессионная сумма квадратов;
SSres – остаточная сумма квадратов.
Примечания
-
LINEST
– это очень плохо сконструированная функция, очень неудобная в практическом применении; -
Примечания, представленные в описании функции
TREND
полностью применимы к функцииLINEST
.
Функция LINEST
является функцией массива и ее ввод должен завершаться нажатием
комбинации CTRL+SHIFT+ENTER
.