Path storage in the particle filter Pierre E. Jacob (University of - - PowerPoint PPT Presentation

path storage in the particle filter
SMART_READER_LITE
LIVE PREVIEW

Path storage in the particle filter Pierre E. Jacob (University of - - PowerPoint PPT Presentation

Path storage in the particle filter Pierre E. Jacob (University of Oxford) Lawrence M. Murray (CSIRO Perth, Australia) Sylvain Rubenthaler (Universit e Nice Sophia Antipolis) Tuesday, 7th January, 2014 Pierre Jacob Path storage 1/ 24


slide-1
SLIDE 1

Path storage in the particle filter

Pierre E. Jacob (University of Oxford) Lawrence M. Murray (CSIRO Perth, Australia) Sylvain Rubenthaler (Universit´ e Nice Sophia Antipolis) Tuesday, 7th January, 2014

Pierre Jacob Path storage 1/ 24

slide-2
SLIDE 2

Outline

1 Particle filters 2 Path storage algorithm 3 Theoretical results 4 Numerical results

Pierre Jacob Path storage 1/ 24

slide-3
SLIDE 3

Outline

1 Particle filters 2 Path storage algorithm 3 Theoretical results 4 Numerical results

Pierre Jacob Path storage 2/ 24

slide-4
SLIDE 4

Hidden Markov models

y2 X2 X0 y1 X1 ... ... yT XT θ

Pierre Jacob Path storage 2/ 24

slide-5
SLIDE 5

Particle filters

Initially: for k ∈ {1, . . . , N} draw first sample xk

0 and set wk 0 = 1/N.

For t = 1, . . . , T: Draw ancestor indices a1:N

t

∼ R(w1:N

t−1).

Propagate from the ancestors to obtain x1:N

t

and w1:N

t

. Remarks: the ancestor indices a1:N

1:T induce a genealogical tree,

an ancestry vector is equivalent to an offspring vector o1:N

t

, where ok

t represents the number of descendants of xk t−1.

Pierre Jacob Path storage 3/ 24

slide-6
SLIDE 6

Tree

With systematic resampling:

  • 10

20 10 20 30 40 50

Time Particle Indices

Pierre Jacob Path storage 4/ 24

slide-7
SLIDE 7

Tree

With multinomial resampling:

  • 10

20 10 20 30 40 50

Time Particle Indices

Pierre Jacob Path storage 5/ 24

slide-8
SLIDE 8

Tree

How to store the tree? Number of nodes? Distance to coalescence?

  • cT

T dT crown trunk

10 20 10 20 30 40 50

Time Particle Indices

Pierre Jacob Path storage 6/ 24

slide-9
SLIDE 9

Outline

1 Particle filters 2 Path storage algorithm 3 Theoretical results 4 Numerical results

Pierre Jacob Path storage 7/ 24

slide-10
SLIDE 10

TODO

Tree representation The tree is simply represented by a few vectors indexed by a star. x∗, a∗, o∗, l∗ Procedures INIT PRUNE INSERT

Pierre Jacob Path storage 7/ 24

slide-11
SLIDE 11

Objects

Proposed objects to represent the tree: x∗ (size M) stores the values of the particles, a∗ (size M) stores the parent-child relationships: aj

∗ is the index of the parent of particle xj ∗,

  • ∗ (size M) stores the number of offsprings of each particle

that have descendants at the current time, l∗ (size N) stores the indices of the leaf nodes. The size M is random. Assume for now that M is large enough.

Pierre Jacob Path storage 8/ 24

slide-12
SLIDE 12

INIT

Input: x1:N . For each i ∈ {1, . . . , N} xi

∗ ← xi

li

∗ ← i

For each i ∈ {1, . . . , M} ai

∗ ← 0

  • i

∗ ← 0

ai

∗ = 0 is a convention meaning xi ∗ is a “root” node.

Pierre Jacob Path storage 9/ 24

slide-13
SLIDE 13

PRUNE

The numbers represent the corresponding entries in vector o∗.

1 2 2 1

Pierre Jacob Path storage 10/ 24

slide-14
SLIDE 14

PRUNE

Latest offspring counts o1:N

t

are added to o∗.

1 2 1 2 1 2

Pierre Jacob Path storage 11/ 24

slide-15
SLIDE 15

PRUNE

Offspring counts are updated following the branches.

1 2 1 1 1 2

Pierre Jacob Path storage 12/ 24

slide-16
SLIDE 16

INSERT

New particles are put in slots corresponding to null entries in o∗.

1 2 1 1 1 2

Pierre Jacob Path storage 13/ 24

slide-17
SLIDE 17

PRUNE

Input: o1:N

t

. For each i ∈ {1, . . . , N} (insert new offspring counts)

  • li

∗ ← oi t

For each i ∈ {1, . . . , N} (update each branch) j ← li

While j > 0 and oj

∗ = 0

j ← aj

If j > 0

  • j

∗ ← oj ∗ − 1

Pierre Jacob Path storage 14/ 24

slide-18
SLIDE 18

INSERT

Input: x1:N

t

, a1:N

t

. For each i ∈ {1, . . . , N} (parents of new generation) bi

t ← l ai

t

For each i ∈ {1, . . . , M} (used to find dead wood) zi

∗ ← ∑i j=1 1oj

∗=0

For each i ∈ {1, . . . , N} (find dead wood) li

∗ ← min{j : zj ∗ ≥ i}

For each i ∈ {1, . . . , N} (insert new generation) xli

∗ ← xi t

For each i ∈ {1, . . . , N} (update parent-child relationships) ali

∗ ← bi t

Pierre Jacob Path storage 15/ 24

slide-19
SLIDE 19

Remarks

Not enough space? Nothing guarantees that N slots can be found during INSERT. If so, double the size of the tree: M ← 2 × M. This is expensive ⇒ store the trunk separately (size T). Memory requirement The expected size of the tree can be bounded by T + CN log N.

Pierre Jacob Path storage 16/ 24

slide-20
SLIDE 20

Outline

1 Particle filters 2 Path storage algorithm 3 Theoretical results 4 Numerical results

Pierre Jacob Path storage 17/ 24

slide-21
SLIDE 21

Assumptions

Multinomial resampling P(ak

t = j) = wj t

Bounded measurement density There exists ϵ ∈ [0, 1] such that for all y ∈ Y and for all x ∈ X √ϵ ≤ g(y | x) ≤ 1 √ϵ.

Pierre Jacob Path storage 17/ 24

slide-22
SLIDE 22

Results

Distance to coalescence The distance to the most recent common ancestor dT satisfies E [dT] ≤ ∆1N log N for some ∆1 > 0, which does not depend N nor T. Distance to coalescence The number of nodes, denoted by nT at time T, satisfies E [nT] ≤ T + ∆2N log N for some ∆2 > 0 that does not depend on N nor T.

Pierre Jacob Path storage 18/ 24

slide-23
SLIDE 23

Outline of the proof

Introduce a backward process (Kk)k≥0 counting the number

  • f unique ancestors at time T − k, starting from N at time T.

Hence the number of nodes is the sum of (Kk)k≥0. Relate case of unequal weights with “neutral case” through some coupling (requires the assumptions). Deduce a property for the original process (Kk)k≥0 of the form: E[Kk+1] ≤ fN(E[Kk]) for some explicit function fN. Study the series with that general term to conclude.

Pierre Jacob Path storage 19/ 24

slide-24
SLIDE 24

Comments

Relaxing the assumption on g(y | x): not critical here because neutral case is the worst case. Only multinomial resampling: hard to relax with our approach.

Pierre Jacob Path storage 20/ 24

slide-25
SLIDE 25

Outline

1 Particle filters 2 Path storage algorithm 3 Theoretical results 4 Numerical results

Pierre Jacob Path storage 21/ 24

slide-26
SLIDE 26

Impact of the resampling scheme

2 4 6 250 500 750 1000

Time Adjusted # nodes

Resampling multinomial stratified systematic

Figure : Adjusted number of nodes ˜ nT = (nT − T)/N against T.

Pierre Jacob Path storage 21/ 24

slide-27
SLIDE 27

Impact of the number of particles

  • 4.4

4.8 5.2 5.6 128 256 512 1024

N Adjusted # nodes

Time

  • 250

500 750 1000

Figure : Adjusted number of nodes ˜ nT = (nT − T)/N against N.

Pierre Jacob Path storage 22/ 24

slide-28
SLIDE 28

Computing time

  • 30

60 90 128 256 512 1024

N computing time (µs)

Time

  • 250

500 750 1000

Figure : Computing time (in microseconds) against N.

Pierre Jacob Path storage 23/ 24

slide-29
SLIDE 29

Bibliography

The algorithm is implemented in LibBi. libbi.org Thank you for listening! Any question? References:

  • P. E. Jacob, L. M. Murray, and S. Rubenthaler,

Path storage in the particle filter, to appear in Statistics & Computing.

  • L. M. Murray, A. Lee, and P. E. Jacob,

Rethinking resampling in the particle filter

  • n graphics processing units, in review.

Pierre Jacob Path storage 24/ 24