Spec-Zone.ru › Polars

polars.Expr.ewm_sum_by

Expr.ewm_sum_by(
    by: str_ | IntoExpr,
    *,
    half_life: str_ | timedelta,
) → Expr

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

Предупреждение

Эта функциональность считается нестабильной. Она может быть изменена в любой момент без того, чтобы это считалось нарушением обратной совместимости.

Для наблюдений \(x_0, x_1, \ldots, x_{n-1}\) в моменты времени \(t_0, t_1, \ldots, t_{n-1}\) EWMS вычисляется следующим образом:

\[ \begin{align}\begin{aligned}y_0 &= x_0\\\lambda_i &= \exp \left\{ \frac{ -\ln(2)(t_i-t_{i-1}) } { \tau } \right\}\\y_i &= x_i + \lambda_i y_{i-1}; \quad i > 0\end{aligned}\end{align} \]

где \(\tau\) — half_life.

движок:В памяти
Параметры:
by

Столбец, используемый в качестве ориентира для временного затухания.

half_life

Период полураспада экспоненциального затухания.

Примеры

>>> df = pl.DataFrame(
...     {
...         "values": [1, 2, 3, 4, 5],
...         "times": [0, 1, 2, 5, 6],
...     }
... )
>>> df.select(
...     pl.col("values").ewm_sum_by("times", half_life="1i"),
... )
shape: (5, 1)
┌──────────┐
│ values   │
│ ---      │
│ f64      │
╞══════════╡
│ 1.0      │
│ 2.5      │
│ 4.25     │
│ 4.53125  │
│ 7.265625 │
└──────────┘

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

Spec-Zone.ru

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