ARIMA Time Series Modelling Of Excess Mortality 1975 – 2021
England & Wales monthly excess mortality by quinary age band & sex: intervention analysis statistical output (rev 1.1)
Back on 18th May I issued the first of a four part series of newsletters that reveal excess mortality by quinary age band and sex for England & Wales for the period 1975 – 2021. A total of 36 time series charts provided a detailed view of trends, cycles and outbreaks of disease over the last 47 years enabling us to get a feel for the health of these two nations. These plots were deliberately left rather raw, being clouds of red dots scattered in time, though I did plonk down a LOESS Gaussian smoothing function to guide the eye.
This morning I am going to build on this work by reporting 36 ARIMA time series models that were developed to characterise these scatters in a formal manner. Output for these is copious indeed, with tables too numerous and too large for presentation in a newsletter format so I am going to try something new and that is to provide a link to the actual output file that is sitting on my Google Drive, the idea being for subscribers to navigate through this under my written guidance. Paid subscribers should already have an introductory newsletter explaining some basics and providing a link to both the necessary software and an example file so let us get stuck straight in with the first of a series of premium posts…
Source
The file you require for this newsletter is EW DOD excess monthly mortality 1975 – 2021 (ARIMA).spv, which may be found sitting in a shared Google Drive folder which may be found here. This is divided into two main sections, the first providing 18 graphs and model output for males and the second providing 18 graphs and model output for females. The graphs should be familiar since they are what I published in the recent series entitled Mortality Impact 1975 – 2021 (parts 1 – 4). It might be a good idea to peruse these first to get a feel for patterns and trends.
Method
ARIMA time series analysis is one of those tools that produce wonderful results if time and care are taken over model identification and development. Since I currently don’t have the time to build 36 individual models by hand I decided to use the expert modelling system developed for SPSS and allow it to automatically choose the best fitting models. Although I’ve used this module for many years and find that it yields reliable results, my primary motive was to run an automated process over the data to ensure consistency in the model identification process, the idea being that model structures themselves will tell us something useful about the nature of underlying trends. In addition to this I opted to submit a battery of indicator variables for 2020 and early 2021 so we may identify individual months using formalised statistical significance testing, the idea being to reveal those months when COVID hit each of the 36 sub-populations the hardest.
Results
Log file
Under the heading EXPERT MODELLER RESULTS you will find a log file that provides details of the command syntax used. A great deal of this should be self-explanatory – if anybody wants to understand this in detail please ask!
Model Description
These tables very usefully summarise the outcome of the model selection procedure and so I have reproduced them below. By way of refresher here’s a summary of what the ARIMA(p,d,q)(P,D,Q) parameters mean. The monthly data series provides a default seasonality value of 12:
p = non-seasonal autoregressive component - AR (lingering effects/memory)
d = non-seasonal difference (order of underlying trend)
q = non-seasonal moving average component – MA (random signal/shocks)
P = seasonal autoregressive component - AR (lingering effects/memory)
D = seasonal difference (order of underlying seasonal trend)
Q = seasonal moving average component – MA (random signal/shocks)
With these definitions in mind we can now rip through the table and identify key features very quickly, starting with the ‘d/D’ parameters.
Underlying Trends (d, D)
Non-seasonal trends were identified for males with the exception of 5 – 9y, 10 -14y and those aged 70y and over. This suggests the health of males has deteriorated over the last 47 years with the exception of young children and those over 70y – a quick squint at the slides confirms this. What surprises me is lack of an underlying trend for older males, but again the slides confirm this. No seasonal trends were identified. In contrast non-seasonal trends were not a feature for females with only the 0 - 4y, 60 – 64y and 65 -69y age groups exhibiting a non-seasonal model component; a most curious inversion! Seasonal trends were identified for 5 female groups which suggest different processes at play.
Random noise & shocks (q/Q)
We may expect to see a fair number of models identifying random inputs as a feature for male mortality over the years and this is indeed so. A surprising result is the lack of a non-seasonal shock component for 75 – 79y and 80 -84y males, which suggests deaths follow a more structured manner. What may be driving this is the cyclical pattern that the LOESS smoothing function has picked out in the respective slides. I can’t see any obvious periodicity other than peaks and troughs occurring over spans of a few years. Seasonal shocks were identified for 9 age groups, which raises the curious issue as to why some age groups lend themselves to seasonality and some not. As with males, females of all ages feature a fair number of models that identify random inputs as a key feature. An unusual parameterisation of (0,0,0,)(0,0,0) was found with 5 – 9y females which indicates the best model is effectively a single constant. Seasonal shocks are not a big feature for females, with only 5 age groups exhibiting this parameter.
Lingering effects & memory (p/P)
With several age groups exhibiting values for these parameters we may deduce that death is not necessarily a random event. I am fascinated by the ARIMA(2,0,2)(1,0,1) parameterisation by the 5 - 9y male group since this suggest what was happening 2 months ago is going to be influencing risk of death in the current month, there being a seasonal aspect to this also. We may deduce that male infant deaths tend to come in runs each year. Runs are also evident in the 70 -74y, 75 -79y and 80 - 84y males, though these do not feature seasonality as we may expect. Memory effects are also evident for females but what has caught my eye is the clustering of parameters for females aged 25y to 59y – this wide band appears to be subject to runs in the death rate.
Model Fit
Though R-squared is a measure of goodness-of-fit familiar to most people please ignore this completely. Here’s why in a tad over 2 minutes. Judging by the number of measures provided in this table you may surmise that getting a handle on the performance of a time series models isn’t easy. I’m not going to explain the pros and cons but below is a handy summary of what each measure attempts to do. I suggest you select a measure that is intuitively easy to understand and stick with this across all models. There are ways we can formally test for differences in these measures and I may discuss this in future newsletters. By eyeballing the mean value column note how models for females generally tend to be relatively poor fits compared to models for males across the range of measures.
Model Statistics
I have opted to display stationary R-square since this is likely going to be the easiest goodness-of-fit concept to grasp for folk who have grown up with R-square. The key word here is stationary, which means the changing variance over time, as discussed by Rosaria Silipo in the YT clip, will have been accounted for if we have modelled the data optimally; that is a big ‘if’! Despite limitations this table will give a feel for what seems to be working well as a model and what seems to be making a pig’s ear out of white noise. Anybody wanting to delve into Ljung-Box Q(18) can read up on this handy test here. The best fitting model for males according to this measure is that derived for the 50 - 54y group, whereas for females this flips to the 60 - 64y group. I suggest we all break for a coffee and some indulgent carbohydrates before continuing with the big one!
ARIMA Model Parameters
Right then, here’s the big one. This table is the reason why I decided to try a different method of disseminating results for it is too beautiful to hack into pieces and deliver in a series of newsletters. The parameterisation of the model description makes its way into actual estimates for various monthly lags both seasonal and non-seasonal and I am hoping folk will be able to get a grasp on how these fit together.
By way of example, if we start with 0 - 4y males we find a single shock parameter (MA) for lag 1 (i.e. the previous month) with an estimate of 0.812 (p<0.001). This tells us that we can predict the excess mortality rate for the current month by taking 81.2% of the random ‘shock’ effects that were affecting the death rate last month. Think of this as a series mean value being knocked about by random noise (aka error). Below this we see the model for 5 - 9y males also possesses an MA mean with shock term, with a coefficient estimated at 0.821 (p<0.001); that is to say, the shock effect is similar in magnitude. However, this age group also exhibits a rather interesting non-random autoregressive (AR) term with an estimate of 0.108 for lag 1 (p<0.001) and 0.876 for lag 2 (p<0.001). What this is telling us is that we can predict excess mortality for the current month by taking 10.8% of the value for the previous month and 87.6% of the value for the month before that. Deaths in this age group are therefore subject to a lingering effect as well as a random shock effect. Below these two parameters we find two more similar parameters that reveal the strength of seasonal memory (AR, seasonal lag 1: 0.745, p<0.001) and seasonal shock (MA, seasonal lag 1: 0.910, p<0.001). Thus there is an annual memory effect and a substantial annual shock effect that are going to be connected to living on a small damp island just below the Arctic circle. In this manner we can carefully pick our way through a rich seam of information looking for differences between age groups as well as sex in terms of how lingering effects and shocks work together to yield excess mortality.
If we scan down to the model for 25 – 29y males we see another feature creeping in and that is a statistically significant indicator for Mar 2020 lag 0 (p=0.041). The associated coefficient is 1.452 which tells us that excess mortality for this age group was bumped up by +1.452 deaths per 100k target population during the month of March. This is fascinating because the pandemic had not really got going at this point, being largely restricted to hospitalised elderly and vulnerable cases. Whatever was happening to these young males in Mar 2020 was very likely something else. The same Mar 2020 effect can also be seen for 30 - 34y, 50 -54y and 55 – 59y males as well as 25 – 29y and 45 – 49y females. Given it takes time to develop a disease to the point of death this strange Mar 2020 anomaly at the outset of the pandemic of the elderly merits further consideration for its origin may well be much earlier.
With this example under our belt I trust that subscribers can work their way through the rest of the table. Noteworthy is the lack of an Apr 2020 indicator for males under 30 years of age and females under 35 years of age. Another interesting feature is the inclusion of a Feb 2021 indicator for 30 - 34y males (+1.636, p=0.029), 50 – 54y males (+8.164, p=0.001), 55 – 59y males (+11.260, p=0.005), 60 – 44y males (+16.926, p=0.011), 65 – 69y males (+26.291, p=0.022), and for 45 – 49y females (+3.760, p=0.004) as well as 55 – 59y females (+6.987, p=0.010). This is particularly interesting given the declared decline in potency of the later strains at this juncture.
Take away the months of Mar 2020, Apr 2020, Jan 2021 and Feb 2021 and the only groups exhibiting elevated excess mortality are 50 - 54y males for Nov 2020 (+5.118, p=0.031) and Dec 2020 (+5.798, p=0.017), 25 – 29 females for Oct 2020 (+0.967, p=0.018) and 40 - 44y females for Nov 2020 (+2.785, p=0.004). I find the general lack of response to an alleged novel and deadly virus outside of the obvious two peaks (the second of which coincided with the 2020/21 winter season) across age groups and sex most puzzling indeed. There is no doubt that the official narrative is just that – a story.
Wrap Up
Well, that’s my first foray into providing SPSS output and talking subscribers through a few salient points all done and dusted! I’m sure there’s much more we can pick out but this should adequately serve as a taster for the time being. I shall now pop some toast under the grill and get the kettle on!
Not 1,452 but 1.452 - you're missing a decimal point!
1452 deaths per 100k sounds like a lot in that age group. What was the target population?
This US summer event is really puzzling. Well I don't know, maybe not. It's screaming whatever was in these shots in summer seems to have caused a COVID wave there or a very deadly positive test wave. Cases correlate even stronglier with new vaccinations than deaths during this time.