Локальное сглаживание — 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, который поддерживает следующие параметры:

Нажмите, чтобы показать таблицу
СвойствоТипОписание
asarray(FieldName)

Имена выходных полей для сглаженных точек, создаваемых преобразованием LOESS. По умолчанию: имена входных полей x и y.

bandwidthnumber

Параметр ширины окна в диапазоне [0, 1], определяющий степень сглаживания. По умолчанию: 0.3.

groupbyarray(FieldName)

Поля данных для группировки. Если не заданы, используется одна группа, содержащая все объекты данных.

loessFieldName

Поле зависимой переменной, которую нужно сгладить.

onFieldName

Поле независимой переменной, используемой как предиктор.