IMaGES finds singularity that SAS doesn't

25 views
Skip to first unread message

Bill Raynor

unread,
May 14, 2013, 12:30:56 PM5/14/13
to tetrad-us...@googlegroups.com
I'm using SAS to prepare my data for IMaGES, and have checked each file for singular variance covariance matrices. It doesn't find any. However IMaGES fails with a "zero residual detected in data set #3; please check data for multicolinearity" error message.
 
1. What is TETRAD checking  that isn't being detected in SAS?
 2. How to fix it?
 
thanks
 

Joseph Ramsey

unread,
May 14, 2013, 5:46:21 PM5/14/13
to tetrad-us...@googlegroups.com
Funny you should ask; I was just looking at that part of the code.
Here's what's being calculated. The continuous score in Tetrad for GES
and IMaGES is a function of the variance of eX in the model
{P1,...,Pp}->X<-eX, that is, the variance of the exogenous error of X.
Var(eX) is calculated as var(X) - b1 var(P1) - ... - bp var(Pp), where
b1,..,bp are the regression coefficients for P1->X, ..., Pp->X. If in
the subtraction var(eX) is calculated as 0, the exception you cite is
thrown. The BIC is calculated as 0.5 ln var(eX) - k ln n, so if
var(eX) = 0, the score is undefined, so it really does matter.

Joe
> --
> You received this message because you are subscribed to the Google Groups
> "Tetrad Users Group" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to tetrad-users-gr...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>



--
Joseph D. Ramsey
Special Faculty and Director of Research Computing
Department of Philosophy
135 Baker Hall
Carnegie Mellon University
Pittsburgh, PA 15213

jsph....@gmail.com
Office: (412) 268-8063
http://www.andrew.cmu.edu/user/jdramsey

Bill Raynor

unread,
May 15, 2013, 10:10:58 AM5/15/13
to tetrad-us...@googlegroups.com
Okay, that tells me where the error occured, my question was more of an numerical accuracy question.
 
I am assuming SAS is fairly accurate here (I know, I know...) so why is the JAVA computation getting a value less than the machine eps?
 
The cheap fix: jitter the data. I am dealing with discrete coding here, so I simply added a small noise to the integers and everything worked. Think of it as a poor man's imputation....
 
Wishfully, it'd be nice if TETRAD took sampling weights rather than just equally-weighted cases.
 
Bill

On Tuesday, May 14, 2013 4:46:21 PM UTC-5, Joe wrote:
Funny you should ask; I was just looking at that part of the code.
Here's what's being calculated. The continuous score in Tetrad for GES
and IMaGES is a function of the variance of eX in the model
{P1,...,Pp}->X<-eX, that is, the variance of the exogenous error of X.
Var(eX) is calculated as var(X) - b1 var(P1) - ... - bp var(Pp), where
b1,..,bp are the regression coefficients for P1->X, ..., Pp->X. If in
the subtraction var(eX) is calculated as 0, the exception you cite is
thrown. The BIC is calculated as 0.5 ln var(eX) - k ln n, so if
var(eX) = 0, the score is undefined, so it really does matter.

Joe

On Tue, May 14, 2013 at 12:30 PM, Bill Raynor <brayn...@gmail.com> wrote:
> I'm using SAS to prepare my data for IMaGES, and have checked each file for
> singular variance covariance matrices. It doesn't find any. However IMaGES
> fails with a "zero residual detected in data set #3; please check data for
> multicolinearity" error message.
>
> 1. What is TETRAD checking  that isn't being detected in SAS?
>  2. How to fix it?
>
> thanks
>
>
> --



Reply all
Reply to author
Forward
0 new messages