I came across a problem when I was using pykalman 0.9.5
in Python 3.6.3
Refer to the code below, why are the results from kf2
and kf3
are different while the results from kf1
and kf3
are identical?
The difference of process between kf2
and kf3
is that I merely split the iteration into running 2 times of the function for kf2
.
Thanks for everyone looking into it.
>>>pri_mean[:10]
array([ 2827.2222, 2829.6 , 2831. , 2832.1 , 2833.1 , 2835.3 , 2833.9 ,
2833.8 , 2833.6 , 2833. ])
>>>kf1 = KalmanFilter()
>>>kf1 = kf1.em(pri_mean, 10, em_vars='all')
>>>print(kf1.transition_matrices, kf1.transition_offsets, kf1.transition_covariance)
[[ 0.99741876]] [ 10.04426882] [[ 2896.92752373]]
>>>kf2 = kf1.em(pri_mean, 10, em_vars='all')
>>>print(kf2.transition_matrices, kf2.transition_offsets, kf2.transition_covariance)
[[ 0.99364606]] [ 20.02260806] [[ 2600.94151188]]
>>>kf3 = KalmanFilter()
>>>kf3 = kf3.em(pri_mean, 20, em_vars='all')
>>>print(kf3.transition_matrices, kf3.transition_offsets, kf3.transition_covariance)
[[ 0.99741876]] [ 10.04426882] [[ 2896.92752373]]