Метод наименьших квадратов и линейная подгонка

Статистический анализ данных

Дмитрий В. Наумов (ОИЯИ)

От измерений к кривой

Задача подгонки

Имеются измерения \[ (x_i,y_i\pm \sigma_i), \qquad i=1,\ldots,N, \] и модель \[ y=f(x;\boldsymbol\theta). \]

Требуется:

  • оценить параметры \(\boldsymbol\theta\);
  • определить их неопределённости и корреляции;
  • проверить, согласуется ли модель с данными;
  • исследовать остатки и устойчивость результата.

Почему нельзя просто провести красивую кривую

  • Точки имеют разные неопределённости.
  • Ошибки разных точек могут быть коррелированы.
  • Параметры модели также оказываются коррелированными.
  • Выброс или неверная модель могут сильно сместить результат.
  • Хорошая картинка не заменяет количественную проверку согласия.

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

Связь с методом функции правдоподобия

Гауссовая модель измерений

Пусть \(x_i\) известны точно, а измерения \(y_i\) независимы и распределены по гауссу: \[ Y_i \sim \mathrm N\!\left( f(x_i;\boldsymbol\theta), \sigma_i^2 \right). \]

Тогда функция правдоподобия равна \[ L(\boldsymbol\theta) = \prod_{i=1}^{N} \frac{1}{\sqrt{2\pi}\sigma_i} \exp\!\left[ -\frac{ [y_i-f(x_i;\boldsymbol\theta)]^2 }{2\sigma_i^2} \right]. \]

Взвешенная сумма квадратов

Для известных \(\sigma_i\), не зависящих от параметров: \[ -2\ln L(\boldsymbol\theta) = \sum_{i=1}^{N} \frac{ [y_i-f(x_i;\boldsymbol\theta)]^2 }{\sigma_i^2} +\mathrm{const}. \]

Поэтому максимизация правдоподобия эквивалентна минимизации \[ \boxed{ \chi^2(\boldsymbol\theta) = \sum_{i=1}^{N} \frac{[y_i-f(x_i;\boldsymbol\theta)]^2}{\sigma_i^2}. } \]

Что означают веса

Вклад одной точки: \[ \chi_i^2 =\frac{[y_i-f(x_i;\boldsymbol\theta)]^2}{\sigma_i^2}\equiv \frac{r_i^2}{\sigma_i^2}. \]

  • Точка с малой \(\sigma_i\) сильнее влияет на подгонку.
  • Точка с большой \(\sigma_i\) допускает больший абсолютный остаток.
  • Вес точки равен обратной дисперсии: \[ w_i=\frac{1}{\sigma_i^2}. \]
  • Вес должен следовать из вероятностной модели, а не выбираться для получения желаемого результата.

МНК не универсален

МНК естественно возникает в гауссовом приближении. Он может быть неверным, если:

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

Прямая по точкам

Линейная модель

Рассмотрим \[ y_i=a+b x_i+\varepsilon_i, \qquad \varepsilon_i\sim\mathrm N(0,\sigma_i^2). \]

Минимизируем \[ \chi^2(a,b) = \sum_i w_i(y_i-a-bx_i)^2, \qquad w_i=\frac1{\sigma_i^2}. \]

Условия минимума: \[ \frac{\partial\chi^2}{\partial a}=0, \qquad \frac{\partial\chi^2}{\partial b}=0. \]

Вывод нормальных уравнений

Дифференцируем \[ \chi^2(a,b)=\sum_i w_i(y_i-a-bx_i)^2. \]

Получаем два условия: \[ \frac{\partial\chi^2}{\partial a} = -2\sum_i w_i(y_i-a-bx_i)=0, \] \[ \frac{\partial\chi^2}{\partial b} = -2\sum_i w_i x_i(y_i-a-bx_i)=0. \]

Раскрываем скобки и переносим известные величины вправо: \[ \begin{pmatrix} \sum_iw_i&\sum_iw_ix_i\\ \sum_iw_ix_i&\sum_iw_ix_i^2 \end{pmatrix} \begin{pmatrix}a\\b\end{pmatrix} = \begin{pmatrix} \sum_iw_iy_i\\ \sum_iw_ix_iy_i \end{pmatrix}. \]

Нормальные уравнения

Введём суммы \[ \begin{aligned} S&=\sum_iw_i, & S_x&=\sum_iw_ix_i, & S_y&=\sum_iw_iy_i,\\ S_{xx}&=\sum_iw_ix_i^2, & S_{xy}&=\sum_iw_ix_iy_i. \end{aligned} \]

