NIEHS / PrestoGP

Penalized Regression on Spatiotemporal Outcomes using Gaussian Processes a.k.a. PrestoGP
https://niehs.github.io/PrestoGP/
0 stars 0 forks source link

Vecchia likelihood is inaccurate when submatrices are numerically singular #37

Open ericbair-sciome opened 7 months ago

ericbair-sciome commented 7 months ago

When working on #18, I found that the full likelihood did not match the Vecchia likelihood in some cases even after I corrected the code for calculating the full likelihood. The issue seemed to be that the Vecchia likelihod approximation is inaccurate when some of the submatrices used to calculate U are numerically singular. We have encountered this issue in the past and modified createUMultivariate to condition singular submatrices so that it does not crash in these cases. But the resulting likelihood approximation is often inaccurate.

Probably the only good way to fix this would be to somehow constrain the theta parameters so that these numeric issues do not occur in the first place. And I am not sure if that is even possible. Also, even though the likelihood estimate is inaccurate, it does not seem to have a big effect on the estimate of the beta's, so it is (hopefully) not a major problem. Still, I am logging this so that we don't forget about it.