polars.Expr.ewm_var
-
Вычисляет экспоненциально взвешенную скользящую дисперсию.
Изменено в версии 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=FalseEW-функция вычисляется рекурсивно по формуле\[\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 │ └──────────┘
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
© 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