swapped at birth - faster monte carlo methods for point ......“i think you’re begging the...
TRANSCRIPT
-
On probability...
“I think you’re begging the question,” said Haydock, “and I can seelooming ahead one of those terrible exercises in probability where sixmen have white hats and six men have black hats and you have towork it out by mathematics how likely it is that the hats will get mixedup and in what proportion. If you start thinking about things like that,you would go round the bend. Let me assure you of that!”
The Mirror Crack’dAgatha Christie
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 1 / 42
-
Swapped at birthFaster Monte Carlo methods for point processes
Mark Huber
Department of Mathematics and Institute of Statistics and Decision SciencesDuke University
April 13, 2007
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 2 / 42
-
Outline
1 The ProblemSpatial point processesThe Hard Core Gas Model
2 Birth Death ChainsUsing Markov chainsStandard Birth Death ApproachWhy it’s good to swap at birth
3 Perfect SamplingDominated Coupling From the PastdCFTP with standard chainsdCFTP with the swap
4 Results
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 3 / 42
-
Spatial point processes
The idea:Begin with grid where each cell on or offProbability proportional to size of cellTake limit as cells get small
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 4 / 42
-
Coarse Grid
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 5 / 42
-
Better Grid
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 6 / 42
-
Even better Grid
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 7 / 42
-
Limit: Spatial Poisson process
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 8 / 42
-
Number of points is Poisson
Let N = the number of points in area
N ∼ Poisson(µ),µ = λ · area of region
P(N = i) = e−µµi
i!, i ∈ {0, 1, 2, . . .}
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 9 / 42
-
Generating from a Poisson point process
Two-step process:
1 Generate N ∼ Poisson(µ)2 Generate X1, X2, . . . , XN independently uniformly from region
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 10 / 42
-
The Hard Core Gas Model
Point processes used to model gasesEach point center of hard core of moleculeThat the core is hard means cannot overlap:
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 11 / 42
-
Densities for Poisson point processes
Formally, use densities to exact constraintsLet n(x) denote number of points in a configuration
Hard Core:
fhardcore(x) ∝{
1 d(x(i), x(j)) > R for all i , j ∈ {1, . . . , n(x)}0 otherwise
Soft Core (Strauss Point Process)
fsoftcore(x) ∝ γv(x)
v(x) = number of pairs {i , j} with d(x(i), x(j)) ≤ R
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 12 / 42
-
Normalizing densities
What makes these problems difficult?Note ∝ in density descriptionsNeed to multiply by constant to make probability densityCalled the normalizing constant
Key fact: finding normalizing constant NP-complete problem
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 13 / 42
-
Outline
1 The ProblemSpatial point processesThe Hard Core Gas Model
2 Birth Death ChainsUsing Markov chainsStandard Birth Death ApproachWhy it’s good to swap at birth
3 Perfect SamplingDominated Coupling From the PastdCFTP with standard chainsdCFTP with the swap
4 Results
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 14 / 42
-
Birth Death Chains
For everything there is a seasonAnd a time for every matter under heaven:A time to be born, and time to die;
Ecclesiastes
Birth Death chains evolve the configuration through timePoints in process are born and then later on, die
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 15 / 42
-
Why do this?
For same reason shuffle a deck of cards:Small random changes accumulate over timeResult in the global state being random
Markov chainsNext step only depends on current configurationUnder mild conditions, state eventually “becomes random”
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 16 / 42
-
Exponential random variables
Say X ∼ Exp(λ)(read as: X has the exponential distribution with rate parameter λ)if for t ≥ 0,
P(X ∈ [t , t + ∆t ] ≈ λe−λt∆t .
Limit as ∆t → 0:P(X ∈ dt) = λe−λt dt
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 17 / 42
-
Birth times
Let X1, X2, . . . be iid mboxExp(λ) with rate µ = λ · area of regionThen Xi is time between birth i and i + 1
X1 X2 X3 X4
time
Called a Poisson process
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 18 / 42
-
Points are born...
Run time forwardAt a birth event, add a point uniformly in region
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 19 / 42
-
Points are born...
Run time forwardAt a birth event, add a point uniformly in region
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 19 / 42
-
Points are born...
Run time forwardAt a birth event, add a point uniformly in region
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 19 / 42
-
Points are born...
Run time forwardAt a birth event, add a point uniformly in region
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 19 / 42
-
Points are born...
Run time forwardAt a birth event, add a point uniformly in region
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 19 / 42
-
Death: who needs it?
In this world nothing can be said to be certain, except death and taxesBenjamin Franklin
When each point is born, roll Di ∼ mboxExp(1)Then Di is the time until the point dies, removed from state
D1
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 20 / 42
-
Why use birth-death chains
The point of birth-death chains:Used for problems with densities with unknown normalizingconstantsPreston [3] worked out detailsDo not always accept births
Hard Core Model:Always accept deathOnly accept birth if does not cause conflict
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 21 / 42
-
Example of rejected birth
New point (in blue) is rejectedToo close to existing points
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 22 / 42
-
Example of accepted birth
New point (in blue) is accepted an added to configurationToo close to existing points
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 23 / 42
-
Example of death
Deaths are always accepted
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 24 / 42
-
New move swap
When blocked by exactly one point, “swap” with blocking point:
⇒
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 25 / 42
-
Some details
Things to consider:Does swapping give correct distribution?Does it improve performance in a theoretical way?Does the swap move generalize?
Preprint: Huber [2]Can set up probability of swapping to give correct distributionDoes work faster than original chainUse perfect sampling techniques to show faster
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 26 / 42
-
Some details
Things to consider:Does swapping give correct distribution?Does it improve performance in a theoretical way?Does the swap move generalize?
Preprint: Huber [2]Can set up probability of swapping to give correct distributionDoes work faster than original chainUse perfect sampling techniques to show faster
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 26 / 42
-
Outline
1 The ProblemSpatial point processesThe Hard Core Gas Model
2 Birth Death ChainsUsing Markov chainsStandard Birth Death ApproachWhy it’s good to swap at birth
3 Perfect SamplingDominated Coupling From the PastdCFTP with standard chainsdCFTP with the swap
4 Results
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 27 / 42
-
Perfect Sampling
“Practice makes perfect, but nobody’s perfect, so why practice?”
Problem with Markov chainsHow long should they be run?Perfect sampling algorithms share good properties of Markovchains......but terminate in finite time (with probability 1)
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 28 / 42
-
One dimensional Poisson process
time
space
0
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 29 / 42
-
Dominated Coupling From the Past
Kendall and Møller [1] ideaSay we don’t know if a point should be in the set or notIf it dies, great!If point born within range before it dies, bad
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 30 / 42
-
Dominated Coupling From the Past (part 2)
Start at fixed time in the past with some unknownsRun forward up until time 0If no “?” points, quit, return sampleOtherwise go farther back in time and begin again
TheoremThis actually works!
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 31 / 42
-
Example where “?” go away
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 32 / 42
-
Example where “?” do not go away
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 33 / 42
-
How to update “?”
Notation:
L = { points definitely in process}U = L ∪ { ? points}
Note that L ⊆ U and when L = U there are no ? points.
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 34 / 42
-
Pseudocode for updating “?”
Updates for regular birth-death chain
Hard-core bounding process updateInput: move, M, L, U, Output: L,U1) If move = death of point w2) Let L← L− w , let U ← U − w3) Else (move = birth of point v )4) Let NU ← {w ∈ U : ρ(w , v) ≤ R}5) Let NL ← {w ∈ L : ρ(w , v) ≤ R}6) Execute one of the following cases:7) Case I: |NU | = |NL| = 0, let L← L + v , let U ← U + v8) Case II: |NU | ≥ 1,, |NL| = 0, let U ← U + v
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 35 / 42
-
When are you guaranteed good performance?
Theorem (Huber [2])Suppose that N events are generated backwards in time and then runforward to get UN(0) and LN(0). Let B(v , R) denote the area withindistance R of v ∈ S, let r = supv∈S λ · B(v , R), and suppose µ ≥ 4.If µr < 1, then for the chain without the swap move
P(UN(0) 6= LN(0)) ≤ 2µ exp(−N(1− µr)/(10µ). (1)
CorollaryRunning time of dCFTP is Θ(µ ln µ) for λ small.
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 36 / 42
-
Pseudocode for updating “?” with swap
Updates for regular birth-death chain
Hard-core bounding process updateInput: move, M, L, U, Output: L,U
1) If move = death of point w2) Let L← L− w , let U ← U − w3) Else (move = birth of point v )4) Let NU ← {w ∈ U : ρ(w , v) ≤ R}5) Let NL ← {w ∈ L : ρ(w , v) ≤ R}6) Execute one of the following cases:7) Case I: |NU | = |NL| = 0, let L← L + v , let U ← U + v8) Case II: |NU | = 1, let L← L + v − NL, let U ← U + v − NU9) Case III:|NU | > 1, |NL| = 0 let U ← U + v
10) Case IV: |NU | > 1, |NL| = 1, let L← L− NL, U ← U + v + NL11) Case V: |NU | > 1, |NL| > 1 (do nothing)
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 37 / 42
-
When are you guaranteed good performance?
Theorem (Huber [2])Suppose that N events are generated backwards in time and then runforward to get UN(0) and LN(0). Let B(v , R) denote the area withindistance R of v ∈ S, let r = supv∈S λ · B(v , R), and suppose µ ≥ 4.If µr < 2, then for the chain where a swap is executed with probability1/4,
P(UN(0) 6= LN(0)) ≤ 2µ exp(−N(1− .5βr)/(30µ). (2)
CorollaryRunning time of dCFTP is Θ(µ ln µ) for λ twice as large as without theswap.
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 38 / 42
-
Running time results
20 30 40 50 60 700
1000
2000
3000
4000
5000
λ
Ave
rage
num
ber
of e
vent
s pe
r sa
mpl
eRunning time of dCFTP for hard core gas model
no swapswap
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 39 / 42
-
Outline
1 The ProblemSpatial point processesThe Hard Core Gas Model
2 Birth Death ChainsUsing Markov chainsStandard Birth Death ApproachWhy it’s good to swap at birth
3 Perfect SamplingDominated Coupling From the PastdCFTP with standard chainsdCFTP with the swap
4 Results
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 40 / 42
-
Conclusions
What is known:Swap move easy to add to point processesAlso can be used in dCFTP to get perfect sampling algorithmResults in about a 4-fold speedup for hard-core gas model
Future work:Running time comparison for Strauss processExperiment better than theory–can theory be improved?
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 41 / 42
-
References
W.S. Kendall and J. Møller.Perfect simulation using dominating processes on ordered spaces, with application tolocally stable point processes.Adv. Appl. Prob., 32:844–865, 2000.
M. L. Huber.Spaital Birth-Death-Swap Chainspreprint, 2007
C.J. Preston.Spatial birth-and-death processes.Bull. Inst. Int. Stat., 46(2):371–391, 1977.
Mark Huber (Duke University) Swap moves for spatial point processes Graduate/Faculty Seminar 42 / 42
The ProblemSpatial point processesThe Hard Core Gas Model
Birth Death ChainsUsing Markov chainsStandard Birth Death ApproachWhy it's good to swap at birth
Perfect SamplingDominated Coupling From the PastdCFTP with standard chainsdCFTP with the swap
Results