balanceMittnik             package:dse1             R Documentation

_B_a_l_a_n_c_e _a _s_t_a_t_e _s_p_a_c_e _m_o_d_e_l

_D_e_s_c_r_i_p_t_i_o_n:

     Balance a state space model a la Mittnik.

_U_s_a_g_e:

         balanceMittnik(model, n=NULL)
         SVDbalanceMittnik(M, m, n=NULL)

_A_r_g_u_m_e_n_t_s:

   model: An TSmodel object.

       M: a matrix. See details in 'MittnikReduction'.

       m: an integer indicating the number of input series in the
          model.

       n: see details

_D_e_t_a_i_l_s:

     '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 n. 'balanceMittnik' calls 'SVDbalanceMittnik'

     '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 estSSMittnik. m is the dimension of input
     series, which is needed to decompose M. The output dimension p is
     taken from nrow(M).

     See also 'MittnikReduction' and references.

_V_a_l_u_e:

     A state space model in a TSestModel object.

_R_e_f_e_r_e_n_c_e_s:

     See references for 'MittnikReduction'.

_S_e_e _A_l_s_o:

     'estVARXls', 'estVARXar' 'MittnikReduction'

_E_x_a_m_p_l_e_s:

         if(is.R()) data("eg1.DSE.data.diff", package="dse1")
         model <- toSS(TSmodel(estVARXls(eg1.DSE.data.diff)))
         ## Not run: newmodel <-balanceMittnik(model)
         # this prints information about singular values and prompts with
         #Enter the number of singular values to use for balanced model:
         # 18 might be a good choice in this example. 
         newmodel <-balanceMittnik(model, n=18)

