Spec-Zone.ru › Polars

polars.Expr.ewm_var

Expr.ewm_var(
    *,
    com: float | None = None,
    span: float | None = None,
    half_life: float | None = None,
    alpha: float | None = None,
    adjust: bool = True,
    bias: bool = False,
    min_samples: int = 1,
    ignore_nulls: bool = False,
) → Expr

Вычисляет экспоненциально взвешенную скользящую дисперсию.

движок:В памяти

Изменено в версии 1.21.0: Параметр min_periods был переименован в min_samples.

Параметры:
com

Задаёт затухание через центр масс, \(\gamma\), при котором

\[\alpha = \frac{1}{1 + \gamma} \; \forall \; \gamma \geq 0\]
span

Задаёт затухание через интервал, \(\theta\), при котором

\[\alpha = \frac{2}{\theta + 1} \; \forall \; \theta \geq 1\]
half_life

Задаёт затухание через период полураспада, \(\lambda\), при котором

\[\alpha = 1 - \exp \left\{ \frac{ -\ln(2) }{ \lambda } \right\} \; \forall \; \lambda > 0\]
alpha

Непосредственно задаёт коэффициент сглаживания alpha, \(0 < \alpha \leq 1\).

adjust

В начальных периодах выполняет деление на корректирующий коэффициент затухания, чтобы компенсировать дисбаланс относительных весов

  • При adjust=True (по умолчанию) EW-функция вычисляется с использованием весов \(w_i = (1 - \alpha)^i\)
  • При adjust=False EW-функция вычисляется рекурсивно по формуле

    \[\begin{split}y_0 &= x_0 \\ y_t &= (1 - \alpha)y_{t - 1} + \alpha x_t\end{split}\]
bias

При bias=False применяется поправка, чтобы оценка была статистически несмещённой.

min_samples

Минимальное количество наблюдений в окне, необходимое для получения значения (в противном случае результат равен null).

ignore_nulls

При вычислении весов пропускает отсутствующие значения.

  • При ignore_nulls=False (по умолчанию) веса зависят от абсолютных позиций. Например, веса \(x_0\) и \(x_2\), используемые при вычислении итогового взвешенного среднего [\(x_0\), None, \(x_2\)], равны \((1-\alpha)^2\) и \(1\) при adjust=True и \((1-\alpha)^2\) и \(\alpha\) при adjust=False.
  • При ignore_nulls=True веса зависят от относительных позиций. Например, веса \(x_0\) и \(x_2\), используемые при вычислении итогового взвешенного среднего [\(x_0\), None, \(x_2\)], равны \(1-\alpha\) и \(1\) при adjust=True и \(1-\alpha\) и \(\alpha\) при adjust=False.

Примеры

>>> df = pl.DataFrame({"a": [1, 2, 3]})
>>> df.select(pl.col("a").ewm_var(com=1, ignore_nulls=False))
shape: (3, 1)
┌──────────┐
│ a        │
│ ---      │
│ f64      │
╞══════════╡
│ null     │
│ 0.5      │
│ 0.928571 │
└──────────┘

© 2020 Ritchie Vink
© 2022 Polars contributors
Licensed under the MIT License.
https://docs.pola.rs/api/python/stable/reference/expressions/api/polars.Expr.ewm_var.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API