Class Signature
MomentModel class implements the MOMENT (Multi-task Open Model for Time Series) foundation model, supporting forecasting, imputation, anomaly detection, and classification tasks.
Initialization Parameters
Model configuration dictionary containing model-specific parameters.
Hugging Face model repository ID. If not provided, initializes a new model without pre-trained weights.
Methods
finetune()
Dataset for finetuning. Call
get_data_loader() to get the dataloader.Task name. Options:
"forecasting": Time series forecasting"imputation": Missing value imputation"detection": Anomaly detection"classification": Time series classification
Learning rate for training.
Number of training epochs.
Maximum norm for gradient clipping.
Masking ratio for imputation and detection tasks.
The finetuned model.
evaluate()
Dataset for evaluation. Call
get_data_loader() to get the dataloader.Task name: “forecasting”, “imputation”, “detection”, or “classification”.
If True, return only metrics.
For forecasting (when
metric_only=True):Dictionary containing:mse: Mean Squared Errormae: Mean Absolute Errormase: Mean Absolute Scaled Errormape: Mean Absolute Percentage Errorrmse: Root Mean Squared Errornrmse: Normalized RMSEsmape: Symmetric Mean Absolute Percentage Errormsis: Mean Scaled Interval Scorend: Normalized Deviation
metric_only=False (forecasting):Tuple of (metrics, trues, preds, histories):metrics: Dictionary of metricstrues: Ground truth, shape (num_samples, num_ts, horizon_len)preds: Predictions, shape (num_samples, num_ts, horizon_len)histories: Historical context, shape (num_samples, num_ts, context_len)
plot()
Dataset for plotting. Use
get_data_loader() to obtain the dataloader.Task to visualize. Options: “forecasting”, “imputation”, “detection”, or “classification”.
This method does not return a value. It displays visualizations.
quantize()
Quantization type to apply.
Device to perform quantization on.
Quantized model instance.
Usage Example
Notes
- MOMENT is a multi-task foundation model supporting forecasting, imputation, detection, and classification
- The model uses mixed precision training with gradient scaling for efficiency
- OneCycleLR scheduler is applied during training
- MSELoss is used for forecasting/imputation/detection, CrossEntropyLoss for classification
- Data denormalization is automatically applied during evaluation if the dataset was normalized