Looks like the ill-conditioning is almost entirely due to scaling, e.g.

> eigen(cov2cor(m))
$values
[1] 1.7234899 1.3380701 0.6619299 0.2765101
...

This is an annoyance in several parts of numerical linear algebra: Routines 
assume that R^n has all coordinates on a similar scale and therefore think that 
anything on the order of 1e-7 or so is effectively zero. 

Condition numbers do this too:

> kappa(m)
[1] 1.066582e+13
> kappa(cov2cor(m))
[1] 5.489243


-pd

On 10 Dec 2015, at 16:41 , Stefano Sofia <stefano.so...@regione.marche.it> 
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
> 
> 
> ________________________________________
> Da: Fox, John [j...@mcmaster.ca]
> Inviato: giovedì 10 dicembre 2015 14.41
> A: Stefano Sofia; r-help@r-project.org
> Oggetto: RE: matrix which results singular but at the same time positive      
>   definite
> 
> Dear Stefano,
> 
> You've already had a couple of informative responses directly addressing your 
> question, but are you aware how ill-conditioned the matrix is (one of the 
> responses alluded to this)?
> 
>> kappa(X, exact=TRUE)
> [1] 7.313338e+12
> 
>> eigen(X)$values
> [1] 4.964711e+00 9.356881e-01 4.863392e-12 6.788344e-13
> 
> Two of the variables have variances around 10^0 and the other two around 
> 10^-12. Of course, you haven't said anything about the context, but does it 
> really make sense to analyze the data on these scales?
> 
> Best,
> John
> 
> -----------------------------
> John Fox, Professor
> McMaster University
> Hamilton, Ontario
> Canada L8S 4M4
> Web: socserv.mcmaster.ca/jfox
> 
> 
> 
> 
>> -----Original Message-----
>> From: R-help [mailto:r-help-boun...@r-project.org] On Behalf Of Stefano Sofia
>> Sent: December 10, 2015 5:08 AM
>> To: r-help@r-project.org
>> Subject: [R] matrix which results singular but at the same time positive 
>> definite
>> 
>> Dear list users,
>> through the "matrixcalc" package I am performing some checks of variance
>> matrices (which must be positive definite).
>> In this example, it happens that the matrix A here reported is singular but
>> positive definite. Is it possible?
>> 
>>              [,1]          [,2]          [,3]          [,4]
>> [1,]  1.904255e-12 -1.904255e-12 -8.238960e-13 -1.240294e-12 [2,] -
>> 1.904255e-12  3.637979e-12  1.364242e-12  1.818989e-12 [3,] -8.238960e-13
>> 1.364242e-12  4.809988e+00  7.742369e-01 [4,] -1.240294e-12  1.818989e-12
>> 7.742369e-01  1.090411e+00
>> 
>> print(is.non.singular.matrix(A, tol = 1e-18)) FALSE 
>> print(is.positive.definite(A,
>> tol=1e-18)) TRUE
>> 
>> Is there something wrong with this matrix?
>> Any comment will be appreciated.
>> Stefano
>> 
>> 
>> ________________________________
>> 
>> AVVISO IMPORTANTE: Questo messaggio di posta elettronica può contenere
>> informazioni confidenziali, pertanto è destinato solo a persone autorizzate 
>> alla
>> ricezione. I messaggi di posta elettronica per i client di Regione Marche
>> possono contenere informazioni confidenziali e con privilegi legali. Se non 
>> si è il
>> destinatario specificato, non leggere, copiare, inoltrare o archiviare questo
>> messaggio. Se si è ricevuto questo messaggio per errore, inoltrarlo al 
>> mittente
>> ed eliminarlo completamente dal sistema del proprio computer. Ai sensi
>> dell’art. 6 della DGR n. 1394/2008 si segnala che, in caso di necessità ed
>> urgenza, la risposta al presente messaggio di posta elettronica può essere
>> visionata da persone estranee al destinatario.
>> IMPORTANT NOTICE: This e-mail message is intended to be received only by
>> persons entitled to receive the confidential information it may contain. 
>> E-mail
>> messages to clients of Regione Marche may contain information that is
>> confidential and legally privileged. Please do not read, copy, forward, or 
>> store
>> this message unless you are an intended recipient of it. If you have received
>> this message in error, please forward it to the sender and delete it 
>> completely
>> from your computer system.
>> 
>>      [[alternative HTML version deleted]]
>> 
>> ______________________________________________
>> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide http://www.R-project.org/posting-
>> guide.html
>> and provide commented, minimal, self-contained, reproducible code.
> 
> ________________________________
> 
> AVVISO IMPORTANTE: Questo messaggio di posta elettronica può contenere 
> informazioni confidenziali, pertanto è destinato solo a persone autorizzate 
> alla ricezione. I messaggi di posta elettronica per i client di Regione 
> Marche possono contenere informazioni confidenziali e con privilegi legali. 
> Se non si è il destinatario specificato, non leggere, copiare, inoltrare o 
> archiviare questo messaggio. Se si è ricevuto questo messaggio per errore, 
> inoltrarlo al mittente ed eliminarlo completamente dal sistema del proprio 
> computer. Ai sensi dell’art. 6 della DGR n. 1394/2008 si segnala che, in caso 
> di necessità ed urgenza, la risposta al presente messaggio di posta 
> elettronica può essere visionata da persone estranee al destinatario.
> IMPORTANT NOTICE: This e-mail message is intended to be received only by 
> persons entitled to receive the confidential information it may contain. 
> E-mail messages to clients of Regione Marche may contain information that is 
> confidential and legally privileged. Please do not read, copy, forward, or 
> store this message unless you are an intended recipient of it. If you have 
> received this message in error, please forward it to the sender and delete it 
> completely from your computer system.
> 
> ______________________________________________
> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.

-- 
Peter Dalgaard, Professor,
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Office: A 4.23
Email: pd....@cbs.dk  Priv: pda...@gmail.com

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to