I think Andrew's making a good point here. Before Stan, I
was writing "machine learning" algorithms for natural language
processing (LDA, L1-penalized logistic regression, conditional random
fields, language models for spell checking, etc.) In almost all of
these cases, simpler models with more data have always outperformed
more complex models predictively in terms of 0/1 loss. We're talking gigabytes
of training data here. I don't see anything wrong with that. We need
to build spell checkers, named-entity finders, classifiers for sites
like Google news, etc.
But Michael also makes a good point that there should be some kind
of discussion of approximation error. Or at least an acknowledgement
that the posterior approximation is of unknown quality. In a lot of
what I've seen in the natural language literature, variational inference
is just being performed for a point estimate.
We didn't run with simulated data, but we ran with data where we
had the HMC fit, and saw that ADVI failed to recover the true posteiror
means within 1 posterior standard deviation in most cases. And the
real problem is that when it fails on real data, we don't know how to diagnose
that. Fitting with data simulated from a model is often insufficient because
the model is misspecified for real data.
We also know that variational inference underestimates posterior uncertainty
by construction, because of the direction of KL divergence minimized. So if
we do simulated data, we should have too low posterior coverage of p-intervals.
I think a lot of machine learning researchers only care about
predictions, which can also be calibrated and evaluated for
sharpness (how narrow the intervals are).
So we can test that calibration. And we can even do it in a believable
way if we have held out data, we can test that calibration on real
predictions.
- Bob