5
$\begingroup$

It seems ML algorithms are specialized for cases in which the population distribution is fixed. Cross-validation also wouldn't work well if the distribution would change over time. However, it is not uncommon to encounter stochastic processes whose probability distribution changes with time because the underlying dynamics are not fixed.

The problem I am considering is this:

  1. The data generating probability distribution changes over time. (We may assume the distribution family to be fixed with time-varying parameters.)

  2. The new data generating process might be identical to one of the data generating processes encountered before.

The learning algorithm should be able to recognize the new data generating process when it's changed and it should be able to train with the new data.

At the same time, to handle the second situation, the learning algorithm should be able to remember the historical data distributions. And when it recognizes the new generating process, the algorithm should be able to retrieve the historical model and predict with it.

But the recognizing process would not be perfect and it would construct the current model as an ensemble of learners from the historical model.

This seems to be quite a complicated learning algorithm and I don't know if this is even possible. Is there any research in this direction?

$\endgroup$
7
  • 2
    $\begingroup$ Well, any time-series problem seems to fit your bill. It's usually less "identifying which previous pattern the new data fits" and more one of using one family of distributions with parameters that evolve over time, though. One example would be RNNs, or most classical forecasting algorithms. Can you be more explicit as to what you are looking for? $\endgroup$ Commented Jun 11, 2020 at 12:38
  • 1
    $\begingroup$ @StephanKolassa Thanks for the information. I'm looking for a model with a long memory that remembers previous knowledge as trained estimators and also nonlinear. The estimators form an ensemble and when new information is input, new estimator is trained and if there is a similar estimator in the ensemble, it would be combined with one of previous (this process might be similar as RNN). $\endgroup$ Commented Jun 11, 2020 at 23:24
  • 1
    $\begingroup$ I don't think this is quite as straightforward as a time-series problem; a time-series problem would have some well-defined sequential form that you can parameterize (i.e. language models, some next-frame prediction techniques, speech recognition). I think what OP is referring to is exactly the distributional shift problem, a.k.a. covariate shift, which is much more difficult to resolve (and an active area of research). Unfortunately, I'm not aware of a good method to deal with this outside of "train a new model." $\endgroup$ Commented Jun 14, 2020 at 7:37
  • 1
    $\begingroup$ What you're describing with training a new estimator sounds vaguely like boosting; however, I'm unsure of the utility of boosting for correcting distributional shift. $\endgroup$ Commented Jun 14, 2020 at 7:37
  • 1
    $\begingroup$ You can add time as a covariable to your model. If the underlying model algorithm is flexible enough (e.g. allows for interactions like tree boosting) and your data set is large enough, then this approach is worth a try. $\endgroup$
    – Michael M
    Commented Jul 4, 2020 at 13:12

1 Answer 1

2
$\begingroup$

Not sure if this is what you're looking for, but there are of course decades of research on time-varying models in the dynamical systems community.

As a simple example [we will look at extensions below], let's say you're interested in a time-varying linear model $$ y(k) = x(k)^T \theta(k) + \varepsilon(k).$$ Assuming a simple random-walk model for the parameters $\theta(k)$, the joint model can be written as the state-space model $$ \theta(k) = I \cdot \theta(k-1) + \mu(k), \quad \mu(k)\sim\mathcal{N}(0,\Sigma_\mu) \\ y(k) = x(k)^T \theta(k) + \varepsilon(k), \quad \varepsilon(k)\sim\mathcal{N}(0,\Sigma_\varepsilon).$$ The MMSE estimator for this model is the classical, linear Kalman filter / smoother. The velocity of the parameter adaptation can be adjusted by means of the assumed process noise covariance $\Sigma_\mu$.

  • This type of models appears to have been somewhat popularized in ML / statistics in recent years under the name of "Bayesian structural time series models" [1],[2]
  • If you're interested in more complex models of the dynamics of the parameter changes, you can exchange the identity matrix for more interesting models which, e.g., describe periodic dynamics or trends.
  • If you're interested in systems with rapid change points, you can use other models for the process noise, for instance, a NUV prior. (Inference is then performed by means of a joint Kalman filter + expectation maximization algorithm.)
  • If you're interested in nonlinear time-varying models, you can do the same thing, except that the observation equation then is nonlinear and you have to use some nonlinear Kalman filter / smoother variant.[3][4]
  • This kind of inference algorithm always remembers all previously observed data points and does not "forget". (Except if you explicitly model it that way.)
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.