Skip to main content
. 2018 Jan 31;20(2):100. doi: 10.3390/e20020100
Algorithm 1. Proposed fully adaptive PF algorithm
Initiation step:
Sample N particles from initial distributions of states and parameters:
x0i~p(x0)   i=1,2,,N
θ0i~p(θ0)   i=1,2,,N

Assign initial equal weights to all the particles
w0i~1N   i=1,2,,N

Recursive steps:
Prediction:
Estimate mk1i for each parameter using the shrinkage rule in Equation (4)
Draw new samples for parameter vector from:
θki~N(·|mk1i,a2γk1)

Propagate each particle one step forward using state process model with new sampled parameter:
xki~p(·|xk1i,θki)

Update:
Compute the predicted observations using the tentative measurement model:
y˜k=h˜(xk,φk,τk)

Update the parameters of h˜ to minimize the KLD:
φk=argmin{DKL(P||Q)}=argmin{P(yk|xki,θki)log[P(yk|xki,θki)Q(y˜ki|xki,θki,φk)]}

Calculate the weights for each particle as new measurement (yk) becomes available:
wki=wk1i·p(yk|xki,θki,φk)

Normalize the weights:
wki=wkii=1Nwki

Estimate:
Estimate the expected state:
x¯k=i=1Nwki·xki

Resample:
Resample (with replacement) new set of particles for states and process model parameters
{xki,θki}i=1N based on calculated weights (wki).