Метод настройки с возвращениями
Материал из MachineLearning.
(дополнение) |
м (формулы) |
||
(4 промежуточные версии не показаны) | |||
Строка 1: | Строка 1: | ||
- | На практике встречаются ситуации, когда линейная модель регрессии представляется необоснованной, но предложить адекватную нелинейную модель <tex>f(x, \theta),\; \theta \in \mathbb{R}^k</tex> также не удается. Тогда в качестве альтернативы строится модель вида | + | На практике встречаются ситуации, когда [[многомерная линейная регрессия| линейная модель регрессии]] представляется необоснованной, но предложить адекватную [[нелинейная регрессия| нелинейную модель]] <tex>f(x, \theta),\; \theta \in \mathbb{R}^k</tex> также не удается. Тогда в качестве альтернативы строится модель вида |
:: <tex>y(x) = f(x, \theta) = \sum_{j=1}^k \theta_j \cdot \varphi_j(f_j (x))</tex>, | :: <tex>y(x) = f(x, \theta) = \sum_{j=1}^k \theta_j \cdot \varphi_j(f_j (x))</tex>, | ||
где <tex>\varphi_j: \mathbb{R} \rightarrow \mathbb{R}</tex> - некоторые преобразования исходных признаков, в общем случае нелинейные. Задача состоит в том, чтобы одновременно подобрать и коэффициенты линейной модели <tex>\theta_j</tex>, и неизвестные одномерные преобразования <tex>\varphi_j</tex>, при которых достигается минимум квадратичного функционала RSS – [[остаточная сумма квадратов]]. | где <tex>\varphi_j: \mathbb{R} \rightarrow \mathbb{R}</tex> - некоторые преобразования исходных признаков, в общем случае нелинейные. Задача состоит в том, чтобы одновременно подобрать и коэффициенты линейной модели <tex>\theta_j</tex>, и неизвестные одномерные преобразования <tex>\varphi_j</tex>, при которых достигается минимум квадратичного функционала RSS – [[остаточная сумма квадратов]]. | ||
Строка 8: | Строка 8: | ||
== Обозначения == | == Обозначения == | ||
Дана [[выборка]] <tex>X^n = (x_i,\; y_i)_{i=1}^n</tex>; <tex>n</tex> – длина выборки. | Дана [[выборка]] <tex>X^n = (x_i,\; y_i)_{i=1}^n</tex>; <tex>n</tex> – длина выборки. | ||
- | При этом <tex>x_i \in \mathbb{R}^k,\; i = 1,...,n</tex>; <tex>k</tex> – число независимых переменных. | + | При этом <tex>x_i \in \mathbb{R}^k,\; i = 1,...,n</tex>; <tex>k</tex> – число независимых переменных (число признаков). |
+ | Через <tex>f_j(x_i),\; i = 1,...,n; \; j = 1,...,k</tex> будем обозначать <tex>j</tex>-тый признак <tex>i</tex>-го объекта выборки. | ||
Значение [[Целевая зависимость| целевой зависимости]] для <tex>i</tex>-го объекта <tex>y_i \in \mathbb{R},\; i = 1,...,n</tex>. | Значение [[Целевая зависимость| целевой зависимости]] для <tex>i</tex>-го объекта <tex>y_i \in \mathbb{R},\; i = 1,...,n</tex>. | ||
+ | |||
+ | Обозначим через <tex>\widehat{\varphi}_{ij}</tex> оценку <tex>\varphi_j(f _j(x_i))</tex>. | ||
== Метод настройки с возвращениями (backfitting) == | == Метод настройки с возвращениями (backfitting) == | ||
- | Метод настройки с возвращениями основан на итерационном повторении двух шагов: | + | === Описание === |
+ | Метод настройки с возвращениями в традиционной форме основан на итерационном повторении двух шагов: | ||
* На первом шаге фиксируются функции <tex>\varphi_j</tex>, и ''[[многомерная линейная регрессия| методами многомерной линейной регрессии]]'' вычисляются коэффициенты <tex>\theta_j</tex>. | * На первом шаге фиксируются функции <tex>\varphi_j</tex>, и ''[[многомерная линейная регрессия| методами многомерной линейной регрессии]]'' вычисляются коэффициенты <tex>\theta_j</tex>. | ||
- | * На втором шаге фиксируются коэффициенты <tex>\theta_j</tex> и все функции <tex>\{\varphi_k | + | * На втором шаге фиксируются коэффициенты <tex>\theta_j</tex> и все функции <tex>\{\varphi_k\}_{k \neq j}</tex> кроме одной <tex>\varphi_j</tex>, которая настраивается ''методами одномерной [[непараметрическая регрессия| непараметрической регрессии]]''. На втором шаге решается задача минимизации функционала |
- | :: <tex> Q(\varphi_j, X^n) = \sum_{i=1}^n \ | + | :: <tex> Q(\varphi_j, X^n) = \sum_{i=1}^n \biggl(\theta_j \cdot \varphi_j(f_j (x_i)) \;+\! \underbrace{\sum_{l=1,\; l \neq j }^k \theta_l \cdot \varphi_l(f_l (x_i)) - y_i}_{z_i = \mathrm{const}(\varphi_j)} \biggr)^2 \rightarrow \min_{\varphi_j}</tex>. |
- | Здесь коэффициенты <tex>\theta_j</tex> и функции | + | Здесь коэффициенты <tex>\theta_j</tex> и функции <tex>\{\varphi_k\}_{k \neq j}</tex> фиксированы и не зависят от <tex>\varphi_j</tex>. Благодаря этому настройка <tex>\varphi_j</tex> сводится к стандартной [[задача наименьших квадратов| задаче наименьших квадратов]] с обучающей выборкой <tex>\tilde{X}_j^n = \Bigl(f_j(x_i),\; y_i \;- \!\sum_{s=1,\; s \neq j }^k\! \theta_s \hat{\varphi}_{is}\Bigr)_{i=1}^n</tex>. Для ее решения годятся любые одномерные методы: [[ядерное сглаживание]], [[сплайны]], полиномиальная или Фурье-аппроксимация. Для [[ядерное сглаживание| ядерного сглаживания]] с фиксированной шириной окна этап настройки функции <tex>\varphi_j</tex> фактически отсутствует; чтобы вычислять значения <tex>\varphi_j(f)</tex> по [[формула Надарая-Ватсона| формуле Надарая-Ватсона]], достаточно просто запомнить выборку <tex>\tilde{X}_j^n</tex>. |
После настройки всех функций <tex>\varphi_j</tex> происходит возврат к первому шагу, и снова решается задача [[многомерная линейная регрессия| многомерной линейной регрессии]] для определения <tex>\theta_j</tex>. Отсюда происходит и название метода – '''настройка с возвращениями''' (backfitting). | После настройки всех функций <tex>\varphi_j</tex> происходит возврат к первому шагу, и снова решается задача [[многомерная линейная регрессия| многомерной линейной регрессии]] для определения <tex>\theta_j</tex>. Отсюда происходит и название метода – '''настройка с возвращениями''' (backfitting). | ||
- | == | + | === Схема алгоритма настройки с возвращениями (backfitting) === |
Входные параметры: | Входные параметры: | ||
* <tex>X</tex> – матрица «объекты-признаки»; | * <tex>X</tex> – матрица «объекты-признаки»; | ||
Строка 27: | Строка 31: | ||
Выход: | Выход: | ||
* <tex>\theta</tex> – вектор коэффициентов линейной комбинации. | * <tex>\theta</tex> – вектор коэффициентов линейной комбинации. | ||
+ | * <tex>\varphi_j, j = 1,...,n</tex> – преобразования исходных признаков. | ||
{| border=1 | {| border=1 | ||
- | + | |Алгоритм 1. | |
+ | |- | ||
+ | |1: нулевое приближение: <tex>\varphi_j (u) \equiv u, j = 1,...,n</tex>; | ||
2: '''повторять''' <br/> | 2: '''повторять''' <br/> | ||
3: <tex>\;\;\;</tex>''{1 шаг}'' <tex>\theta</tex> := решение задачи [[многомерная линейная регрессия| МЛР]] с признаками <tex>\varphi_j(f_j(x))</tex>;<br/> | 3: <tex>\;\;\;</tex>''{1 шаг}'' <tex>\theta</tex> := решение задачи [[многомерная линейная регрессия| МЛР]] с признаками <tex>\varphi_j(f_j(x))</tex>;<br/> | ||
Строка 40: | Строка 47: | ||
|} | |} | ||
+ | == Упрощенный вариант метода настройки с возвращениями (backfitting) == | ||
+ | === Описание === | ||
+ | Предлагается отказаться от решения задачи [[многомерная линейная регрессия| многомерной линейной регрессии]] на каждом шаге алгоритма, существенно упростив метод решения. В этом случае процедура настройки будет состоять из двух этапов: | ||
+ | * На первом этапе решается задача [[многомерная линейная регрессия| многомерной линейной регрессии]]: | ||
+ | :: <tex>y(x_i) = f(x_i, \theta) = \sum_{j=1}^k \theta_j \cdot f_j (x_i) , i = 1,...,n </tex>. | ||
+ | Линейные коэффициенты <tex>\theta_j</tex> определяются как [[многомерная линейная регрессия| МНК-решение]] данной линейной задачи. | ||
+ | |||
+ | * На втором этапе настраиваем функции <tex>\varphi_j</tex>. В качестве начального приближения <tex>\varphi_j</tex> берем функции: <tex>\widehat{\varphi}_{ij} = \widehat{\theta}_j \cdot f_j(x_i)</tex>. | ||
+ | А далее выполняется циклический процесс настройки с помощью ядерного сглаживания. | ||
+ | |||
+ | === Схема алгоритма упрощенного метода настройки с возвращениями (backfitting) === | ||
+ | Входные параметры: | ||
+ | * <tex>X</tex> – матрица «объекты-признаки»; | ||
+ | * <tex>y</tex> – вектор ответов; | ||
+ | Выход: | ||
+ | * <tex>\theta</tex> – вектор коэффициентов линейной комбинации. | ||
+ | * <tex>\varphi_j, j = 1,...,n</tex> – преобразования исходных признаков. | ||
+ | |||
+ | |||
+ | {| border=1 | ||
+ | |Алгоритм 2. | ||
+ | |- | ||
+ | |1: нулевое приближение: <tex>\theta</tex> := [[многомерная линейная регрессия| МНК-решение]] задачи <tex>y(x_i) = f(x_i, \theta) = \sum_{j=1}^k \theta_j \cdot f_j (x_i) , i = 1,...,n </tex>; | ||
+ | <tex>\;\;\;</tex><tex>\widehat{\varphi}_{ij} = \widehat{\theta}_j \cdot f_j(x_i)</tex><br/> | ||
+ | 2: '''повторять''' <br/> | ||
+ | 3: <tex>\;\;\;</tex>'''для''' <tex> j = 1,...,k</tex><br/> | ||
+ | 4: <tex>\;\;\;\;\;\;</tex><tex> \widetilde{x_i}:= f_j(x_i), i = 1,...,n</tex>;<br/> | ||
+ | 5: <tex>\;\;\;\;\;\;</tex><tex> \widetilde{y_i}:= y_i - \sum_{s=1,\; s \neq j }^k \theta_s \widehat{\varphi}_{is}, i = 1,...,n</tex>;<br/> | ||
+ | 6: <tex>\;\;\;\;\;\;</tex> [[Ядерное сглаживание]]: <tex> \widehat{\varphi}_{ij}:= \frac {\sum_{t=1}^n W_t(\widetilde{x_i}) \widetilde{y_t} }{\sum_{t=1}^n W_t(\widetilde{x_i}) }</tex>, где <tex>W_t(\widetilde{x_i}) = K\left( \frac{\widetilde{x_i} - \widetilde{x_t}}{h} \right) i = 1,...,n</tex><br/> | ||
+ | 7: '''пока''' [[остаточная сумма квадратов]] <tex>RSS = \sum_{i=1}^n (y(x_i) - y_i)^2</tex> уменьшается. | ||
+ | |} | ||
+ | |||
+ | |||
+ | В итоге получаем модель вида | ||
+ | :: <tex>y(x) = \sum_{j=1}^k \theta_j \cdot \varphi_j(f_j (x))</tex>. | ||
== Проблемы == | == Проблемы == | ||
- | # Выбор признака <tex>j</tex> на шаге 4. Правильней, наверное, выбирать признак, для которого функционал RSS ([[Остаточная сумма квадратов]]) больше. | + | # Выбор признака <tex>j</tex> на шаге 4 Алгоритма 1. Правильней, наверное, выбирать признак, для которого функционал RSS ([[Остаточная сумма квадратов]]) больше. |
- | # Выбор ширины окна <tex>h</tex> при ядерном сглаживании на шаге 7. | + | # Выбор ширины окна <tex>h</tex> при ядерном сглаживании на шаге 7 Алгоритма 1. |
- | # Критерий останова на шаге 8. | + | # Критерий останова на шаге 8 Алгоритма 1. |
Проблемы 1)-3) можно решить, воспользовавшись [[анализ регрессионных остатков| анализом регрессионных остатков]]. | Проблемы 1)-3) можно решить, воспользовавшись [[анализ регрессионных остатков| анализом регрессионных остатков]]. | ||
Строка 57: | Строка 99: | ||
|год = 2007 | |год = 2007 | ||
|ссылка = http://www.ccas.ru/voron/download/Regression.pdf | |ссылка = http://www.ccas.ru/voron/download/Regression.pdf | ||
+ | }} | ||
+ | # {{книга | ||
+ | |автор = Wolfgang Härdle, Marlene Müller, Stefan Sperlich, Axel Werwatz | ||
+ | |заглавие = Nonparametric and Semiparametric Models | ||
+ | |год = 2004 | ||
+ | |ссылка = http://fedc.wiwi.hu-berlin.de/xplore/ebooks/html/spm/ | ||
}} | }} | ||
# {{книга | # {{книга | ||
Строка 65: | Строка 113: | ||
|страниц = 533 | |страниц = 533 | ||
}} | }} | ||
+ | # {{книга | ||
+ | |автор =Craig F. Ansley and Robert Kohn | ||
+ | |часть = Convergence of the Backfitting Algorithm for Additive Models | ||
+ | |заглавие = Australian Mathematical Society | ||
+ | |год = 1994 | ||
+ | |том = Ser A 57 | ||
+ | |страницы = 316-329 | ||
+ | |ссылка = http://anziamj.austms.org.au/JAMSA/V57/Part3/Ansley.html | ||
+ | }} | ||
+ | # {{книга | ||
+ | |автор = John Fox | ||
+ | |заглавие = Introduction to Nonparametric Regression | ||
+ | |год = 2005 | ||
+ | |ссылка = http://socserv.mcmaster.ca/jfox/Courses/Oxford-2005/slides-handout.pdf | ||
+ | }} | ||
+ | |||
+ | |||
== См. также == | == См. также == | ||
* [[Статистический анализ данных (курс лекций, К.В.Воронцов)]] | * [[Статистический анализ данных (курс лекций, К.В.Воронцов)]] | ||
* [[Непараметрическая регрессия]] | * [[Непараметрическая регрессия]] | ||
+ | * [[Многомерная линейная регрессия]] | ||
* [[Ядерное сглаживание]] | * [[Ядерное сглаживание]] | ||
== Ссылки == | == Ссылки == | ||
+ | * [http://209.85.129.132/search?q=cache:5CXZUCaGtdUJ:support.sas.com/rnd/app/da/new/802ce/stat/chap5/sect15.htm+backfitting&hl=ru&ct=clnk&cd=1&gl=ru Backfitting and Local Scoring Algorithms] | ||
+ | * [http://fedc.wiwi.hu-berlin.de/xplore/ebooks/html/spm/spmhtmlnode37.html#s-back Backfitting] | ||
* [http://citeseer.ist.psu.edu/hastie95generalized.html Generalized additive models] | * [http://citeseer.ist.psu.edu/hastie95generalized.html Generalized additive models] | ||
[[Категория: Прикладная статистика]] | [[Категория: Прикладная статистика]] | ||
+ | [[Категория:Регрессионный анализ]] | ||
+ | [[Категория:Энциклопедия анализа данных]] |
Текущая версия
На практике встречаются ситуации, когда линейная модель регрессии представляется необоснованной, но предложить адекватную нелинейную модель также не удается. Тогда в качестве альтернативы строится модель вида
- ,
где - некоторые преобразования исходных признаков, в общем случае нелинейные. Задача состоит в том, чтобы одновременно подобрать и коэффициенты линейной модели , и неизвестные одномерные преобразования , при которых достигается минимум квадратичного функционала RSS – остаточная сумма квадратов.
Суть метода заключается в том, что в линейную модель добавляются нелинейные преобразования исходных признаков. Другими словами метод настройки с возвращениями (backfitting) совмещает многомерную линейную регрессию и одномерное сглаживание. Таким образом, нелинейная задача сводится к решению последовательности линейных задач.
Содержание |
Обозначения
Дана выборка ; – длина выборки. При этом ; – число независимых переменных (число признаков). Через будем обозначать -тый признак -го объекта выборки.
Значение целевой зависимости для -го объекта .
Обозначим через оценку .
Метод настройки с возвращениями (backfitting)
Описание
Метод настройки с возвращениями в традиционной форме основан на итерационном повторении двух шагов:
- На первом шаге фиксируются функции , и методами многомерной линейной регрессии вычисляются коэффициенты .
- На втором шаге фиксируются коэффициенты и все функции кроме одной , которая настраивается методами одномерной непараметрической регрессии. На втором шаге решается задача минимизации функционала
- .
Здесь коэффициенты и функции фиксированы и не зависят от . Благодаря этому настройка сводится к стандартной задаче наименьших квадратов с обучающей выборкой . Для ее решения годятся любые одномерные методы: ядерное сглаживание, сплайны, полиномиальная или Фурье-аппроксимация. Для ядерного сглаживания с фиксированной шириной окна этап настройки функции фактически отсутствует; чтобы вычислять значения по формуле Надарая-Ватсона, достаточно просто запомнить выборку .
После настройки всех функций происходит возврат к первому шагу, и снова решается задача многомерной линейной регрессии для определения . Отсюда происходит и название метода – настройка с возвращениями (backfitting).
Схема алгоритма настройки с возвращениями (backfitting)
Входные параметры:
- – матрица «объекты-признаки»;
- – вектор ответов;
Выход:
- – вектор коэффициентов линейной комбинации.
- – преобразования исходных признаков.
Алгоритм 1. |
1: нулевое приближение: ;
2: повторять |
Упрощенный вариант метода настройки с возвращениями (backfitting)
Описание
Предлагается отказаться от решения задачи многомерной линейной регрессии на каждом шаге алгоритма, существенно упростив метод решения. В этом случае процедура настройки будет состоять из двух этапов:
- На первом этапе решается задача многомерной линейной регрессии:
- .
Линейные коэффициенты определяются как МНК-решение данной линейной задачи.
- На втором этапе настраиваем функции . В качестве начального приближения берем функции: .
А далее выполняется циклический процесс настройки с помощью ядерного сглаживания.
Схема алгоритма упрощенного метода настройки с возвращениями (backfitting)
Входные параметры:
- – матрица «объекты-признаки»;
- – вектор ответов;
Выход:
- – вектор коэффициентов линейной комбинации.
- – преобразования исходных признаков.
Алгоритм 2. |
1: нулевое приближение: := МНК-решение задачи ;
|
В итоге получаем модель вида
- .
Проблемы
- Выбор признака на шаге 4 Алгоритма 1. Правильней, наверное, выбирать признак, для которого функционал RSS (Остаточная сумма квадратов) больше.
- Выбор ширины окна при ядерном сглаживании на шаге 7 Алгоритма 1.
- Критерий останова на шаге 8 Алгоритма 1.
Проблемы 1)-3) можно решить, воспользовавшись анализом регрессионных остатков.
История
Метод настройки с возвращениями (backfitting) предложен Хасти и Тибширани в 1986 году.
Литература
- Воронцов К.В. Лекции по алгоритмам восстановления регрессии. — 2007.
- Wolfgang Härdle, Marlene Müller, Stefan Sperlich, Axel Werwatz Nonparametric and Semiparametric Models. — 2004.
- Hastie, T., Tibshirani, R., Friedman, J. The Elements of Statistical Learning. — 2001. — 533 с.
- Craig F. Ansley and Robert Kohn Convergence of the Backfitting Algorithm for Additive Models // Australian Mathematical Society. — 1994 T. Ser A 57. — С. 316-329.
- John Fox Introduction to Nonparametric Regression. — 2005.
См. также
- Статистический анализ данных (курс лекций, К.В.Воронцов)
- Непараметрическая регрессия
- Многомерная линейная регрессия
- Ядерное сглаживание