package com.linkedin.thirdeye.anomalydetection.model.prediction;
import com.linkedin.thirdeye.anomalydetection.context.AnomalyDetectionContext;
import com.linkedin.thirdeye.anomalydetection.context.TimeSeries;
import java.util.List;
import java.util.Properties;
public interface PredictionModel {
/**
* Initializes this model with the given properties.
* @param properties the given properties.
*/
void init(Properties properties);
/**
* Returns the properties of this model.
*/
Properties getProperties();
/**
* Compute parameters for this model using the given time series. The parameters could be a
* dynamic threshold that is computed using the given baselines.
*
* @param historicalTimeSeries the history time series for training this model.
* @param anomalyDetectionContext
*/
void train(List<TimeSeries> historicalTimeSeries, AnomalyDetectionContext anomalyDetectionContext);
}