This is just an ARMA model with exogenous inputs. The model is Phi(B) X_t = Theta(B) Z_t + Gamma U_{t-1} where Phi and Theta are standard autoregressive and moving average polynomials {U_t} is an exogenous time series. Much of the analysis is the same, we just have extra coefficients for the exogenous inputs, and to compute likelihoods, we have to adjust the observations appropriately. For now, we only allow a simple one-lag dependency on the exogenous series. Later I'll generalize this.
More...
|
| ARMAXModel (int arOrder, int maOrder, int exOrder, Data.TimeSeries data) |
| basic constructor More...
|
|
| ARMAXModel (int arOrder, int maOrder, int exOrder, int tailDoF, Data.TimeSeries data) |
| constructor for heavy-tailed ARMAX model More...
|
|
void | SetGamma (int idx, double value) |
| sets gamma for the model More...
|
|
double | GetGamma (int idx) |
| returns the specified gamma value More...
|
|
override string | GetParameterName (int index) |
|
override int | NumInputs () |
|
override string | GetInputName (int index) |
|
override string | GetShortDescription () |
|
override bool | SetInput (int socket, object item, StringBuilder failMsg) |
|
Data.TimeSeries | GetExogenousTS (int idx) |
|
override double | LogLikelihood (Vector< double > parameter, double penaltyFactor, bool fillOutputs) |
| Returns the (possibly penalized) log-likelihood of the model with specified parameters and the current object theData. If parameter==null, it will use CURRENT parameters. If fillOutputs is true, then the residuals and any other outputs will be filled in. More...
|
|
override Vector< double > | ParameterToCube (Vector< double > param) |
|
override Vector< double > | CubeToParameter (Vector< double > cube) |
|
override Data.TimeSeries | SimulateData (List< DateTime > inputs, int randomSeed) |
| This function must simulate from the current model. More...
|
|
override void | ResetRealTimePrediction () |
|
override double | Register (DateTime timeStamp, double value) |
|
override double | Register (DateTime timeStamp, double value, double[] auxValues) |
|
override DistributionSummary | GetCurrentPredictor (DateTime futureTime) |
|
override List< Type > | GetAllowedInputTypesFor (int socket) |
|
| ARMAModel (int arOrder, int maOrder) |
|
| ARMAModel (int arOrder, int maOrder, Data.TimeSeries data) |
| Basic constructor for an ARMA(p,q) model with Gaussian innovations More...
|
|
| ARMAModel (int arOrder, int maOrder, Data.TimeSeries data, int tailDOF) |
| basic constructor for an ARMA(p,q) model with Students T innovations More...
|
|
void | CarryOutPreMLEComputations () |
|
virtual MathNet.Numerics.LinearAlgebra.Vector< double > | ParameterToCube (MathNet.Numerics.LinearAlgebra.Vector< double > param) |
|
virtual MathNet.Numerics.LinearAlgebra.Vector< double > | CubeToParameter (MathNet.Numerics.LinearAlgebra.Vector< double > cube) |
|
virtual void | Register (Data.TimeSeries series) |
|
override int | NumOutputs () |
|
override object | GetOutput (int socket) |
|
override string | GetOutputName (int index) |
|
override string | GetParameterDescription (int index) |
|
void | SetARPolynomial (MathNet.Numerics.LinearAlgebra.Vector< double > p) |
|
void | SetMAPolynomial (MathNet.Numerics.LinearAlgebra.Vector< double > p) |
|
MathNet.Numerics.LinearAlgebra.Vector< double > | GetMAPolynomial () |
|
override double | LogLikelihood (MathNet.Numerics.LinearAlgebra.Vector< double > parameter, double penaltyFactor, bool fillOutputs) |
|
override object | BuildForecasts (object otherData, object inputs) |
| This function generates forecasts (or fitted values) for the specified inputs, based on the existing data object and current model parameters. Results are returned in a form that depends on the model, for example, as a TimeSeries of DistributionSummary objects More...
|
|
double | ARCoeff (int i) |
| returns the i'th autoregressive coefficient: 0 = Phi_1, 1 = Phi_2, etc. More...
|
|
double | MACoeff (int i) |
|
override MathNet.Numerics.LinearAlgebra.Vector< double > | ComputeACF (int maxLag, bool normalize) |
|
void | EstimateByYuleWalker (double sampleMean, MathNet.Numerics.LinearAlgebra.Vector< double > acvf) |
| This method fits the model by using Yule-Walker estimation. It can only handle a few particular orders for the ARMA model now. In other cases it throws an exception. More...
|
|
override List< Type > | GetAllowedInputTypesFor (int socket) |
|
override List< Type > | GetOutputTypesFor (int socket) |
|
override int | NumInputs () |
|
override string | GetInputName (int socket) |
|
override bool | InputIsFree (int socket) |
|
override bool | SetInput (int socket, object item, StringBuilder failMsg) |
|
override int | NumOutputs () |
|
override object | GetOutput (int socket) |
|
override string | GetOutputName (int socket) |
|
string | GetDescription () |
|
bool | CanUseMLE () |
|
bool | CanUseMoM () |
|
bool | CanHandleNaNs () |
|
virtual void | FitByMLE (int numIterationsLDS, int numIterationsOpt, double consistencyPenalty, Optimizer.OptimizationCallback optCallback) |
|
virtual void | FitByMoM () |
| Fits model by method of moments. This is the default method used of CanUseMLE is false. More...
|
|
bool | InputToOutputIsValid () |
|
bool | SetParameters (Vector< double > v) |
|
void | Register (Data.TimeSeries series) |
|
|
new void | LocalInitializeParameters () |
|
override void | InitializeParameters () |
| This function is called after OnDataConnection. It can assume valid data is available, and it must fill in valid default parameter values. It typically also sets default parameter states, for purposes of estimation. More...
|
|
Data.TimeSeries | ComputeAdjustedValues () |
| performs adjustment to the original data based on exogenous time series, so that we can use the original likelihood function More...
|
|
override Vector< double > | ComputeConsequentialParameters (Vector< double > parameter) |
| This function must fill in values of consequential parameters. These parameters are determined by the current ParameterState[] settings in ParameterStates. These can depend on the non-consequential parameters and the data set. The function should throw an exception if it is not possible. The parameter vector with parameters filled in should be returned. More...
|
|
| ARMAModel (int arOrder, int maOrder, int tailDOF) |
|
override bool | CheckParameterValidity (MathNet.Numerics.LinearAlgebra.Vector< double > param) |
|
MathNet.Numerics.LinearAlgebra.Vector< double > | GetLikelihoodsFromResiduals (double[] res, double[] pvars) |
|
override MathNet.Numerics.LinearAlgebra.Vector< double > | ComputeConsequentialParameters (MathNet.Numerics.LinearAlgebra.Vector< double > parameter) |
|
void | LocalInitializeParameters () |
|
double[] | ComputeSpecialResiduals (Data.TimeSeries startData, out double[] rs, int forecastHorizon, out double[] forecasts) |
| This function uses the approach described in Section 8.7 of B&D if fracdiff parm==0 to get one-step predictors and residuals. More...
|
|
bool | DataIsLongitudinal () |
|
override bool | CheckDataValidity (object data, StringBuilder failMessage) |
| This function checks to see if the object can be cast into the appropriate form for the model. More...
|
|
override void | OnDataConnection () |
| This function is called immediately after a data object is connected to the model. Any initial processing (e.g. determining dimension of parameter vector, etc.) should be done here. More...
|
|
double | NegativeLogLikelihood (Vector< double > partialCube) |
| This function is a wrapper for another function, to be passed to a minimizer. More...
|
|
abstract bool | CheckParameterValidity (Vector< double > param) |
| Checks for validity of parameters. More...
|
|
This is just an ARMA model with exogenous inputs. The model is Phi(B) X_t = Theta(B) Z_t + Gamma U_{t-1} where Phi and Theta are standard autoregressive and moving average polynomials {U_t} is an exogenous time series. Much of the analysis is the same, we just have extra coefficients for the exogenous inputs, and to compute likelihoods, we have to adjust the observations appropriately. For now, we only allow a simple one-lag dependency on the exogenous series. Later I'll generalize this.