Метод настройки с возвращениями
Материал из MachineLearning.
 (уточнение)  | 
				м  (формулы)  | 
			||
| (3 промежуточные версии не показаны) | |||
| Строка 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\}_{k \neq j}</tex> кроме одной <tex>\varphi_j</tex>, которая настраивается ''методами одномерной [[непараметрическая регрессия| непараметрической регрессии]]''. На втором шаге решается задача минимизации функционала  | * На втором шаге фиксируются коэффициенты <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>\{\varphi_k\}_{k \neq j}</tex> фиксированы и не зависят от <tex>\varphi_j</tex>. Благодаря этому настройка <tex>\varphi_j</tex> сводится к стандартной [[задаче наименьших квадратов]] с обучающей выборкой <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)  ==  | + | === Схема алгоритма настройки с возвращениями (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.
 
См. также
- Статистический анализ данных (курс лекций, К.В.Воронцов)
 - Непараметрическая регрессия
 - Многомерная линейная регрессия
 - Ядерное сглаживание
 

