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

This is really like an ARMA model in many respects, but you specify the square root of the variance (sigma), and the autocorrelations at lags 1...maxLag, instead of specifying autoregressive and moving average polynomials. This means that we have to fall back on the Durbin-Levinson recursions for likelihood computations, instead of using more efficient recursions from Brockwell & Davis. More...

Inheritance diagram for CronoSeries.TimeSeries.Models.ACFModel:
CronoSeries.TimeSeries.Models.UnivariateTimeSeriesModel CronoSeries.TimeSeries.Models.IMLEEstimable CronoSeries.TimeSeries.Models.IRealTimePredictable CronoSeries.TimeSeries.Models.TimeSeriesModel CronoSeries.TimeSeries.Models.Model CronoSeries.TimeSeries.Data.IConnectable

Public Member Functions

 ACFModel (int maxLag)
 
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 ResetRealTimePrediction ()
 
virtual void Register (Data.TimeSeries series)
 
virtual double Register (DateTime timeStamp, double value, double[] auxValues)
 
virtual double Register (DateTime timeStamp, double value)
 
virtual DistributionSummary GetCurrentPredictor (DateTime futureTime)
 
double Rho (int lag)
 
void SetRho (int lag, double value)
 
override int NumOutputs ()
 
override object GetOutput (int socket)
 
override string GetOutputName (int index)
 
override string GetParameterName (int index)
 
override string GetParameterDescription (int index)
 
override string GetShortDescription ()
 
override double LogLikelihood (MathNet.Numerics.LinearAlgebra.Vector< double > parameter, double penaltyFactor, bool fillOutputs)
 
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 MathNet.Numerics.LinearAlgebra.Vector< double > ComputeACF (int outToLag, bool normalize)
 
int NumAuxiliaryFunctions ()
 
string AuxiliaryFunctionName (int index)
 
string AuxiliaryFunctionHelp (int index)
 
bool AuxiliaryFunction (int index, out object output)
 
- Public Member Functions inherited from CronoSeries.TimeSeries.Models.UnivariateTimeSeriesModel
override List< Type > GetAllowedInputTypesFor (int socket)
 
override List< Type > GetOutputTypesFor (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 int NumOutputs ()
 
override object GetOutput (int socket)
 
override string GetOutputName (int socket)
 
- Public Member Functions inherited from CronoSeries.TimeSeries.Models.Model
string GetDescription ()
 
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...
 
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)
 
- Public Member Functions inherited from CronoSeries.TimeSeries.Models.IMLEEstimable
Vector< double > ParameterToCube (Vector< double > param)
 
Vector< double > CubeToParameter (Vector< double > cube)
 
- Public Member Functions inherited from CronoSeries.TimeSeries.Models.IRealTimePredictable
void Register (Data.TimeSeries series)
 

Protected Member Functions

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 ()
 
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...
 
double[] ComputeSpecialResiduals (Data.TimeSeries startData, out double[] rs, int forecastHorizon, out double[] forecasts)
 This function uses the Durbin-Levinson algorithm to get one-step predictors and residuals. More...
 
- Protected Member Functions inherited from CronoSeries.TimeSeries.Models.UnivariateTimeSeriesModel
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...
 
- Protected Member Functions inherited from CronoSeries.TimeSeries.Models.Model
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...
 
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 Complex ComplexPower (Complex c, double pow)
 
- 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...
 

Protected Attributes

Data.TimeSeries oneStepPredictors
 
Data.TimeSeries oneStepPredictorsAtAvailability
 
Data.TimeSeries oneStepPredStd
 
Data.TimeSeries unstandardizedResiduals
 
- Protected Attributes inherited from CronoSeries.TimeSeries.Models.UnivariateTimeSeriesModel
Longitudinal longitudinalValues
 
Data.TimeSeries values
 

Properties

override string Description [get]
 
double Mu [get, set]
 
double Sigma [get, 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
 

Detailed Description

This is really like an ARMA model in many respects, but you specify the square root of the variance (sigma), and the autocorrelations at lags 1...maxLag, instead of specifying autoregressive and moving average polynomials. This means that we have to fall back on the Durbin-Levinson recursions for likelihood computations, instead of using more efficient recursions from Brockwell & Davis.

Member Function Documentation

◆ BuildForecasts()

override object CronoSeries.TimeSeries.Models.ACFModel.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.

◆ ComputeSpecialResiduals()

double [] CronoSeries.TimeSeries.Models.ACFModel.ComputeSpecialResiduals ( Data.TimeSeries  startData,
out double[]  rs,
int  forecastHorizon,
out double[]  forecasts 
)
inlineprotected

This function uses the Durbin-Levinson algorithm to get one-step predictors and residuals.

Parameters
rsdouble[] array of one-step predictive MSEs / sigma^2,
Returns
double[] array of residuals = [ (x_i - \hat{x}_i)/\sqrt{rs_i} ]

◆ InitializeParameters()

override void CronoSeries.TimeSeries.Models.ACFModel.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.

◆ SimulateData()

override Data.TimeSeries CronoSeries.TimeSeries.Models.ACFModel.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: