Iterated filtering

From testwiki
Jump to navigation Jump to search

Iterated filtering algorithms are a tool for maximum likelihood inference on partially observed dynamical systems. Stochastic perturbations to the unknown parameters are used to explore the parameter space. Applying sequential Monte Carlo (the particle filter) to this extended model results in the selection of the parameter values that are more consistent with the data. Appropriately constructed procedures, iterating with successively diminished perturbations, converge to the maximum likelihood estimate.[1][2][3] Iterated filtering methods have so far been used most extensively to study infectious disease transmission dynamics. Case studies include cholera,[4][5] Ebola virus,[6] influenza,[7][8][9][10] malaria,[11][12][13] HIV,[14] pertussis,[15][16] poliovirus[17] and measles.[5][18] Other areas which have been proposed to be suitable for these methods include ecological dynamics[19][20] and finance.[21][22]

The perturbations to the parameter space play several different roles. Firstly, they smooth out the likelihood surface, enabling the algorithm to overcome small-scale features of the likelihood during early stages of the global search. Secondly, Monte Carlo variation allows the search to escape from local minima. Thirdly, the iterated filtering update uses the perturbed parameter values to construct an approximation to the derivative of the log likelihood even though this quantity is not typically available in closed form. Fourthly, the parameter perturbations help to overcome numerical difficulties that can arise during sequential Monte Carlo.

Overview

The data are a time series y1,,yN collected at times t1<t2<<tN. The dynamic system is modeled by a Markov process X(t) which is generated by a function f(x,s,t,θ,W) in the sense that

X(tn)=f(X(tn1),tn1,tn,θ,W)

where θ is a vector of unknown parameters and W is some random quantity that is drawn independently each time f(.) is evaluated. An initial condition X(t0) at some time t0<t1 is specified by an initialization function, X(t0)=h(θ). A measurement density g(yn|Xn,tn,θ) completes the specification of a partially observed Markov process. We present a basic iterated filtering algorithm (IF1)[1][2] followed by an iterated filtering algorithm implementing an iterated, perturbed Bayes map (IF2).[3][23]

Procedure: Iterated filtering (IF1)

Input: A partially observed Markov model specified as above; Monte Carlo sample size J; number of iterations M; cooling parameters 0<a<1 and b; covariance matrix Φ; initial parameter vector θ(1)
for m=1 to M
draw ΘF(t0,j)Normal(θ(m),bam1Φ) for j=1,,J
set XF(t0,j)=h(ΘF(t0,j)) for j=1,,J
set θ¯(t0)=θ(m)
for n=1 to N
draw ΘP(tn,j)Normal(ΘF(tn1,j),am1Φ) for j=1,,J
set XP(tn,j)=f(XF(tn1,j),tn1,tn,ΘP(tn,j),W) for j=1,,J
set w(n,j)=g(yn|XP(tn,j),tn,ΘP(tn,j)) for j=1,,J
draw k1,,kJ such that P(kj=i)=w(n,i)/w(n,)
set XF(tn,j)=XP(tn,kj) and ΘF(tn,j)=ΘP(tn,kj) for j=1,,J
set θ¯i(tn) to the sample mean of {ΘF,i(tn,j),j=1,,J}, where the vector ΘF has components {ΘF,i}
set Vi(tn) to the sample variance of {ΘP,i(tn,j),j=1,,J}
set θi(m+1)=θi(m)+Vi(t1)n=1NVi1(tn)(θ¯i(tn)θ¯i(tn1))
Output: Maximum likelihood estimate θ^=θ(M+1)

Variations

  1. For IF1, parameters which enter the model only in the specification of the initial condition, X(t0), warrant some special algorithmic attention since information about them in the data may be concentrated in a small part of the time series.[1]
  2. Theoretically, any distribution with the requisite mean and variance could be used in place of the normal distribution. It is standard to use the normal distribution and to reparameterise to remove constraints on the possible values of the parameters.
  3. Modifications to the IF1 algorithm have been proposed to give superior asymptotic performance.[24][25]

Procedure: Iterated filtering (IF2)

Input: A partially observed Markov model specified as above; Monte Carlo sample size J; number of iterations M; cooling parameter 0<a<1; covariance matrix Φ; initial parameter vectors {Θj,j=1,,J}
for m=1 to M
set ΘF(t0,j)Normal(Θj,am1Φ) for j=1,,J
set XF(t0,j)=h(ΘF(t0,j)) for j=1,,J
for n=1 to N
draw ΘP(tn,j)Normal(ΘF(tn1,kj),am1Φ) for j=1,,J
set XP(tn,j)=f(XF(tn1,j),tn1,tn,ΘP(tn,j),W) for j=1,,J
set w(n,j)=g(yn|XP(tn,j),tn,ΘP(tn,j)) for j=1,,J
draw k1,,kJ such that P(kj=i)=w(n,i)/w(n,)
set XF(tn,j)=XP(tn,kj) and ΘF(tn,j)=ΘP(tn,kj) for j=1,,J
set Θj=ΘF(tN,j) for j=1,,J
Output: Parameter vectors approximating the maximum likelihood estimate, {Θj,j=1,,J}

Software

"pomp: statistical inference for Template:Sicobserved Markov processes" : R package.

References

Template:Reflist

  1. 1.0 1.1 1.2 Cite error: Invalid <ref> tag; no text was provided for refs named ionides06
  2. 2.0 2.1 Cite error: Invalid <ref> tag; no text was provided for refs named ionides11
  3. 3.0 3.1 Cite error: Invalid <ref> tag; no text was provided for refs named ionides15
  4. Cite error: Invalid <ref> tag; no text was provided for refs named king08
  5. 5.0 5.1 Cite error: Invalid <ref> tag; no text was provided for refs named breto09
  6. Cite error: Invalid <ref> tag; no text was provided for refs named king15prsb
  7. Cite error: Invalid <ref> tag; no text was provided for refs named he11
  8. Cite error: Invalid <ref> tag; no text was provided for refs named camacho11
  9. Cite error: Invalid <ref> tag; no text was provided for refs named earn12
  10. Cite error: Invalid <ref> tag; no text was provided for refs named shrestha13
  11. Cite error: Invalid <ref> tag; no text was provided for refs named laneri10
  12. Cite error: Invalid <ref> tag; no text was provided for refs named bhadra11
  13. Cite error: Invalid <ref> tag; no text was provided for refs named roy13
  14. Cite error: Invalid <ref> tag; no text was provided for refs named zhou13
  15. Cite error: Invalid <ref> tag; no text was provided for refs named lavine12
  16. Cite error: Invalid <ref> tag; no text was provided for refs named blackwood13
  17. Cite error: Invalid <ref> tag; no text was provided for refs named blake14
  18. Cite error: Invalid <ref> tag; no text was provided for refs named he10
  19. Template:Cite journal
  20. Cite error: Invalid <ref> tag; no text was provided for refs named blackwood13b
  21. Cite error: Invalid <ref> tag; no text was provided for refs named bhadra10
  22. Cite error: Invalid <ref> tag; no text was provided for refs named breto14
  23. Cite error: Invalid <ref> tag; no text was provided for refs named lindstrom12
  24. Cite error: Invalid <ref> tag; no text was provided for refs named lindstrom13
  25. Cite error: Invalid <ref> tag; no text was provided for refs named doucet13