probcomp / crosscat

A domain-general, Bayesian method for analyzing high-dimensional data tables
http://probcomp.csail.mit.edu/crosscat/
Apache License 2.0
322 stars 42 forks source link

continuous component model can't handle constant column #85

Open riastradh-probcomp opened 8 years ago

riastradh-probcomp commented 8 years ago

This causes construct_continuous_specific_hyper_grid to compute 0 for the sum of squared deviations from the mean, and then to fill s_grid with the smallest positive normal floating-point number, due to a workaround I put into log_linspace a while ago to avoid zeros (which probably had the effect of masking this problem, unbeknownst to ignorant me back then).

The consequences manifest as NaN for marginal logps / logscores when analysis is attempted later. Of course, Crosscat can't conclude anything useful about the column if all its values are the same. But that's no reason for it to barf and choke.

We who are still paying attention to Crosscat ought to sit down and figure out what this hyperparameter gridding business is supposed to accomplish and accomplish it in a way that does not cause mysterious crashes later on.

gregory-marton commented 8 years ago

Such columns are guessed as 'ignore', fwiw.