polars.Series.ewm_std#
- Series.ewm_std(
- *,
- com: float | None = None,
- span: float | None = None,
- half_life: float | None = None,
- alpha: float | None = None,
- adjust: bool = True,
- bias: bool = False,
- min_periods: int = 1,
- ignore_nulls: bool = False,
计算指数加权移动标准差。
- Parameters:
- 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_periods
窗口中需要的最小观察次数才能有值(否则结果为null)。
- ignore_nulls
在计算权重时忽略缺失值。
当
ignore_nulls=False(默认)时,权重基于绝对位置。 例如,在计算 [\(x_0\), None, \(x_2\)] 的最终加权平均值时,\(x_0\) 和 \(x_2\) 的权重分别为 \((1-\alpha)^2\) 和 \(1\)(如果adjust=True),以及 \((1-\alpha)^2\) 和 \(\alpha\)(如果adjust=False)。当
ignore_nulls=True时,权重基于相对位置。例如,在计算 [\(x_0\), None, \(x_2\)] 的最终加权平均值时,\(x_0\) 和 \(x_2\) 的权重分别为 \(1-\alpha\) 和 \(1\)(如果adjust=True),或者 \(1-\alpha\) 和 \(\alpha\)(如果adjust=False)。
示例
>>> s = pl.Series("a", [1, 2, 3]) >>> s.ewm_std(com=1, ignore_nulls=False) shape: (3,) Series: 'a' [f64] [ 0.0 0.707107 0.963624 ]