Class DLMSeries

java.lang.Object
dev.nm.stat.dlm.univariate.DLMSeries
All Implemented Interfaces:
TimeSeries<Integer,DLMSim.Innovation,DLMSeries.Entry>, Iterable<DLMSeries.Entry>

public class DLMSeries extends Object implements TimeSeries<Integer,DLMSim.Innovation,DLMSeries.Entry>
This is a simulator for a multivariate controlled dynamic linear model process. For (t ≥ 1), a controlled DLM takes the following form:

Observation Equation:

yt = Ft * xt + vt,
State Equation:
xt = Gt * xt-1 + Ht * ut + wt,
Given the model parameters, the time series of control variables {ut} and an integer (length) T, This simulator generates both the states {xt} and observations {yt}.

This implementation is appropriate for a short time series when the size is known; otherwise use instead DLMSim.

  • Constructor Details

    • DLMSeries

      public DLMSeries(int T, DLM model, double[] u, RandomStandardNormalGenerator rnorm)
      Simulate a univariate controlled dynamic linear model process.
      Parameters:
      T - the length of the univariate time series (states and observations) to generate
      model - a univariate controlled dynamic linear model
      u - a time series of control variables (length = T)
      rnorm - a standard Gaussian random number generator (for seeding)
    • DLMSeries

      public DLMSeries(int T, DLM model, double[] u)
      Simulate a univariate controlled dynamic linear model process.
      Parameters:
      T - the length of the univariate time series (states and observations) to generate
      model - a univariate controlled dynamic linear model
      u - a time series of control variables (length = T)
    • DLMSeries

      public DLMSeries(int T, DLM model)
      Simulate a univariate controlled dynamic linear model process.
      Parameters:
      T - the length of the univariate time series (states and observations) to generate
      model - a univariate controlled dynamic linear model
  • Method Details