Balance a state space model a la Mittnik.
An TSmodel object.
a matrix. See details in
an integer indicating the number of input series in the model.
balanceMittnik calculate a state space model balance a la Mittnik.
n is intended primarily for producing a state space model from the markov
parameters of an
ARMA model, but if it is supplied with an
SS model the
result will be a model with state dimension n based on the n largest
singular values of the svd of a Hankel matrix of markov parameters generated
by the original model. If
n is not supplied then the singular values are
printed and the program prompts for
SVDbalanceMittnik calculates a nested-balanced state space
model by svd a la Mittnik. If state dim n is supplied then svd
criteria are not calculated and the given n is used. Otherwise,
the singular values are printed and the program prompts for n.
M is a matrix with p x (m+p) blocks giving the markov parameters,
that is, the first row of the Hankel matrix. It can be generated from the
model as in the function markovParms, or from the data, as in the function
m is the dimension of input series, which is needed to decompose M.
The output dimension p is taken from nrow(M).
MittnikReduction and references.
A state space model in a TSestModel object.
See references for
1 2 3 4 5 6 7
data("eg1.DSE.data.diff", package="dse") model <- toSS(TSmodel(estVARXls(eg1.DSE.data.diff))) # this prints information about singular values and prompts with #Enter the number of singular values to use for balanced model: newmodel <-balanceMittnik(model) # 18 might be a good choice in this example. newmodel <-balanceMittnik(model, n=18)