Class ARMAOptions<T>
Configuration options for the ARMA (AutoRegressive Moving Average) time series forecasting model.
public class ARMAOptions<T> : TimeSeriesRegressionOptions<T>
Type Parameters
TThe data type of the time series values.
- Inheritance
-
ARMAOptions<T>
- Inherited Members
Remarks
ARMA is a statistical model used for analyzing and forecasting time series data. It combines two components: AutoRegressive (AR) and Moving Average (MA) to model stationary time series data.
For Beginners: ARMA is a method for predicting future values in a time series (data collected over time, like daily stock prices or monthly sales figures). It works by combining two techniques: looking at how past values influence future ones (AutoRegressive) and accounting for the impact of past prediction errors (Moving Average). Think of it like predicting tomorrow's weather by considering both today's weather (AR component) and how accurate previous forecasts have been (MA component). Unlike ARIMA, ARMA assumes your data doesn't have strong upward or downward trends that need to be removed first.
Properties
AROrder
Gets or sets the order of the AutoRegressive (AR) component.
public int AROrder { get; set; }
Property Value
- int
The AR order, defaulting to 1.
Remarks
The AR order specifies how many previous time steps are used to predict the current value. For example, AROrder=1 means the model uses only the immediately preceding value.
For Beginners: This controls how many past data points the model looks at to make predictions. With the default value of 1, the model only considers what happened in the previous time period. If you set it to 2, it would look at the last two time periods, and so on. Think of it like predicting tomorrow's sales based on today's sales (AROrder=1) versus considering both today and yesterday (AROrder=2). Higher values can capture more complex patterns but might make the model unnecessarily complicated for simple data.
LearningRate
Gets or sets the learning rate for the optimization algorithm.
public double LearningRate { get; set; }
Property Value
- double
The learning rate, defaulting to 0.01.
Remarks
The learning rate controls how quickly the model parameters are updated during training. A smaller value leads to slower but potentially more precise convergence.
For Beginners: This controls how quickly the model adjusts its predictions based on errors. The default value of 0.01 means the model makes small, cautious adjustments. Think of it like turning a steering wheel - a small learning rate makes tiny adjustments (good for fine-tuning), while a larger value makes bigger adjustments (which might help learn faster but could overshoot the optimal solution). For most cases, the default small value works well because it helps the model find more accurate predictions, even if it takes a bit longer.
MAOrder
Gets or sets the order of the Moving Average (MA) component.
public int MAOrder { get; set; }
Property Value
- int
The MA order, defaulting to 1.
Remarks
The MA order specifies how many previous forecast errors are used in the model. For example, MAOrder=1 means the model incorporates the error from the previous prediction.
For Beginners: This controls how many past prediction errors the model considers. With the default value of 1, the model adjusts based on how wrong its most recent prediction was. Think of it like a weather forecaster who not only looks at yesterday's weather but also considers how wrong their previous forecast was, learning from their mistakes. If yesterday's prediction was too high, they might adjust today's prediction downward a bit to compensate.
MaxIterations
Gets or sets the maximum number of iterations for the optimization algorithm.
public int MaxIterations { get; set; }
Property Value
- int
The maximum number of iterations, defaulting to 1000.
Remarks
This parameter limits how long the model will train before stopping, preventing excessive computation time. The algorithm will stop either when it converges or when it reaches this number of iterations.
For Beginners: This is simply a safety limit on how long the model will try to improve itself. The default value of 1000 means the model will make at most 1000 attempts to refine its predictions before stopping. Think of it like telling someone they can have up to 1000 tries to solve a puzzle - they might solve it sooner, but they won't keep trying forever if they're struggling to make progress.
Tolerance
Gets or sets the convergence tolerance for the optimization algorithm.
public double Tolerance { get; set; }
Property Value
- double
The convergence tolerance, defaulting to 0.000001 (1e-6).
Remarks
The algorithm stops when the improvement between iterations is smaller than this tolerance value, indicating that the model has converged to a solution.
For Beginners: This determines how precise the model needs to be before it stops training. The default value of 0.000001 is very small, meaning the model will keep improving until changes become extremely tiny. Think of it like painting a wall - you might stop when you can barely see any difference between coats of paint. A smaller tolerance means more precision but might take longer to achieve. For most applications, the default value provides a good balance between accuracy and training time.