ezmsg.sigproc.scaler#

Adaptive standard scaling using exponentially weighted moving statistics.

Functions

scaler(time_constant=1.0, axis=None)[source]#

Create a RiverAdaptiveStandardScalerTransformer with the given parameters.

Parameters:
  • time_constant (float)

  • axis (str | None)

Return type:

RiverAdaptiveStandardScalerTransformer

scaler_np(time_constant=1.0, axis=None)[source]#
Parameters:
  • time_constant (float)

  • axis (str | None)

Return type:

AdaptiveStandardScalerTransformer

Classes

class AdaptiveStandardScaler(*args, settings=None, **kwargs)[source]#

Bases: BaseTransformerUnit[AdaptiveStandardScalerSettings, AxisArray, AxisArray, AdaptiveStandardScalerTransformer]

Parameters:

settings (Settings | None)

SETTINGS#

alias of AdaptiveStandardScalerSettings

INPUT_ACCUMULATE = InputStream:unlocated[bool]()#
async on_settings(msg)[source]#

Handle settings updates with smart reset behavior.

Only resets state if axis changes (structural change). Changes to time_constant or accumulate are applied without resetting accumulated statistics.

Parameters:

msg (AdaptiveStandardScalerSettings)

Return type:

None

async on_accumulate(accumulate)[source]#
Parameters:

accumulate (bool)

Return type:

None

class AdaptiveStandardScalerSettings(time_constant: float = 1.0, axis: str | None = None, accumulate: bool = True)[source]#

Bases: EWMASettings

Parameters:
__init__(time_constant=1.0, axis=None, accumulate=True)#
Parameters:
Return type:

None

class AdaptiveStandardScalerState[source]#

Bases: object

samps_ewma: EWMATransformer | None = None#
vars_sq_ewma: EWMATransformer | None = None#
alpha: float | None = None#
class AdaptiveStandardScalerTransformer(*args, **kwargs)[source]#

Bases: BaseStatefulTransformer[AdaptiveStandardScalerSettings, AxisArray, AxisArray, AdaptiveStandardScalerState]

property accumulate: bool#

Whether to accumulate statistics from incoming samples.

class RiverAdaptiveStandardScalerSettings(time_constant: float = 1.0, axis: str | None = None)[source]#

Bases: Settings

Parameters:
  • time_constant (float)

  • axis (str | None)

time_constant: float = 1.0#

Decay constant tau in seconds.

axis: str | None = None#

The name of the axis to accumulate statistics over.

__init__(time_constant=1.0, axis=None)#
Parameters:
  • time_constant (float)

  • axis (str | None)

Return type:

None

class RiverAdaptiveStandardScalerState[source]#

Bases: object

scaler: Any = None#
axis: str | None = None#
axis_idx: int = 0#
class RiverAdaptiveStandardScalerTransformer(*args, **kwargs)[source]#

Bases: BaseStatefulTransformer[RiverAdaptiveStandardScalerSettings, AxisArray, AxisArray, RiverAdaptiveStandardScalerState]

Apply the adaptive standard scaler from river.

This processes data sample-by-sample using River’s online learning implementation. For a vectorized EWMA-based alternative, see AdaptiveStandardScalerTransformer.