Last active
March 12, 2023 14:10
-
-
Save mooresm/a93d20f692694b8f3516d3826dca3785 to your computer and use it in GitHub Desktop.
BayesComp 2023 conference programme booklet
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
title: "BayesComp 2023 abstract booklet" | |
format: pdf | |
editor: visual | |
params: | |
echo: FALSE | |
--- | |
```{r, echo=FALSE, eval=TRUE, results='hide'} | |
library(stringr) | |
library(readxl) | |
data <- read.csv("BayesComp programme FINAL - Sessions (details).csv", | |
comment.char="#") | |
colnames(data) | |
dim(data) | |
roomstring <- rep(NA, dim(data)[1]) | |
for (r in 1:(dim(data)[1])){ | |
if(data$Room.nr[r]==0){ | |
if(data$Online[r]=="YES"){ | |
roomstring[r] <- "Auditorium and Online" | |
}else{ | |
roomstring[r] <- "Auditorium" | |
} | |
}else{ | |
if(data$Online[r]=="YES"){ | |
roomstring[r] <- paste("Room ",data$Room.nr[r]," and Online", sep="") | |
}else{ | |
roomstring[r] <- paste("Room ",data$Room.nr[r], sep="") | |
} | |
} | |
} | |
roomstring | |
cbind(data$Room.nr, roomstring) | |
data$Room.st <- roomstring | |
# select last names and initials of speakers and chairs | |
data$id.chair <- paste(word(data$Session.Chair,-1), substr(data$Session.Chair,1, 1)) | |
data$id.s1 <- paste(word(data$Talk.1.presenter.name,-1), substr(data$Talk.1.presenter.name,1, 1)) | |
data$id.s2 <- paste(word(data$Talk.2..presenter.name,-1), substr(data$Talk.2..presenter.name,1, 1)) | |
data$id.s3 <- paste(word(data$Talk.3..presenter.name,-1), substr(data$Talk.3..presenter.name,1, 1)) | |
``` | |
3$^\textrm{rd}$ biennial meeting of the ISBA Section on Bayesian Computation | |
Levi Summit, Finland | |
15--17 March, 2023 *(with satellite meetings March 12--14)* | |
# Keynote Talks | |
## Tamara Broderick | |
Massachusetts Institute of Technology, USA | |
**Title:** An Automatic Finite-Sample Robustness Check for Bayes and Beyond: Can Dropping a Little Data Change Conclusions? | |
Commonly researchers will run a statistical analysis on a data sample, with the goal of applying any conclusions to a new population. For instance, if economists conclude microcredit is effective at alleviating poverty based on observed data, policymakers might decide to distribute microcredit in other locations or future years. | |
Typically, the original data is not a perfect random sample of the population where policy is applied -- but researchers might feel comfortable generalizing anyway so long as deviations from random sampling are small, and the corresponding impact on conclusions is small as well. Conversely, researchers might worry if a very small proportion of the data sample was instrumental to the original conclusion. So we propose a method to assess the sensitivity of statistical conclusions to the removal of a very small fraction of the data set. Manually checking all small data subsets is computationally infeasible, so we propose an approximation based on the classical influence function. Our method is automatically computable for MAP, variational Bayes, MLE, and other common estimators -- and we discuss extensions to MCMC. We provide finite-sample error bounds on approximation performance and a low-cost exact lower bound on sensitivity. We find that sensitivity is driven by a signal-to-noise ratio in the inference problem, does not disappear asymptotically, is not decided by misspecification, and is not eliminated by taking a Bayesian approach. While some empirical applications are robust, conclusions of several influential economics papers can be changed by removing (much) less than 1% of the data. | |
## Anthony Lee | |
University of Bristol, UK | |
**Title:** How many steps are needed for random walk Metropolis? Explicit convergence bounds for Metropolis Markov chains | |
One of the simplest and enduringly popular general-purpose Monte Carlo Markov chains evolving on $\mathbb{R}^d$ is the random walk Metropolis (RWM) Markov chain. Despite its relative simplicity, explicit convergence bounds that scale suitably with dimension have proved elusive for decades. In recent years, progress has been made to show that for distributions with strongly convex and gradient-Lipschitz potentials there exists a specific proposal variance giving an explicit bound on the $\mathscr{L}^2$-mixing time. We refine these results and obtain explicit spectral gap and $\mathscr{L}^2$-mixing time bounds for RWM with arbitrary proposal variances in any dimension, demonstrating the robustness of the algorithm. We obtain the correct scaling with dimension of the spectral gap for sufficiently regular target distributions, and the mixing time bounds are of reasonable (not astronomical) order. Our positive results are quite generally applicable in principle. Essentially the same analysis can be performed for the preconditioned Crank--Nicolson Markov chain, obtaining dimension-independent bounds under suitable assumptions. | |
This is joint work with C. Andrieu, S. Power and A. Wang. | |
## Veronika Rockova | |
The University of Chicago Booth School of Business, USA | |
**Title:** Adversarial Bayesian Simulation | |
In the absence of explicit or tractable likelihoods, Bayesians often resort to approximate Bayesian computation (ABC) for inference. Going beyond ABC, my talk surveys recent optimization approaches to simulation-based Bayesian inference in likelihood-free situations. In particular, I will focus on deep neural samplers based on generative adversarial networks (GANs) and on adversarial variational Bayes. Both ABC and GANs compare aspects of observed and fake data to simulate from posteriors and likelihoods, respectively. I will discuss the Bayesian GAN (B-GAN) sampler that directly targets the posterior by solving an adversarial optimization problem. B-GAN is driven by a deterministic mapping learned on the ABC reference by conditional GANs. Once the mapping has been trained, iid posterior samples are obtained by filtering noise at a negligible additional cost. My talk also mentions more traditional posterior sampling approaches (ABC and Metropolis-Hastings) based on classification. | |
\clearpage | |
# Invited Sessions | |
## Parallel I | |
10:30 --- 12:00, Wednesday 15 March | |
```{r, results='asis', message=FALSE, warning=FALSE, echo=FALSE} | |
session <- data[which(data$Session.nr==1), ] | |
for(r in 0:3){ | |
row <- which(session$Room.nr==r) | |
b <- c("\\begin{center}\n \\textbf{",session$Session.Title[row], "} \n | |
\\textit{Location}: ", session$Room.st[row], " - \\textit{Chair} : ",session$Session.Chair[row], " \\end{center} \n\n \\textit{Speaker}: ", session$Talk.1.presenter.name[row], " (", session$Talk.1.presenter.affiliation[row],")\n\n\\textit{Title}: ", | |
session$Talk.1.title[row], "\n\n\\textit{Abstract}: ", | |
session$Talk.1.abstract[row], "\n\n \\textit{Speaker}: ", session$Talk.2..presenter.name[row], " (", session$Talk.2.presenter.affiliation[row],")\n\n\\textit{Title}: ", | |
session$Talk.2.title[row], "\n\n\\textit{Abstract}: ", | |
session$Talk.2.abstract[row], "\n\n\\textit{Speaker}: ", | |
session$Talk.3..presenter.name[row], " (", session$Talk.3.presenter.affiliation[row],")\n\n\\textit{Title}: ", | |
session$Talk.3.title[row], "\n\n\\textit{Abstract}: ", | |
session$Talk.3.abstract[row], | |
"\n\n ____________\n " | |
) | |
cat(b) | |
} | |
``` | |
## Parallel II | |
15:00 --- 16:30, Wednesday 15 March | |
```{r, results='asis', message=FALSE, warning=FALSE, echo=FALSE} | |
session <- data[which(data$Session.nr==2), ] | |
for(r in 0:3){ | |
row <- which(session$Room.nr==r) | |
b <- c("\\begin{center}\n \\textbf{",session$Session.Title[row], "} \n | |
\\textit{Location}: ", session$Room.st[row], " - \\textit{Chair} : ",session$Session.Chair[row], " \\end{center} \n\n \\textit{Speaker}: ", session$Talk.1.presenter.name[row], " (", session$Talk.1.presenter.affiliation[row],")\n\n\\textit{Title}: ", | |
session$Talk.1.title[row], "\n\n\\textit{Abstract}: ", | |
session$Talk.1.abstract[row], "\n\n \\textit{Speaker}: ", session$Talk.2..presenter.name[row], " (", session$Talk.2.presenter.affiliation[row],")\n\n\\textit{Title}: ", | |
session$Talk.2.title[row], "\n\n\\textit{Abstract}: ", | |
session$Talk.2.abstract[row], "\n\n\\textit{Speaker}: ", | |
session$Talk.3..presenter.name[row], " (", session$Talk.3.presenter.affiliation[row],")\n\n\\textit{Title}: ", | |
session$Talk.3.title[row], "\n\n\\textit{Abstract}: ", | |
session$Talk.3.abstract[row], | |
"\n\n ____________\n " | |
) | |
cat(b) | |
} | |
``` | |
## Parallel III | |
16:30 --- 18:00, Wednesday 15 March | |
```{r, results='asis', message=FALSE, warning=FALSE, echo=FALSE} | |
session <- data[which(data$Session.nr==3), ] | |
# here we start from r=1 because in the auditorium there are lighting talks | |
for(r in 1:3){ | |
row <- which(session$Room.nr==r) | |
b <- c("\\begin{center}\n \\textbf{",session$Session.Title[row], "} \n | |
\\textit{Location}: ", session$Room.st[row], " - \\textit{Chair} : ",session$Session.Chair[row], " \\end{center} \n\n \\textit{Speaker}: ", session$Talk.1.presenter.name[row], " (", session$Talk.1.presenter.affiliation[row],")\n\n\\textit{Title}: ", | |
session$Talk.1.title[row], "\n\n\\textit{Abstract}: ", | |
session$Talk.1.abstract[row], "\n\n \\textit{Speaker}: ", session$Talk.2..presenter.name[row], " (", session$Talk.2.presenter.affiliation[row],")\n\n\\textit{Title}: ", | |
session$Talk.2.title[row], "\n\n\\textit{Abstract}: ", | |
session$Talk.2.abstract[row], "\n\n\\textit{Speaker}: ", | |
session$Talk.3..presenter.name[row], " (", session$Talk.3.presenter.affiliation[row],")\n\n\\textit{Title}: ", | |
session$Talk.3.title[row], "\n\n\\textit{Abstract}: ", | |
session$Talk.3.abstract[row], | |
"\n\n ____________\n " | |
) | |
cat(b) | |
} | |
``` | |
## Parallel IV | |
10:30 --- 12:00, Thursday 16 March | |
```{r, results='asis', message=FALSE, warning=FALSE, echo=FALSE} | |
session <- data[which(data$Session.nr==4), ] | |
for(r in 0:3){ | |
row <- which(session$Room.nr==r) | |
b <- c("\\begin{center}\n \\textbf{",session$Session.Title[row], "} \n | |
\\textit{Location}: ", session$Room.st[row], " - \\textit{Chair} : ",session$Session.Chair[row], " \\end{center} \n\n \\textit{Speaker}: ", session$Talk.1.presenter.name[row], " (", session$Talk.1.presenter.affiliation[row],")\n\n\\textit{Title}: ", | |
session$Talk.1.title[row], "\n\n\\textit{Abstract}: ", | |
session$Talk.1.abstract[row], "\n\n \\textit{Speaker}: ", session$Talk.2..presenter.name[row], " (", session$Talk.2.presenter.affiliation[row],")\n\n\\textit{Title}: ", | |
session$Talk.2.title[row], "\n\n\\textit{Abstract}: ", | |
session$Talk.2.abstract[row], "\n\n\\textit{Speaker}: ", | |
session$Talk.3..presenter.name[row], " (", session$Talk.3.presenter.affiliation[row],")\n\n\\textit{Title}: ", | |
session$Talk.3.title[row], "\n\n\\textit{Abstract}: ", | |
session$Talk.3.abstract[row], | |
"\n\n ____________\n " | |
) | |
cat(b) | |
} | |
``` | |
## Parallel V | |
15:00 --- 16:30, Thursday 16 March | |
```{r, results='asis', message=FALSE, warning=FALSE, echo=FALSE} | |
session <- data[which(data$Session.nr==5), ] | |
for(r in 0:3){ | |
row <- which(session$Room.nr==r) | |
b <- c("\\begin{center}\n \\textbf{",session$Session.Title[row], "} \n | |
\\textit{Location}: ", session$Room.st[row], " - \\textit{Chair} : ",session$Session.Chair[row], " \\end{center} \n\n \\textit{Speaker}: ", session$Talk.1.presenter.name[row], " (", session$Talk.1.presenter.affiliation[row],")\n\n\\textit{Title}: ", | |
session$Talk.1.title[row], "\n\n\\textit{Abstract}: ", | |
session$Talk.1.abstract[row], "\n\n \\textit{Speaker}: ", session$Talk.2..presenter.name[row], " (", session$Talk.2.presenter.affiliation[row],")\n\n\\textit{Title}: ", | |
session$Talk.2.title[row], "\n\n\\textit{Abstract}: ", | |
session$Talk.2.abstract[row], "\n\n\\textit{Speaker}: ", | |
session$Talk.3..presenter.name[row], " (", session$Talk.3.presenter.affiliation[row],")\n\n\\textit{Title}: ", | |
session$Talk.3.title[row], "\n\n\\textit{Abstract}: ", | |
session$Talk.3.abstract[row], | |
"\n\n ____________\n " | |
) | |
cat(b) | |
} | |
``` | |
## Parallel VI | |
10:30 --- 12:00, Friday 17 March | |
```{r, results='asis', message=FALSE, warning=FALSE, echo=FALSE} | |
session <- data[which(data$Session.nr==6), ] | |
for(r in 0:3){ | |
row <- which(session$Room.nr==r) | |
b <- c("\\begin{center}\n \\textbf{",session$Session.Title[row], "} \n | |
\\textit{Location}: ", session$Room.st[row], " - \\textit{Chair} : ",session$Session.Chair[row], " \\end{center} \n\n \\textit{Speaker}: ", session$Talk.1.presenter.name[row], " (", session$Talk.1.presenter.affiliation[row],")\n\n\\textit{Title}: ", | |
session$Talk.1.title[row], "\n\n\\textit{Abstract}: ", | |
session$Talk.1.abstract[row], "\n\n \\textit{Speaker}: ", session$Talk.2..presenter.name[row], " (", session$Talk.2.presenter.affiliation[row],")\n\n\\textit{Title}: ", | |
session$Talk.2.title[row], "\n\n\\textit{Abstract}: ", | |
session$Talk.2.abstract[row], "\n\n\\textit{Speaker}: ", | |
session$Talk.3..presenter.name[row], " (", session$Talk.3.presenter.affiliation[row],")\n\n\\textit{Title}: ", | |
session$Talk.3.title[row], "\n\n\\textit{Abstract}: ", | |
session$Talk.3.abstract[row], | |
"\n\n ____________\n " | |
) | |
cat(b) | |
} | |
``` | |
## Parallel VII | |
13:00 --- 14:30, Friday 17 March | |
```{r, results='asis', message=FALSE, warning=FALSE, echo=FALSE} | |
session <- data[which(data$Session.nr==7), ] | |
for(r in 0:3){ | |
row <- which(session$Room.nr==r) | |
b <- c("\\begin{center}\n \\textbf{",session$Session.Title[row], "} \n | |
\\textit{Location}: ", session$Room.st[row], " - \\textit{Chair} : ",session$Session.Chair[row], " \\end{center} \n\n \\textit{Speaker}: ", session$Talk.1.presenter.name[row], " (", session$Talk.1.presenter.affiliation[row],")\n\n\\textit{Title}: ", | |
session$Talk.1.title[row], "\n\n\\textit{Abstract}: ", | |
session$Talk.1.abstract[row], "\n\n \\textit{Speaker}: ", session$Talk.2..presenter.name[row], " (", session$Talk.2.presenter.affiliation[row],")\n\n\\textit{Title}: ", | |
session$Talk.2.title[row], "\n\n\\textit{Abstract}: ", | |
session$Talk.2.abstract[row], "\n\n\\textit{Speaker}: ", | |
session$Talk.3..presenter.name[row], " (", session$Talk.3.presenter.affiliation[row],")\n\n\\textit{Title}: ", | |
session$Talk.3.title[row], "\n\n\\textit{Abstract}: ", | |
session$Talk.3.abstract[row], | |
"\n\n ____________\n " | |
) | |
cat(b) | |
} | |
``` | |
\clearpage | |
# Contributed Sessions | |
## Parallel VIII | |
14.30 --- 16.00, Friday 17 March | |
**note:** each contributed talk will be allocated 20 minutes, including time for questions. | |
```{r, results='asis', message=FALSE, warning=FALSE, echo=FALSE} | |
contrib <- read.csv("BayesComp programme FINAL - Contrib.csv", | |
comment.char="#") | |
roomstring <- rep(NA, dim(contrib)[1]) | |
for (r in 1:(dim(contrib)[1])){ | |
if(contrib$Room.nr[r]==0){ | |
if(contrib$Online[r]=="YES"){ | |
roomstring[r] <- "Auditorium and Online" | |
}else{ | |
roomstring[r] <- "Auditorium" | |
} | |
}else{ | |
if(contrib$Online[r]=="YES"){ | |
roomstring[r] <- paste("Room ",contrib$Room.nr[r]," and Online", sep="") | |
}else{ | |
roomstring[r] <- paste("Room ",contrib$Room.nr[r], sep="") | |
} | |
} | |
} | |
contrib$Room.st <- roomstring | |
row <- 1 | |
b <- c("\\begin{center}\n \\textbf{",contrib$Session.Title[row], "} \n | |
\\textit{Location}: ", contrib$Room.st[row], " - \\textit{Chair} : ",contrib$Session.Chair[row], " \\end{center} \n\n \\textit{Speaker}: ", contrib$Talk.1.presenter.name[row], " (", contrib$Talk.1.presenter.affiliation[row],")\n\n\\textit{Title}: ", | |
contrib$Talk.1.title[row], "\n\n\\textit{Abstract}: ", | |
contrib$Talk.1.abstract[row], "\n\n \\textit{Speaker}: ", contrib$Talk.2..presenter.name[row], " (", contrib$Talk.2.presenter.affiliation[row],")\n\n\\textit{Title}: ", | |
contrib$Talk.2.title[row], "\n\n\\textit{Abstract}: ", | |
contrib$Talk.2.abstract[row], "\n\n\\textit{Speaker}: ", | |
contrib$Talk.3..presenter.name[row], " (", contrib$Talk.3.presenter.affiliation[row],")\n\n\\textit{Title}: ", | |
contrib$Talk.3.title[row], "\n\n\\textit{Abstract}: ", | |
contrib$Talk.3.abstract[row], | |
"\n\n ____________\n " | |
) | |
cat(b) | |
for (row in 2:3) { | |
b <- c("\\begin{center}\n \\textbf{",contrib$Session.Title[row], "} \n | |
\\textit{Location}: ", contrib$Room.st[row], " - \\textit{Chair} : ",contrib$Session.Chair[row], " \\end{center} \n\n \\textit{Speaker}: ", contrib$Talk.1.presenter.name[row], " (", contrib$Talk.1.presenter.affiliation[row],")\n\n\\textit{Title}: ", | |
contrib$Talk.1.title[row], "\n\n\\textit{Abstract}: ", | |
contrib$Talk.1.abstract[row], "\n\n \\textit{Speaker}: ", contrib$Talk.2..presenter.name[row], " (", contrib$Talk.2.presenter.affiliation[row],")\n\n\\textit{Title}: ", | |
contrib$Talk.2.title[row], "\n\n\\textit{Abstract}: ", | |
contrib$Talk.2.abstract[row], "\n\n\\textit{Speaker}: ", | |
contrib$Talk.3..presenter.name[row], " (", contrib$Talk.3.presenter.affiliation[row],")\n\n\\textit{Title}: ", | |
contrib$Talk.3.title[row], "\n\n\\textit{Abstract}: ", | |
contrib$Talk.3.abstract[row],"\n\n\\textit{Speaker}: ", | |
contrib$Talk.4.presenter.name[row], " (", contrib$Talk.4.presenter.affiliation[row],")\n\n\\textit{Title}: ", | |
contrib$Talk.4.title[row], "\n\n\\textit{Abstract}: ", | |
contrib$Talk.4.abstract[row], | |
"\n\n ____________\n " | |
) | |
cat(b) | |
} | |
row <- 4 | |
b <- c("\\begin{center}\n \\textbf{",contrib$Session.Title[row], "} \n | |
\\textit{Location}: ", contrib$Room.st[row], " - \\textit{Chair} : ",contrib$Session.Chair[row], " \\end{center} \n\n \\textit{Speaker}: ", contrib$Talk.1.presenter.name[row], " (", contrib$Talk.1.presenter.affiliation[row],")\n\n\\textit{Title}: ", | |
contrib$Talk.1.title[row], "\n\n\\textit{Abstract}: ", | |
contrib$Talk.1.abstract[row], "\n\n \\textit{Speaker}: ", contrib$Talk.2..presenter.name[row], " (", contrib$Talk.2.presenter.affiliation[row],")\n\n\\textit{Title}: ", | |
contrib$Talk.2.title[row], "\n\n\\textit{Abstract}: ", | |
contrib$Talk.2.abstract[row], "\n\n\\textit{Speaker}: ", | |
contrib$Talk.3..presenter.name[row], " (", contrib$Talk.3.presenter.affiliation[row],")\n\n\\textit{Title}: ", | |
contrib$Talk.3.title[row], "\n\n\\textit{Abstract}: ", | |
contrib$Talk.3.abstract[row], | |
"\n\n ____________\n " | |
) | |
cat(b) | |
``` | |
\clearpage | |
# Lightning Talks | |
## Parallel III | |
16.30 --- 18.00, Wednesday 15 March | |
**note:** each lightning talk will be allocated 3 minutes (a single slide) | |
\begin{center} | |
\textit{Location}: Auditorium and Online - \textit{Chair} : Christian Robert | |
\end{center} | |
\clearpage | |
# Posters | |
18.00 --- 20.00, Wednesday 15 March | |
____________ | |
```{r, results='asis', message=FALSE, warning=FALSE, echo=FALSE} | |
post <- read.csv("BayesComp programme FINAL - Posters.csv", | |
comment.char="#") | |
for(row in 1:nrow(post)){ | |
b <- c("\\textit{Presenter}: \\textbf{", post$Presenter[row], "} (", post$Affiliation[row],")\n\n\\textit{Title}: ", | |
post$Title[row], "\n\n\\textit{Abstract}: ", | |
post$Abstract[row], | |
"\n\n ____________\n " | |
) | |
cat(b) | |
} | |
``` |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment