Переоснащение фильтра Калмана с помощью pykalman 2d

Я использую сглаживание калмана, чтобы оценить путь человека на основе точек GPS. Некоторое время назад у меня был вопрос, на который здесь был дан очень хороший ответ : kalman filter 2dwithpykalman . Однако теперь у меня есть проблема, что фильтр Калмана сильно переоснащен. В среднем изменение среднего расстояния до точек измерения составляет 0,00016 м. Итак, мой вопрос: как я могу предотвратить переоснащение фильтра Калмана?

Мой код:

      #the inputgdf.geometry looks like this(swiss coord):
[[ 2613496 1265201 ]
 [ 2613495 1265205 ]
 [ 2613498 1265207]
 ...]

def get_kalman_koordinates(inputgdf):
    transition_matrix = np.array([[1, 0,1,0],
                                  [0, 1,0,1],
                                  [0,0,1,0],
                                  [0,0,0,1]])
    
    observation_matrix = np.array(
    [[1, 0, 0, 0],
     [0, 1, 0, 0]])
    inputgdf["x_koord"]=inputgdf.geometry.x
    inputgdf["y_koord"]=inputgdf.geometry.y
    
    measurements = np.asarray(inputgdf[["x_koord", "y_koord"]])
    #print(measurements)
    kf = pykalman.KalmanFilter(
    transition_matrices=transition_matrix,
    observation_matrices=observation_matrix)
    #kf.em(X=measurements, n_iter=5)
    (smoothed_state_means, smoothed_state_covariances) = kf.smooth(measurements)
    inputgdf["Kalman_x"]=smoothed_state_means[:,0]
    inputgdf["Kalman_y"]=smoothed_state_means[:,1]
    result = geopandas.GeoDataFrame(
    inputgdf, geometry=geopandas.points_from_xy(inputgdf.Kalman_x, inputgdf.Kalman_y),crs= "EPSG:2056")
    return result

Я здесь еще новичок, поэтому приветствуются любые отзывы о том, как я могу улучшить свои вопросы.

0 ответов

Другие вопросы по тегам