Nest has some of it. It doesn't have "make it colder/warmer for 2 hours". It's self-learning features are weird in my opinion.
I think every smart thermostat is too focused on a temperature value (I know it's counter-intuitive):
- Humans don't experience temperature, only change in temperature
- Rate of temperature change depends on many factors, and delta between body and air temperature is just one of them
While I like 72 F, I'd rather have 73 or even 74 with A/C running less per hour. I often have to wear a jacket at home while A/C is working because while it's running it feels much colder than it is[1].
[1]: yeah yeah, air blowing out of A/C vents is colder than ambient, that's kinda the point.