The spread of the SARS-COV-19 viral disease defies description in terms of a single statistic. To be informed about personal risk we need to know more than how many people have been sick at a national level or even state level, we need information about how many people are currently sick in our communicty and how the number of sick people is changing is changing at a state and even county level. It can be hard to find this information.
This analysis seeks to fill partially that gap. It includes:
1. Several national pictures of disease trends to enable a “large pattern” view of how disease has and is evolving a on country-wide scale.
2. A per capita analysis of disease spread.
3. A more granular analysis of regions, states, and counties to shed light on local disease pattern evolution.
4. Details of the time evolution of growth statistics.
This computed document is part of a constantly evolving analysis, so please “refresh” for the latest updates. If you have suggestions or comments please reach out on twitter @WinstonOnData or facebook.
You are welcome to visit my code repository on Github.
You are also welcome to visit my analysis on the Politics of COVID
Finally, you can alway check my Rpubs for new documents and updates.
An interesting phenomenon occured in disease prevalance around October 2020 when then-President Trump ignored public health recommendations and became, himself, sick with the Corona Virus, reportedly coming close to requiring a ventilator.
Deaths per capita follow a similar trend, but differences between the populations are more pronounced.
By using these trend lines, we can model Trump and Biden voter disease prevalence.
Here is the ratio of Mortalities
These trend charts show the national disease statistics. Note that raw daily trends are systematically related to the M-F work week.
There is a wide distribution of \(R_e\) across regions and counties. The distributions in the graph below looks roughly symmetrical because the x-scale is logarithmic.
There are several maps below. These include:
Computed Reproduction Rate \(R_e\).
While the State-Level Data tell as remarkable story, outbreaks tend to be highly localized to communities - County-level data can help decode this.
Regional snapshots reveal the highly nuanced behavior of disease spread. Each snaphot includes multiple states and selected counties.
There are four components:
1. State Maps show the number of active cases and with the Reproduction rate encoded as color.
2. State Graphs State-wide trend graphs.
3. Severity Ranking These is a table of counties where the highest number of new cases are expected. Severity is a compounded function \(f(R, cases(t))\). This is useful for finding new (often unexpected) “hot spots.” Added per capita rates.
4. County Graphs encode the R-value in the active number of cases. R is the Reproduction Rate.
(NOTE: R < 1 implies a shrinking number of active cases, R > 1 implies a growing number of active cases. For R = 1, active cases are stable. ).
These are the top county level per capita case rates (up to 30) for a few selected states. For comparison, per capita cases.
It’s in control some places, but not all places. And many places are completely out-of-control.
Stay Safe!
Be Diligent!
…and PLEASE WEAR A MASK
Built with R Version 4.0.4
This document took 799.6 seconds to compute.
2021-04-26 08:08:45
Today is 2021-04-26.
341 days ago: plots of multiple states.
333 days ago: include \(R_e\) computation.
330 days ago: created color coding for \(R_e\) plots.
325 days ago: reduced \(t_d\) from 14 to 12 days. 14 was the upper range of what most people are using. Wanted slightly higher bandwidth.
325 days ago: “persistence” time evolution.
318 days ago: “In control” mapping.
318 days ago: “Severity” tables to county analysis. Severity is computed from the number of new cases expected at current \(R_e\) for 6 days in the future. It does not trend \(R_e\), which could be a future enhancement.
310 days ago: Added census API functionality to compute per capita infection rates. Reduced spline spar = 0.65.
305 days ago: Added Per Capita US Map.
303 days ago: Deprecated national map. can be found here.
299 days ago: added state “Hot 10” analysis.
294 days ago: cleaned up county analysis to show cases and actual data. Moved “Hot 10” analysis to separate web page. Moved “Hot 10” here.
292 days ago: added per capita disease and mortality to state-level analysis.
280 days ago: changed to county boundaries on national map for per capita disease.
275 days ago: corrected factor of two error in death trend data.
271 days ago: removed “contained and uncontained” analysis, replacing it with county level control map.
266 days ago: added county level “baseline control” and \(R_e\) maps.
262 days ago: fixed normalization error on total disease stats plot.
255 days ago: Corrected some text matching in generating county level plots of \(R_e\).
249 days ago: adapted knot spacing for spline.
235 days ago:using separate knot spacing for spline fits of deaths and cases.
233 days ago: MAJOR UPDATE. Moved things around. Added per capita severity map.
205 days ago: improved national trends with per capita analysis.
204 days ago: added county level per capita daily cases map. testing new color scheme.
177 days ago: changed to daily mortaility tracking from ratio of overall totals.
170 days ago: added trend line to state charts.
142 days ago: decreased max value of Daily Cases per 100k State map.
135 days ago: increased max total state cases to 2,000,000 as California passes 1.5Million diagnosed cases.
112 days ago: increased max total state cases to 2.5M as California passes 2 Million diagnosed cases. Increased max cases/100k to 15k since ND passed 12k. Increased deaths / 100k to 250 as NJ passed 200.
111 days ago: increased max total state cases to 3.0M as California passes 2.5Million diagnosed cases.
102 days ago: moved some graphs around. 71 days ago: changed t-deaths_per_capita
max to 300 to accomodate NJ, which now exceeds 250.
50 days ago: added presidential politics.
49 days ago: increased max total state deaths to 60000 due to California.
36 days ago: added Trump to Biden Ratio.
23 days ago: Fixed some formatting of national trend graphs.
8 days ago: increased max total state deaths to 75,000 due to California exceeding 60,000 deaths.
5 days ago: Added population weights to trump voter mortaility stats.
Disease data are sourced from the NYTimes Github Repo. Population data are sourced from the US Census census.gov
Case growth is assumed to follow a linear-partial differential equation. This type of model is useful in populations where there is still very low immunity and high susceptibility.
\[\frac{\partial}{\partial t} cases(t, t_d) = a \times cases(t, t_d) \] \(cases(t)\) is the number of active cases at \(t\) dependent on recent history, \(t_d\). The constant \(a\) and has units of \(time^{-1}\) and is typically computed on a daily basis
Solution results are often expressed in terms of the Effective Reproduction Rate \(R_e\), where \[a \space = \space ln(R_e).\]
\(R_e\) has a simple interpretation; when \(R_e \space > \space 1\) the number of \(cases(t)\) increases (exponentially) while when \(R_e \space < \space 1\) the number of \(cases(t)\) decreases.
Practically, computing \(a\) can be extremely complicated, depending on how functionally it is related to history \(t_d\). And guessing functional forms can be as much art as science. To avoid that, let’s keep things simple…
Assuming a straight-forward flat time of latent infection \(t_d\) = 12 days, with \[f(t) = \int_{t - t_d}^{t}cases(t')\; dt' ,\] \(R_e\) reduces to a simple computation
\[R_e(t) = \frac{cases(t)}{\int_{t - t_d}^{t}cases(t')\; dt'} \times t_d .\]
Typical range of \(t_d\) range \(7 \geq t_d \geq 14\). The only other numerical treatment is, in order to reduce noise the data, I smooth case data with a reticulated spline to compute derivatives.
DISCLAIMER: Results are for entertainment purposes only. Please consult local authorities for official data and forecasts.