Moyenne cumulée et moyenne mobile de la température annuelle
En tant que data scientist dans un centre de recherche météorologique, vous souhaitez obtenir une moyenne lissée dans le temps de la température annuelle pour chaque État, au fur et à mesure de son évolution au fil des années. Puis, comparez la température moyenne de l’année en cours avec la moyenne mobile des températures annuelles sur les cinq années précédentes.
Une expression de table commune calcule la moyenne annuelle des températures moyennes mensuelles pour chaque État. Comme il n’y a qu’une seule station météorologique par État, regrouper par État revient à regrouper par station.
Cet exercice fait partie du cours
<cours>Analyse des séries temporelles dans PostgreSQL</cours>Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
-- Running average of the yearly avg temperature
WITH yearly AS(
SELECT
state,
DATE_PART('year', year_month)::INTEGER AS year,
AVG(t_monthly_avg) AS yearly_avg
FROM temperatures_monthly JOIN temperature_stations USING(station_id)
WHERE t_monthly_avg > -9999
GROUP BY state, year
)
SELECT
state,
year,
yearly_avg,
___ OVER (
___
___
ROWS BETWEEN ___)
AS running_yearly_avg
FROM yearly
ORDER BY state, year;