Алгоритм LOWESS
Материал из MachineLearning.
(→Алгоритм) |
(→Алгоритм) |
||
Строка 81: | Строка 81: | ||
Коэффициенты <tex>\delta_t, \,\,\, t=1,\ldots,m</tex> | Коэффициенты <tex>\delta_t, \,\,\, t=1,\ldots,m</tex> | ||
- | ==== Алгоритм ==== | + | ==== Алгоритм 1==== |
- | :'''1''' Построить линеиную регрессию во всех <tex>t=1,\ldots,t=m</tex> точках, используя весовые функции <tex>w_t</tex>, тем самым получим оценки для параметров модели <tex>\hat{\alpha_t}, \hat{\beta_t}</tex>. | + | :'''1.''' Построить линеиную регрессию во всех <tex>t=1,\ldots,t=m</tex> точках, используя весовые функции <tex>w_t</tex>, тем самым получим оценки для параметров модели <tex>\hat{\alpha_t}, \hat{\beta_t}</tex>. |
:А также приближения <tex>\hat{y_t}=\hat{\alpha_t}+\hat{\beta_t}x_t</tex>. | :А также приближения <tex>\hat{y_t}=\hat{\alpha_t}+\hat{\beta_t}x_t</tex>. | ||
- | :'''2''' Инициализируем остатки <tex>\hat{\varepsilon_t}= \| \hat{y_t} - y_t \|</tex>. Вычислим робастные веса <tex>\delta_t</tex> | + | :'''2.''' Инициализируем остатки <tex>\hat{\varepsilon_t}= \| \hat{y_t} - y_t \|</tex>. Вычислим робастные веса <tex>\delta_t</tex> |
- | :'''3''' | + | :'''3.''' '''повторять''' |
- | ::'''4''' Построить линеиную регрессию во всех <tex>t=1,\ldots,t=m</tex> точках, используя весовые функции <tex>\delta_t w_t</tex>, тем самым получим оценки для параметров модели <tex>\hat{\alpha_t}, \hat{\beta_t}</tex>. | + | ::'''4.''' Построить линеиную регрессию во всех <tex>t=1,\ldots,t=m</tex> точках, используя весовые функции <tex>\delta_t w_t</tex>, тем самым получим оценки для параметров модели <tex>\hat{\alpha_t}, \hat{\beta_t}</tex>. |
- | ::'''5''' По новому набору значений <tex>\hat{\varepsilon_t}= \| \hat{y_t} - y_t \|</tex> вычислить новые значения коэффициентов <tex>\delta_t</tex>. А также приближения <tex>\hat{y_t}=\hat{\alpha_t}+\hat{\beta_t}x_t</tex>. | + | ::'''5.''' По новому набору значений <tex>\hat{\varepsilon_t}= \| \hat{y_t} - y_t \|</tex> вычислить новые значения коэффициентов <tex>\delta_t</tex>. А также приближения <tex>\hat{y_t}=\hat{\alpha_t}+\hat{\beta_t}x_t</tex>. |
- | :'''6''' '''пока''' веса <tex>\delta_t</tex> не стабилизируются | + | :'''6.''' '''пока''' веса <tex>\delta_t</tex> не стабилизируются |
- | При использовании ядровых функций для оценки весов объектов алгоритм | + | При использовании ядровых функций для оценки локальных весов объектов и робастных весов алгоритм модифицируется следующим образом: |
+ | |||
+ | ==== Алгоритм 1‘==== | ||
+ | :'''1.''' Инициализировать <tex>\delta_1:=\ldots=\delta_m:=1</tex> | ||
+ | :'''2.''' '''повторять''' | ||
+ | ::'''3.''' Вычислить оценки скользящего контроля на каждом объекте | ||
+ | :: <tex> a_t:=a(x_t; X\setminus\{ x_t\}) = \frac{ \sum_{i=1, i\neq t }^{m} {y_i \delta_i K\left( \frac{\rho(x_i,x_t)}{h(x_t)}\right)} } {\sum_{i=1, i\neq t }^{m} {y_i K\left( \frac{\rho(x_i,x_t)}{h(x_t)}\right)} }</tex> | ||
+ | ::'''4.''' По новому набору значений <tex>\hat{\varepsilon_t}= \| \hat{y_t} - y_t \|</tex> вычислить новые значения коэффициентов <tex>\delta_t</tex>. А также приближения <tex>\hat{y_t}=\hat{\alpha_t}+\hat{\beta_t}x_t</tex>. | ||
+ | :'''5.''' '''пока''' веса <tex>\delta_t</tex> не стабилизируются | ||
Версия 15:11, 5 января 2010
Статья плохо доработана. |
Алгоритм LOWESS (locally weighted scatter plot smoothing) - локально взвешенное сглаживание.
Содержание |
Введение
- Данная методика была предложена Кливлендом(Cleveland) в 1979 году для моделирования и сглаживания двумерных данных . Эта техника предоставляет общий и гибкий подход для приближения двумерных данных.
- Локально-линейная модель loess(lowess) можеть быть записана в виде:
- Эта модель может быть расширена на случай локально-квадратичной зависимости и на модель с бо‘льшим числом независимых переменных.
- Параметры и локально линейной модели оцениваются, с помощью локально взвешенной регрессии, которая присваивает объекту тем больший вес, чем более близок он близким к объекту .
- Степень сглаживания определяется параметром сглаживания , который выбирает пользователь.
- Параметр указывает какая доля(fraction) данных используется в процедуре. Если , то только половина данных используется для оценки и влияет на результат, и тогда мы получим умеренное сглаживание. С другой стороны, если , то используются восемьдесят процентов данных, и сглаживание намного сильнее. Во всех случаях веса данных тем больше чем они ближе к объекту .
- Процедура оценки использует не метод наименьших квадратов, а более устойчивый(робастный) метод, который принимает меры против выбросов.
- График приближенных значений
- от полезен для принятия решения о характере связи между и . Для проверки качества приближения полученного с помощью процедуры устойчивого loess полезно посмотреть на график остатков обычной регресссии, то есть в осях (i) остатки от числа наблюдения (ii) остатки от прибли‘женных значений, (iii) остатки от значений независимой переменной. Как показал Кливленд, может быть предпочтительно использовать график в осях модули остатков от полученных приближенных значений вместо графика (ii) для устойчивого loess сглаживания, чтобы проверить наличие тренда или других систематических особенностей.
- Когда вычисления могут быть слишком долгими, в этом случае можно сократить количество вычислений оценивая и только в точках отстоящих друг от друга как минимум на единиц, где параметр может задаваться либо приниматься по умолчанию. Рекомендуемые значения
- Если
- Если , где — [межквартильный размах](Interquartile range).
- С такими параметрами вычисления будут выполнены для примерно 100 точек.
Примеры
- На Рис. 2. Приведена иллюстрация уровня сглаживания в зависимости от значения параметра
- Сглаживание также может быть локально квадратичным, в этом случае модель для имеет вид
Примеры сглаживания с квадратичным локальным приближением показаны на Рис. 3.
Технические детали алгоритма
Базовое предположение состоит в следующем
где - функция глаживания, остатки имеют нулевое математическое ожидание и фиксированную дисперсию. Затем сглаживание мы приближаем локально-линейной(локально квадратичной, в случае нелинейной модели) функцией, чтобы получить
- .
Для четкого определения агоритма поясним концепцию локальных весов и робастных весов .
Локальные веса
- Рассмотрим один из широко распространенных примеров – функцию
- Для заданного параметра пусть - ближайшее целое число к произведению . Пусть расстояние до -того ближайшего соседа объекта . Тогда локальный вес для любого объекта в окрестности есть
- .
Замечание
- Более общий подход к определению локальных весов состоит в выборе ширины окна , в общем случае , то есть зависящей от объекта , и ядровой функции . Тогда локальные веса вычисляются по формулам
- В этом случае отпадает необходимость задания параметра сглаживания и его смысл эквивалентен выбору ширины окна .
Робастные веса
Пусть
- – обучающая выборка за исключением элемента ,
- – ответ алгоритма , обученного на выборке при работе на объекте .
- – ошибка алгоритма на объекте (ошибка скользящего контроля).
Пусть - есть медиана величин. тогда , где
Замечание
- Возможны и другие варианты выбора весов , например, занулить штук, соответствующих наибольшим . Это соотвествует ядру
где –- - тый член вариационного ряда
- В весовой ядерной функции можно взять функцию Хубера (Huber, 1964) на которой основаны [M-оценки]
Алгоритм LOWESS
Вход
- - обучающая выборка;
- весовые функции;
Выход
Коэффициенты
Алгоритм 1
- 1. Построить линеиную регрессию во всех точках, используя весовые функции , тем самым получим оценки для параметров модели .
- А также приближения .
- 2. Инициализируем остатки . Вычислим робастные веса
- 3. повторять
- 4. Построить линеиную регрессию во всех точках, используя весовые функции , тем самым получим оценки для параметров модели .
- 5. По новому набору значений вычислить новые значения коэффициентов . А также приближения .
- 6. пока веса не стабилизируются
При использовании ядровых функций для оценки локальных весов объектов и робастных весов алгоритм модифицируется следующим образом:
Алгоритм 1‘
- 1. Инициализировать
- 2. повторять
- 3. Вычислить оценки скользящего контроля на каждом объекте
- 4. По новому набору значений вычислить новые значения коэффициентов . А также приближения .
- 5. пока веса не стабилизируются
Коэффициенты , как и ошибки , зависят от функции , которая,
в свою очередь, зависит от . На каждой итерации строится функция ,
затем уточняются весовые множители . Как правило, этот процесс сходится довольно быстро.
Однако в практических реализациях имеет смысл вводить ограничение на количество итераций, как правило это 2-3 итерации.
Примеры применения
Литература
- A.I. McLeod Statistics 259b Robust Loess: S lowess. — 2004.
- Хардле В. Прикладная непараметрическая регрессия.. — Мир, 1993.
- Воронцов К.В. Лекции по алгоритмам восстановления регрессии. — 2007.
- John A Berger, Sampsa Hautaniemi, Anna-Kaarina Järvinen, Henrik Edgren, Sanjit K Mitra and Jaakko Astola Optimized LOWESS normalization parameter selection for DNA microarray data. — BMC Bioinformatics, 2004.
- Maronna, A., R. Martin, V. Yohai Robust Statistics: Theory and Methods.. — Wiley, 2006.
См. также
- Непараметрическая регрессия
- Регрессионный анализ
- Local regression
- Расин, Джеффри (2008) «Непараметрическая эконометрика: вводный курс», Квантиль, №4, стр. 7–56.
Данная статья является непроверенным учебным заданием.
До указанного срока статья не должна редактироваться другими участниками проекта MachineLearning.ru. По его окончании любой участник вправе исправить данную статью по своему усмотрению и удалить данное предупреждение, выводимое с помощью шаблона {{Задание}}. См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе. |
→