# SsaForecastingEstimator Class

## Definition

Forecasts using Singular Spectrum Analysis.

public sealed class SsaForecastingEstimator : Microsoft.ML.IEstimator<Microsoft.ML.Transforms.TimeSeries.SsaForecastingTransformer>
type SsaForecastingEstimator = class
interface IEstimator<SsaForecastingTransformer>
Public NotInheritable Class SsaForecastingEstimator
Implements IEstimator(Of SsaForecastingTransformer)
Inheritance
SsaForecastingEstimator
Implements

## Remarks

To create this estimator, use ForecastBySsa

### Input and Output Columns

There is only one input column. The input column must be Single where a Single value indicates a value at a timestamp in the time series.

It produces either just one vector of forecasted values or three vectors: a vector of forecasted values, a vector of confidence lower bounds and a vector of confidence upper bounds.

### Estimator Characteristics

Does this estimator need to look at the data to train its parameters? Yes
Input column data type Single
Output column data type Vector of Single
Exportable to ONNX No

### Estimator Characteristics

Machine learning task Anomaly detection
Is normalization required? No
Is caching required? No
Required NuGet in addition to Microsoft.ML Microsoft.ML.TimeSeries

### Training Algorithm Details

This class implements the general anomaly detection transform based on Singular Spectrum Analysis (SSA). SSA is a powerful framework for decomposing the time-series into trend, seasonality and noise components as well as forecasting the future values of the time-series. In principle, SSA performs spectral analysis on the input time-series where each component in the spectrum corresponds to a trend, seasonal or noise component in the time-series. For details of the Singular Spectrum Analysis (SSA), refer to this document.

Check the See Also section for links to usage examples.

## Methods

 Train and return a transformer. Schema propagation for transformers. Returns the output schema of the data, if the input schema is like the one provided. Creates three output columns if confidence intervals are requested otherwise just one.

## Extension Methods

 Append a 'caching checkpoint' to the estimator chain. This will ensure that the downstream estimators will be trained against cached data. It is helpful to have a caching checkpoint before trainers that take multiple data passes. Given an estimator, return a wrapping object that will call a delegate once Fit(IDataView) is called. It is often important for an estimator to return information about what was fit, which is why the Fit(IDataView) method returns a specifically typed object, rather than just a general ITransformer. However, at the same time, IEstimator are often formed into pipelines with many objects, so we may need to build a chain of estimators via EstimatorChain where the estimator for which we want to get the transformer is buried somewhere in this chain. For that scenario, we can through this method attach a delegate that will be called once fit is called.