Я пытаюсь классифицировать данные временного ряда, в которых у нас есть n туристов, путешествующих между двумя местами. Мы просто пытаемся классифицировать их без учета сезонности
Проблема в том, что каждый турист начинается и заканчивается в разные даты, а у некоторых из них отсутствуют временные метки, плюс у них разное время в пути. по какой-либо причине (объездные пути, пути и т. д. c ...). Для удобства широта и долгота равны l, lg соответственно.
n1 = [(l, lg, 04/08 00:00),(l, lg, 04/08 12:03),(l, lg, 04/09 02:30), (l, lg 04/10 00:05)...]
n2 = [(l, lg, 03/08 00:00),(l, lg, 03/09 03:03),(l, lg, 03/10 00:30), (l, lg 03/10 13:05)...]
n3 = [(l, lg, 04/07 00:00),(l, lg, 04/08 03:03),(l, lg, 04/10 00:30), (l, lg 04/11 14:05)...]
len(n1) == len(n2) != len(n3) #delayed due to detour
Наиболее предсказуемая регулярность данных состоит в том, что в один день может встречаться не более 2 точек данных, поэтому
nx = [(l, lg, 04/08 00:00),(l, lg, 04/08 10:00),(l, lg, 04/08 13:00)...]
никогда бы не произошло.
Что я собираюсь сделать, так это найти игнорирование дат поездок и просто учитывать изменение времени. Это устранило бы расхождения в датах начала:
n1 = [(l, lg, 1),(l, lg, 2),(l, lg, 3), (l, lg, 5)...]
n2 = [(l, lg, 1),(l, lg, 3),(l, lg, 5), (l, lg, 6)...]
n3 = [(l, lg, 1),(l, lg, 3),(l, lg, 7), (l, lg, 10)...]
А затем для поездок, в которых отсутствуют временные метки, просто вменяйте их, используя либо среднюю широту / долготу в этой точке, либо среднее значение предыдущих и последующих данных.
n1 = [(l, lg, 1),(l, lg, 2),(l, lg, 3), (l,lg,4*), (l, lg, 5)...]
n2 = [(l, lg, 1), (l,lg, 2*), (l, lg, 3),(l,lg,4*), (l, lg, 5)...]
#timestamp* indicates imputed value
Тогда я бы просто добавил каждую nx st len (nx) == len (самая длинная поездка). И дополненные значения будут просто широтой / долготой места назначения.
n_x = [...,(l, lg, 28),(dest_lat, dest_long,29),(dest_lat, dest_long, 30)]
n_y = [...,(l, lg, 28),(l,lg, 29),(dest_lat, dest_long, 30)]
#n_y is the longest trip, n_x has been padded s.t. len(n_x) == len(n_y)
В настоящее время у меня есть эти данные в pandas кадре данных. df.columns = ['ID','trip_points','trip_times']
(точки поездки = список кортежей широты и долготы для каждой поездки), и я пытаюсь выяснить, как реализовать то, что я только что описал, или посмотреть, есть ли другой способ, которым я должен это сделать. Я ломал себе голову, но просто не могу понять, не хватает ли мне более подходящего решения.