I would like to predict tomorrows temperature :-).

But I'm unsure of the best approach. Do I simply drop data from the last x days, or do I try do drop data from the last x days in difference?

Last three days could look like: 21.3C, 22C, 21.9C

Where the difference is whatever previous, 0.7C, -0.1C

You would need more than 3 days, I'm just setting an data example. I think I also would need to insert season among other variables to complete the experiment. But I'm just asking for temperature here.

Have anyone checked this? While the temperature can be anything from -20 to 40 C with decimals (1, 0.x) makes up a lot of numbers! But with difference the range is maybe -5C to +5C, also with decimals (1, 0.x) but it beats the other range making the range smaller and therefor easier for ML to predict?

If difference is best, should I also do percentage difference since then I would take to account different climate has different swings?

  • $\begingroup$ Predict weather based solely on x previous temperatures (days, hours, etc.)? That's hard, but basically what you are describing is time series analysis. $\endgroup$ Oct 15, 2018 at 9:36
  • $\begingroup$ Time series analyses are not guaranteed to be hard. You can get pretty reasonable performance on temperature just by guessing tomorrow's temperature will be like today's temperature. Of course it will be nowhere close to state of the art, but far better than random. $\endgroup$
    – kbrose
    Oct 15, 2018 at 15:48

1 Answer 1


I would use absolute temperatures. Knowing it's 37.2C, I'm more likely to say the temperature will decrease just from the context. This context would be lost if you only use the differences.

But like most data science questions, the proof is in the pudding. Try both and see what works best for you. You may even try using both absolute and difference as two feature columns.


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.