Как рассчитать среднюю / мгновенную скорость, используя .rolling в Pandas? - PullRequest
0 голосов
/ 27 февраля 2019

У меня есть координаты x, y от GPS-данных, отслеживающих движения 10 раз в секунду.Я вычислил скорость для каждой строки (каждая строка является местоположением широты, взятой в тот период времени, есть 15 строк в секунду).Если я пытаюсь вычислить скорость для какой-либо одной строки, появляется некоторый шум, потому что данные о местоположении расположены так близко друг к другу.

Прямо сейчас у меня есть столбец с названием «Расстояние», и для вычисления расстояния для каждой строки я смотрю на 1 строку выше и на 1 строку ниже этой строки и вычисляю расстояние между точками (x, y).Расстояние между точками обычно очень и очень мало, потому что оно очень близко друг к другу.

Затем я вычисляю скорость для каждой строки, которая равна d / t, поэтому она будет равна расстоянию / 0,2 секунды (потому что каждая строка находится на расстоянии 0,1 секунды).

Я все еще слышу шум при этом, потому что местоположения вычисляются так часто, поэтому я использую .rolling, чтобы найти выбросы (то есть было бы невозможно перейти от 50 миль в час до 150 миль в час за 1 секунду).

Прямо сейчас я использовал .rolling и использовал окно 4

df.Speed.rolling(window=4, min_periods=4, center=True).mean()

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

Я не уверен, есть ли функция сглаживания (я видел gaussian, Blackman, Bartlett win_type, но у меня нет опыта с этим, и я не знаю, подходит ли это в этом случае) или лучший способ сделать этоили если мне просто нужно вручную добавить множество тестовых случаев, чтобы убедиться, что скорость имеет смысл и не прыгает.

Спасибо!

1 Ответ

0 голосов
/ 02 марта 2019

A Фильтр Калмана обычно используется для фильтрации GPS сигналов.

Не существует правильного метода для удаления выбросов.Срок действия и надежность coordinates будет зависеть от производителя.Вы можете применять различные диапазоны средних значений скользящих точек, но чем больше вы фильтруете данные, тем больше вероятность ослабления истинного сигнала.

Следует также иметь в виду, что coordinates уже будет отфильтрован производителем с использованием предварительно определенного фильтра.Редко вы будете выводить необработанные данные.Поэтому любая дополнительная фильтрация, скорее всего, приведет к уменьшению истинного сигнала.

...