Тогда \[ \begin{pmatrix} S&S_x\\ S_x&S_{xx} \end{pmatrix} \begin{pmatrix}a\\b\end{pmatrix} = \begin{pmatrix}S_y\\S_{xy}\end{pmatrix}. \]

Формальное решение

Запишем систему короче: \[ A\boldsymbol\beta=\mathbf c, \qquad A= \begin{pmatrix} S&S_x\\ S_x&S_{xx} \end{pmatrix}, \quad \boldsymbol\beta= \begin{pmatrix}a\\b\end{pmatrix}, \quad \mathbf c= \begin{pmatrix}S_y\\S_{xy}\end{pmatrix}. \]

Если матрица \(A\) обратима, то \[ \boxed{ \widehat{\boldsymbol\beta} = A^{-1}\mathbf c. } \]

Обратимость означает, что данные действительно различают \(a\) и \(b\). Например, все точки с одним и тем же \(x\) не позволяют определить наклон.

Ковариация параметров

Из лекции о двумерном гауссе мы знаем форму многомерного гаусса: \[ p(\boldsymbol\beta) \propto \exp\!\left[ -\frac12 (\boldsymbol\beta-\widehat{\boldsymbol\beta})^\mathsf T V_\beta^{-1} (\boldsymbol\beta-\widehat{\boldsymbol\beta}) \right]. \]

А для гауссовых ошибок измерений \[ L(\boldsymbol\beta) \propto \exp\!\left[-\frac12\chi^2(\boldsymbol\beta)\right]. \]

Значит около минимума нужно узнать в \(\chi^2\) квадратичную форму \[ \boxed{ \chi^2(\boldsymbol\beta) \approx \chi^2_{\min} + (\boldsymbol\beta-\widehat{\boldsymbol\beta})^\mathsf T V_\beta^{-1} (\boldsymbol\beta-\widehat{\boldsymbol\beta}). } \]

Ковариация параметров для прямой

Для прямой \(\chi^2\) является квадратичной функцией параметров, поэтому это не приближение, а точное равенство: \[ \chi^2(\boldsymbol\beta) = \chi^2_{\min} + (\boldsymbol\beta-\widehat{\boldsymbol\beta})^\mathsf T \begin{pmatrix} S&S_x\\ S_x&S_{xx} \end{pmatrix} (\boldsymbol\beta-\widehat{\boldsymbol\beta}). \]

Сравнивая с формой многомерного гаусса, получаем \[ \boxed{ V_\beta^{-1} = \begin{pmatrix} S&S_x\\ S_x&S_{xx} \end{pmatrix}, \qquad V_\beta = \begin{pmatrix} S&S_x\\ S_x&S_{xx} \end{pmatrix}^{-1}. } \]

Явные формулы для оценок

Обозначим \[ \Delta=SS_{xx}-S_x^2. \]

Тогда из \(\widehat{\boldsymbol\beta}=V_\beta\mathbf c\) получаем \[ \boxed{ \begin{pmatrix} \widehat a\\ \widehat b \end{pmatrix} = V_\beta \begin{pmatrix} S_y\\S_{xy} \end{pmatrix} = \frac1\Delta \begin{pmatrix} S_{xx}S_y-S_xS_{xy}\\ SS_{xy}-S_xS_y \end{pmatrix}. } \]

Явные формулы для ковариаций

Напомним: \[ S=\sum_iw_i,\qquad S_x=\sum_iw_ix_i,\qquad S_{xx}=\sum_iw_ix_i^2, \qquad \Delta=SS_{xx}-S_x^2. \]

Матрица \(V_\beta\) — это ковариационная матрица вектора параметров: \[ \boxed{ \operatorname{Cov}\!\left( \begin{pmatrix} \widehat a\\ \widehat b \end{pmatrix} \right) = V_\beta. } \]

В явном виде \[ \boxed{ V_\beta = \frac1\Delta \begin{pmatrix} S_{xx}&-S_x\\ -S_x&S \end{pmatrix}. } \]

Её элементы: \[ \operatorname{Var}(\widehat a)=\frac{S_{xx}}{\Delta}, \qquad \operatorname{Var}(\widehat b)=\frac{S}{\Delta}, \qquad \operatorname{Cov}(\widehat a,\widehat b)=-\frac{S_x}{\Delta}. \]

От чего зависят ошибки

Введём взвешенный центр и взвешенный разброс по \(x\): \[ \bar x_w=\frac{S_x}{S}, \qquad Q_x=\sum_iw_i(x_i-\bar x_w)^2=\frac{\Delta}{S}. \]

