Foresight for Predictions

Predictions without Foresight can be Anticipated to become Dreadful.

Vincent Warmerdam koaning.io
07-04-2019

Foresight for Predictions

Usually the application of a machine learning algorithm fits in these steps;

  1. Make a model predict
  2. Use this prediction to make a better decision
  3. This better decision changes the world
  4. The world gives more profit

An algoritmic system will be of very little use to anyone if you only have a prediction. You need to act on it if you want to experience an improvement of any sort.

This is where it gets interesting though because there is a causal effect in here.

Two things can happen.

Thing A: realistic

Because the world changes your model shouldn’t be able to predict it as well anymore. This is partially because the world is bound to change on it’s own. More likely this change is caused by the predictions you’ve made.

Think about it. The predictions came from a time where we did not have an algorithm aiding in decision making and the new decisions being made will contribute to inaccuracy. The effect of the new decisions is something that is new to the algorithm and you should update the model such that it can understand these effects.

Thing B: unfortunate

It might be that your model starts performing better. This situation is very dangerous because it is most likely caused by a feedback loop causing a self fulfilling prophecy.

Think about it. What other reason could there be that the performance of the model goes up over time? It shouldn’t. In the realm of recommenders this can be especially painful. By recommending certain content people will click it more which can cause the algorithm to wrongfully think that it should recommend it even more.

Conclusion

Before designing a system that predicts it might be a good idea to attempt some foresight. You will need to deal with effects like this some day and it is better to think about these effects early.