[R] matrix which results singular but at the same time positive definite

Paul Gilbert pgilbert902 at gmail.com
Tue Dec 15 15:28:57 CET 2015


I think in other response to in this thread you got the answer to the 
question you asked, but you may be asking the wrong question. I'm not 
familiar with the specific papers you mention and you have not provided 
enough detail about what you are doing, so I am guessing a bit. The term 
"dynamic linear model" can refer to both linear ARMA/ARIMA models and to 
linear state-space models, however some authors use it to refer 
exclusively to state-space models and from your phrasing I am guessing 
you are doing that. There would be many state-space models equivalent to 
a given ARMA/ARIMA model, but without specifying structural aspects of 
the system you will likely be using one of the innovations form 
state-space models that are equivalent. In an innovations form 
state-space model the state is defined as an expectation. From a 
practical point of view, this is one of the most important differences 
between an innovation form and a non-innovations form state-space model. 
Since the expectation is known exactly, the state-tracking error is 
zero. That means the covariance matrix from the filter or smoother 
should be a zero matrix, which you should not be trying to invert. In a 
non-innovations form the state has a physical interpretation rather than 
being an expectation, so the state tracking error should not be 
degenerate in that case.

I mention all this because your covariance matrix looks very close to zero.

Paul Gilbert

On 12/11/2015 06:00 AM, r-help-request at r-project.org wrote:
> Dear John, thank you for your considerations. This matrix (which is a
> variance matrix) is part of an algorithm for forward-filtering and
> backward-sampling of Dynamic Linear Models (West and Harrison, 1997),
> applied to DLM representation of ARIMA processes (Petris, Petrone,
> Campagnoli).  It is therefore very difficult to explain why this
> variance matrix becomes so ill conditioned. This already happens at
> the first iteration of the algorithm. I will try to work on initial
> conditions and some fixed parameters.
> Thank you again Stefano

More information about the R-help mailing list