Как выполнить сглаживание Лоусса в R (шаг за шагом)

Как выполнить сглаживание Лоусса в R (шаг за шагом)

В статистике термин lowess относится к «локально взвешенному сглаживанию диаграммы рассеяния» — процессу создания плавной кривой, которая соответствует точкам данных на диаграмме рассеяния.

Чтобы выполнить сглаживание lowess в R, мы можем использовать функцию lowess() , которая использует следующий синтаксис:

низкий (x, y, f = 2/3)

куда:

  • x: Числовой вектор значений x.
  • y: Числовой вектор значений y.
  • f: значение более гладкого диапазона. Это дает долю точек на графике, которые влияют на сглаживание при каждом значении. Большие значения приводят к большей плавности.

В следующем пошаговом примере показано, как выполнить низкоуровневое сглаживание для заданного набора данных в R.

Шаг 1: Создайте данные

Во-первых, давайте создадим поддельный набор данных:

df <- data.frame(x=c(1, 1, 2, 2, 3, 4, 6, 6, 7, 8, 10, 11, 11, 12, 13, 14),
 **y=c(4, 7, 9, 10, 14, 15, 19, 16, 17, 21, 22, 34, 44, 40, 43, 45))

Шаг 2: Постройте данные

Затем построим значения x и y из набора данных:

plot(df$x, df$y) 

Шаг 3: Постройте кривую Лоусса

Далее, давайте построим кривую сглаживания минимума по точкам на диаграмме рассеяния:

#create scatterplot
plot(df$x, df$y)

#add lowess smoothing curve to plot
lines(lowess(df$x, df$y), col='red')
Пример сглаживания Лоусса в R

Шаг 4. Настройте более плавный диапазон (необязательно)

Мы также можем настроить аргумент f в функции lowess(), чтобы увеличить или уменьшить значение, используемое для более гладкого диапазона.

Обратите внимание, что чем больше значение, которое мы указываем, тем более гладкой будет кривая lowess.

#create scatterplot
plot(df$x, df$y)

#add lowess smoothing curves
lines(lowess(df$x, df$y), col='red')
lines(lowess(df$x, df$y, f=0.3), col='purple')
lines(lowess(df$x, df$y, f=3), col='steelblue')

#add legend to plot
legend('topleft',
 col = c('red', 'purple', 'steelblue'),
 lwd = 2,
 c('Smoother = 1', 'Smoother = 0.3', 'Smoother = 3')) 
Кривые сглаживания Лоусса в R

Дополнительные ресурсы

Как построить несколько линий на одном графике в R
Как создать диаграмму рассеяния с линией регрессии в R
Как выполнить полиномиальную регрессию в R

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.