I'm trying to find a way to automatically detect the start/end of the 4 seasons based on a time series of daily mean temperature.
According to this paper summer and winter can be defined as (smoothed) mean temperature being higher or lower than the 75th and 25th percentiles, respectively. These are obviously arbitrary threhsolds, but they seem to work pretty well in many papers I've seen. However when I'm trying to reproduce the results I have two main issues:
- the 3rd order polynomial fit is not continous at the boundaries, so I used a more precise spectral filter
- sometimes the smoothed temperature does not pass the thresholds, making it hard to identify the season
This figure shows an example of one of these years
As a result some winter season are too short
Is there a better way to retrieve seasons from this time series? I'm looking for something simple but little bit more complex than this method solely based on percentile thresholds. I was thinking about K-means clustering maybe...