energy_fault_detector.autoencoders.sequence_autoencoder

Base class for all sequence (windowed) autoencoders.

Note: not part of .core since it depends on SequenceDatasetBuilder.

class SequenceAutoencoder(sequence_builder=None, **ae_kwargs)[source]

Bases: Autoencoder

Abstract base for sequence autoencoders (seq2one and seq2seq).

Subclasses must implement:
  • create_model

  • _build_dataset

  • _assemble_predictions

encode(x, conditions=None, **kwargs)[source]

Encode input time series into the latent space.

Parameters:
  • x (DataFrame) – Input data (DataFrame with DatetimeIndex).

  • conditions (DataFrame) – Unused (kept for API compatibility).

Return type:

ndarray

Returns:

Latent representations as NumPy array.

fit(x, x_val=None, **kwargs)[source]

Fit the sequence autoencoder on time-series data.

Parameters:
  • x (DataFrame) – Training data (DataFrame with DatetimeIndex).

  • x_val (Optional[DataFrame]) – Optional validation data.

  • **kwargs – Passed to model.fit.

Return type:

SequenceAutoencoder

Returns:

The fitted instance.

get_reconstruction_error(x, reconstruction=None, **kwargs)[source]

Compute reconstruction error (predicted - actual) for main features.

Parameters:
  • x (DataFrame) – Input data (DataFrame with DatetimeIndex).

  • reconstruction (DataFrame) – pre-computed reconstruction. If None, predict() is called internally.

  • kwargs – other keyword args for the keras Model.predict method.

Return type:

DataFrame

Returns:

DataFrame with reconstruction errors.

predict(x, **kwargs)[source]

Predict/reconstruct input data.

Parameters:

x (DataFrame) – Input data (DataFrame with DatetimeIndex).

Return type:

DataFrame

Returns:

Reconstructed DataFrame.

tune(x, x_val=None, learning_rate=0.001, tune_epochs=5, **kwargs)[source]

Fine-tune the model for additional epochs.

Parameters:
  • x (DataFrame) – Training data.

  • x_val (Optional[DataFrame]) – Optional validation data.

  • learning_rate (float) – Learning rate for tuning.

  • tune_epochs (int) – Number of additional epochs.

  • **kwargs – Passed to model.fit.

Return type:

SequenceAutoencoder

Returns:

The tuned instance.

tune_decoder(x, x_val=None, learning_rate=0.001, tune_epochs=5, **kwargs)[source]

Tune decoder only — encoder weights are frozen.

Return type:

SequenceAutoencoder