steady_state_detection
steady_state_detection ¤
SteadyStateDetectionEvents ¤
SteadyStateDetectionEvents(
dataframe: DataFrame,
signal_uuid: str,
*,
event_uuid: str = "eng:steady_state",
value_column: str = "value_double",
time_column: str = "systime"
)
Bases: Base
Engineering: Steady-State Detection
Identify when a process signal has settled into a steady operating state (low variance, no trend) versus transient/dynamic periods.
Methods: - detect_steady_state: Intervals where rolling std stays below threshold. - detect_transient_periods: Inverse — intervals where signal is changing. - steady_state_statistics: Summary of steady vs transient time. - steady_state_value_bands: Operating band (mean +/- std) per steady interval.
detect_steady_state ¤
detect_steady_state(
window: str = "5m",
std_threshold: float = 1.0,
min_duration: str = "10m",
) -> pd.DataFrame
Detect intervals where signal is in steady state.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
window
|
str
|
Rolling window for std computation. |
'5m'
|
std_threshold
|
float
|
Maximum rolling std to consider steady. |
1.0
|
min_duration
|
str
|
Minimum duration of a steady interval. |
'10m'
|
Returns:
| Type | Description |
|---|---|
DataFrame
|
DataFrame with columns: start, end, uuid, is_delta, |
DataFrame
|
mean_value, std_value, duration_seconds. |
detect_transient_periods ¤
detect_transient_periods(
window: str = "5m", std_threshold: float = 1.0
) -> pd.DataFrame
Detect intervals where signal is in transient/dynamic state.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
window
|
str
|
Rolling window for std computation. |
'5m'
|
std_threshold
|
float
|
Minimum rolling std to consider transient. |
1.0
|
Returns:
| Type | Description |
|---|---|
DataFrame
|
DataFrame with columns: start, end, uuid, is_delta, |
DataFrame
|
max_std, duration_seconds. |
steady_state_statistics ¤
steady_state_statistics(
window: str = "5m",
std_threshold: float = 1.0,
min_duration: str = "10m",
) -> Dict[str, Any]
Summary statistics of steady vs transient time.
Returns:
| Type | Description |
|---|---|
Dict[str, Any]
|
Dict with: total_steady_seconds, total_transient_seconds, |
Dict[str, Any]
|
steady_pct, num_steady_periods, avg_steady_duration_seconds. |
steady_state_value_bands ¤
steady_state_value_bands(
window: str = "5m",
std_threshold: float = 1.0,
min_duration: str = "10m",
) -> pd.DataFrame
Operating band (mean +/- std) for each steady-state interval.
Returns:
| Type | Description |
|---|---|
DataFrame
|
DataFrame with columns: start, end, mean_value, lower_band, |
DataFrame
|
upper_band, duration_seconds. |