Why is the last forecast of the time series with the neuralnet package too dissimilar to the rest of the predictions?

5

I adjusted a neural network to forecast seasonal precipitation from the observed series. When I do validation with observed data, the results are good. But in the series predicted by the model, the last forecast is always with values much below normal. It even dries to places of continuous precipitation. As this model is being built to be operationalized, the last number of the planned series is the most important, since it is the forecast that we will make every month.

Does anyone know why this negative bias is only for the last number? Do you know how to solve it?

And I tried to use other packages like rnn, which is of recurrent neural network. But the results are not so good. I think it's because of the lack of training. But it's a network that takes too long to train. A training of 2000 interactions took 9 hours and gave a bad result. As the model has to predict for all Brazil, the training of more than 250 series would last months.

Another important detail is that the food series the model is quarterly cumulative. For example, operationally when we want to forecast for the accumulated December-January-February, we do not have the monthly average of November. Then the last two observations that feed the model is a cumulative between the last observed month (October) and the climatology of the next two (November and December). This requires a different approach to fit the model. This makes certain time series forecasting packages not useful. Why can not I control the input variables. They just let me put in a series and he does it all.

I hope you can help me. I am desperate. It's my CBT and it has to work. Thank you very much in advance.

    
asked by anonymous 20.11.2017 / 14:56

1 answer

6

I'll give you an answer that you will not like.

Using neural networks to predict time is a treacherous business . It does not mean it's impossible - it just means it's laborious.

Neural networks are great for separating patterns. If your climate data in the recent past are linearly separable, the network will converge to a structure in which you will be able to kick in if it is going to rain or not. So far so good, right?

The problem is: if neural networks were human beings, they would be the worst room students in any school. Of all the types of artificial intelligence I know, they are the paradigm that least seeks to understand how things work. They just want to know the answers, not caring how they get to them. To make matters worse, it still has the decode factor that many of them present - once they learn wrong, it can be difficult to correct them and make them learn right.

An antinoth case: the pentagon spent millions of dollars developing a neural network that could identify war tanks in photos, but instead got a neural network that only knew how to distinguish clean sky from overcast sky .

In your case, you have informed your network of data that should include wind speed, precipitation, temperature, air pressure and humidity, cold fronts, hot fronts, air pollution, time of year, etc. to your network, and it even manages to give some useful information for most cases. Then you think she's learned to interpret the input ... But have you even learned to interpret the data you feed her with? Or did she just decorate the right answer for each input?

Finally ... The task you set out for yourself is not impossible. But you're going to have to do a lot more than you've done so far to get anywhere.

If you do a search, you will find about five thousand articles on weather forecasting with neural networks published just this year. You need to see what these guys did and implement the same way. It may be - emphasis on may - you have to discard the packages you are using, and make your own implementation of neural networks. However, only the creation of a neural network in itself, at this level of complexity, could already be worth a CBT in itself, so maybe it's time to rethink your subject.

    
20.11.2017 / 15:25