Merge remote-tracking branch 'upstream/master' into clean-figure-output

This commit is contained in:
Fabian Valka 2020-04-09 23:21:26 +02:00
Родитель 041656a513 e70be3b78b
Коммит b865150b10
13 изменённых файлов: 9872 добавлений и 7597 удалений

Просмотреть файл

@ -3,6 +3,12 @@
# covid19model
Code for modelling estimated deaths and cases for COVID19 from Report 13 published by MRC Centre for Global Infectious Disease Analysis, Imperial College London: [Estimating the number of infections and the impact of nonpharmaceutical interventions on COVID-19 in 11 European countries](https://www.imperial.ac.uk/mrc-global-infectious-disease-analysis/covid-19/report-13-europe-npi-impact/)
## Version 2 Release
In this update we extend our original [model](https://www.imperial.ac.uk/mrc-global-infectious-disease-analysis/covid-19/report-13-europe-npi-impact/) to include (a) population saturation effects, (b) prior uncertainty on the infection fatality ratio and (c) a more balanced prior on intervention effects. We also (d) included another 3 countries (Greece, the Netherlands and Portugal). The updated technical detail is available [here](https://github.com/ImperialCollegeLondon/covid19model/blob/master/Technical_description_of_Imperial_COVID_19_Model.pdf).
You can directly look at our results [here](https://imperialcollegelondon.github.io/covid19estimates)
This repository has code for replication purposes. The bleeding edge code and advancements are done in a private repository. Ask report authors for any collaborations.
## Contributing
@ -41,8 +47,12 @@ package manager please see `environment.yml` for a full list of dependencies.
There are two ways to run our code:-
* Open the rstudio project covid19model.Rproj file in rstudio and run/source base.r file
* To run from commandline please enter the cloned directory and type 'Rscript base.r base' in terminal
# Results
* The results are stored in two folders results and figures.
* Results has the stored stan fits and data used for plotting
* Figures have the images with daily cases, daily death and Rt for all countries.
## Please note to not make you wait for long we have by default run sampling for short period. To be comparable with report please uncomment the line 212 and comment out line 213. This will run sampling for 4000 iterations with 2000 warmups and 4 chains.
## Notice
* Please note to not make you wait for long we have by default run sampling for short period. For proper estimates please uncomment the line 202 and comment out line 203. This will run sampling for 4000 iterations with 2000 warmups and 4 chains.
* Python code is right now not updated and won't work. Python code is good for only version 1 model and data.

Двоичные данные
Technical_description_of_Imperial_COVID_19_Model.pdf Normal file

Двоичный файл не отображается.

186
base.r
Просмотреть файл

@ -2,6 +2,8 @@ library(rstan)
library(data.table)
library(lubridate)
library(gdata)
library(dplyr)
library(tidyr)
library(EnvStats)
countries <- c(
@ -15,7 +17,10 @@ countries <- c(
"Belgium",
"Austria",
"Sweden",
"Switzerland"
"Switzerland",
"Greece",
"Portugal",
"Netherlands"
)
# Default run parameters for the model
@ -33,67 +38,85 @@ print(sprintf("Running %s",StanModel))
## Reading all data
d=readRDS('data/COVID-19-up-to-date.rds')
## get IFR
ifr.by.country = read.csv("data/weighted_fatality.csv")
## get IFR and population from same file
ifr.by.country = read.csv("data/popt_ifr.csv")
ifr.by.country$country = as.character(ifr.by.country[,2])
ifr.by.country$country[ifr.by.country$country == "United Kingdom"] = "United_Kingdom"
serial.interval = read.csv("data/serial_interval.csv")
covariates = read.csv('data/interventions.csv', stringsAsFactors = FALSE)
covariates <- covariates[1:11, c(1,2,3,4,5,6, 7, 8)]
## making all covariates that happen after lockdown to have same date as lockdown
names_covariates = c('Schools + Universities','Self-isolating if ill', 'Public events', 'Lockdown', 'Social distancing encouraged')
covariates <- covariates %>%
filter((Type %in% names_covariates))
covariates <- covariates[,c(1,2,4)]
covariates <- spread(covariates, Type, Date.effective)
names(covariates) <- c('Country','lockdown', 'public_events', 'schools_universities','self_isolating_if_ill', 'social_distancing_encouraged')
covariates <- covariates[c('Country','schools_universities', 'self_isolating_if_ill', 'public_events', 'lockdown', 'social_distancing_encouraged')]
covariates$schools_universities <- as.Date(covariates$schools_universities, format = "%d.%m.%Y")
covariates$lockdown <- as.Date(covariates$lockdown, format = "%d.%m.%Y")
covariates$public_events <- as.Date(covariates$public_events, format = "%d.%m.%Y")
covariates$self_isolating_if_ill <- as.Date(covariates$self_isolating_if_ill, format = "%d.%m.%Y")
covariates$social_distancing_encouraged <- as.Date(covariates$social_distancing_encouraged, format = "%d.%m.%Y")
## using covariates as dates we want
covariates$schools_universities[covariates$schools_universities > covariates$lockdown] <- covariates$lockdown[covariates$schools_universities > covariates$lockdown]
covariates$travel_restrictions[covariates$travel_restrictions > covariates$lockdown] <- covariates$lockdown[covariates$travel_restrictions > covariates$lockdown]
covariates$public_events[covariates$public_events > covariates$lockdown] <- covariates$lockdown[covariates$public_events > covariates$lockdown]
covariates$sport[covariates$sport > covariates$lockdown] <- covariates$lockdown[covariates$sport > covariates$lockdown]
covariates$social_distancing_encouraged[covariates$social_distancing_encouraged > covariates$lockdown] <- covariates$lockdown[covariates$social_distancing_encouraged > covariates$lockdown]
covariates$self_isolating_if_ill[covariates$self_isolating_if_ill > covariates$lockdown] <- covariates$lockdown[covariates$self_isolating_if_ill > covariates$lockdown]
p <- ncol(covariates) - 1
forecast = 0
if (Sys.getenv("DEBUG") == "TRUE") {
DEBUG = TRUE
print("Performing a DEBUG run")
} else if (Sys.getenv("FULL") == "TRUE") {
FULL = TRUE
print("Performing a full run")
}
# Time difference between original report and current extension
deltaT = (max(as.Date(d$DateRep,format='%d/%m/%Y')) - as.Date("28/03/2020",format='%d/%m/%Y'))
N2 = 75 + as.numeric(deltaT, units = "days")
### For faster runs:
# countries = c("Austria","Belgium") #,Spain")
# countries = c("Italy","United_Kingdom","Spain","Norway","Austria","Switzerland")
DEBUG = FALSE
N2 = 90 # increase if you need more forecast
dates = list()
reported_cases = list()
stan_data = list(M=length(countries),N=NULL,p=p,x1=poly(1:N2,2)[,1],x2=poly(1:N2,2)[,2],
y=NULL,covariate1=NULL,covariate2=NULL,covariate3=NULL,covariate4=NULL,covariate5=NULL,covariate6=NULL,covariate7=NULL,deaths=NULL,f=NULL,
N0=6,cases=NULL,LENGTHSCALE=7,SI=serial.interval$fit[1:N2],
EpidemicStart = NULL) # N0 = 6 to make it consistent with Rayleigh
stan_data = list(M=length(countries),N=NULL,covariate1=NULL,covariate2=NULL,covariate3=NULL,covariate4=NULL,covariate5=NULL,covariate6=NULL,deaths=NULL,f=NULL,
N0=6,cases=NULL,SI=serial.interval$fit[1:N2],
EpidemicStart = NULL, pop = NULL) # N0 = 6 to make it consistent with Rayleigh
deaths_by_country = list()
# various distributions required for modeling
mean1 = 5.1; cv1 = 0.86; # infection to onset
mean2 = 18.8; cv2 = 0.45 # onset to death
x1 = rgammaAlt(1e7,mean1,cv1) # infection-to-onset distribution
x2 = rgammaAlt(1e7,mean2,cv2) # onset-to-death distribution
ecdf.saved = ecdf(x1+x2)
for(Country in countries) {
IFR=ifr.by.country$weighted_fatality[ifr.by.country$country == Country]
IFR=ifr.by.country$ifr[ifr.by.country$country == Country]
covariates1 <- covariates[covariates$Country == Country, 2:8]
covariates1 <- covariates[covariates$Country == Country, c(2,3,4,5,6)]
d1=d[d$Countries.and.territories==Country,]
d1_pop = ifr.by.country[ifr.by.country$country==Country,]
d1=d[d$Countries.and.territories==Country,c(1,5,6,7)]
d1$date = as.Date(d1$DateRep,format='%d/%m/%Y')
d1$t = decimal_date(d1$date)
d1=d1[order(d1$t),]
date_min <- dmy('31/12/2019')
if (as.Date(d1$DateRep[1], format='%d/%m/%Y') > as.Date(date_min, format='%d/%m/%Y')){
print(paste(Country,'In padding'))
pad_days <- as.Date(d1$DateRep[1], format='%d/%m/%Y') - date_min
pad_dates <- date_min + days(1:pad_days[[1]]-1)
padded_data <- data.frame("Countries.and.territories" = rep(Country, pad_days),
"DateRep" = format(pad_dates, '%d/%m/%Y'),
"t" = decimal_date(as.Date(pad_dates,format='%d/%m/%Y')),
"date" = as.Date(pad_dates,format='%d/%m/%Y'),
"Cases" = as.integer(rep(0, pad_days)),
"Deaths" = as.integer(rep(0, pad_days)),
stringsAsFactors=F)
d1 <- bind_rows(padded_data, d1)
}
index = which(d1$Cases>0)[1]
index1 = which(cumsum(d1$Deaths)>=10)[1] # also 5
index2 = index1-30
print(sprintf("First non-zero cases is on day %d, and 30 days before 5 days is day %d",index,index2))
print(sprintf("First non-zero cases is on day %d, and 30 days before 10 deaths is day %d",index,index2))
d1=d1[index2:nrow(d1),]
stan_data$EpidemicStart = c(stan_data$EpidemicStart,index1+1-index2)
stan_data$pop = c(stan_data$pop, d1_pop$popt)
for (ii in 1:ncol(covariates1)) {
@ -113,38 +136,15 @@ for(Country in countries) {
forecast = N2 - N
}
h = rep(0,forecast+N) # discrete hazard rate from time t = 1, ..., 100
if(DEBUG) { # OLD -- but faster for testing this part of the code
mean = 18.8
cv = 0.45
for(i in 1:length(h))
h[i] = (IFR*pgammaAlt(i,mean = mean,cv=cv) - IFR*pgammaAlt(i-1,mean = mean,cv=cv)) / (1-IFR*pgammaAlt(i-1,mean = mean,cv=cv))
} else { # NEW
mean1 = 5.1; cv1 = 0.86; # infection to onset
mean2 = 18.8; cv2 = 0.45 # onset to death
## assume that IFR is probability of dying given infection
x1 = rgammaAlt(5e6,mean1,cv1) # infection-to-onset ----> do all people who are infected get to onset?
x2 = rgammaAlt(5e6,mean2,cv2) # onset-to-death
f = ecdf(x1+x2)
convolution = function(u) (IFR * f(u))
h[1] = (convolution(1.5) - convolution(0))
for(i in 2:length(h)) {
h[i] = (convolution(i+.5) - convolution(i-.5)) / (1-convolution(i-.5))
}
}
s = rep(0,N2)
s[1] = 1
# IFR is the overall probability of dying given infection
convolution = function(u) (IFR * ecdf.saved(u))
f = rep(0,N2) # f is the probability of dying on day i given infection
f[1] = (convolution(1.5) - convolution(0))
for(i in 2:N2) {
s[i] = s[i-1]*(1-h[i-1])
f[i] = (convolution(i+.5) - convolution(i-.5))
}
f = s * h
y=c(as.vector(as.numeric(d1$Cases)),rep(-1,forecast))
reported_cases[[Country]] = as.vector(as.numeric(d1$Cases))
deaths=c(as.vector(as.numeric(d1$Deaths)),rep(-1,forecast))
cases=c(as.vector(as.numeric(d1$Cases)),rep(-1,forecast))
@ -155,15 +155,13 @@ for(Country in countries) {
## append data
stan_data$N = c(stan_data$N,N)
stan_data$y = c(stan_data$y,y[1]) # just the index case!
# stan_data$x = cbind(stan_data$x,x)
stan_data$covariate1 = cbind(stan_data$covariate1,covariates2[,1])
stan_data$covariate2 = cbind(stan_data$covariate2,covariates2[,2])
stan_data$covariate3 = cbind(stan_data$covariate3,covariates2[,3])
stan_data$covariate4 = cbind(stan_data$covariate4,covariates2[,4])
stan_data$covariate5 = cbind(stan_data$covariate5,covariates2[,5])
stan_data$covariate6 = cbind(stan_data$covariate6,covariates2[,6])
stan_data$covariate7 = cbind(stan_data$covariate7,covariates2[,7])
stan_data$covariate5 = cbind(stan_data$covariate5,covariates2[,4])
stan_data$covariate6 = cbind(stan_data$covariate6,covariates2[,5])
stan_data$f = cbind(stan_data$f,f)
stan_data$deaths = cbind(stan_data$deaths,deaths)
stan_data$cases = cbind(stan_data$cases,cases)
@ -175,21 +173,12 @@ for(Country in countries) {
}
}
stan_data$covariate2 = 0 * stan_data$covariate2 # remove travel bans
stan_data$covariate4 = 0 * stan_data$covariate5 # remove sport
#stan_data$covariate1 = stan_data$covariate1 # school closure
stan_data$covariate2 = stan_data$covariate7 # self-isolating if ill
#stan_data$covariate3 = stan_data$covariate3 # public events
# create the `any intervention` covariate
stan_data$covariate4 = 1*as.data.frame((stan_data$covariate1+
stan_data$covariate2+
stan_data$covariate3+
stan_data$covariate5+
stan_data$covariate6+
stan_data$covariate7) >= 1)
stan_data$covariate5 = stan_data$covariate5 # lockdown
stan_data$covariate6 = stan_data$covariate6 # social distancing encouraged
stan_data$covariate7 = 0 # models should only take 6 covariates
stan_data$covariate6) >= 1)
if(DEBUG) {
for(i in 1:length(countries)) {
@ -205,17 +194,19 @@ if(DEBUG) {
}
}
stan_data$y = t(stan_data$y)
options(mc.cores = parallel::detectCores())
rstan_options(auto_write = TRUE)
m = stan_model(paste0('stan-models/',StanModel,'.stan'))
if(DEBUG) {
fit = sampling(m,data=stan_data,iter=40,warmup=20,chains=2)
} else if (FULL) {
fit = sampling(m,data=stan_data,iter=4000,warmup=2000,chains=8,thin=4,control = list(adapt_delta = 0.90, max_treedepth = 10))
} else {
fit = sampling(m,data=stan_data,iter=200,warmup=100,chains=4,thin=4,control = list(adapt_delta = 0.90, max_treedepth = 10))
# uncomment the line below for a full run to replicate results and comment the second line below
# fit = sampling(m,data=stan_data,iter=4000,warmup=2000,chains=4,thin=4,control = list(adapt_delta = 0.95, max_treedepth = 10))
fit = sampling(m,data=stan_data,iter=200,warmup=100,chains=4,thin=4,control = list(adapt_delta = 0.95, max_treedepth = 10))
}
out = rstan::extract(fit)
@ -232,34 +223,17 @@ save.image(paste0('results/',StanModel,'-',JOBID,'.Rdata'))
save(fit,prediction,dates,reported_cases,deaths_by_country,countries,estimated.deaths,estimated.deaths.cf,out,covariates,file=paste0('results/',StanModel,'-',JOBID,'-stanfit.Rdata'))
# to visualize results
library(bayesplot)
filename <- paste0('base-',JOBID)
plot_labels <- c("School Closure",
"Self Isolation",
"Public Events",
"First Intervention",
"Lockdown", 'Social distancing')
alpha = (as.matrix(out$alpha))
colnames(alpha) = plot_labels
g = (mcmc_intervals(alpha, prob = .9))
ggsave(sprintf("results/%s-covars-alpha-log.pdf",filename),g,width=4,height=6)
g = (mcmc_intervals(alpha, prob = .9,transformations = function(x) exp(-x)))
ggsave(sprintf("results/%s-covars-alpha.pdf",filename),g,width=4,height=6)
filename <- paste0(StanModel,'-',JOBID)
system(paste0("Rscript covariate-size-effects.r ", filename,'-stanfit.Rdata'))
mu = (as.matrix(out$mu))
colnames(mu) = countries
g = (mcmc_intervals(mu,prob = .9))
ggsave(sprintf("results/%s-covars-mu.pdf",filename),g,width=4,height=6)
dimensions <- dim(out$Rt)
Rt = (as.matrix(out$Rt[,dimensions[2],]))
colnames(Rt) = countries
g = (mcmc_intervals(Rt,prob = .9))
ggsave(sprintf("results/%s-covars-final-rt.pdf",filename),g,width=4,height=6)
system(paste0("Rscript plot-3-panel.r ", filename,'.Rdata'))
system(paste0("Rscript plot-forecast.r ",filename,'.Rdata')) ## to run this code you will need to adjust manual values of forecast required
# Verify that the whole output for the web has been generated correctly and update last-update dates
verify_result <- system(paste0("Rscript web-verify-output.R ", filename,'.Rdata'),intern=FALSE)
if(verify_result != 0){
stop("Verification of web output failed!")
}
ggsave(sprintf("results/%s-mu.pdf",filename),g,width=4,height=6)
tmp = lapply(1:length(countries), function(i) (out$Rt_adj[,stan_data$N[i],i]))
Rt_adj = do.call(cbind,tmp)
colnames(Rt_adj) = countries
g = (mcmc_intervals(Rt_adj,prob = .9))
ggsave(sprintf("results/%s-final-rt.pdf",filename),g,width=4,height=6)
system(paste0("Rscript plot-3-panel.r ", filename,'-stanfit.Rdata'))
system(paste0("Rscript plot-forecast.r ",filename,'-stanfit.Rdata'))

76
covariate-size-effects.r Normal file
Просмотреть файл

@ -0,0 +1,76 @@
library(ggplot2)
library(scales)
library(ggpubr)
library(bayesplot)
library(matrixStats)
args <- commandArgs(trailingOnly = TRUE)
filename <- args[1]
load(paste0("results/", filename))
alpha = data.frame(as.matrix(out$alpha))
plot_labels <- c("School Closure",
"Self Isolation",
"Public Events",
"First Intervention",
"Lockdown", 'Social distancing')
colnames(alpha) = plot_labels
first.intervention = alpha[,c(1,2,3,5,6)] + alpha[,4]
data1 = mcmc_intervals_data(first.intervention,prob=.95,transformation=function(x) 1-exp(-x),point_est="mean")
data1$type = "First Intervention"
data2 = mcmc_intervals_data(alpha[,c(1,2,3,5,6)], prob = .95,transformation=function(x) 1-exp(-x),point_est="mean")
data2$type = "Later Intervention"
# data = rbind(rbind(data2[6,],data1),data2[1:5,])
data = rbind(data1,data2[1:5,])
colQuantiles(data.matrix(first.intervention),probs=c(.025,.975))
#data$type[1] = "First Intervention"
levels(data$parameter) = gsub("t(", "", levels(data$parameter), fixed=TRUE)
levels(data$parameter) = gsub(")", "", levels(data$parameter), fixed=TRUE)
data$parameter = (as.character(data$parameter))
no_point_est <- all(data$point_est == "none")
x_lim <- range(c(data$ll, data$hh))
x_range <- diff(x_lim)
x_lim[1] <- x_lim[1] - 0.05 * x_range
x_lim[2] <- x_lim[2] + 0.05 * x_range
layer_vertical_line <- if (0 > x_lim[1] && 0 < x_lim[2]) {
vline_0(color = "gray90", size = 0.5)
} else {
geom_ignore()
}
args_outer <- list(mapping = aes_(x = ~ll, xend = ~hh, y = ~parameter,
yend = ~parameter)) #, color = bayesplot::get_color("mid"))
args_inner <- list(mapping = aes_(x = ~l, xend = ~h, y = ~parameter,
yend = ~parameter), size = 2, show.legend = FALSE)
args_point <- list(mapping = aes_(x = ~m, y = ~parameter),
data = data, size = 4, shape = 21)
args_point$color <- "blue" #get_color("dark_highlight")
point_func <- geom_point
layer_outer <- do.call(geom_segment, args_outer)
layer_inner <- do.call(geom_segment, args_inner)
layer_point <- do.call(point_func, args_point)
data$parameter = factor(as.character(data$parameter),levels=plot_labels[order(plot_labels)[6:1]])
# data = data[order(-data$m),]
p = ggplot(data) +theme_pubr() + geom_point(aes(x=m,y=parameter,colour=type),position = position_dodge(-.5)) +
geom_linerange(aes(xmin=ll,xmax=hh,y=parameter,colour=type),
position = position_dodge(-.5)) +
scale_x_continuous(breaks=seq(0,1,.25),labels = c("0%\n(no effect on transmissibility)",
"25%","50%","75%","100%\n(ends transmissibility)"),
expand=c(0.005,0.005),expression(paste("Relative % reduction in ",R[t]))) +
scale_colour_manual(name = "", #labels = c("50%", "95%"),
values = c(("coral4"), ("seagreen"))) +
geom_vline(xintercept=1,colour="darkgray") +
scale_y_discrete("Governmental intervention\n") +
#geom_vline(xintercept=0,colour="darkgray") +
theme(plot.margin = margin(0, 2, 0, .5, "cm"))
#+ guides(fill=guide_legend(nrow=2))
p
ggsave(filename = "results/covars-alpha-reduction.pdf",
p,height=4,width=8)

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Двоичные данные
data/COVID-19-up-to-date.rds

Двоичный файл не отображается.

Просмотреть файл

@ -1,79 +1,84 @@
Country,schools_universities,travel_restrictions,public_events,sport,lockdown,social_distancing_encouraged,self_isolating_if_ill,,Data inputted by,"note: enter the date on which the closing occurred, e.g. as the last day of UK schools will be 2020-03-20, I entered 2020-03-21",comments,Enter your github username below,,,,,,,,,startdate
Austria,2020-03-14,2020-03-13,2020-03-10,2020-03-15,2020-03-16,2020-03-16,2020-03-16,,Michaela,,,ettieunwin,,,,,,,,,2020-03-15
Belgium,2020-03-14,2020-03-19,2020-03-12,2020-03-14,2020-03-18,2020-03-14,2020-03-10,,Tresnia,,Belgium closed border for non essential travel https://en.wikipedia.org/wiki/2020_coronavirus_pandemic_in_Belgium#cite_note-101,,,,,,,,,,2020-03-14
Denmark,2020-03-13,2020-03-13,2020-03-12,2020-03-12,2020-03-18,2020-03-13,2020-03-12,,Michaela + Helen,,Denmark closed borders entirely on the 14th see https://en.wikipedia.org/wiki/2020_coronavirus_pandemic_in_Denmark#cite_note-90,hcoupland,,,,,,,,,2020-03-16
France,2020-03-14,2020-03-17,2020-03-13,2020-02-13,2020-03-17,2020-03-16,2020-03-16,,Ettie,,,harrisonzhu508,,,,,,,,,2020-03-13
Germany,2020-03-14,2020-03-16,2020-03-22,2020-03-13,2020-03-22,2020-03-12,2020-03-06,,Ettie,https://drive.google.com/file/d/1J2WMTz33nvyIH8jwKTR1RWRz0iWx1MOj/view?usp=sharing,,Tresnia,,,,,,,,,2020-03-15
Italy,2020-03-05,2020-03-09,2020-03-09,2020-03-09,2020-03-11,2020-03-09,2020-03-09,,Harrison,,,,,,,,,,,,2020-03-14
Norway,2020-03-13,2020-03-13,2020-03-12,2020-03-13,2020-03-24,2020-03-16,2020-03-15,,Seth + Helen,,,tmellan,,,,,,,,,2020-03-13
Spain,2020-03-13,2020-03-12,2020-03-14,2020-03-13,2020-03-14,2020-03-09,2020-03-17,,Ettie + Pablo,,,MonkeyfaceMx,,,,,,,,,2020-03-18
Sweden,2020-3-18,2020-03-19,2020-03-12,2020-03-12,2090-03-21,2020-03-16,2020-03-10,,Michaela + Isak,,,isakfalk,,,,,,,,,2020-03-14
Switzerland,2020-03-14,2020-03-18,2020-03-13,2020-03-16,2020-03-20,2020-03-16,2020-03-02,,Harrison,,,sarahfilippi,,,,,,,,,2020-03-14
United_Kingdom,2020-03-21,2020-03-24,2020-03-24,2020-03-13,2020-03-24,2020-03-16,2020-03-12,,Seth,,,flaxter,,,,,,,,,2020-03-16
,,,,,,,,,,,,,,,,,,,,,2020-03-18
Partial lockdowns,,,,,,,,,,,,,,,,,,,,,2020-03-30
Country,Type of intervention,,Date,Effected population,,,,,,,,,,,,,,,,,2020-03-12
Italy,Lockdown of Lombardy region and 14 other provinces,,2020-03-08,26%,,,,,,,,,,,,,,,,,2020-03-13
Italy,self-isolate if ill and quarantine if tested positive,,2020-03-08,extended to whole country on 9/03,,,,,,,,,,,,,,,,,2020-03-13
Italy,Extended lockdown (non-essential shops + restaurants + caffee still open),,2020-03-09,,,,,,,,,,,,,,,,,,2020-03-12
Italy,Extended lockdown + closure of non-essential shops,,2020-03-11,,,,,,,,,,,,,,,,,,2020-03-14
Italy,Extended lockdown + further closure of non-essential businesses and activities,,2020-03-22,,,,,,,,,,,,,,,,,,2020-03-16
Spain,"Bans events > 1000 people in Basque Country and La Rioja, Madrid",,2020-03-10,,,,,,,,,,,,,,,,,,17/03/2020
Spain,"La Rioja, Haro was put on lockdown",,2020-03-07,,,1225802,,,,,,,,,,,,,,,2020-03-14
Spain,Schools closed in Basque region and Madrid,,2020-03-09,,,,,,,,,,,,,,,,,,2020-03-14
Denmark,Bans events >100 people,,2020-03-12,,,,,,,,,,,,,,,,,,2020-03-17
Denmark,Bans events >10 people,,2020-03-18,,,,,,,,,,,,,,,,,,2020-03-23
Belgium,"Police giving fines (from 200 euros to euros 500 and arresting ppl who are out for no reason, but no self authorisation forms as in france or italy",,,https://www.forbes.com/sites/davidnikel/2020/03/14/norway-closes-all-airports-to-foreigners-as-coronavirus-cases-mount/#35214fc41913,,,,,,,,,,,,,,,,,2020-03-16
Germany,Lockdown in Bavaria,,2020-03-20,,,,,,,,,,,,,,,,,,2020-03-14
Germany,Non-essential shops closed,,2020-03-16,,,,,,,,,,,,,,,,,,2020-03-12
Spain,"Non-essential shops closed + ""partial lockdown""",,2020-03-15,,,,,,,,,,,,,,,,,,2020-03-16
Germany,reduce social interaction recommendations by Merkel,,2020-03-12,,,,,,,,,,,,,,,,,,2020-03-11
Switzerland,self-isolate if ill,,2020-03-11,,,,,,,,,,,,,,,,,,2020-03-09
Austria,1m distance by law,,2020-03-16,,,,,,,,,,,,,,,,,,2020-03-04
Germany,Robert Koch Inst recommends self isolation,,2020-03-05,,,,,,,,,,,,,,,,,,2020-03-09
Austria,stay home if symptoms and coming form region,,,,,,,,,,,,,,,,,,,,2020-03-09
Germany,Gatherings of > 2 people banned,,2020-03-22,"for the whole country, 22% are not allowed without good reason",,,,,,,,,,,,,,,,,2020-03-13
France,Closure of schools and universities,,2020-03-16,,,,,,,,,,,,,,,,,,2020-03-12
France,Closure of non-essential shops,,2020-03-15,,,,,,,,,,,,,,,,,,2020-03-13
France,Lockdown: everybody should stay at home. Exceptions: going to work if not possible to work from home; food shopping; medical appointment; some caring duties; physical exercise alone around home) -- Need a self-authorisation form to leave home.,,2020-03-17,,,,,,,,,,,,,,,,,,2020-03-12
France,Bans events >5000 people,,2020-02-29,,,,,,,,,,,,,,,,,,2020-03-14
France,Bans events >1000 people,,2020-03-08,,,,,,,,,,,,,,,,,,2020-03-15
France,Bans events >100 people,,2020-03-13,,,,,,,,,,,,,,,,,,2020-03-12
Belgium,Bans gathering >2 persons (except family),,2020-03-18,,,,,,,,,,,,,,,,,,2020-03-13
Belgium,School closed,,2020-03-16,,,,,,,,,,,,,,,,,,2020-03-12
Belgium,"Non essential shops closed (exceptions: food shops, pharmacies, bookstores, gaz stations, hairdressers)",,2020-03-18,,,,,,,,,,,,,,,,,,2020-03-12
,,,,,,,,,,,,,,,,,,,,,21/03/2090
Switzerland,Kissing and shaking hands advised against,,2020-03-01,,,,,,,,,,,,,,,,,,12/03/2020
Country,Population 0-9,,Population 10-19,Population 30-39,Population 40-49,Population 50-59,Population 60-69,,Population 70-79,Population 80+,Total (Thousands),,,,,,,,,,18/03/2020
UK,8.044.056,,7.642.473,9.295.024,8.604.251,9.173.465,7.286.777,,5.830.635,3.450.616,59.327.297,,,,,,,,,,2020-03-16
Austria,874.182,,876.208,1.243.416,1.178.265,1.407,1033.32,,790.437,488.195,7.891.023,,,,,,,,,,19/03/2020
Denmark,606.029,,675.948,672.29,738.207,810.126,654.53,,586.138,272.973,5.016.241,,,,,,,,,,20/03/2091
France,7.527.474,,7.883.477,8011.05,8.325.667,8.635.057,7.764.786,,5.727.704,4.027.268,57.902.483,,,,,,,,,,16/03/2020
Germany,7.880.904,,7.930.616,10872.02,10.243.351,13.488.393,10.644.142,,7.471.414,5.875.744,74.406.584,,,,,,,,,,13/03/2020
Norway,614.323,,643.031,738.724,724.93,712.508,586.156,,446.448,228.739,4.694.859,,,,,,,,,,09/03/2020
Spain,4.234.487,,4.736.077,5.901.993,7.938.499,7.046.327,5.340.654,,4.015.306,2.923.841,42.137.184,,,,,,,,,,18/03/2020
Sweden,1.193.951,,1.127.127,1.320.299,1.264.123,1.296.647,1.093.868,,994.244,532.081,8822.34,,,,,,,,,,23/03/2020
Switzerland,884.945,,834.867,1.219.224,1.166.588,1.320.622,977.435,,751.993,459.215,7.614.889,,,,,,,,,,21/03/2020
Italy,4.994.995,,5.733.448,6.998.434,9.022.004,9.567.192,7.484.862,,6.028.908,4.528.549,54.358.392,,,,,,,,,,21/03/2020
,,,,,,,,,,,,,,,,,,,,,16/03/2020
,,,,,,,,,,,,,,,,,,,,,23/03/2020
,,,,,,,,,,,,,,,,,,,,,
NRW,17933,,,,,,,,,,,,,,,,,,,,
Bayern,13077,,,,,,,,,,,,,,,,,,,,
BW,11070,,,,,,,,,,,,,,,,,,,,
Niedersachsen,7982,,,,,,,,,,,,,,,,,,,,
Hessen,6266,,,,,,,,,,,,,,,,,,,,
RP,4085,,,,,,,,,,,,,,,,,,,,
Sachsen,4078,,,,,,,,,,,,,,,,,,,,
Berlin,3645,,,,,,,,,,,,,,,,,,,,
SH,2897,,,,,,,,,,,,,,,,,,,,
Brandenburg,2512,,,,,,,,,,,,,,,,,,,,
Sachsen A,2208,,,,,,,,,,,,,,,,,,,,
Thueringen,2143,,,,,,,,,,,,,,,,,,,,
Hamburg,1841,,,,,,,,,,,,,,,,,,,,
MeckPom,1610,,,,,,,,,,,,,,,,,,,,
Saarland,991,,,,,,,,,,,,,,,,,,,,
Bremen 683,683,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,
,83021,,,,,,,,,,,,,,,,,,,,
,"0,2185712049",,,,,,,,,,,,,,,,,,,,
Country,Type,Event,Date effective,Link,,
Austria,Schools + Universities,Nationwide school closures.,14.03.2020,https://www.bmbwf.gv.at/Ministerium/Informationspflicht/corona/corona_status.html,,
Austria,Public events,Banning of gatherings of more than 10 people. ,10.03.2020,https://www.theguardian.com/world/2020/mar/10/coronavirus-several-eu-states-ban-mass-events-after-italian-lockdown,,
Austria,Lockdown,Banning all access to public spaces and gatherings of more than 5 people. Advice to maintain 1m distance.,16.03.2020,https://www.sozialministerium.at/Informationen-zum-Coronavirus/Coronavirus---Aktuelle-Ma%C3%9Fnahmen.html,Document on website: Verordnung_V20200325-web,
Austria,Social distancing encouraged,Recommendation to maintain a distance of 1m.,16.03.2020,https://www.sozialministerium.at/Informationen-zum-Coronavirus/Coronavirus---Aktuelle-Ma%C3%9Fnahmen.html,Document on website: Verordnung_V20200325-web,
Austria,Self-isolating if ill,Implemented at lockdown.,16.03.2020,https://www.sozialministerium.at/Informationen-zum-Coronavirus/Coronavirus---Aktuelle-Ma%C3%9Fnahmen.html,,
Belgium,Schools + Universities,Nationwide school closures.,14.03.2020,https://www.info-coronavirus.be/en/2020/03/12/phase-2-maintained-transition-to-the-federal-phase-and-additional-measures/,,
Belgium,Public events,All recreational activities cancelled regardless of size.,12.03.2020,https://www.info-coronavirus.be/en/2020/03/12/phase-2-maintained-transition-to-the-federal-phase-and-additional-measures/,,
Belgium,Lockdown,Citizens are required to stay at home except for work and essential journeys. Going outdoors only with household members or 1 friend.,18.03.2020,https://www.belgium.be/en/news/2020/coronavirus_reinforced_measures,,
Belgium,Social distancing encouraged,"Public transport recommended only for essential journeys, work from home encouraged, all public places e.g. restaurants closed.",14.03.2020,https://www.info-coronavirus.be/en/2020/03/12/phase-2-maintained-transition-to-the-federal-phase-and-additional-measures/,,
Belgium,Self-isolating if ill,Everyone should stay at home if experiencing a cough or fever.,10.03.2020,https://www.info-coronavirus.be/en/2020/03/10/protect-yourself-and-protect-the-others/,,
Denmark,Schools + Universities,Secondary schools shut and universities (primary schools also shut on 16th).,13.03.2020,https://en.wikipedia.org/wiki/2020_coronavirus_pandemic_in_Denmark,,
Denmark,Public events,"Bans of events >100 people, closes cultural institutions, leisure facilities etc.",12.03.2020,https://nyheder.tv2.dk/samfund/2020-03-11-danmark-lukker-ned-her-er-regeringens-nye-tiltag,,
Denmark,Lockdown,Bans of gatherings of >10 people in public and all public places were shut.,18.03.2020,https://nyheder.tv2.dk/samfund/2020-03-11-danmark-lukker-ned-her-er-regeringens-nye-tiltag,https://en.wikipedia.org/wiki/2020_coronavirus_pandemic_in_Denmark,
Denmark,Social distancing encouraged,Limited use of public transport. All cultural institutions shut and recommendation to keep appropriate distance.,13.03.2020,https://politi.dk/coronavirus-i-danmark/seneste-nyt-fra-myndighederne/nye-tiltag-mod-covid-19,,
Denmark,Self-isolating if ill,Everyone should stay at home if experiencing a cough or fever.,12.03.2020,https://stps.dk/da/ansvar-og-retningslinjer/vejledning/indberetning-om-covid-19/,,
France,Schools + Universities,Nationwide school closures.,14.03.2020,https://en.wikipedia.org/wiki/2020_coronavirus_pandemic_in_France,,
France,Public events,Bans of events >100 people.,13.03.2020,https://www.thelocal.fr/20200313/france-bans-gatherings-of-over-100-people-to-fight-coronavirus-pandemic,,
France,Lockdown,Everybody has to stay at home. Need a self-authorisation form to leave home.,17.03.2020,https://www.theguardian.com/world/2020/mar/16/coronavirus-spain-takes-over-private-healthcare-amid-more-european-lockdowns,,
France,Social distancing encouraged,Advice at the time of lockdown.,16.03.2020,https://www.theguardian.com/world/2020/mar/16/coronavirus-spain-takes-over-private-healthcare-amid-more-european-lockdowns,,
France,Self-isolating if ill,Advice at the time of lockdown.,16.03.2020,https://www.theguardian.com/world/2020/mar/16/coronavirus-spain-takes-over-private-healthcare-amid-more-european-lockdowns,,
Germany,Schools + Universities,Nationwide school closures.,14.03.2020,https://en.wikipedia.org/wiki/2020_coronavirus_pandemic_in_Germany,,
Germany,Public events,No gatherings of >1000 people (12th March). Otherwise regional destrictions only until lockdown.,22.03.2020,https://web.archive.org/web/20200317073042/https://www.bmi.bund.de/SharedDocs/faqs/DE/themen/bevoelkerungsschutz/coronavirus/coronavirus-faqs.html#doc13738352bodyText7,,
Germany,Lockdown,"Gatherings of > 2 people banned, 1.5 m distance",22.03.2020,https://www.bmi.bund.de/SharedDocs/downloads/DE/veroeffentlichungen/2020/hinweis-einschraenkung-soziale-kontakte.pdf?__blob=publicationFile&v=1,https://www.bbc.co.uk/news/world-europe-51999080,
Germany,Social distancing encouraged,Avoid social interaction wherever possible recommended by Merkel,12.03.2020,https://www.bundesregierung.de/breg-de/themen/coronavirus/mpk-1730186,,
Germany,Self-isolating if ill,Advice for everyone experiencing symptoms to contact a health care agency to get tested and then self-isolate.,06.03.2020,https://web.archive.org/web/20200312004624/https://www.rki.de/SharedDocs/FAQ/NCOV2019/FAQ_Liste.html,,
Italy,Schools + Universities,Nationwide school closures.,05.03.2020,http://www.salute.gov.it/portale/nuovocoronavirus/dettaglioVideoNuovoCoronavirus.jsp?lingua=italiano&menu=multimedia&p=video&id=2052,,
Italy,Public events,The government bans all public events.,09.03.2020,https://edition.cnn.com/2020/03/08/europe/italy-coronavirus-lockdown-europe-intl/index.html,,
Italy,Lockdown,The government closes all public places. People have to stay at home except for essential travel.,11.03.2020,https://www.wsj.com/articles/italy-hardens-nationwide-quarantine-11583962093,https://en.wikipedia.org/wiki/2020_Italy_coronavirus_lockdown,
Italy,Social distancing encouraged,A distance of more than 1m has to be kept and any other form of alternative aggregation is to be excluded.,09.03.2020,https://www.romatoday.it/attualita/coronavirus-pub-cinema-teatri-locali-chiusi-nuovo-decreto.html,,
Italy,Self-isolating if ill,self-isolate if ill and quarantine if tested positive,09.03.2020,https://www.gazzettaufficiale.it/eli/id/2020/03/08/20A01522/sg,,
Norway,Schools + Universities,Norwegian Directorate of Health closes all educational institutions. Including childcare facilities and all schools,13.03.2020,https://www.fhi.no/en/news/2020/norwegian-directorate-of-health-implements-the-following-today---from-6-p.m/,,
Norway,Public events,The Directorate of Health bans all non-necessary social contact.,12.03.2020,https://www.fhi.no/en/news/2020/norwegian-directorate-of-health-implements-the-following-today---from-6-p.m/,,
Norway,Lockdown,Only people living together are allowed outside together. Everyone has to keep a 2m distance.,24.03.2020,https://translate.google.com/translate?sl=no&tl=en&u=https%3A%2F%2Fwww.nrk.no%2Fnorge%2Ffolkehelseinstituttet-mener-23.000-kan-vaere-smittet-1.14958149,,
Norway,Social distancing encouraged,The Directorate of Health advises against all travelling and non-necessary social contacts.,16.03.2020,https://www.fhi.no/en/news/2020/norwegian-directorate-of-health-implements-the-following-today---from-6-p.m/,,
Norway,Self-isolating if ill,Advice to self-isolate for 7 days if experiencing a cough or fever symptoms.,15.03.2020,https://www.regjeringen.no/en/aktuelt/the-government-is-establishing-clear-quarantine-and-isolation-rules/id2693647/,,
Spain,Schools + Universities,Nationwide school closures.,13.03.2020,https://en.wikipedia.org/wiki/2020_coronavirus_pandemic_in_Spain,,
Spain,Public events,Banning of all public events by lockdown.,14.03.2020,https://www.mscbs.gob.es/gabinete/notasPrensa.do?id=4807,,
Spain,Lockdown,,14.03.2020,https://www.boe.es/eli/es/rd/2020/03/14/463/con,,
Spain,Social distancing encouraged,Advice on social distancing and working remotely from home. ,09.03.2020,https://www.mscbs.gob.es/gabinete/notasPrensa.do?id=4806,used to say 12/3/2020,
Spain,Self-isolating if ill,,17.03.2020,https://www.mscbs.gob.es/profesionales/saludPublica/ccayes/alertasActual/nCov-China/ciudadania.htm,,
Sweden,Schools + Universities,Colleges and upper secondary schools shut. 18/3/2020 only 48% closed,17.03.2090,https://www.folkhalsomyndigheten.se/nyheter-och-press/nyhetsarkiv/2020/mars/larosaten-och-gymnasieskolor-uppmanas-nu-att-bedriva-distansundervisning,,
Sweden,Public events,Since March 29 the limit is 50 persons.,29.03.2020,https://www.visitstockholm.com/good-to-know/coronavirus/,,
Sweden,Lockdown,No lockdown occured.,17.03.2090,,,
Sweden,Social distancing encouraged,"People even with mild symptoms told to limit social contact, encouragement to work from home.",16.03.2020,https://sverigesradio.se/sida/artikel.aspx?programid=2054&artikel=7430511,,
Sweden,Self-isolating if ill,,10.03.2020,https://www.folkhalsomyndigheten.se/nyheter-och-press/nyhetsarkiv/2020/mars/flera-tecken-pa-samhallsspridning-av-covid-19-i-sverige/,,
Switzerland,Schools + Universities,No in person teaching until 4th of April.,14.03.2020,https://www.bag.admin.ch/bag/de/home/das-bag/aktuell/medienmitteilungen.msg-id-78437.html,,
Switzerland,Public events,The government bans events >100 people.,13.03.2020,https://www.bag.admin.ch/bag/fr/home/das-bag/aktuell/medienmitteilungen.msg-id-78437.html,,
Switzerland,Lockdown,Gatherings of more than 5 people are banned.,20.03.2020,https://www.bag.admin.ch/bag/de/home/das-bag/aktuell/medienmitteilungen.msg-id-78513.html,,
Switzerland,Social distancing encouraged,Advice on keeping distance. All business where this cannot be realised have been closed in all states (kantons).,16.03.2020,https://www.bag.admin.ch/bag/de/home/das-bag/aktuell/medienmitteilungen.msg-id-78454.html,,
Switzerland,Self-isolating if ill,Advice to self-isolate if experiencing a cough or fever symptoms.,02.03.2020,https://www.bag.admin.ch/bag/de/home/das-bag/aktuell/medienmitteilungen.msg-id-78304.html,,
United_Kingdom,Schools + Universities,"Nationwide school closure. Childminders, nurseries and sixth forms are told to follow the guidance.",21.03.2020,https://www.gov.uk/government/news/schools-colleges-and-early-years-settings-to-close,https://www.gov.uk/government/collections/coronavirus-covid-19-guidance-for-schools-and-other-educational-settings,
United_Kingdom,Public events,Implemented with lockdown.,24.03.2020,https://www.gov.uk/government/speeches/pm-address-to-the-nation-on-coronavirus-23-march-2020,https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/874742/Full_guidance_on_staying_at_home_and_away_from_others__1_.pdf,
United_Kingdom,Lockdown,Gatherings of more than 2 people not from the same household banned and police-enforceable.,24.03.2020,https://www.gov.uk/government/speeches/pm-address-to-the-nation-on-coronavirus-23-march-2020,,
United_Kingdom,Social distancing encouraged,"Advice to avoid pubs, clubs, theatres and other public institutions.",16.03.2020,https://www.telegraph.co.uk/global-health/science-and-disease/coronavirus-news-uk-latest-update-covid-19-death-toll-cases/,,
United_Kingdom,Self-isolating if ill,Advice to self-isolate for 7 days if experiencing a cough or fever symptoms.,12.03.2020,https://www.bbc.co.uk/news/uk-51857856,,
Greece,Schools + Universities,Nationwide closure of educational institutions,11.03.2020,https://www.kathimerini.gr/1068505/article/epikairothta/ellada/kleinoyn-gia-dyo-evdomades-sxoleia-panepisthmia-paidikoi-sta8moi-kai-frontisthria,Lucia,
Greece,Public events,Ban of gatherings of more than 10 people,19.03.2020,https://www.garda.com/crisis24/news-alerts/322026/greece-prime-minister-bans-mass-gatherings-due-to-covid-19-march-11-update-5,Lucia,"(larger mass gatherings banned before, but couldn't get a clear start date)"
Greece,Lockdown,Ban on non-essential transport and movement across the country. Police enforcing restrictions with fines.,23.03.2020,https://www.in.gr/2020/03/22/greece/apagoreysi-kykloforias-analytikos-odigos-pou-tha-epitrepetai-metakinisi-ti-tha-isxysei-gia-tous-ergazomenous/,Lucia,(weddings and ceremonies still allowed under conditions provided by law)
Greece,Social distancing encouraged,"In supermarkets, pharmacies and other essentials keep 2mt distance",16.03.2020,https://www.news247.gr/epixeiriseis/koronoios-elegchos-eisodoy-sta-soyper-market-apo-deytera.7602282.html,Lucia,
Greece,Self-isolating if ill,Isolate at home if showing mild symptoms or fever,09.03.2020,http://www.ekathimerini.com/250416/article/ekathimerini/news/with-covid-19-cases-at-84-those-with-symptoms-urged-to-stay-home,Lucia,
Greece,Closure of cultural institutions,"closure of Cinemas, theaters, theaters, Libraries, Museums, archaeological and historical sites",14.03.2020,https://eody.gov.gr/anastoli-leitoyrgias-meta-apo-eisigisi-tis-epitropis-empeirognomonon-toy-ypoyrgeioy-ygeias/,Lucia,
Greece,Closure of restaurants,"closure of malls, cafes, bars and food outlets",14.03.2020,http://www.ekathimerini.com/250618/article/ekathimerini/news/malls-cafes-bars-eateries-to-close-as-coronavirus-cases-rise-to-190,Lucia,
Greece,Advice to work from home,Govt endorses flexible working hours and teleworking,10.03.2020,http://en.protothema.gr/greek-government-plans-flexible-working-hours-and-telework-to-battle-coronavirus/,Lucia,"(not specifically working from home, but allows workers to avoid rush hour travel and to work from home if child is home from school or in the event of self isolation)"
Greece,Keep distance from others,"Video from Greek government recommending keeping 1m distance (27 secs in) ""κρατάμε απόσταση τουλάχιστον 1 μέτρου από άλλους και ιδιαίτερα όσους βήχουν, φτέρνίξονται ή έχουν πυρετό"" = ""keep a distance of at least 1 meter from others and especially those who cough, sneeze or have a fever""",25.02.2020,https://government.gov.gr/aples-ke-chrisimes-odigies-gia-tin-prostasia-mas-apo-ton-koronoio/,Rebecca,
Portugal,Schools + Universities,Nationwide school closures.,14.03.2020,https://covid19estamoson.gov.pt/wp-content/uploads/2020/03/20200313-Suspens%C3%86o-de-todas-as-atividades-letivas-e-n%C3%86o-letivas-com-presen%E2%80%A1a-de-estudantes-em-todas-as-institui%E2%80%A1a%CC%88es-de-Ensino-Superior.pdf,Rebecca,
Portugal,Public events,Gatherings of more than 100 people banned.,12.03.2020,https://www.barrons.com/news/portugal-bans-gatherings-of-more-than-100-due-to-coronavirus-01584292204,Rebecca,
Portugal,Lockdown,"State of emergency declared on the 18th and new measures defined on the 19th, to come into place on 00:00 of 22nd March",22.03.2020,https://www.politico.eu/article/portugal-quarantine-measures-coronavirus-covid19-antonio-costa-shutdown-state-of-emergency/,Rebecca,"(20200319 Communiqué of the Council of Ministers - Measures approved by the Council of Ministers on March 19, 2020) ""Decree takes effect on March 22 00:00"""
Portugal,Social distancing encouraged,"Capacity restrictions of entry to bars and restaurants, encouraged to limit frequency of visits to supermarkets/gyms/public services. Nightclubs closed.",12.03.2020,https://covid19estamoson.gov.pt/wp-content/uploads/2020/03/20200312-Medidas-extraordin-rias-de-conten%E2%80%A1%C3%86o-e-mitiga%E2%80%A1%C3%86o-do-coronav%C2%A1rus-Conselho-de-Ministros-de-12-de-mar%E2%80%A1o-de-2020.pdf,Rebecca,
Portugal,Self-isolating if ill,Mandatory isolation is imposed for people who are sick or being monitored by health authorities.,19.03.2020,https://www.politico.eu/article/portugal-quarantine-measures-coronavirus-covid19-antonio-costa-shutdown-state-of-emergency/,Rebecca,
Portugal,Closure of cultural institutions,"The closure of certain types of facilities and establishments (such as, for example, those intended for recreational, cultural, sporting and catering activities, among others)",22.03.2020,https://covid19estamoson.gov.pt/documentacao/comunicados/,Rebecca,"Approved by ministers on March 19 but ""Decree takes effect on March 22 00:00"""
Portugal,Closure of restaurants,"The closure of certain types of facilities and establishments (such as, for example, those intended for recreational, cultural, sporting and catering activities, among others)",22.03.2020,https://covid19estamoson.gov.pt/documentacao/comunicados/,Rebecca,"Approved by ministers on March 19 but ""Decree takes effect on March 22 00:00"""
Portugal,Work from home,É obrigatória a adoção do regime de teletrabalho sempre que as funções em causa o permitam - google translation: It is mandatory to adopt the teleworking regime whenever the functions in question allow,22.03.2020,https://covid19estamoson.gov.pt/documentacao/comunicados/,Rebecca,"Approved by ministers on March 19 but ""Decree takes effect on March 22 00:00"""
Portugal,Stay at home,"States that everyone who isn't in mandatory confinement or an essential worker should only go out in public for essential reasons e.g. health reasons, acquisition of goods, caring for the vulnerable, exercise.",22.03.2020,https://covid19estamoson.gov.pt/documentacao/comunicados/,Rebecca,"Approved by ministers on March 19 but ""Decree takes effect on March 22 00:00"""
Portugal,Keep distance from others,"Transmission prevention measures in public service establishments: ""Maintain distance and space between citizens in all situations"" and ""Ensure that counter service is provided at the appropriate distance (at least 1 meter, ideally 2)""",17.03.2020,https://covid19.min-saude.pt/wp-content/uploads/2020/03/i026012.pdf,Rebecca,
Portugal,Public gatherings,Gatherings of more than 5 people prohibited (except those with family ties).,02.04.2020,https://www.portugal.gov.pt/pt/gc22/governo/comunicado-de-conselho-de-ministros?i=339,Rebecca,
Netherlands,Schools + Universities,exemption for children of essential workers,14.03.2020,https://www.rijksoverheid.nl/actueel/nieuws/2020/03/15/aanvullende-maatregelen-onderwijs-horeca-sport,Pablo,
Netherlands,Public events,Public gatherings >100 people,12.03.2020,https://www.iq-mag.net/2020/03/dutch-government-bans-events-100-people/#.XoxumC2Q3yk,Pablo,https://www.rijksoverheid.nl/actueel/nieuws/2020/03/12/nieuwe-maatregelen-tegen-verspreiding-coronavirus-in-nederland
Netherlands,Social distancing encouraged,"Social distancing and self-isolation for people with flue-like symptoms as of Marc 12 for the whole country, previously only for the Noord-Brabant province",12.03.2020,https://www.rivm.nl/en/news/expansion-of-coronavirus-measures,Pablo,https://www.rijksoverheid.nl/actueel/nieuws/2020/03/12/nieuwe-maatregelen-tegen-verspreiding-coronavirus-in-nederland
Netherlands,Lockdown,"Intelligent lockdown, people are still allowed to meet if keeping their distance",23.03.2020,,,
Netherlands,Self-isolating if ill,"Social distancing and self-isolation for people with flue-like symptoms as of Marc 12 for the whole country, previously only for the Noord-Brabant province",12.03.2020,https://www.rivm.nl/en/news/expansion-of-coronavirus-measures,Pablo,
Netherlands,Closure of cultural institutions,"museums, concert halls and theatres were closed following the ban of large gatherings",12.03.2020,https://www.rijksoverheid.nl/actueel/nieuws/2020/03/12/nieuwe-maatregelen-tegen-verspreiding-coronavirus-in-nederland,Lucia,
Netherlands,Closure of restaurants,"Schools, restaurants, gyms, sports venues, sex clubs, etc. closed as of 18:00hrs March 15",15.03.2020,https://www.rijksoverheid.nl/actueel/nieuws/2020/03/15/aanvullende-maatregelen-onderwijs-horeca-sport,,
Netherlands,Advice to work from home,,12.03.2020,https://www.rijksoverheid.nl/actueel/nieuws/2020/03/12/nieuwe-maatregelen-tegen-verspreiding-coronavirus-in-nederland,Lucia,
1 Country schools_universities Type travel_restrictions Event public_events Date effective sport Link lockdown social_distancing_encouraged self_isolating_if_ill Data inputted by note: enter the date on which the closing occurred, e.g. as the last day of UK schools will be 2020-03-20, I entered 2020-03-21 comments Enter your github username below startdate
2 Austria 2020-03-14 Schools + Universities 2020-03-13 Nationwide school closures. 2020-03-10 14.03.2020 2020-03-15 https://www.bmbwf.gv.at/Ministerium/Informationspflicht/corona/corona_status.html 2020-03-16 2020-03-16 2020-03-16 Michaela ettieunwin 2020-03-15
3 Belgium Austria 2020-03-14 Public events 2020-03-19 Banning of gatherings of more than 10 people. 2020-03-12 10.03.2020 2020-03-14 https://www.theguardian.com/world/2020/mar/10/coronavirus-several-eu-states-ban-mass-events-after-italian-lockdown 2020-03-18 2020-03-14 2020-03-10 Tresnia Belgium closed border for non essential travel https://en.wikipedia.org/wiki/2020_coronavirus_pandemic_in_Belgium#cite_note-101 2020-03-14
4 Denmark Austria 2020-03-13 Lockdown 2020-03-13 Banning all access to public spaces and gatherings of more than 5 people. Advice to maintain 1m distance. 2020-03-12 16.03.2020 2020-03-12 https://www.sozialministerium.at/Informationen-zum-Coronavirus/Coronavirus---Aktuelle-Ma%C3%9Fnahmen.html 2020-03-18 Document on website: Verordnung_V20200325-web 2020-03-13 2020-03-12 Michaela + Helen Denmark closed borders entirely on the 14th see https://en.wikipedia.org/wiki/2020_coronavirus_pandemic_in_Denmark#cite_note-90 hcoupland 2020-03-16
5 France Austria 2020-03-14 Social distancing encouraged 2020-03-17 Recommendation to maintain a distance of 1m. 2020-03-13 16.03.2020 2020-02-13 https://www.sozialministerium.at/Informationen-zum-Coronavirus/Coronavirus---Aktuelle-Ma%C3%9Fnahmen.html 2020-03-17 Document on website: Verordnung_V20200325-web 2020-03-16 2020-03-16 Ettie harrisonzhu508 2020-03-13
6 Germany Austria 2020-03-14 Self-isolating if ill 2020-03-16 Implemented at lockdown. 2020-03-22 16.03.2020 2020-03-13 https://www.sozialministerium.at/Informationen-zum-Coronavirus/Coronavirus---Aktuelle-Ma%C3%9Fnahmen.html 2020-03-22 2020-03-12 2020-03-06 Ettie https://drive.google.com/file/d/1J2WMTz33nvyIH8jwKTR1RWRz0iWx1MOj/view?usp=sharing Tresnia 2020-03-15
7 Italy Belgium 2020-03-05 Schools + Universities 2020-03-09 Nationwide school closures. 2020-03-09 14.03.2020 2020-03-09 https://www.info-coronavirus.be/en/2020/03/12/phase-2-maintained-transition-to-the-federal-phase-and-additional-measures/ 2020-03-11 2020-03-09 2020-03-09 Harrison 2020-03-14
8 Norway Belgium 2020-03-13 Public events 2020-03-13 All recreational activities cancelled regardless of size. 2020-03-12 12.03.2020 2020-03-13 https://www.info-coronavirus.be/en/2020/03/12/phase-2-maintained-transition-to-the-federal-phase-and-additional-measures/ 2020-03-24 2020-03-16 2020-03-15 Seth + Helen tmellan 2020-03-13
9 Spain Belgium 2020-03-13 Lockdown 2020-03-12 Citizens are required to stay at home except for work and essential journeys. Going outdoors only with household members or 1 friend. 2020-03-14 18.03.2020 2020-03-13 https://www.belgium.be/en/news/2020/coronavirus_reinforced_measures 2020-03-14 2020-03-09 2020-03-17 Ettie + Pablo MonkeyfaceMx 2020-03-18
10 Sweden Belgium 2020-3-18 Social distancing encouraged 2020-03-19 Public transport recommended only for essential journeys, work from home encouraged, all public places e.g. restaurants closed. 2020-03-12 14.03.2020 2020-03-12 https://www.info-coronavirus.be/en/2020/03/12/phase-2-maintained-transition-to-the-federal-phase-and-additional-measures/ 2090-03-21 2020-03-16 2020-03-10 Michaela + Isak isakfalk 2020-03-14
11 Switzerland Belgium 2020-03-14 Self-isolating if ill 2020-03-18 Everyone should stay at home if experiencing a cough or fever. 2020-03-13 10.03.2020 2020-03-16 https://www.info-coronavirus.be/en/2020/03/10/protect-yourself-and-protect-the-others/ 2020-03-20 2020-03-16 2020-03-02 Harrison sarahfilippi 2020-03-14
12 United_Kingdom Denmark 2020-03-21 Schools + Universities 2020-03-24 Secondary schools shut and universities (primary schools also shut on 16th). 2020-03-24 13.03.2020 2020-03-13 https://en.wikipedia.org/wiki/2020_coronavirus_pandemic_in_Denmark 2020-03-24 2020-03-16 2020-03-12 Seth flaxter 2020-03-16
13 Denmark Public events Bans of events >100 people, closes cultural institutions, leisure facilities etc. 12.03.2020 https://nyheder.tv2.dk/samfund/2020-03-11-danmark-lukker-ned-her-er-regeringens-nye-tiltag 2020-03-18
14 Partial lockdowns Denmark Lockdown Bans of gatherings of >10 people in public and all public places were shut. 18.03.2020 https://nyheder.tv2.dk/samfund/2020-03-11-danmark-lukker-ned-her-er-regeringens-nye-tiltag https://en.wikipedia.org/wiki/2020_coronavirus_pandemic_in_Denmark 2020-03-30
15 Country Denmark Type of intervention Social distancing encouraged Limited use of public transport. All cultural institutions shut and recommendation to keep appropriate distance. Date 13.03.2020 Effected population https://politi.dk/coronavirus-i-danmark/seneste-nyt-fra-myndighederne/nye-tiltag-mod-covid-19 2020-03-12
16 Italy Denmark Lockdown of Lombardy region and 14 other provinces Self-isolating if ill Everyone should stay at home if experiencing a cough or fever. 2020-03-08 12.03.2020 26% https://stps.dk/da/ansvar-og-retningslinjer/vejledning/indberetning-om-covid-19/ 2020-03-13
17 Italy France self-isolate if ill and quarantine if tested positive Schools + Universities Nationwide school closures. 2020-03-08 14.03.2020 extended to whole country on 9/03 https://en.wikipedia.org/wiki/2020_coronavirus_pandemic_in_France 2020-03-13
18 Italy France Extended lockdown (non-essential shops + restaurants + caffee still open) Public events Bans of events >100 people. 2020-03-09 13.03.2020 https://www.thelocal.fr/20200313/france-bans-gatherings-of-over-100-people-to-fight-coronavirus-pandemic 2020-03-12
19 Italy France Extended lockdown + closure of non-essential shops Lockdown Everybody has to stay at home. Need a self-authorisation form to leave home. 2020-03-11 17.03.2020 https://www.theguardian.com/world/2020/mar/16/coronavirus-spain-takes-over-private-healthcare-amid-more-european-lockdowns 2020-03-14
20 Italy France Extended lockdown + further closure of non-essential businesses and activities Social distancing encouraged Advice at the time of lockdown. 2020-03-22 16.03.2020 https://www.theguardian.com/world/2020/mar/16/coronavirus-spain-takes-over-private-healthcare-amid-more-european-lockdowns 2020-03-16
21 Spain France Bans events > 1000 people in Basque Country and La Rioja, Madrid Self-isolating if ill Advice at the time of lockdown. 2020-03-10 16.03.2020 https://www.theguardian.com/world/2020/mar/16/coronavirus-spain-takes-over-private-healthcare-amid-more-european-lockdowns 17/03/2020
22 Spain Germany La Rioja, Haro was put on lockdown Schools + Universities Nationwide school closures. 2020-03-07 14.03.2020 https://en.wikipedia.org/wiki/2020_coronavirus_pandemic_in_Germany 1225802 2020-03-14
23 Spain Germany Schools closed in Basque region and Madrid Public events No gatherings of >1000 people (12th March). Otherwise regional destrictions only until lockdown. 2020-03-09 22.03.2020 https://web.archive.org/web/20200317073042/https://www.bmi.bund.de/SharedDocs/faqs/DE/themen/bevoelkerungsschutz/coronavirus/coronavirus-faqs.html#doc13738352bodyText7 2020-03-14
24 Denmark Germany Bans events >100 people Lockdown Gatherings of > 2 people banned, 1.5 m distance 2020-03-12 22.03.2020 https://www.bmi.bund.de/SharedDocs/downloads/DE/veroeffentlichungen/2020/hinweis-einschraenkung-soziale-kontakte.pdf?__blob=publicationFile&v=1 https://www.bbc.co.uk/news/world-europe-51999080 2020-03-17
25 Denmark Germany Bans events >10 people Social distancing encouraged Avoid social interaction wherever possible recommended by Merkel 2020-03-18 12.03.2020 https://www.bundesregierung.de/breg-de/themen/coronavirus/mpk-1730186 2020-03-23
26 Belgium Germany Police giving fines (from 200 euros to euros 500 and arresting ppl who are out for no reason, but no self authorisation forms as in france or italy Self-isolating if ill Advice for everyone experiencing symptoms to contact a health care agency to get tested and then self-isolate. 06.03.2020 https://www.forbes.com/sites/davidnikel/2020/03/14/norway-closes-all-airports-to-foreigners-as-coronavirus-cases-mount/#35214fc41913 https://web.archive.org/web/20200312004624/https://www.rki.de/SharedDocs/FAQ/NCOV2019/FAQ_Liste.html 2020-03-16
27 Germany Italy Lockdown in Bavaria Schools + Universities Nationwide school closures. 2020-03-20 05.03.2020 http://www.salute.gov.it/portale/nuovocoronavirus/dettaglioVideoNuovoCoronavirus.jsp?lingua=italiano&menu=multimedia&p=video&id=2052 2020-03-14
28 Germany Italy Non-essential shops closed Public events The government bans all public events. 2020-03-16 09.03.2020 https://edition.cnn.com/2020/03/08/europe/italy-coronavirus-lockdown-europe-intl/index.html 2020-03-12
29 Spain Italy Non-essential shops closed + "partial lockdown" Lockdown The government closes all public places. People have to stay at home except for essential travel. 2020-03-15 11.03.2020 https://www.wsj.com/articles/italy-hardens-nationwide-quarantine-11583962093 https://en.wikipedia.org/wiki/2020_Italy_coronavirus_lockdown 2020-03-16
30 Germany Italy reduce social interaction recommendations by Merkel Social distancing encouraged A distance of more than 1m has to be kept and any other form of alternative aggregation is to be excluded. 2020-03-12 09.03.2020 https://www.romatoday.it/attualita/coronavirus-pub-cinema-teatri-locali-chiusi-nuovo-decreto.html 2020-03-11
31 Switzerland Italy self-isolate if ill Self-isolating if ill self-isolate if ill and quarantine if tested positive 2020-03-11 09.03.2020 https://www.gazzettaufficiale.it/eli/id/2020/03/08/20A01522/sg 2020-03-09
32 Austria Norway 1m distance by law Schools + Universities Norwegian Directorate of Health closes all educational institutions. Including childcare facilities and all schools 2020-03-16 13.03.2020 https://www.fhi.no/en/news/2020/norwegian-directorate-of-health-implements-the-following-today---from-6-p.m/ 2020-03-04
33 Germany Norway Robert Koch Inst recommends self isolation Public events The Directorate of Health bans all non-necessary social contact. 2020-03-05 12.03.2020 https://www.fhi.no/en/news/2020/norwegian-directorate-of-health-implements-the-following-today---from-6-p.m/ 2020-03-09
34 Austria Norway stay home if symptoms and coming form region Lockdown Only people living together are allowed outside together. Everyone has to keep a 2m distance. 24.03.2020 https://translate.google.com/translate?sl=no&tl=en&u=https%3A%2F%2Fwww.nrk.no%2Fnorge%2Ffolkehelseinstituttet-mener-23.000-kan-vaere-smittet-1.14958149 2020-03-09
35 Germany Norway Gatherings of > 2 people banned Social distancing encouraged The Directorate of Health advises against all travelling and non-necessary social contacts. 2020-03-22 16.03.2020 for the whole country, 22% are not allowed without good reason https://www.fhi.no/en/news/2020/norwegian-directorate-of-health-implements-the-following-today---from-6-p.m/ 2020-03-13
36 France Norway Closure of schools and universities Self-isolating if ill Advice to self-isolate for 7 days if experiencing a cough or fever symptoms. 2020-03-16 15.03.2020 https://www.regjeringen.no/en/aktuelt/the-government-is-establishing-clear-quarantine-and-isolation-rules/id2693647/ 2020-03-12
37 France Spain Closure of non-essential shops Schools + Universities Nationwide school closures. 2020-03-15 13.03.2020 https://en.wikipedia.org/wiki/2020_coronavirus_pandemic_in_Spain 2020-03-13
38 France Spain Lockdown: everybody should stay at home. Exceptions: going to work if not possible to work from home; food shopping; medical appointment; some caring duties; physical exercise alone around home) -- Need a self-authorisation form to leave home. Public events Banning of all public events by lockdown. 2020-03-17 14.03.2020 https://www.mscbs.gob.es/gabinete/notasPrensa.do?id=4807 2020-03-12
39 France Spain Bans events >5000 people Lockdown 2020-02-29 14.03.2020 https://www.boe.es/eli/es/rd/2020/03/14/463/con 2020-03-14
40 France Spain Bans events >1000 people Social distancing encouraged Advice on social distancing and working remotely from home. 2020-03-08 09.03.2020 https://www.mscbs.gob.es/gabinete/notasPrensa.do?id=4806 used to say 12/3/2020 2020-03-15
41 France Spain Bans events >100 people Self-isolating if ill 2020-03-13 17.03.2020 https://www.mscbs.gob.es/profesionales/saludPublica/ccayes/alertasActual/nCov-China/ciudadania.htm 2020-03-12
42 Belgium Sweden Bans gathering >2 persons (except family) Schools + Universities Colleges and upper secondary schools shut. 18/3/2020 only 48% closed 2020-03-18 17.03.2090 https://www.folkhalsomyndigheten.se/nyheter-och-press/nyhetsarkiv/2020/mars/larosaten-och-gymnasieskolor-uppmanas-nu-att-bedriva-distansundervisning 2020-03-13
43 Belgium Sweden School closed Public events Since March 29 the limit is 50 persons. 2020-03-16 29.03.2020 https://www.visitstockholm.com/good-to-know/coronavirus/ 2020-03-12
44 Belgium Sweden Non essential shops closed (exceptions: food shops, pharmacies, bookstores, gaz stations, hairdressers) Lockdown No lockdown occured. 2020-03-18 17.03.2090 2020-03-12
45 Sweden Social distancing encouraged People even with mild symptoms told to limit social contact, encouragement to work from home. 16.03.2020 https://sverigesradio.se/sida/artikel.aspx?programid=2054&artikel=7430511 21/03/2090
46 Switzerland Sweden Kissing and shaking hands advised against Self-isolating if ill 2020-03-01 10.03.2020 https://www.folkhalsomyndigheten.se/nyheter-och-press/nyhetsarkiv/2020/mars/flera-tecken-pa-samhallsspridning-av-covid-19-i-sverige/ 12/03/2020
47 Country Switzerland Population 0-9 Schools + Universities No in person teaching until 4th of April. Population 10-19 14.03.2020 Population 30-39 https://www.bag.admin.ch/bag/de/home/das-bag/aktuell/medienmitteilungen.msg-id-78437.html Population 40-49 Population 50-59 Population 60-69 Population 70-79 Population 80+ Total (Thousands) 18/03/2020
48 UK Switzerland 8.044.056 Public events The government bans events >100 people. 7.642.473 13.03.2020 9.295.024 https://www.bag.admin.ch/bag/fr/home/das-bag/aktuell/medienmitteilungen.msg-id-78437.html 8.604.251 9.173.465 7.286.777 5.830.635 3.450.616 59.327.297 2020-03-16
49 Austria Switzerland 874.182 Lockdown Gatherings of more than 5 people are banned. 876.208 20.03.2020 1.243.416 https://www.bag.admin.ch/bag/de/home/das-bag/aktuell/medienmitteilungen.msg-id-78513.html 1.178.265 1.407 1033.32 790.437 488.195 7.891.023 19/03/2020
50 Denmark Switzerland 606.029 Social distancing encouraged Advice on keeping distance. All business where this cannot be realised have been closed in all states (kantons). 675.948 16.03.2020 672.29 https://www.bag.admin.ch/bag/de/home/das-bag/aktuell/medienmitteilungen.msg-id-78454.html 738.207 810.126 654.53 586.138 272.973 5.016.241 20/03/2091
51 France Switzerland 7.527.474 Self-isolating if ill Advice to self-isolate if experiencing a cough or fever symptoms. 7.883.477 02.03.2020 8011.05 https://www.bag.admin.ch/bag/de/home/das-bag/aktuell/medienmitteilungen.msg-id-78304.html 8.325.667 8.635.057 7.764.786 5.727.704 4.027.268 57.902.483 16/03/2020
52 Germany United_Kingdom 7.880.904 Schools + Universities Nationwide school closure. Childminders, nurseries and sixth forms are told to follow the guidance. 7.930.616 21.03.2020 10872.02 https://www.gov.uk/government/news/schools-colleges-and-early-years-settings-to-close 10.243.351 https://www.gov.uk/government/collections/coronavirus-covid-19-guidance-for-schools-and-other-educational-settings 13.488.393 10.644.142 7.471.414 5.875.744 74.406.584 13/03/2020
53 Norway United_Kingdom 614.323 Public events Implemented with lockdown. 643.031 24.03.2020 738.724 https://www.gov.uk/government/speeches/pm-address-to-the-nation-on-coronavirus-23-march-2020 724.93 https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/874742/Full_guidance_on_staying_at_home_and_away_from_others__1_.pdf 712.508 586.156 446.448 228.739 4.694.859 09/03/2020
54 Spain United_Kingdom 4.234.487 Lockdown Gatherings of more than 2 people not from the same household banned and police-enforceable. 4.736.077 24.03.2020 5.901.993 https://www.gov.uk/government/speeches/pm-address-to-the-nation-on-coronavirus-23-march-2020 7.938.499 7.046.327 5.340.654 4.015.306 2.923.841 42.137.184 18/03/2020
55 Sweden United_Kingdom 1.193.951 Social distancing encouraged Advice to avoid pubs, clubs, theatres and other public institutions. 1.127.127 16.03.2020 1.320.299 https://www.telegraph.co.uk/global-health/science-and-disease/coronavirus-news-uk-latest-update-covid-19-death-toll-cases/ 1.264.123 1.296.647 1.093.868 994.244 532.081 8822.34 23/03/2020
56 Switzerland United_Kingdom 884.945 Self-isolating if ill Advice to self-isolate for 7 days if experiencing a cough or fever symptoms. 834.867 12.03.2020 1.219.224 https://www.bbc.co.uk/news/uk-51857856 1.166.588 1.320.622 977.435 751.993 459.215 7.614.889 21/03/2020
57 Italy Greece 4.994.995 Schools + Universities Nationwide closure of educational institutions 5.733.448 11.03.2020 6.998.434 https://www.kathimerini.gr/1068505/article/epikairothta/ellada/kleinoyn-gia-dyo-evdomades-sxoleia-panepisthmia-paidikoi-sta8moi-kai-frontisthria 9.022.004 Lucia 9.567.192 7.484.862 6.028.908 4.528.549 54.358.392 21/03/2020
58 Greece Public events Ban of gatherings of more than 10 people 19.03.2020 https://www.garda.com/crisis24/news-alerts/322026/greece-prime-minister-bans-mass-gatherings-due-to-covid-19-march-11-update-5 Lucia (larger mass gatherings banned before, but couldn't get a clear start date) 16/03/2020
59 Greece Lockdown Ban on non-essential transport and movement across the country. Police enforcing restrictions with fines. 23.03.2020 https://www.in.gr/2020/03/22/greece/apagoreysi-kykloforias-analytikos-odigos-pou-tha-epitrepetai-metakinisi-ti-tha-isxysei-gia-tous-ergazomenous/ Lucia (weddings and ceremonies still allowed under conditions provided by law) 23/03/2020
60 Greece Social distancing encouraged In supermarkets, pharmacies and other essentials keep 2mt distance 16.03.2020 https://www.news247.gr/epixeiriseis/koronoios-elegchos-eisodoy-sta-soyper-market-apo-deytera.7602282.html Lucia
61 NRW Greece 17933 Self-isolating if ill Isolate at home if showing mild symptoms or fever 09.03.2020 http://www.ekathimerini.com/250416/article/ekathimerini/news/with-covid-19-cases-at-84-those-with-symptoms-urged-to-stay-home Lucia
62 Bayern Greece 13077 Closure of cultural institutions closure of Cinemas, theaters, theaters, Libraries, Museums, archaeological and historical sites 14.03.2020 https://eody.gov.gr/anastoli-leitoyrgias-meta-apo-eisigisi-tis-epitropis-empeirognomonon-toy-ypoyrgeioy-ygeias/ Lucia
63 BW Greece 11070 Closure of restaurants closure of malls, cafes, bars and food outlets 14.03.2020 http://www.ekathimerini.com/250618/article/ekathimerini/news/malls-cafes-bars-eateries-to-close-as-coronavirus-cases-rise-to-190 Lucia
64 Niedersachsen Greece 7982 Advice to work from home Govt endorses flexible working hours and teleworking 10.03.2020 http://en.protothema.gr/greek-government-plans-flexible-working-hours-and-telework-to-battle-coronavirus/ Lucia (not specifically working from home, but allows workers to avoid rush hour travel and to work from home if child is home from school or in the event of self isolation)
65 Hessen Greece 6266 Keep distance from others Video from Greek government recommending keeping 1m distance (27 secs in) "κρατάμε απόσταση τουλάχιστον 1 μέτρου από άλλους και ιδιαίτερα όσους βήχουν, φτέρνίξονται ή έχουν πυρετό" = "keep a distance of at least 1 meter from others and especially those who cough, sneeze or have a fever" 25.02.2020 https://government.gov.gr/aples-ke-chrisimes-odigies-gia-tin-prostasia-mas-apo-ton-koronoio/ Rebecca
66 RP Portugal 4085 Schools + Universities Nationwide school closures. 14.03.2020 https://covid19estamoson.gov.pt/wp-content/uploads/2020/03/20200313-Suspens%C3%86o-de-todas-as-atividades-letivas-e-n%C3%86o-letivas-com-presen%E2%80%A1a-de-estudantes-em-todas-as-institui%E2%80%A1a%CC%88es-de-Ensino-Superior.pdf Rebecca
67 Sachsen Portugal 4078 Public events Gatherings of more than 100 people banned. 12.03.2020 https://www.barrons.com/news/portugal-bans-gatherings-of-more-than-100-due-to-coronavirus-01584292204 Rebecca
68 Berlin Portugal 3645 Lockdown State of emergency declared on the 18th and new measures defined on the 19th, to come into place on 00:00 of 22nd March 22.03.2020 https://www.politico.eu/article/portugal-quarantine-measures-coronavirus-covid19-antonio-costa-shutdown-state-of-emergency/ Rebecca (20200319 Communiqué of the Council of Ministers - Measures approved by the Council of Ministers on March 19, 2020) "Decree takes effect on March 22 00:00"
69 SH Portugal 2897 Social distancing encouraged Capacity restrictions of entry to bars and restaurants, encouraged to limit frequency of visits to supermarkets/gyms/public services. Nightclubs closed. 12.03.2020 https://covid19estamoson.gov.pt/wp-content/uploads/2020/03/20200312-Medidas-extraordin-rias-de-conten%E2%80%A1%C3%86o-e-mitiga%E2%80%A1%C3%86o-do-coronav%C2%A1rus-Conselho-de-Ministros-de-12-de-mar%E2%80%A1o-de-2020.pdf Rebecca
70 Brandenburg Portugal 2512 Self-isolating if ill Mandatory isolation is imposed for people who are sick or being monitored by health authorities. 19.03.2020 https://www.politico.eu/article/portugal-quarantine-measures-coronavirus-covid19-antonio-costa-shutdown-state-of-emergency/ Rebecca
71 Sachsen A Portugal 2208 Closure of cultural institutions The closure of certain types of facilities and establishments (such as, for example, those intended for recreational, cultural, sporting and catering activities, among others) 22.03.2020 https://covid19estamoson.gov.pt/documentacao/comunicados/ Rebecca Approved by ministers on March 19 but "Decree takes effect on March 22 00:00"
72 Thueringen Portugal 2143 Closure of restaurants The closure of certain types of facilities and establishments (such as, for example, those intended for recreational, cultural, sporting and catering activities, among others) 22.03.2020 https://covid19estamoson.gov.pt/documentacao/comunicados/ Rebecca Approved by ministers on March 19 but "Decree takes effect on March 22 00:00"
73 Hamburg Portugal 1841 Work from home É obrigatória a adoção do regime de teletrabalho sempre que as funções em causa o permitam - google translation: It is mandatory to adopt the teleworking regime whenever the functions in question allow 22.03.2020 https://covid19estamoson.gov.pt/documentacao/comunicados/ Rebecca Approved by ministers on March 19 but "Decree takes effect on March 22 00:00"
74 MeckPom Portugal 1610 Stay at home States that everyone who isn't in mandatory confinement or an essential worker should only go out in public for essential reasons e.g. health reasons, acquisition of goods, caring for the vulnerable, exercise. 22.03.2020 https://covid19estamoson.gov.pt/documentacao/comunicados/ Rebecca Approved by ministers on March 19 but "Decree takes effect on March 22 00:00"
75 Saarland Portugal 991 Keep distance from others Transmission prevention measures in public service establishments: "Maintain distance and space between citizens in all situations" and "Ensure that counter service is provided at the appropriate distance (at least 1 meter, ideally 2)" 17.03.2020 https://covid19.min-saude.pt/wp-content/uploads/2020/03/i026012.pdf Rebecca
76 Bremen 683 Portugal 683 Public gatherings Gatherings of more than 5 people prohibited (except those with family ties). 02.04.2020 https://www.portugal.gov.pt/pt/gc22/governo/comunicado-de-conselho-de-ministros?i=339 Rebecca
77 Netherlands Schools + Universities exemption for children of essential workers 14.03.2020 https://www.rijksoverheid.nl/actueel/nieuws/2020/03/15/aanvullende-maatregelen-onderwijs-horeca-sport Pablo
78 Netherlands 83021 Public events Public gatherings >100 people 12.03.2020 https://www.iq-mag.net/2020/03/dutch-government-bans-events-100-people/#.XoxumC2Q3yk Pablo https://www.rijksoverheid.nl/actueel/nieuws/2020/03/12/nieuwe-maatregelen-tegen-verspreiding-coronavirus-in-nederland
79 Netherlands 0,2185712049 Social distancing encouraged Social distancing and self-isolation for people with flue-like symptoms as of Marc 12 for the whole country, previously only for the Noord-Brabant province 12.03.2020 https://www.rivm.nl/en/news/expansion-of-coronavirus-measures Pablo https://www.rijksoverheid.nl/actueel/nieuws/2020/03/12/nieuwe-maatregelen-tegen-verspreiding-coronavirus-in-nederland
80 Netherlands Lockdown Intelligent lockdown, people are still allowed to meet if keeping their distance 23.03.2020
81 Netherlands Self-isolating if ill Social distancing and self-isolation for people with flue-like symptoms as of Marc 12 for the whole country, previously only for the Noord-Brabant province 12.03.2020 https://www.rivm.nl/en/news/expansion-of-coronavirus-measures Pablo
82 Netherlands Closure of cultural institutions museums, concert halls and theatres were closed following the ban of large gatherings 12.03.2020 https://www.rijksoverheid.nl/actueel/nieuws/2020/03/12/nieuwe-maatregelen-tegen-verspreiding-coronavirus-in-nederland Lucia
83 Netherlands Closure of restaurants Schools, restaurants, gyms, sports venues, sex clubs, etc. closed as of 18:00hrs March 15 15.03.2020 https://www.rijksoverheid.nl/actueel/nieuws/2020/03/15/aanvullende-maatregelen-onderwijs-horeca-sport
84 Netherlands Advice to work from home 12.03.2020 https://www.rijksoverheid.nl/actueel/nieuws/2020/03/12/nieuwe-maatregelen-tegen-verspreiding-coronavirus-in-nederland Lucia

15
data/popt_ifr.csv Normal file
Просмотреть файл

@ -0,0 +1,15 @@
"","country","popt","ifr"
"1","Denmark",5792203,0.0102074697882139
"2","Norway",5421242,0.00914956406203488
"3","Sweden",10099270,0.0103110432111081
"4","United Kingdom",67886004,0.0103504384028517
"5","Italy",60461828,0.0124496263593357
"6","Spain",46754783,0.0107838730158524
"7","Austria",9006400,0.0103882259256609
"8","Belgium",11589616,0.0109598776668092
"9","France",65273512,0.012556187488595
"10","Germany",83783945,0.0123324426034139
"11","Switzerland",8654618,0.0102134528252841
"12","Greece",10423056,0.0117992290838236
"13","Portugal",10196707,0.0117258680881815
"14","Netherlands",17134873,0.010289760240957
1 country popt ifr
2 1 Denmark 5792203 0.0102074697882139
3 2 Norway 5421242 0.00914956406203488
4 3 Sweden 10099270 0.0103110432111081
5 4 United Kingdom 67886004 0.0103504384028517
6 5 Italy 60461828 0.0124496263593357
7 6 Spain 46754783 0.0107838730158524
8 7 Austria 9006400 0.0103882259256609
9 8 Belgium 11589616 0.0109598776668092
10 9 France 65273512 0.012556187488595
11 10 Germany 83783945 0.0123324426034139
12 11 Switzerland 8654618 0.0102134528252841
13 12 Greece 10423056 0.0117992290838236
14 13 Portugal 10196707 0.0117258680881815
15 14 Netherlands 17134873 0.010289760240957

Просмотреть файл

@ -1,12 +0,0 @@
,"Region, subregion, country or area *",0-9,Oct-19,20-29,30-39,40-49,50-59,60-69,70-79,80+,weighted_fatality,population
3345,Denmark,606.029,675.948,775.962,672.29,738.207,810.126,654.53,586.138,272.973,0.008792,5792.203
3450,Norway,614.323,643.031,726.383,738.724,724.93,712.508,586.156,446.448,228.739,0.007924,5421.242
3465,Sweden,1193.951,1127.127,1276.93,1320.299,1264.123,1296.647,1093.868,994.244,532.081,0.008856,10099.27
3480,United Kingdom,8044.056,7642.473,8558.707,9295.024,8604.251,9173.465,7286.777,5830.635,3450.616,0.009185,67886.004
3570,Italy,4994.995,5733.448,6103.436,6998.434,9022.004,9567.192,7484.862,6028.908,4528.549,0.010893,60461.828
3675,Spain,4234.487,4736.077,4617.599,5901.993,7938.499,7046.327,5340.654,4015.306,2923.841,0.009262,46754.783
3705,Austria,874.182,876.208,1115.377,1243.416,1178.265,1407,1033.32,790.437,488.195,0.008967,9006.4
3720,Belgium,1302.703,1312.251,1386.085,1503.997,1518.439,1598.741,1369.876,939.413,658.111,0.009818,11589.616
3735,France,7527.474,7883.477,7371.029,8011.05,8325.667,8635.057,7764.786,5727.704,4027.268,0.011526,65273.512
3750,Germany,7880.904,7930.616,9377.361,10872.02,10243.351,13488.393,10644.142,7471.414,5875.744,0.010928,83783.945
3795,Switzerland,884.945,834.867,1039.729,1219.224,1166.588,1320.622,977.435,751.993,459.215,0.008815,8654.618
1 Region, subregion, country or area * 0-9 Oct-19 20-29 30-39 40-49 50-59 60-69 70-79 80+ weighted_fatality population
2 3345 Denmark 606.029 675.948 775.962 672.29 738.207 810.126 654.53 586.138 272.973 0.008792 5792.203
3 3450 Norway 614.323 643.031 726.383 738.724 724.93 712.508 586.156 446.448 228.739 0.007924 5421.242
4 3465 Sweden 1193.951 1127.127 1276.93 1320.299 1264.123 1296.647 1093.868 994.244 532.081 0.008856 10099.27
5 3480 United Kingdom 8044.056 7642.473 8558.707 9295.024 8604.251 9173.465 7286.777 5830.635 3450.616 0.009185 67886.004
6 3570 Italy 4994.995 5733.448 6103.436 6998.434 9022.004 9567.192 7484.862 6028.908 4528.549 0.010893 60461.828
7 3675 Spain 4234.487 4736.077 4617.599 5901.993 7938.499 7046.327 5340.654 4015.306 2923.841 0.009262 46754.783
8 3705 Austria 874.182 876.208 1115.377 1243.416 1178.265 1407 1033.32 790.437 488.195 0.008967 9006.4
9 3720 Belgium 1302.703 1312.251 1386.085 1503.997 1518.439 1598.741 1369.876 939.413 658.111 0.009818 11589.616
10 3735 France 7527.474 7883.477 7371.029 8011.05 8325.667 8635.057 7764.786 5727.704 4027.268 0.011526 65273.512
11 3750 Germany 7880.904 7930.616 9377.361 10872.02 10243.351 13488.393 10644.142 7471.414 5875.744 0.010928 83783.945
12 3795 Switzerland 884.945 834.867 1039.729 1219.224 1166.588 1320.622 977.435 751.993 459.215 0.008815 8654.618

Просмотреть файл

@ -6,6 +6,8 @@ dependencies:
- r-lubridate
- r-gdata
- r-ggpubr
- r-tidyr
- r-dplyr
- r-rstan
channels:
- conda-forge

Просмотреть файл

@ -23,11 +23,21 @@ make_three_pannel_plot <- function(){
filename2 <- args[1]
load(paste0("results/", filename2))
print(sprintf("loading: %s",paste0("results/",filename2)))
data_interventions <- read.csv("data/interventions.csv",
stringsAsFactors = FALSE)
covariates <- data_interventions[1:11, c(1,2,3,4,5,6, 7, 8)]
covariates = read.csv('data/interventions.csv', stringsAsFactors = FALSE)
names_covariates = c('Schools + Universities','Self-isolating if ill', 'Public events', 'Lockdown', 'Social distancing encouraged')
covariates <- covariates %>%
filter((Type %in% names_covariates))
covariates <- covariates[,c(1,2,4)]
covariates <- spread(covariates, Type, Date.effective)
names(covariates) <- c('Country','lockdown', 'public_events', 'schools_universities','self_isolating_if_ill', 'social_distancing_encouraged')
covariates <- covariates[c('Country','schools_universities', 'self_isolating_if_ill', 'public_events', 'lockdown', 'social_distancing_encouraged')]
covariates$schools_universities <- as.Date(covariates$schools_universities, format = "%d.%m.%Y")
covariates$lockdown <- as.Date(covariates$lockdown, format = "%d.%m.%Y")
covariates$public_events <- as.Date(covariates$public_events, format = "%d.%m.%Y")
covariates$self_isolating_if_ill <- as.Date(covariates$self_isolating_if_ill, format = "%d.%m.%Y")
covariates$social_distancing_encouraged <- as.Date(covariates$social_distancing_encouraged, format = "%d.%m.%Y")
for(i in 1:11){
for(i in 1:14){
print(i)
N <- length(dates[[i]])
country <- countries[[i]]
@ -45,20 +55,16 @@ make_three_pannel_plot <- function(){
estimated_deaths_li2 <- colQuantiles(estimated.deaths[,1:N,i], probs=.25)
estimated_deaths_ui2 <- colQuantiles(estimated.deaths[,1:N,i], probs=.75)
rt <- colMeans(out$Rt[,1:N,i])
rt_li <- colQuantiles(out$Rt[,1:N,i],probs=.025)
rt_ui <- colQuantiles(out$Rt[,1:N,i],probs=.975)
rt_li2 <- colQuantiles(out$Rt[,1:N,i],probs=.25)
rt_ui2 <- colQuantiles(out$Rt[,1:N,i],probs=.75)
rt <- colMeans(out$Rt_adj[,1:N,i])
rt_li <- colQuantiles(out$Rt_adj[,1:N,i],probs=.025)
rt_ui <- colQuantiles(out$Rt_adj[,1:N,i],probs=.975)
rt_li2 <- colQuantiles(out$Rt_adj[,1:N,i],probs=.25)
rt_ui2 <- colQuantiles(out$Rt_adj[,1:N,i],probs=.75)
# delete these 2 lines
covariates_country <- covariates[which(covariates$Country == country), 2:8]
# Remove sport
covariates_country$sport = NULL
covariates_country$travel_restrictions = NULL
covariates_country_long <- gather(covariates_country[], key = "key",
covariates_country <- covariates[which(covariates$Country == country), 2:6]
covariates_country_long <- gather(covariates_country, key = "key",
value = "value")
covariates_country_long$x <- rep(NULL, length(covariates_country_long$key))
un_dates <- unique(covariates_country_long$value)

Просмотреть файл

@ -22,10 +22,7 @@ make_forecast_plot <- function(){
load(paste0("results/", filename))
data_interventions <- read.csv("data/interventions.csv",
stringsAsFactors = FALSE)
for(i in 1:11){
for(i in 1:14){
N <- length(dates[[i]])
N2 <- N + 7
country <- countries[[i]]
@ -42,9 +39,9 @@ make_forecast_plot <- function(){
estimated_deaths_li_forecast <- colQuantiles(estimated.deaths[,1:N2,i], probs=.025)[N:N2]
estimated_deaths_ui_forecast <- colQuantiles(estimated.deaths[,1:N2,i], probs=.975)[N:N2]
rt <- colMeans(out$Rt[,1:N,i])
rt_li <- colQuantiles(out$Rt[,1:N,i],probs=.025)
rt_ui <- colQuantiles(out$Rt[,1:N,i],probs=.975)
rt <- colMeans(out$Rt_adj[,1:N,i])
rt_li <- colQuantiles(out$Rt_adj[,1:N,i],probs=.025)
rt_ui <- colQuantiles(out$Rt_adj[,1:N,i],probs=.975)
data_country <- data.frame("time" = as_date(as.character(dates[[i]])),
"country" = rep(country, length(dates[[i]])),

Просмотреть файл

@ -3,7 +3,6 @@ data {
int <lower=1> N0; // number of days for which to impute infections
int<lower=1> N[M]; // days of observed data for country m. each entry must be <= N2
int<lower=1> N2; // days of observed data + # of days to forecast
real<lower=0> x[N2]; // index of days (starting at 1)
int cases[N2,M]; // reported cases
int deaths[N2, M]; // reported deaths -- the rows with i > N contain -1 and should be ignored
matrix[N2, M] f; // h * s
@ -14,93 +13,103 @@ data {
matrix[N2, M] covariate5;
matrix[N2, M] covariate6;
int EpidemicStart[M];
real pop[M];
real SI[N2]; // fixed pre-calculated SI using emprical data from Neil
}
transformed data {
real delta = 1e-5;
}
parameters {
real<lower=0> mu[M]; // intercept for Rt
real<lower=0> alpha[6]; // the hier term
real<lower=0> alpha_hier[6]; // sudo parameter for the hier term for alpha
real<lower=0> kappa;
vector<lower=0>[M] y_raw;
real<lower=0> y[M];
real<lower=0> phi;
real<lower=0> tau;
real <lower=0> ifr_noise[M];
}
transformed parameters {
vector<lower = 0>[M] y = tau * y_raw;
real alpha[6];
matrix[N2, M] prediction = rep_matrix(0,N2,M);
matrix[N2, M] E_deaths = rep_matrix(0,N2,M);
matrix[N2, M] Rt = rep_matrix(0,N2,M);
for (m in 1:M){
prediction[1:N0,m] = rep_vector(y[m],N0); // learn the number of cases in the first N0 days
Rt[,m] = mu[m] * exp(covariate1[,m] * (-alpha[1]) + covariate2[,m] * (-alpha[2]) +
covariate3[,m] * (-alpha[3])+ covariate4[,m] * (-alpha[4]) + covariate5[,m] * (-alpha[5]) +
covariate6[,m] * (-alpha[6])); // + GP[i]); // to_vector(x) * time_effect
for (i in (N0+1):N2) {
real convolution=0;
for(j in 1:(i-1)) {
convolution += prediction[j, m]*SI[i-j]; // Correctd 22nd March
}
prediction[i, m] = Rt[i,m] * convolution;
matrix[N2, M] Rt_adj = Rt;
{
matrix[N2,M] cumm_sum = rep_matrix(0,N2,M);
for(i in 1:6){
alpha[i] = alpha_hier[i] - ( log(1.05) / 6.0 );
}
E_deaths[1, m]= 1e-9;
for (i in 2:N2){
E_deaths[i,m]= 0;
for(j in 1:(i-1)){
E_deaths[i,m] += prediction[j,m]*f[i-j,m];
for (m in 1:M){
for (i in 2:N0){
cumm_sum[i,m] = cumm_sum[i-1,m] + y[m];
}
prediction[1:N0,m] = rep_vector(y[m],N0); // learn the number of cases in the first N0 days
Rt[,m] = mu[m] * exp( covariate1[,m] * (-alpha[1]) + covariate2[,m] * (-alpha[2]) +
covariate3[,m] * (-alpha[3]) + covariate4[,m] * (-alpha[4]) + covariate5[,m] * (-alpha[5]) +
covariate6[,m] * (-alpha[6]) );
Rt_adj[1:N0,m] = Rt[1:N0,m];
for (i in (N0+1):N2) {
real convolution=0;
for(j in 1:(i-1)) {
convolution += prediction[j, m] * SI[i-j];
}
cumm_sum[i,m] = cumm_sum[i-1,m] + prediction[i-1,m];
Rt_adj[i,m] = ((pop[m]-cumm_sum[i,m]) / pop[m]) * Rt[i,m];
prediction[i, m] = Rt_adj[i,m] * convolution;
}
E_deaths[1, m]= 1e-15 * prediction[1,m];
for (i in 2:N2){
for(j in 1:(i-1)){
E_deaths[i,m] += prediction[j,m] * f[i-j,m] * ifr_noise[m];
}
}
}
}
/* for(m in 1:M) {
for(i in 1:N[m]) {
LowerBound[i,m] = prediction[i,m] * 10 - cases[i,m];
}
}*/
}
model {
tau ~ exponential(0.03);
target += -sum(y_raw); // exponential(1) prior on y_raw implies y ~ exponential(1 / tau)
for (m in 1:M){
y[m] ~ exponential(1/tau);
}
phi ~ normal(0,5);
kappa ~ normal(0,0.5);
mu ~ normal(2.4, kappa); // citation needed
alpha ~ gamma(.5,1);
mu ~ normal(3.28, kappa); // citation: https://academic.oup.com/jtm/article/27/2/taaa021/5735319
alpha_hier ~ gamma(.1667,1);
ifr_noise ~ normal(1,0.1);
for(m in 1:M){
deaths[EpidemicStart[m]:N[m], m] ~ neg_binomial_2(E_deaths[EpidemicStart[m]:N[m], m], phi);
}
}
}
generated quantities {
matrix[N2, M] lp0 = rep_matrix(1000,N2,M); // log-probability for LOO for the counterfactual model
matrix[N2, M] lp1 = rep_matrix(1000,N2,M); // log-probability for LOO for the main model
matrix[N2, M] prediction0 = rep_matrix(0,N2,M);
matrix[N2, M] E_deaths0 = rep_matrix(0,N2,M);
for (m in 1:M){
prediction0[1:N0,m] = rep_vector(y[m],N0); // learn the number of cases in the first N0 days
for (i in (N0+1):N2) {
real convolution0=0;
for(j in 1:(i-1)) {
convolution0 += prediction0[j, m]*SI[i-j]; // Correctd 22nd March
{
matrix[N2,M] cumm_sum0 = rep_matrix(0,N2,M);
for (m in 1:M){
for (i in 2:N0){
cumm_sum0[i,m] = cumm_sum0[i-1,m] + y[m];
}
prediction0[i, m] = mu[m] * convolution0;
}
E_deaths0[1, m]= 1e-9;
for (i in 2:N2){
E_deaths0[i,m]= 0;
for(j in 1:(i-1)){
E_deaths0[i,m] += prediction0[j,m]*f[i-j,m];
prediction0[1:N0,m] = rep_vector(y[m],N0);
for (i in (N0+1):N2) {
real convolution0 = 0;
for(j in 1:(i-1)) {
convolution0 += prediction0[j, m] * SI[i-j];
}
cumm_sum0[i,m] = cumm_sum0[i-1,m] + prediction0[i-1,m];
prediction0[i, m] = ((pop[m]-cumm_sum0[i,m]) / pop[m]) * mu[m] * convolution0;
}
E_deaths0[1, m] = uniform_rng(1e-16, 1e-15);
for (i in 2:N2){
for(j in 1:(i-1)){
E_deaths0[i,m] += prediction0[j,m] * f[i-j,m] * ifr_noise[m];
}
}
}
for(i in 1:N[m]){
lp0[i,m] = neg_binomial_2_lpmf(deaths[i,m] | E_deaths[i,m],phi);
lp1[i,m] = neg_binomial_2_lpmf(deaths[i,m] | E_deaths0[i,m],phi);
}
}
}