10. Code
def filtration(svs,mv,systemModel,likelihood):
#
dim = len(svs[1])
N = len(svs)
sigma = 2.0
rnorm = stats.norm.rvs(0,sigma,size=N*dim)
ranges = zip([N*i for i in range(dim)],
[N*i for i in (range(dim+1)[1:])])
ws = np.array([rnorm[p:q] for p,q in ranges])
ws = ws.transpose()
#
svs_predict = [systemModel.generate(sv,w) for sv,w in zip(svs,ws)]
#
normalization_factor = likelihood.normalization(svs_predict,mv)
likelihood_weights = [likelihood.generate(sv,mv)/normalization_factor
for sv in svs_predict]
#
svs_resampled = resampling(svs_predict,likelihood_weights)
return(svs_resampled)
12 1 8
14. NumPy/SciPy
def model_s(sv,w):
#
# (x,y,vx,vy)
F = np.matrix([[1,0,1,0],
[0,1,0,1],
[0,0,1,0],
[0,0,0,1]])
return(np.array(np.dot(F,sv))[0]+w)
def filtration(svs,mv,systemModel,likelihood):
#
dim = len(svs[1])
N = len(svs)
sigma = 2.0
rnorm = stats.norm.rvs(0,sigma,size=N*dim)
ranges = zip([N*i for i in range(dim)],
[N*i for i in (range(dim+1)[1:])])
ws = np.array([rnorm[p:q] for p,q in ranges])
ws = ws.transpose()
12 1 8
15. References
photo: By Dale Gillard from everystockphoto.com
book:
code: http://d.hatena.ne.jp/koh_ta/20110814
https://github.com/kohta/pftrack
12 1 8