Алгоритм LOWESS

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
(Локальные веса)
(Локальные веса)
Строка 52: Строка 52:
::<tex>W(z)=(1-|z|^3)^3, \, \, |z|<=1 \\ W(z)=0, \,\, |z|>1 </tex>
::<tex>W(z)=(1-|z|^3)^3, \, \, |z|<=1 \\ W(z)=0, \,\, |z|>1 </tex>
:Для заданного параметра <tex>0 < f < 1</tex> пусть <tex>r</tex> - ближайшее целое число к произведению <tex> f*m</tex>. Пусть <tex> h_t</tex> расстояние до <tex>r</tex>-того ближайшего соседа объекта <tex>x_t</tex>. Тогда локальный вес для любого объекта <tex>x</tex> в окрестности <tex>x_t</tex> есть
:Для заданного параметра <tex>0 < f < 1</tex> пусть <tex>r</tex> - ближайшее целое число к произведению <tex> f*m</tex>. Пусть <tex> h_t</tex> расстояние до <tex>r</tex>-того ближайшего соседа объекта <tex>x_t</tex>. Тогда локальный вес для любого объекта <tex>x</tex> в окрестности <tex>x_t</tex> есть
-
::<tex>W(x)=W(\frac{x-x_t}{h_t}</tex>.
+
::<tex>w(x)=W(\frac{x-x_t}{h_t})</tex>.
=== Замечание ===
=== Замечание ===
-
Другой подход к определению локальных весов состоит ы выборе
+
Другой подход к определению локальных весов состоит в выборе ширины окна <tex>h</tex>, в общем случае <tex>h=h(x_t)</tex>, то есть зависящей от объекта <tex>x_t</tex>, и ядровой функции <tex>K(x)=K(\frac{\rho(x,x_t)}{h(x_t)})</tex>. Тогда локальные веса вычисляются по формулам
 +
::<tex>w(x)=K(\frac{\rho(x,x_t)}{h(x_t)})</tex>.
=== Алгоритм LOWESS ===
=== Алгоритм LOWESS ===
==== Вход ====
==== Вход ====

Версия 09:53, 5 января 2010

Статья плохо доработана.

Имеются указания по её улучшению:


Алгоритм LOWESS (locally weighted scatter plot smoothing) - локально взвешенное сглаживание.

Содержание

Введение

Рис. 1. Пример применения lowess-сглаживания
Рис. 1. Пример применения lowess-сглаживания
Данная методика была предложена Кливлендом(Cleveland) в 1979 году для моделирования и сглаживания двумерных данных  X^m={(x_i, y_i)}_{i=1}^m. Эта техника предоставляет общий и гибкий подход для приближения двумерных данных.
Локально-линейная модель loess(lowess) можеть быть записана в виде:
 y_t=\alpha_t+\beta_t x_t + \varepsilon_t.
Эта модель может быть расширена на случай локально-квадратичной зависимости и на модель с бо‘льшим числом независимых переменных.
Параметры \alpha_t и \beta_t локально линейной модели оцениваются, с помощью локально взвешенной регрессии, которая присваивает объекту тем больший вес, чем более близок он близким к объекту t.
Степень сглаживания определяется параметром сглаживания f, который выбирает пользователь.
Параметр f указывает какая доля(fraction) данных используется в процедуре. Если f = 0.5, то только половина данных используется для оценки и влияет на результат, и тогда мы получим умеренное сглаживание. С другой стороны, если f = 0.8, то используются восемьдесят процентов данных, и сглаживание намного сильнее. Во всех случаях веса данных тем больше чем они ближе к объекту t.
Процедура оценки использует не метод наименьших квадратов, а более устойчивый(робастный) метод, который принимает меры против выбросов.
График приближенных значений
 y_t=\hat{\alpha_t}+\hat{\beta_t}x_t
от x_t полезен для принятия решения о характере связи между y_t и x_t. Для проверки качества приближения полученного с помощью процедуры устойчивого loess полезно посмотреть на график остатков обычной регресссии, то есть в осях (i) остатки от числа наблюдения (ii) остатки от прибли‘женных значений, (iii) остатки от значений независимой переменной. Как показал Кливленд, может быть предпочтительно использовать график в осях модули остатков от полученных приближенных значений вместо графика (ii) для устойчивого loess сглаживания, чтобы проверить наличие тренда или других систематических особенностей.
Когда m > 100 вычисления могут быть слишком долгими, в этом случае можно сократить количество вычислений оценивая \hat{\alpha_t} и \hat{\beta_t} только в точках отстоящих друг от друга как минимум на \delta единиц, где параметр \delta может задаваться либо приниматься по умолчанию. Рекомендуемые значения
\delta=0, Если m <= 100
\delta=0.03*IQR, Если m > 100, где IQR — [межквартильный размах](Interquartile range).
С такими параметрами вычисления будут выполнены для примерно 100 точек.

Примеры

Рис. 2. Задание параметра сглаживания
Рис. 2. Задание параметра сглаживания f
На Рис. 2. Приведена иллюстрация уровня сглаживания в зависимости от значения параметра f
Сглаживание также может быть локально квадратичным, в этом случае выражения для y_t имеет вид
 y_t=\alpha_t+\beta_t x_t +\gamma x_t^2+ \varepsilon_t.

Примеры сглаживания с квадратичным локальным приближением показаны на Рис. 3.

Рис. 3. Локально квадратичное сглаживание
Рис. 3. Локально квадратичное сглаживание

Технические детали алгоритма

Базовое предположение состоит в следующем

y_t=g(x_t)+\varepsilon_t , t=1,\ldots,m

где g(x) - функция глаживания, остатки \varepsilon_t имеют нулевое математическое ожидание и фиксированную дисперсию. Затем сглаживание g мы приближаем локально-линейной(локально квадратичной, в случае нелинейной модели) функцией, чтобы получить

 y_t=\alpha_t + \beta_t x_t + \varepsilon_t.

Для четкого определения агоритма поясним концепцию локальных весов w(x_t) и робастных весов \delta(x_t).

Локальные веса

Рассмотрим один из широко распространенных примеров – функцию
W(z)=(1-|z|^3)^3, \, \, |z|<=1 \\ W(z)=0, \,\, |z|>1
Для заданного параметра 0 < f < 1 пусть r - ближайшее целое число к произведению  f*m. Пусть  h_t расстояние до r-того ближайшего соседа объекта x_t. Тогда локальный вес для любого объекта x в окрестности x_t есть
w(x)=W(\frac{x-x_t}{h_t}).

Замечание

Другой подход к определению локальных весов состоит в выборе ширины окна h, в общем случае h=h(x_t), то есть зависящей от объекта x_t, и ядровой функции K(x)=K(\frac{\rho(x,x_t)}{h(x_t)}). Тогда локальные веса вычисляются по формулам

w(x)=K(\frac{\rho(x,x_t)}{h(x_t)}).

Алгоритм LOWESS

Вход

X^m - обучающая выборка;

w_i \, i=1,\ldots,m весовые функции;

Выход

Коэффициенты \gamma_i, i=1,\ldots,m

Алгоритм

1: инициализация
\gamma_i:=1, i=1,\ldots,m
2: повторять
3: вычислить оценки скользящего контроля на каждом объекте:
a_i:=a_h\( x_i;X^m\setminus\{x_i\} \)=\frac{\sum_{j=1,j\ne i}^m y_j\gamma_j w_j}{\sum_{j=1,j\ne i}^m \gamma_j w_j },\;i=1,\ldots,m
4: вычислить новые значения коэффициентов \gamma_i:
\varepsilon_i = \left | a_i -y_i \right |
\gamma_i:=\bar{K}( \varepsilon_i ) ,\;i=1,\ldots,m;
5: пока коэффициенты \gamma_i не стабилизируются

Коэффициенты \gamma_i, как и ошибки \varepsilon_i, зависят от функции a_h, которая, в свою очередь, зависит от \gamma_i. На каждой итерации строится функция a_h, затем уточняются весовые множители \gamma_i. Как правило, этот процесс сходится довольно быстро. Он называется локально взвешенным сглаживанием (locally weighted scatter plot smoothing, LOWESS).

Выбор ядра \bar{K}

В качестве ядра \bar{K} большинство практических источников рекомендуют использовать следующее:

Пусть s - есть медиана коэффициентов \gamma_1,\ldots,\gamma_m, тогда \gamma_i = K(\frac{\varepsilon_i}{6s}), где

K(z)=(1-|z|^2)^2, \, \, |z|<=1 \\ K(z)=0, \,\, |z|>1

Более простой вариант, состоит в отбросе t коэффициентов, соответствующих объектам с максимальными \varepsilon_i. Это соотвествует ядру

K(z)=[z<\varepsilon^{(m-t)}], \, \, \\ K(z)=0, \,\, |z|>=\varepsilon^{(m-t)},

где \varepsilon^{(m-t)} –- (m-t) - тый член вариационного ряда \varepsilon^{(1)}<=,\ldots,<=\varepsilon^{(m)}

Примеры применения

Литература

  1. Воронцов К.В. Лекции по алгоритмам восстановления регрессии. — 2007.
  1. A.I. McLeod Statistics 259b Robust Loess: S lowess. — 2004.
  1. 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.

См. также


Данная статья является непроверенным учебным заданием.
Студент: Участник:Валентин Голодов
Преподаватель: Участник:Vokov
Срок: 31 декабря 2009

До указанного срока статья не должна редактироваться другими участниками проекта MachineLearning.ru. По его окончании любой участник вправе исправить данную статью по своему усмотрению и удалить данное предупреждение, выводимое с помощью шаблона {{Задание}}.

См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе.


Личные инструменты