Voortschrijdend gemiddelde en moving average van de jaartemperatuur
Als data scientist bij een meteorologisch onderzoekscentrum wil je een tijdsgemiddelde (gesmoorde) waarde van de jaartemperatuur per staat berekenen, terwijl de temperatuur van elke staat in de loop der jaren verandert. Vergelijk daarna de gemiddelde temperatuur van het huidige jaar met de moving average van de jaartemperaturen over de vijf voorgaande jaren.
Een common table expression geeft de jaarlijkse gemiddelde waarde van de maandelijkse gemiddelde temperatuur per staat. Omdat er maar één weerstation per staat is, is groeperen op staat gelijk aan groeperen op station.
Deze oefening maakt deel uit van de cursus
Tijdreeksanalyse in PostgreSQL
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
-- 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;