There are three objectives:

The priority to start with is short-term forecasting.

Short-term forecasting

Focus on short-term forecasts (up to about a week), anticipating demand for a given week.

Interested in incorporating features for demand spikes -

  • Weather information (e.g., heatwaves)
  • Seasonal diseases

SWAST have historical temperature data from 2017 to 2025 for every weather station in the South West and can help get any other weather type data eg. rainfall, wind, snow if useful.

SWAST also have an API that can download the seasonal disease info from UKHSA every week.

Additional notes: Relationship potentially changed since COVID? Also, Nav shared https://doi.org/10.1057/jors.2011.160.

Tom said we need to think about temperature data… if you are training on actual data, but then using forecast in forecast… forecast comes with uncertainty… incorporate? Paul Harper Cardiff may have done some stuff around this, Bayesian, emergency admissions.

Also, Tom gave ideas around improved models. Suggested worry less about point forecast, and focus more on trying to shrink prediction intervals while maintaining good coverage.

Model ideas…

  • Improved ensemble. Prophet prediction - get a time series of errors If you subtracted the error from your forecast, you would true result Hence, lets train an ARIMA model on those errors, and forecast the error in our forecast, alongside our actual forecast If we then add our forecast + our predicted error in the forecast, hopefully gives you a better prediction.
  • London Ambulance Service might be doing something similar… Generalised additive model.
  • Professor Bahman Rostami-Tabar has probably done some good stuff around forecasting in R that we could check out… open, R, Rob Hyndman.

ARIMAX: ARIMA with exogenous regressors

Prophet add_regressor

https://pmc.ncbi.nlm.nih.gov/articles/PMC7087605/ and https://link.springer.com/article/10.1007/s00484-023-02435-1

First:

  • ARIMA 1- to 7-day forecast.
  • ARIMA with actual average temperature, forecast average temperature, and /or relative humidity. They find actual temp best, forecast temp pretty similar, and that adding humidity didn’t improve.

Second:

  • Develop biometeorological indexes which is a single variable composed of multiple weather factors
  • In 1- to 7-day ARIMA forecasts
  • Simple average temperature performed better.

Take-home: Temperature… humidity… rainfall… wind… may actually be ok with just temperature potentially, don’t know if will need all these different ones or not.

https://bmjopen.bmj.com/content/2/4/e001074 and https://www.sciencedirect.com/science/article/pii/S0048969719350387?via%3Dihub and https://pmc.ncbi.nlm.nih.gov/articles/PMC12117535/

  • Heat has immediate short-lasting effect
    • On number of ambulance attendances in Australia (0-1 days lag)… 1.17% increase per 1C over threshold
    • On number of ambulance calls in China (0-30h lag).
    • On ambulance dispatches in Czechia (up to 2 days).
  • Cold has delayed, longer-lasting effect
    • On number of ambulance attendances in Australia (2-15 days lag)… 1.3% per 1C below threshold
    • On number of ambulance calls in China (50-170h lag).
    • On ambulance dispatches in Czechia (up to 3 weeks).

Takehome: Explore adding lagged temperature (i.e., temp from 1, 2, 3, - 14 days ago), not just temperature on that day alone.

All use DLNM. Takehome: Good to use DLNM for this analysis. Distributed Lag Non-Linear Models (DLNM)… DLNM framework… R dlnm package… could inform which lag features to include in the models…

https://pmc.ncbi.nlm.nih.gov/articles/PMC12117535/ and https://journals.ametsoc.org/view/journals/wcas/15/3/WCAS-D-22-0046.1.xml

  • Heatwaves have cumulative added effect on top of just temperature on ambulance dispatches in Czech study
  • Increased risk of cardiovascular ambulance dispatches on heatwave days

Takehome: Explicit heatwave modelling? E.g. Binary heatwave flag if days where max temp > X, for > 2 days.

https://journals.sagepub.com/doi/10.1177/10946705241232169

Forecast of emergency medical serices, but instead of having separate demand forecasts for national v.s. regional v.s., sub-regional, it is doing some hierarchical grouped stuff.

https://researchportal.ulisboa.pt/en/publications/short-term-forecasting-of-emergency-medical-services-demand-explo/

Using machine learning to forecast EMS demand

Weather data

  • For the 7-day horizon, Met Office forecast temperatures (available up to 8 days ahead via the Weather DataHub at 2 km resolution or the free Open-Meteo UK Met Office API)
  • Historical:
    • European Climate Assessment & Dataset
    • Open-Meteo Historical API
  • Forecast:
    • Met Office Weather DataHub
    • Open-Meteo UK Met Office API
    • ECMWF ENS

Remember: Weather forecast day 1-3 more accurate, day 4-7 less so, will presumably contribute to prediction intervals, more uncertain later in forecast

Consider: We are accounting for seasonality. Adding temperature, it’s associated with seasonality, might be some kind of correlation/colinearity issue? Or is it ok?

  • https://github.com/facebook/prophet/issues/1017: Consider using deviation from the long-term daily average for that calendar date, rather than absolute temperature? Captures unusual warmth or cold? Or maybe that’s more relevant for longer forecast?

Consider: Instead of single average temp per region, an average weighted by population density in each region.

Prediction intervals in long term forecasts

Want to improve prediction/uncertainty intervals for longer forecasts (e.g., several months).

Tom spoke about how current ensemble approach of just taking a mean of prediction intervals could be improved. Suggestions of things to look into:

  • Quantile regression…
  • Bayesian…
  • Conformal prediction - take initial predict set and calibrate on out-of-sample validation data
  • Bootstrapping - repeated sampling historical residuals, generate forecast new for each sample, evaluate variance across iterations to form interval.
  • Might be called “sample paths” in Hyndman.

Handling COVID data

Decide how to handle lockdown data.

  • Should it be dropped?
  • Should it be retained as an intervention variable in line with prophet approach?