CronoSeries  0.1.*
A fork of Cronos with a focus on being a Time Series class library.
Public Member Functions | Protected Member Functions | Protected Attributes | Properties | List of all members
CronoSeries.TimeSeries.Models.VARModel Class Reference

vector autoregressive model, fittable by method of moments only (Yule-Walker eqns) More...

Inheritance diagram for CronoSeries.TimeSeries.Models.VARModel:
CronoSeries.TimeSeries.Models.MVTimeSeriesModel CronoSeries.TimeSeries.Models.IMoMEstimable CronoSeries.TimeSeries.Models.TimeSeriesModel CronoSeries.TimeSeries.Models.Model CronoSeries.TimeSeries.Data.IConnectable

Public Member Functions

 VARModel (int order, int dimension)
 
void FitByMethodOfMoments ()
 For multivariate autoregressive models, we just solve the Yule-Walker equations to estimate parameters. This is conceptually straightforward (see any standard textbook), but requires a lot of linear algebra book-keeping. More...
 
override string GetShortDescription ()
 
override string GetParameterName (int index)
 
override string GetParameterDescription (int index)
 
override int NumOutputs ()
 
override object GetOutput (int socket)
 
override string GetOutputName (int index)
 
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 Data.TimeSeries SimulateData (List< DateTime > inputs, int randomSeed)
 This function must simulate from the current model. More...
 
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...
 
override List< Type > GetOutputTypesFor (int socket)
 
- Public Member Functions inherited from CronoSeries.TimeSeries.Models.MVTimeSeriesModel
override List< Type > GetAllowedInputTypesFor (int socket)
 
- Public Member Functions inherited from CronoSeries.TimeSeries.Models.TimeSeriesModel
override int NumInputs ()
 
override string GetInputName (int socket)
 
override bool InputIsFree (int socket)
 
override bool SetInput (int socket, object item, StringBuilder failMsg)
 
override List< Type > GetAllowedInputTypesFor (int socket)
 
- Public Member Functions inherited from CronoSeries.TimeSeries.Models.Model
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)
 

Protected Member Functions

override bool CheckParameterValidity (Vector< double > param)
 Checks for validity of parameters. 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...
 
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...
 
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...
 
- Protected Member Functions inherited from CronoSeries.TimeSeries.Models.MVTimeSeriesModel
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...
 
- Protected Member Functions inherited from CronoSeries.TimeSeries.Models.Model
double NegativeLogLikelihood (Vector< double > partialCube)
 This function is a wrapper for another function, to be passed to a minimizer. More...
 

Protected Attributes

Vector< double > mu
 
int order
 
Matrix< double >[] Phi
 
Matrix< double > Sigma
 
int NumParameters => dimension + dimension * dimension * (order + 1)
 
- Protected Attributes inherited from CronoSeries.TimeSeries.Models.MVTimeSeriesModel
int dimension
 
MVTimeSeries mvts
 

Properties

override string Description [get]
 
override Vector< double > Parameters [get, set]
 
- Properties inherited from CronoSeries.TimeSeries.Models.MVTimeSeriesModel
int Dimension [get, protected set]
 
- Properties inherited from CronoSeries.TimeSeries.Models.TimeSeriesModel
override Vector< double > Parameters [get, set]
 
- Properties inherited from CronoSeries.TimeSeries.Models.Model
abstract string Description [get]
 Should return a description of the model, including current parameter values if desired. More...
 
object Residuals [get, protected set]
 
object TheData [get, set]
 
double GoodnessOfFit [get, protected set]
 
abstract Vector< double > Parameters [get, set]
 
ParameterState[] ParameterStates [get, set]
 
string ToolTipText [get, set]
 
- Properties inherited from CronoSeries.TimeSeries.Data.IConnectable
string ToolTipText [get, set]
 

Additional Inherited Members

- Public Types inherited from CronoSeries.TimeSeries.Models.Model
enum  ParameterState { Free, Locked, Consequential }
 
- Public Attributes inherited from CronoSeries.TimeSeries.Models.Model
object theData
 
- Static Protected Member Functions inherited from CronoSeries.TimeSeries.Models.Model
static Vector< double > CubeFix (Vector< double > cube)
 This function makes sure that its vector argument really does contain an element of the unit hypercube. If not, it is mapped back to an element on the hypercube (the mapping is continuous). More...
 

Detailed Description

vector autoregressive model, fittable by method of moments only (Yule-Walker eqns)

Member Function Documentation

◆ BuildForecasts()

override object CronoSeries.TimeSeries.Models.VARModel.BuildForecasts ( object  otherData,
object  inputs 
)
inlinevirtual

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

Parameters
otherData
inputsmay have different interpretations, for time series, it is typically an IList of DateTime objects
Returns
a model-dependent object: for example, a time series of distribution summaries

Implements CronoSeries.TimeSeries.Models.Model.

◆ CheckParameterValidity()

override bool CronoSeries.TimeSeries.Models.VARModel.CheckParameterValidity ( Vector< double >  param)
inlineprotectedvirtual

Checks for validity of parameters.

Parameters
param
Returns

Implements CronoSeries.TimeSeries.Models.Model.

◆ ComputeConsequentialParameters()

override Vector<double> CronoSeries.TimeSeries.Models.VARModel.ComputeConsequentialParameters ( Vector< double >  parameter)
inlineprotectedvirtual

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.

Implements CronoSeries.TimeSeries.Models.Model.

◆ FitByMethodOfMoments()

void CronoSeries.TimeSeries.Models.VARModel.FitByMethodOfMoments ( )
inline

For multivariate autoregressive models, we just solve the Yule-Walker equations to estimate parameters. This is conceptually straightforward (see any standard textbook), but requires a lot of linear algebra book-keeping.

Implements CronoSeries.TimeSeries.Models.IMoMEstimable.

◆ InitializeParameters()

override void CronoSeries.TimeSeries.Models.VARModel.InitializeParameters ( )
inlineprotectedvirtual

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.

Implements CronoSeries.TimeSeries.Models.Model.

◆ LogLikelihood()

override double CronoSeries.TimeSeries.Models.VARModel.LogLikelihood ( Vector< double >  parameter,
double  penaltyFactor,
bool  fillOutputs 
)
inlinevirtual

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.

Returns

Implements CronoSeries.TimeSeries.Models.Model.

◆ OnDataConnection()

override void CronoSeries.TimeSeries.Models.VARModel.OnDataConnection ( )
inlineprotectedvirtual

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.

Implements CronoSeries.TimeSeries.Models.Model.

◆ SimulateData()

override Data.TimeSeries CronoSeries.TimeSeries.Models.VARModel.SimulateData ( List< DateTime >  dateTimes,
int  randomSeed 
)
inlinevirtual

This function must simulate from the current model.

Parameters
dateTimesthese may have different interpretations, but for time series, is typically an IList of DateTime objects
randomSeedrandom number seed
Returns

Implements CronoSeries.TimeSeries.Models.Model.


The documentation for this class was generated from the following file: