There is a theory that says intelligence is not so much a function of your ability to solve problems (as measured by the IQ-test), but as a function of the ability to predict the future. Also the ability to put of current rewards in favour of future rewards seems a better indicator for future success than the ability to solve problems. A test that measures this ability is called the marshmallow test.

Forecasting, anticipating the future, is something we all constantly do. As humans it made us farmers. People who could work all summer to get a good harvest so that they could store those things and survive the winter. In the darkest days we gorge ourselves because in those days it was more safe to keep food inside your stomach than outside of it. Again we anticipate what will be and act accordingly.

I have considered whether or not people who constantly worrying are somehow extra intelligent. After all they are constantly busy with the future, but on second thought that does not seem to be case. I would rather say that they get lost in the tree heap of possible futures because they try cover every possibility. That's not a function of intelligence, but of decision making.

Predicting the future is difficult, but there are some minimal standards you can think of. One method confronts your forecast with the actual value it was meant to predict and tries to minimize the deviation. For example if I predict that the temperature tomorrow is 10c, I have a deviation of -2 when it happens to 8c tomorrow. 12c would have been equally bad, so in my loss function I have the following equation

loss = (actual_value[i] – predicted_value[i])² + (actual_value[i+1] - predicted_value[i+1])² + …


By squaring each deviation we perform a maths trick that makes 8-10 as bad as 12-10. All these baddies we sum and it's easy to see now when every actual value equals the predicted value the loss is zero (the minimum of the function).

Naive forecasting

My favourite way to predict the weather is to assume that the weather tomorrow is the same as today! This method works wonderfully well in normal (read stable) circumstances, but it does not take into account storms that come from far away, but are upon you in less than a day. For such cases you need satellite data and smarter models. Also the forecasting horizon is limited (1 day). If I were to predict the weather for 90 days by assuming it would not change during that period I would be off by a complete season! Obviously thinking that weather tomorrow will be the same as today has it's limitations. Yet this method provides a benchmark of sorts. If you can't do better than this naive method you have a lousy forecasting method!! The loss function of the naive method is easy to calculate based on historical data (forecasting horizon is one day). Simply take the first differences of the actual values

loss = (actual_value[1] – (actual_value[0])² + (actual_value[2] - actual_value[1])² + etc.

If the “loss” of your method is higher than this value dump your forecasting model, if it is closer to zero than you have done something right.

Sometimes I wonder if such an evaluation is made in practice. If we cannot do better than our worst method our models for predicting the future are not better than looking in a glass bowl.