Package dev.nm.stat.dlm.multivariate
Class MultivariateDLMSeries
- java.lang.Object
-
- dev.nm.stat.dlm.multivariate.MultivariateDLMSeries
-
- All Implemented Interfaces:
TimeSeries<Integer,MultivariateDLMSim.Innovation,MultivariateDLMSeries.Entry>
,Iterable<MultivariateDLMSeries.Entry>
public class MultivariateDLMSeries extends Object implements TimeSeries<Integer,MultivariateDLMSim.Innovation,MultivariateDLMSeries.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 insteadDLMSim
.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
MultivariateDLMSeries.Entry
This is theTimeSeries.Entry
for a multivariate DLM time series.
-
Constructor Summary
Constructors Constructor Description MultivariateDLMSeries(int T, MultivariateDLM model)
Simulate a multivariate controlled dynamic linear model process.MultivariateDLMSeries(int T, MultivariateDLM model, MultivariateIntTimeTimeSeries Ut)
Simulate a multivariate controlled dynamic linear model process.MultivariateDLMSeries(int T, MultivariateDLM model, MultivariateIntTimeTimeSeries Ut, NormalRVG rmvnorm)
Simulate a multivariate controlled dynamic linear model process.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description MultivariateSimpleTimeSeries
getObservations()
Get the observations.MultivariateSimpleTimeSeries
getStates()
Get the states.Iterator<MultivariateDLMSeries.Entry>
iterator()
int
size()
Get the length of the time series.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Constructor Detail
-
MultivariateDLMSeries
public MultivariateDLMSeries(int T, MultivariateDLM model, MultivariateIntTimeTimeSeries Ut, NormalRVG rmvnorm)
Simulate a multivariate controlled dynamic linear model process.- Parameters:
T
- the length of the multivariate time series (states and observations) to generatemodel
- a multivariate controlled dynamic linear modelUt
- an m-dimensional time series of control variables (length = T); usenull
if no controlrmvnorm
- a standard multivariate Gaussian random vector generator (for seeding)
-
MultivariateDLMSeries
public MultivariateDLMSeries(int T, MultivariateDLM model, MultivariateIntTimeTimeSeries Ut)
Simulate a multivariate controlled dynamic linear model process.- Parameters:
T
- the length of the multivariate time series (states and observations) to generatemodel
- a multivariate controlled dynamic linear modelUt
- an m-dimensional time series of control variables (length = T); usenull
if no control
-
MultivariateDLMSeries
public MultivariateDLMSeries(int T, MultivariateDLM model)
Simulate a multivariate controlled dynamic linear model process.- Parameters:
T
- the length of the multivariate time series (states and observations) to generatemodel
- a multivariate controlled dynamic linear model
-
-
Method Detail
-
size
public int size()
Description copied from interface:TimeSeries
Get the length of the time series.- Specified by:
size
in interfaceTimeSeries<Integer,MultivariateDLMSim.Innovation,MultivariateDLMSeries.Entry>
- Returns:
- the time series length
-
iterator
public Iterator<MultivariateDLMSeries.Entry> iterator()
- Specified by:
iterator
in interfaceIterable<MultivariateDLMSeries.Entry>
-
getStates
public MultivariateSimpleTimeSeries getStates()
Get the states.- Returns:
- the simulated states
-
getObservations
public MultivariateSimpleTimeSeries getObservations()
Get the observations.- Returns:
- the simulated observations
-
-