Локальное сглаживание — LOESS
Преобразование LOESS (LOcally Estimated Scatterplot Smoothing) строит линию тренда с помощью локальной регрессии. Оно выполняет последовательность локальных взвешенных регрессий в скользящем окне ближайших соседних точек. О стандартных вариантах параметрической регрессии см. «Регрессия».
Вот пример сглаживания выборки гауссовского случайного блуждания с помощью LOESS:
import altair as alt
import pandas as pd
import numpy as np
np.random.seed(42)
df = pd.DataFrame({
'x': range(100),
'y': np.random.randn(100).cumsum()
})
chart = alt.Chart(df).mark_point().encode(
x='x',
y='y'
)
chart + chart.transform_loess('x', 'y').mark_line()
Параметры преобразования
Метод Chart.transform_loess основан на классе LoessTransform, который поддерживает следующие параметры:
Нажмите, чтобы показать таблицу
| Свойство | Тип | Описание |
|---|---|---|
as | array(FieldName) | Имена выходных полей для сглаженных точек, создаваемых преобразованием LOESS. По умолчанию: имена входных полей x и y. |
bandwidth | number | Параметр ширины окна в диапазоне |
groupby | array(FieldName) | Поля данных для группировки. Если не заданы, используется одна группа, содержащая все объекты данных. |
loess | FieldName | Поле зависимой переменной, которую нужно сгладить. |
on | FieldName | Поле независимой переменной, используемой как предиктор. |