{"id":27042794,"url":"https://github.com/speediedan/covid19","last_synced_at":"2025-04-05T04:32:11.609Z","repository":{"id":39672358,"uuid":"250424673","full_name":"speediedan/covid19","owner":"speediedan","description":"A set of \"real-time\" covid19 county-level dashboards w/ national and state choropleths for monitoring localized infection resurgences as distancing, testing and tracing measures evolve.","archived":false,"fork":false,"pushed_at":"2023-01-31T04:01:08.000Z","size":45063,"stargazers_count":10,"open_issues_count":6,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2023-03-05T06:23:38.201Z","etag":null,"topics":["bayesian-methods","bokeh","choropleth","coronavirus-real-time","county-level","covid-19","covid19","covid19-data","dashboard","differential-equations","effective-reproductive-number","health-policy","infectious-disease-models","jupyter","jupyter-notebook","r0","real-time","rt","sars-cov-2","seir"],"latest_commit_sha":null,"homepage":"https://speediedan.github.io/covid19/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/speediedan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-03-27T02:46:25.000Z","updated_at":"2023-02-11T19:50:23.000Z","dependencies_parsed_at":"2023-02-16T15:46:31.324Z","dependency_job_id":null,"html_url":"https://github.com/speediedan/covid19","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/speediedan%2Fcovid19","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/speediedan%2Fcovid19/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/speediedan%2Fcovid19/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/speediedan%2Fcovid19/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/speediedan","download_url":"https://codeload.github.com/speediedan/covid19/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247289382,"owners_count":20914463,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bayesian-methods","bokeh","choropleth","coronavirus-real-time","county-level","covid-19","covid19","covid19-data","dashboard","differential-equations","effective-reproductive-number","health-policy","infectious-disease-models","jupyter","jupyter-notebook","r0","real-time","rt","sars-cov-2","seir"],"created_at":"2025-04-05T04:32:10.882Z","updated_at":"2025-04-05T04:32:11.544Z","avatar_url":"https://github.com/speediedan.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003e :sunrise_over_mountains: **Please note**: Daily generation of these dashboards was sunset on 2022.03.30.\n\n# \"Real-Time\" Covid19 [County-Level](https://speediedan.github.io/covid19/county_covid_explorer.html) \u0026  [Choropleth](https://speediedan.github.io/covid19/choropleth_covid_county_explorer.html) Dashboards\n---\n\u003e ### [The \"Real-Time\" County-Level Dashboard](county_covid_explorer.html):\n\u003e * **A \"real-time\"\u003csup\u003e[1](#daily-onset-estimation)\u003c/sup\u003e county-level dashboard w/ a focus on estimated effective reproduction number (R\u003csub\u003et\u003c/sub\u003e)\u003csup\u003e[2](#effective-reproduction-number-estimation)\u003c/sup\u003e, 2nd order growth rates and confirmed infection density for most US counties (counties w/ \u003e 0.03% confirmed infection density and \u003e 1000 cases)**\n\n\u003e ### [The \"Real-Time\" Choropleth Dashboard](choropleth_covid_county_explorer.html):\n\u003e * **State and national choropleths for exploring the geographic distribution of \"real-time\"\u003csup\u003e[1](#daily-onset-estimation)\u003c/sup\u003e county-level R\u003csub\u003et\u003c/sub\u003e\u003csup\u003e[2](#effective-reproduction-number-estimation)\u003c/sup\u003e along with other relevant epidemiological statistics. Due to resource constraints, the national choropleth represents exclusively R\u003csub\u003et\u003c/sub\u003e data while the state choropleths include additional county-level metrics. The national choropleth can currently be temporally evolved over a 14-day horizon.**\n\n\u003e ### [County-Level EDA Notebook](https://github.com/speediedan/covid19/blob/master/covid19_county_level_EDA.ipynb)\n\u003e * **Notebook for manual EDA of county-level hotspot data**\n\n### Daily Onset Estimation\n* It's important to be clear that these county-level R\u003csub\u003et\u003c/sub\u003e estimates are \"real-time\" in the sense that the approach outlined in [(Bettencourt \u0026 Ribeiro, 2008)](https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0002185) is used while convolving the latest [onset-confirmed latency distribution](https://github.com/beoutbreakprepared/nCoV2019/tree/master/latest_data) onto daily reported cases (then adjusting for right-censoring) to obtain the estimated daily onset values. The latency between case onset and confirmation/reporting means that significant changes in local conditions still require some time (days) to be fully reflected in the R\u003csub\u003et\u003c/sub\u003e estimates, but the estimate for a given point in time should improve with each passing day to a degree roughly correlated with the aforementioned onset-delay distribution.\n\n### Effective Reproduction Number Estimation\n   * I've extended [this great notebook](https://github.com/k-sys/covid-19/blob/master/Realtime%20R0.ipynb) to a county-level.\n   * Importantly, it should be noted that (as of 2020.05.12) access to testing is continuing to increase and test positivity rates are therefore changing at a [substantial rate](https://www.cdc.gov/coronavirus/2019-ncov/covid-data/covidview/index.html). As the testing bias continues to evolve in the near-term, one should recognize that point R\u003csub\u003et\u003c/sub\u003e estimates will be biased to be higher than ground truth R\u003csub\u003et\u003c/sub\u003e. There are approaches that can [mitigate this bias to a limited extent](http://freerangestats.info/blog/2020/05/09/covid-population-incidence) but fundamentally, we don't have sufficient data to eliminate the bias at this point so I've deprioritized making those model adjustments at the moment (I may make testing-related adjustments in the future though and PRs are welcome!). Fortunately, as testing access and bias stabilize at a level that increases validity of confirmed case counts, these R\u003csub\u003et\u003c/sub\u003e estimates should become increasingly accurate. I think we can expect hotspot monitoring tools such as this to have utility for a number of months, so this initial period of testing volatility does not nullify their value.\n   * The most salient change I've made in the process of the extension is that rather than using a prior of gamma-distributed generation intervals to estimate R (which seems totally reasonable), I'm experimenting with incorporating more locally-relevant information by calculating an R\u003csub\u003e0\u003c/sub\u003e using initial incidence data from each locality.\n   * For execution environments that are compute-constrained, I've also provided (but left disabled) some performance enhancing functions that cut execution time by about 50% at the cost of ~5% accuracy.\n\n### \"Real-Time\" State Choropleth\n![\"Real-Time\" State Choropleth](docs/assets/state_choropleth.gif)\n\n### \"Real-Time\" County-Level Dashboard\n![\"Real-Time\" County-Level Dashboard](docs/assets/rt_explorer.gif)\n\n### \"Real-Time\" National Choropleth\n![\"Real-Time\" National Choropleth](docs/assets/national_choropleth.gif)\n\n### Latest County-Level Grid Plots\n\n* #### Daily Estimated Effective Reproduction Number (R\u003csub\u003et\u003c/sub\u003e) (counties w/ highest total onset cases)\n![Daily Estimated Effective Reproduction Number (R\u003csub\u003et\u003c/sub\u003e) (counties w/ highest total onset cases)](docs/assets/Rt%20(Top%20Total%20Estimated%20Cases).jpg)\n* #### 2nd order case growth (disjoint 4-day windows)\n![County-level hotspots, 2nd order case growth (disjoint 4-day windows)](docs/assets/2nd%20Order%20Growth.jpg)\n* #### County-level hotspots: cumulative case growth (4-day MA)\n![County-level hotspots, cumulative case growth (4-day SMA)](docs/assets/Cumulative%20Case%20Growth%20(4-Day%20MA).jpg)\n* #### County-level hotspots: Estimated Onset Cases\n![County-level hotspots, Estimated Onset Cases](docs/assets/Estimated%20Onset%20Cases.jpg)\n\n### SEIR Model Notes\n* #### At the time the SEIR model component of this notebook was written (2020.03.30) there remained significant uncertainty regarding some sars-cov-2 parameters. The data fit varied substantially by county so I used what I perceived (N.B.: w/ no personal epidemiological expertise!!) to be the consensus values, documented below:\n\n| Parameter   | Source  | Reference Value     |\n| :---        | :----:  |     ---:            |\n| Latent Period   | [Lin et al., 2020](https://www.ijidonline.com/article/S1201-9712(20)30117-X/fulltext) | 3   |\n| Latent Period   | [Wu et al., 2020](https://www.sciencedirect.com/science/article/pii/S0140673620302609) | 3     |\n| Latent Period   | [Li et al., 2020](https://www.medrxiv.org/content/10.1101/2020.03.06.20031880v1.full.pdf) | 2 |\n| Serial Interval | [Nishura et al. 2020](https://www.ijidonline.com/article/S1201-9712(20)30119-3/pdf) | 4.6 |\n| Serial Interval | [Li et al., 2020](https://www.nejm.org/doi/pdf/10.1056/NEJMoa2001316?articleTools=true) | 7.5 |\n| Incubation Period | [Li et al., 2020](https://www.nejm.org/doi/pdf/10.1056/NEJMoa2001316?articleTools=true) | 5.2 |\n| Infectious Period | [Li et al., 2020](https://www.nejm.org/doi/pdf/10.1056/NEJMoa2001316?articleTools=true) | 2.3 |\n| Infectious Period | [Zhou et al., 2020](https://www.medrxiv.org/content/10.1101/2020.02.24.20026773v1.full.pdf) | 6 |\n| Infectious Period | [Bi et al., 2020](https://www.medrxiv.org/content/10.1101/2020.03.03.20028423v3) | 1.5\n| Infectious Period | [Kucharski et al., 2020](https://cmmid.github.io/topics/covid19/current-patterns-transmission/wuhan-early-dynamics.html) | 2.9\n| Time to Hospitalization | [Huang et al., 2020](https://www.thelancet.com/journals/lancet/article/PIIS0140-6736(20)30183-5/fulltext) | 8\n| Mean Hospitalization Period | [Wang et al., 2020](https://jamanetwork.com/journals/jama/fullarticle/2761044?guestAccessKey=f61bd430-07d8-4b86-a749-bec05bfffb65) | 12\n| Hospitalization Rate | [Ferguson et al., 2020](https://spiral.imperial.ac.uk/bitstream/10044/1/77482/5/Imperial%20College%20COVID19%20NPI%20modelling%2016-03-2020.pdf) (weighted by us demo by [Covid Act Now](https://covidactnow.org/model)) | 0.073\n\n\n## Contributing\n\n\u003e  Thoughts or contributions welcome!\n\n## License\n[![License](http://img.shields.io/:license-mit-blue.svg?style=flat-square)](http://badges.mit-license.org)\n- **[MIT license](http://opensource.org/licenses/mit-license.php)**","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspeediedan%2Fcovid19","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspeediedan%2Fcovid19","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspeediedan%2Fcovid19/lists"}