Тогда те же формулы можно переписать так: \[ \boxed{ \sigma_b^2=\frac{1}{Q_x}, \qquad \sigma_a^2=\frac{1}{S}+\frac{\bar x_w^2}{Q_x}, \qquad \operatorname{Cov}(\widehat a,\widehat b)=-\frac{\bar x_w}{Q_x}. } \]

  • Меньшие ошибки точек дают большие веса \(w_i=1/\sigma_i^2\) и уменьшают ошибки параметров.
  • Наклон определяется рычагом \(Q_x\): чем шире точки разнесены по \(x\), тем меньше \(\sigma_b\).
  • Пересечение \(a\) относится к точке \(x=0\). Если данные далеко от нуля, ошибка наклона переносится в ошибку \(a\).
  • Ковариация появляется потому, что изменение наклона компенсируется сдвигом пересечения.

Центр тяжести точек

  • При фиксированном наклоне \(b\) минимизация \(\chi^2\) по \(a\): \[ 0=\frac{\partial\chi^2}{\partial a} = -2\sum_iw_i(y_i-a-bx_i). \]

  • Отсюда \[ \boxed{ a(b)=\bar y_w-b\bar x_w, \qquad \bar y_w=\frac{\sum_iw_iy_i}{\sum_iw_i}. } \]

  • Лучшая прямая для любого \(b\) проходит через “центр тяжести” \[ (\bar x_w,\bar y_w). \]

  • Следующим шагом нужно найти \(b\), минимизирующий \(\chi^2\).

Геометрия ошибок: профилирование по \(a\)

Синие прямые — это лучшие прямые при наклонах \(\widehat b\pm\sigma_b\): для каждого наклона свободный член \(a\) заново минимизирует \(\chi^2\). Поэтому они проходят через центр данных, но описывают точки хуже оранжевой прямой.

Центрированная параметризация

Корреляция особенно прозрачна в формуле \[ \operatorname{Cov}(\widehat a,\widehat b)=-\frac{\bar x_w}{Q_x}. \]

Если перенести начало координат в взвешенный центр данных, \[ x_i'=x_i-\bar x_w, \qquad \bar x_w=\frac{\sum_iw_ix_i}{\sum_iw_i}, \] и записать ту же прямую как \[ y=a'+b'x', \qquad a'=a+b\bar x_w, \qquad b'=b, \] то для новых параметров \[ S_x'=\sum_iw_ix_i'=0, \qquad \operatorname{Cov}(\widehat a',\widehat b')=0, \qquad \operatorname{Var}(\widehat a')=\frac1S, \qquad \operatorname{Var}(\widehat b')=\frac1{Q_x}. \]

\(a'\) — значение прямой в центре данных, а не старое пересечение при \(x=0\). Параметризация влияет на корреляцию, но не меняет физическую прямую.

Связь с нормальными координатами

В центрированных параметрах квадратичная форма около минимума диагональна: \[ \Delta\chi^2 = \chi^2(a',b')-\chi^2_{\min} = S\,(\delta a')^2 + Q_x\,(\delta b')^2. \]

Здесь нет смешанного члена \(\delta a'\delta b'\) — значит параметры некоррелированы.

Если ещё перейти к безразмерным координатам \[ z_a=\sqrt{S}\,\delta a' = \frac{\delta a'}{\sigma_{a'}}, \qquad z_b=\sqrt{Q_x}\,\delta b' = \frac{\delta b'}{\sigma_{b'}}, \] то \[ \boxed{ \Delta\chi^2=z_a^2+z_b^2. } \]

Это и есть нормальные координаты для локального гаусса параметров: сначала диагонализуем форму, затем измеряем оси в единицах их стандартных ошибок.

Выброс портит подгонку. Интерактив

Аплет генерирует точки около прямой \[ y=1+0.8x \] и выполняет взвешенную подгонку.

  1. Изменяем статистическую ошибку точек.
  2. Добавляем управляемый выброс.
  3. Сравниваем подогнанную прямую с истинной.
  4. Смотрим остатки и вклад выброса в \(\chi^2\).
  5. Проверяем, что квадратичный критерий особенно чувствителен к большим отклонениям.

Интерактив: прямая, ошибки и выброс

Что видно в аплете

  • Без выброса подогнанная прямая флуктуирует около истинной.
  • Увеличение ошибок ослабляет ограничения на параметры.
  • Один далёкий выброс заметно сдвигает прямую и увеличивает \(\chi^2\).
  • Остатки показывают структуру, которую легко пропустить на основном графике.
  • Обычный МНК не является устойчивым к выбросам методом.

Что важно запомнить

Резюме

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