Just as with SMM:
In contrast to SMM:
SMM: For each candidate parameter, average summaries across simulations. Find parameters whose averages match the observed summaries.
ABC: Draw parameters from a prior. Simulate a dataset at each draw. Retain parameters whose simulated summaries are close to the observed summaries.
Both compare summaries, but they make different comparisons.
A model is identifiable when different parameter values give different distributions of the observations.
A model is not identifiable if there are two parameter settings that give the same observed-data distribution.
Changing the fitting method cannot create information absent from the observations.
These sorts of structures in the SMM objective or the ABC posterior give you candidates for non-identifiability, but they don’t prove that the model is not identifiable.
Go back to the definition: the model is not identifiable if there are two parameter settings that give the same observed-data distribution.
Therefore:
However, even showing that very different parameter values give very similar observed-data distributions tells us something valuable: If we really care about the parameters in the model, we need to either
We count the insects caught each night.
We want to estimate the rate at which insects arrive in the area monitored by the trap, but some arrivals escape capture.
Let:
Could a small catch distinguish few arrivals from an ineffective trap?
For each night \(i\):
\[ N_i\sim\operatorname{Poisson}(\lambda), \qquad Y_i\mid N_i\sim\operatorname{Binomial}(N_i,q). \]
and our prior is \[ \lambda &\sim \text{Unif}[0,40] \\ q &\sim \text{Unif}[0,1] \]
We observe the catches \(Y_1,\ldots,Y_n\). We do not observe the arrivals \(N_i\).
Draw \((\lambda,q)\) from the prior and simulate \(n\) nightly catches. Retain the parameter pair if the total simulated catch equals the observed total.
This is a ridge with high posterior mass.
The ridge suggests the model may not be identifiable. To check, pick parameter values far apart along it.
For \(\lambda\) near 5 and near 30, take the median \(q\) among retained pairs with \(\lambda\) within 10%.
Simulate many nights at each point and compare the two distributions of catches directly.
The histograms match, up to simulation noise.
Using mean catch, the idealized SMM objective is
\[ Q(\lambda,q)=(\bar Y_{\mathrm{obs}}-\lambda q)^2. \]
You could do the same thing with pairs of points along the minimizing ridge in SMM.
More nights determine the product more precisely.
But the entire distribution of catches depends only on \(\lambda q\).
Even adding the variance, empty-night frequency, or other summaries cannot separate its factors.
As in SMM: We must ask whether the observations can distinguish the parameters we want to estimate.
With ABC: Inspect the joint posterior, not only separate parameter intervals. Different combinations may explain the same data.
More simulations improve computation. More observations sharpen what the data can identify. Additional information about capture or arrival is needed to separate \(\lambda\) and \(q\).
Just as with SMM, a fitted model should reproduce relevant features of the observed data, including features we did not use for fitting.
After fitting the model, we have a parameter estimate \(\hat\theta\).
To check the fit:
We can compare plots or choose a statistic \(T(X)\) and compare \(T(x_{\mathrm{obs}})\) with the simulated values.
Each simulated dataset should have the same sampling structure as the observed dataset.
Recall that you can have very precisely estimated parameters (a small bootstrap confidence interval), and still have a model that doesn’t fit well.
With SMM, we simulated checking datasets at \(\hat\theta\).
With Bayesian inference, we have a posterior distribution \(p(\theta\mid x_{\mathrm{obs}})\).
To generate a new dataset, we first draw a parameter value from this posterior, then simulate data at that value:
\[ \theta^{(b)}\sim p(\theta\mid x_{\mathrm{obs}}), \qquad X_{\mathrm{rep}}^{(b)}\sim p(\,\cdot\mid\theta^{(b)}). \]
The distribution of these new datasets is the posterior predictive distribution.
Let \(X_{\mathrm{rep}}\) be a new dataset generated independently of the observed dataset, conditional on \(\theta\).
Its distribution given the observations is
\[ p(x_{\mathrm{rep}}\mid x_{\mathrm{obs}}) = \int p(x_{\mathrm{rep}}\mid\theta)\, p(\theta\mid x_{\mathrm{obs}})\,d\theta. \]
This averages the model’s predictions over the posterior distribution of the parameters.
The simulation recipe on the previous slide performs this averaging without calculating the integral.
ABC gives us retained parameter draws approximating the posterior.
For each checking replicate:
Compare the observed statistic \(T(x_{\mathrm{obs}})\) with the distribution of replicated \(T(X_{\mathrm{rep}})\).
Does the fitted model commonly generate the feature we observed?
We observe dry and rainy days during the same 30-day calendar period at one location, for 30 years.
We want to estimate:
Our initial model assumes both parameters are constant across years.
Let \(X_{ij}=1\) if day \(j\) of year \(i\) is dry and \(X_{ij}=0\) if it rains, for \(i,j=1,\ldots,30\).
Years are independent. Within year \(i\):
\[ X_{i1}\sim\operatorname{Bernoulli}(p), \qquad X_{ij}\mid X_{i,j-1}\sim\operatorname{Bernoulli}\big(\rho X_{i,j-1}+(1-\rho)p\big), \quad j=2,\ldots,30. \]
In words: each day copies yesterday’s weather with probability \(\rho\); otherwise it is a fresh draw, dry with probability \(p\).
\(p\) changes how often days are dry.
\(\rho\) changes how long wet and dry spells tend to last.
Even when we draw fresh weather, it may agree with yesterday.
Each row is one year. Each column is one day.
Use two summaries of \(X=(X_{ij})\):
The first informs dryness. Together, the two inform persistence.
Priors: \(p\sim\operatorname{Uniform}(0,1)\) and \(\rho\sim\operatorname{Uniform}(0,1)\), independent.
For \(b=1,\ldots,B\):
Retain the \((p^{(b)},\rho^{(b)})\) with the smallest 1% of distances.
Observed: 52.1% of days dry, 28.1% of transitions switch. 90% intervals: \(p\) from 0.48 to 0.57, \(\rho\) from 0.39 to 0.49.
We obtain fairly narrow intervals. What assumptions do those intervals depend on?
With SMM, we simulated at the fitted parameter value.
With ABC, we have a collection of plausible parameter values.
For \(b=1,\ldots,R\):
The resulting distribution of new datasets is an approximate posterior predictive distribution.
Do the weather patterns drawn from the posterior predictive distribution look like the observed weather?
Let \(K_i\) be the number of weather switches in year \(i\):
\[ K_i=\sum_{j=2}^{30}\mathbf 1\{X_{ij}\ne X_{i,j-1}\}. \]
Our statistic is the least-squares slope of \(K_i\) against year \(i\):
\[ T(X)=\frac{\sum_{i=1}^{30}(i-\bar\imath)(K_i-\bar K)}{\sum_{i=1}^{30}(i-\bar\imath)^2}, \qquad \bar\imath=15.5,\quad \bar K=\frac{1}{30}\sum_{i=1}^{30}K_i. \]
A negative \(T\) means later years have fewer switches and longer spells.
Compare \(T(x_{\mathrm{obs}})\) with \(T(X_{\mathrm{rep}}^{(b)})\) for \(b=1,\ldots,R\).
Does the fitted model commonly generate a trend as strong as the observed one? None of the 4,000 replicates has \(T(X_{\mathrm{rep}}^{(b)})\le T(x_{\mathrm{obs}})\).
A mismatch here concerns the change across years, even if the pooled dry-day and switching fractions look reasonable.
Non-identifiability will lead to at least some parameters not being estimated precisely, but precise parameter estimates and the model fitting the data well are completely different from each other and can vary independently.
Return to the insect trap and its ABC posterior from 30 nights.
Check it as we checked the weather model: simulate fresh 30-night datasets, each at one retained \((\lambda,q)\) pair.
Compare features we did not use for fitting:
Does the observed histogram stand out from the replicates?
The observed variance (4.05) and number of empty nights (1) are typical of the replicated datasets.
The model passes this check.
We began with a procedural difference:
This means that ABC can use the entire distribution of a summary statistic rather than just the mean.
Suppose
\[ X_1,\ldots,X_n\overset{\mathrm{iid}}{\sim}N(\mu_0,\sigma^2). \]
The population mean \(\mu_0\) is known. We want to estimate \(\sigma^2\).
For pedagogical reasons, assume we use only the sample mean \(S(X) = \frac{1}{n} \sum_{i=1}^n X_i\) as the summary.
Note: Yes, it is silly to try to use the sample mean to try to estimate the variance.
The average of the simulated means is constant in \(\sigma\). Their variance grows with \(\sigma\).
Therefore: the mean of \(S(X)\) doesn’t contain any information about \(\theta\), but the distribution of the \(S(X)\) does.
SMM compares the observed mean with the average of simulated sample means.
But
\[ E_{\sigma^2}[\bar X]=\mu_0 \qquad\text{for every }\sigma^2. \]
The idealized objective is therefore constant:
\[ Q(\sigma^2)=(\bar x_{\mathrm{obs}}-\mu_0)^2. \]
No variance fits better according to this objective.
With few simulations, the estimated objective has spurious minima. It flattens as we add simulations.
The noise also grows with the variance: those simulated means are more spread out.
ABC retains a proposed variance if
\[ |\bar X_{\mathrm{sim}}-\bar x_{\mathrm{obs}}|<\epsilon. \]
The probability of landing in that interval changes with the variance.
ABC therefore updates the prior even though the expected summary is constant.
The retained distribution reflects how often each variance generates a matching mean, as well as the prior.
The observed sample was simulated with \(\sigma^2 = 4\).
The full dataset would supply more: for this sample, \(\frac{1}{25}\sum_{i}(x_i-\mu_0)^2 = 3.64\).