CronoSeries  0.1.*
A fork of Cronos with a focus on being a Time Series class library.
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Static Protected Member Functions | Properties | List of all members
CronoSeries.TimeSeries.Models.Model Class Referenceabstract
Inheritance diagram for CronoSeries.TimeSeries.Models.Model:
CronoSeries.TimeSeries.Data.IConnectable CronoSeries.TimeSeries.Models.TimeSeriesModel CronoSeries.TimeSeries.Models.MVTimeSeriesModel CronoSeries.TimeSeries.Models.UnivariateTimeSeriesModel CronoSeries.TimeSeries.Models.VARModel CronoSeries.TimeSeries.Models.ACFModel CronoSeries.TimeSeries.Models.ARMAModel CronoSeries.TimeSeries.Models.GARCHModel CronoSeries.TimeSeries.Models.ARMAXModel

Public Types

enum  ParameterState { Free, Locked, Consequential }
 

Public Member Functions

abstract int NumInputs ()
 
abstract int NumOutputs ()
 
abstract string GetInputName (int socket)
 
abstract string GetOutputName (int socket)
 
virtual List< Type > GetAllowedInputTypesFor (int socket)
 
virtual List< Type > GetOutputTypesFor (int socket)
 
abstract bool InputIsFree (int socket)
 
abstract bool SetInput (int socket, object item, StringBuilder failMsg)
 
abstract object GetOutput (int socket)
 
string GetDescription ()
 
virtual string GetShortDescription ()
 
bool CanUseMLE ()
 
bool CanUseMoM ()
 
bool CanHandleNaNs ()
 
abstract 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...
 
abstract Data.TimeSeries SimulateData (List< DateTime > dateTimes, int randomSeed)
 This function must simulate from the current model. More...
 
abstract 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...
 
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 ()
 
abstract string GetParameterName (int index)
 
abstract string GetParameterDescription (int index)
 
bool SetParameters (Vector< double > v)
 

Public Attributes

object theData
 

Protected Member Functions

abstract 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...
 
abstract 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...
 
abstract 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...
 
abstract 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...
 
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...
 

Static Protected Member Functions

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...
 

Properties

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]
 

Member Function Documentation

◆ BuildForecasts()

abstract object CronoSeries.TimeSeries.Models.Model.BuildForecasts ( object  otherData,
object  inputs 
)
pure virtual

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

Implemented in CronoSeries.TimeSeries.Models.VARModel, CronoSeries.TimeSeries.Models.GARCHModel, CronoSeries.TimeSeries.Models.ARMAModel, and CronoSeries.TimeSeries.Models.ACFModel.

◆ CheckDataValidity()

abstract bool CronoSeries.TimeSeries.Models.Model.CheckDataValidity ( object  data,
StringBuilder  failMessage 
)
protectedpure virtual

This function checks to see if the object can be cast into the appropriate form for the model.

Parameters
datadata to be attached to the model
failMessageif non-null, will be filled with descriptive error messages (if any)
Returns

Implemented in CronoSeries.TimeSeries.Models.UnivariateTimeSeriesModel, and CronoSeries.TimeSeries.Models.MVTimeSeriesModel.

◆ CheckParameterValidity()

abstract bool CronoSeries.TimeSeries.Models.Model.CheckParameterValidity ( Vector< double >  param)
protectedpure virtual

Checks for validity of parameters.

Parameters
param
Returns

Implemented in CronoSeries.TimeSeries.Models.VARModel, and CronoSeries.TimeSeries.Models.GARCHModel.

◆ ComputeConsequentialParameters()

abstract Vector<double> CronoSeries.TimeSeries.Models.Model.ComputeConsequentialParameters ( Vector< double >  parameter)
protectedpure virtual

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.

Implemented in CronoSeries.TimeSeries.Models.VARModel, CronoSeries.TimeSeries.Models.GARCHModel, and CronoSeries.TimeSeries.Models.ARMAXModel.

◆ CubeFix()

static Vector<double> CronoSeries.TimeSeries.Models.Model.CubeFix ( Vector< double >  cube)
inlinestaticprotected

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).

Parameters
cube
Returns

◆ FitByMLE()

virtual void CronoSeries.TimeSeries.Models.Model.FitByMLE ( int  numIterationsLDS,
int  numIterationsOpt,
double  consistencyPenalty,
Optimizer.OptimizationCallback  optCallback 
)
inlinevirtual

This function samples from parameter space using a Halton sequence and picks the model with best log-likelihood. Individual parameters are tagged as ParameterState.Locked, ParameterState.Free, or ParameterState.Consequential. Locked parameters are held at current values in optimization. Free parameters are optimized. Consequential parameters are computed as a function of other parameters and the data.

Parameters
numIterationsLDSNumber of parameters to consider per iteration
numIterationsOptNumber of iterations corresponding to free parameters
consistencyPenaltyPenalty applied in LogLikelihood calculation

◆ FitByMoM()

virtual void CronoSeries.TimeSeries.Models.Model.FitByMoM ( )
inlinevirtual

Fits model by method of moments. This is the default method used of CanUseMLE is false.

◆ InitializeParameters()

abstract void CronoSeries.TimeSeries.Models.Model.InitializeParameters ( )
protectedpure virtual

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.

Implemented in CronoSeries.TimeSeries.Models.VARModel, CronoSeries.TimeSeries.Models.GARCHModel, CronoSeries.TimeSeries.Models.ARMAXModel, CronoSeries.TimeSeries.Models.ARMAModel, and CronoSeries.TimeSeries.Models.ACFModel.

◆ LogLikelihood()

abstract double CronoSeries.TimeSeries.Models.Model.LogLikelihood ( Vector< double >  parameter,
double  penaltyFactor,
bool  fillOutputs 
)
pure virtual

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

Implemented in CronoSeries.TimeSeries.Models.VARModel, CronoSeries.TimeSeries.Models.GARCHModel, and CronoSeries.TimeSeries.Models.ARMAXModel.

◆ NegativeLogLikelihood()

double CronoSeries.TimeSeries.Models.Model.NegativeLogLikelihood ( Vector< double >  partialCube)
inlineprotected

This function is a wrapper for another function, to be passed to a minimizer.

Returns

◆ OnDataConnection()

abstract void CronoSeries.TimeSeries.Models.Model.OnDataConnection ( )
protectedpure virtual

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.

Implemented in CronoSeries.TimeSeries.Models.VARModel, and CronoSeries.TimeSeries.Models.UnivariateTimeSeriesModel.

◆ SimulateData()

abstract Data.TimeSeries CronoSeries.TimeSeries.Models.Model.SimulateData ( List< DateTime >  dateTimes,
int  randomSeed 
)
pure virtual

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

Implemented in CronoSeries.TimeSeries.Models.GARCHModel, CronoSeries.TimeSeries.Models.VARModel, CronoSeries.TimeSeries.Models.ARMAXModel, CronoSeries.TimeSeries.Models.ARMAModel, and CronoSeries.TimeSeries.Models.ACFModel.

Property Documentation

◆ Description

abstract string CronoSeries.TimeSeries.Models.Model.Description
get

Should return a description of the model, including current parameter values if desired.


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